summaryrefslogtreecommitdiff
path: root/chromium/third_party/angle
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/third_party/angle
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/angle')
-rw-r--r--chromium/third_party/angle/BUILD.gn12
-rw-r--r--chromium/third_party/angle/CONTRIBUTORS21
-rw-r--r--chromium/third_party/angle/DEPS31
-rw-r--r--chromium/third_party/angle/PRESUBMIT.py135
-rw-r--r--chromium/third_party/angle/doc/AddingExtensions.md37
-rw-r--r--chromium/third_party/angle/doc/ChoosingANGLEBranch.md9
-rw-r--r--chromium/third_party/angle/doc/CodingStandard.md3
-rw-r--r--chromium/third_party/angle/doc/DevSetupAndroid.md79
-rw-r--r--chromium/third_party/angle/doc/img/StateChangeNotificationFlow.svg3
-rw-r--r--chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt15
-rw-r--r--chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt51
-rw-r--r--chromium/third_party/angle/gni/angle.gni128
-rw-r--r--chromium/third_party/angle/include/EGL/eglext_angle.h9
-rw-r--r--chromium/third_party/angle/include/GLES2/gl2ext_angle.h5
-rw-r--r--chromium/third_party/angle/include/GLSLANG/ShaderLang.h4
-rw-r--r--chromium/third_party/angle/include/GLSLANG/ShaderVars.h4
-rw-r--r--chromium/third_party/angle/include/platform/FeaturesGL.h28
-rw-r--r--chromium/third_party/angle/include/platform/FeaturesVk.h26
-rw-r--r--chromium/third_party/angle/include/platform/Platform.h333
-rw-r--r--chromium/third_party/angle/include/platform/PlatformMethods.h339
-rw-r--r--chromium/third_party/angle/infra/config/global/cr-buildbucket.cfg17
-rw-r--r--chromium/third_party/angle/samples/BUILD.gn7
-rw-r--r--chromium/third_party/angle/samples/capture_replay/CaptureReplay.cpp8
-rw-r--r--chromium/third_party/angle/samples/post_sub_buffer/PostSubBuffer.cpp12
-rw-r--r--chromium/third_party/angle/samples/sample_util/SampleApplication.cpp71
-rw-r--r--chromium/third_party/angle/samples/sample_util/SampleApplication.h3
-rw-r--r--chromium/third_party/angle/samples/sample_util/tga_utils.h1
-rw-r--r--chromium/third_party/angle/samples/simple_texture_2d/SimpleTexture2D.cpp13
-rwxr-xr-xchromium/third_party/angle/scripts/bootstrap.py6
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_format.json4
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_shader_translator.json10
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json12
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_WGL_loader.json12
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json22
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/GLenum_value_to_string_map.json2
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/Metal_default_shaders.json8
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/Static_builtins.json22
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_internal_shader_programs.json298
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json2
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/packed_enum.json6
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/proc_table.json10
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/restricted_traces.json22
-rw-r--r--chromium/third_party/angle/scripts/code_generation_hashes/uniform_type.json4
-rw-r--r--chromium/third_party/angle/scripts/egl_angle_ext.xml21
-rwxr-xr-xchromium/third_party/angle/scripts/export_targets.py3
-rw-r--r--chromium/third_party/angle/scripts/gen_proc_table.py8
-rw-r--r--chromium/third_party/angle/scripts/generate_android_bp.py1
-rw-r--r--chromium/third_party/angle/scripts/registry_xml.py3
-rwxr-xr-xchromium/third_party/angle/scripts/roll_aosp.sh25
-rw-r--r--chromium/third_party/angle/scripts/trigger.py43
-rw-r--r--chromium/third_party/angle/src/android_system_settings/src/com/android/angle/AndroidManifest.xml3
-rw-r--r--chromium/third_party/angle/src/common/PackedEnums.cpp11
-rw-r--r--chromium/third_party/angle/src/common/PackedGLEnums_autogen.cpp14
-rw-r--r--chromium/third_party/angle/src/common/PackedGLEnums_autogen.h14
-rw-r--r--chromium/third_party/angle/src/common/PoolAlloc.cpp7
-rw-r--r--chromium/third_party/angle/src/common/PoolAlloc.h7
-rw-r--r--chromium/third_party/angle/src/common/event_tracer.h2
-rw-r--r--chromium/third_party/angle/src/common/gen_uniform_type_table.py27
-rw-r--r--chromium/third_party/angle/src/common/mathutil.h1
-rw-r--r--chromium/third_party/angle/src/common/packed_gl_enums.json2
-rw-r--r--chromium/third_party/angle/src/common/string_utils.cpp29
-rw-r--r--chromium/third_party/angle/src/common/string_utils.h11
-rw-r--r--chromium/third_party/angle/src/common/string_utils_unittest.cpp71
-rw-r--r--chromium/third_party/angle/src/common/third_party/base/anglebase/base_export.h2
-rw-r--r--chromium/third_party/angle/src/common/third_party/base/anglebase/no_destructor.h2
-rw-r--r--chromium/third_party/angle/src/common/third_party/base/anglebase/sys_byteorder.h2
-rw-r--r--chromium/third_party/angle/src/common/tls.cpp9
-rw-r--r--chromium/third_party/angle/src/common/tls.h84
-rw-r--r--chromium/third_party/angle/src/common/uniform_type_info_autogen.cpp121
-rw-r--r--chromium/third_party/angle/src/common/utilities.cpp64
-rw-r--r--chromium/third_party/angle/src/common/utilities.h15
-rw-r--r--chromium/third_party/angle/src/common/vulkan/BUILD.gn71
-rw-r--r--chromium/third_party/angle/src/common/vulkan/vk_ext_provoking_vertex.h (renamed from chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_ext_provoking_vertex.h)7
-rw-r--r--chromium/third_party/angle/src/common/vulkan/vk_google_filtering_precision.h57
-rw-r--r--chromium/third_party/angle/src/common/vulkan/vk_headers.h (renamed from chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_headers.h)0
-rw-r--r--chromium/third_party/angle/src/common/vulkan/vulkan_icd.cpp79
-rw-r--r--chromium/third_party/angle/src/common/vulkan/vulkan_icd.h4
-rw-r--r--chromium/third_party/angle/src/compiler/translator/CallDAG.cpp2
-rw-r--r--chromium/third_party/angle/src/compiler/translator/Compiler.cpp2
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.cpp4
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.h7
-rw-r--r--chromium/third_party/angle/src/compiler/translator/HashNames.cpp36
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp301
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ImmutableString_autogen.cpp617
-rw-r--r--chromium/third_party/angle/src/compiler/translator/Initialize.cpp12
-rw-r--r--chromium/third_party/angle/src/compiler/translator/Operator.h4
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ParseContext_ESSL_autogen.h26
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ParseContext_complete_autogen.h26
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ShaderLang.cpp2
-rw-r--r--chromium/third_party/angle/src/compiler/translator/ShaderVars.cpp33
-rw-r--r--chromium/third_party/angle/src/compiler/translator/SymbolTable.h4
-rw-r--r--chromium/third_party/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp2592
-rw-r--r--chromium/third_party/angle/src/compiler/translator/SymbolTable_autogen.cpp4330
-rw-r--r--chromium/third_party/angle/src/compiler/translator/SymbolUniqueId.h4
-rw-r--r--chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.cpp23
-rw-r--r--chromium/third_party/angle/src/compiler/translator/TranslatorMetal.cpp11
-rw-r--r--chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.cpp103
-rw-r--r--chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.h2
-rw-r--r--chromium/third_party/angle/src/compiler/translator/Types.cpp14
-rw-r--r--chromium/third_party/angle/src/compiler/translator/builtin_function_declarations.txt38
-rw-r--r--chromium/third_party/angle/src/compiler/translator/glslang.l33
-rw-r--r--chromium/third_party/angle/src/compiler/translator/glslang.y116
-rw-r--r--chromium/third_party/angle/src/compiler/translator/glslang_lex_autogen.cpp1009
-rw-r--r--chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp1465
-rw-r--r--chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.h152
-rw-r--r--chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp112
-rw-r--r--chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.h4
-rw-r--r--chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h2248
-rw-r--r--chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_complete_autogen.h2603
-rw-r--r--chromium/third_party/angle/src/compiler/translator/tree_util/FindFunction.h2
-rw-r--r--chromium/third_party/angle/src/compiler/translator/tree_util/ReplaceClipDistanceVariable.h2
-rw-r--r--chromium/third_party/angle/src/compiler/translator/util.cpp14
-rw-r--r--chromium/third_party/angle/src/gpu_info_util/SystemInfo.h9
-rw-r--r--chromium/third_party/angle/src/gpu_info_util/SystemInfo_macos.mm98
-rw-r--r--chromium/third_party/angle/src/image_util/imageformats.cpp2
-rw-r--r--chromium/third_party/angle/src/image_util/imageformats.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/BlobCache.cpp11
-rw-r--r--chromium/third_party/angle/src/libANGLE/BlobCache.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/BlobCache_unittest.cpp16
-rw-r--r--chromium/third_party/angle/src/libANGLE/Buffer.cpp25
-rw-r--r--chromium/third_party/angle/src/libANGLE/Caps.cpp8
-rw-r--r--chromium/third_party/angle/src/libANGLE/Caps.h19
-rw-r--r--chromium/third_party/angle/src/libANGLE/Compiler.cpp4
-rw-r--r--chromium/third_party/angle/src/libANGLE/Config.cpp6
-rw-r--r--chromium/third_party/angle/src/libANGLE/Config.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/Context.cpp61
-rw-r--r--chromium/third_party/angle/src/libANGLE/Context.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/Context_gles_ext_autogen.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/Display.cpp179
-rw-r--r--chromium/third_party/angle/src/libANGLE/Display.h37
-rw-r--r--chromium/third_party/angle/src/libANGLE/Error.h1
-rw-r--r--chromium/third_party/angle/src/libANGLE/ErrorStrings.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/FrameCapture.cpp399
-rw-r--r--chromium/third_party/angle/src/libANGLE/FrameCapture.h61
-rw-r--r--chromium/third_party/angle/src/libANGLE/FrameCapture_mock.cpp1
-rw-r--r--chromium/third_party/angle/src/libANGLE/ImageIndex.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/MemoryProgramCache.cpp69
-rw-r--r--chromium/third_party/angle/src/libANGLE/MemoryProgramCache.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/OverlayWidgets.h22
-rw-r--r--chromium/third_party/angle/src/libANGLE/Program.cpp913
-rw-r--r--chromium/third_party/angle/src/libANGLE/Program.h247
-rw-r--r--chromium/third_party/angle/src/libANGLE/ProgramExecutable.cpp281
-rw-r--r--chromium/third_party/angle/src/libANGLE/ProgramExecutable.h209
-rw-r--r--chromium/third_party/angle/src/libANGLE/ProgramPipeline.cpp289
-rw-r--r--chromium/third_party/angle/src/libANGLE/ProgramPipeline.h42
-rw-r--r--chromium/third_party/angle/src/libANGLE/Shader.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/State.cpp79
-rw-r--r--chromium/third_party/angle/src/libANGLE/State.h14
-rw-r--r--chromium/third_party/angle/src/libANGLE/Surface.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/Texture.cpp38
-rw-r--r--chromium/third_party/angle/src/libANGLE/Texture.h18
-rw-r--r--chromium/third_party/angle/src/libANGLE/VaryingPacking.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/WorkerThread.cpp132
-rw-r--r--chromium/third_party/angle/src/libANGLE/angletypes.cpp43
-rw-r--r--chromium/third_party/angle/src/libANGLE/angletypes.h8
-rw-r--r--chromium/third_party/angle/src/libANGLE/angletypes_unittest.cpp44
-rw-r--r--chromium/third_party/angle/src/libANGLE/capture_gles_2_0_params.cpp25
-rw-r--r--chromium/third_party/angle/src/libANGLE/capture_gles_3_0_params.cpp30
-rw-r--r--chromium/third_party/angle/src/libANGLE/capture_gles_3_1_params.cpp14
-rw-r--r--chromium/third_party/angle/src/libANGLE/capture_gles_3_2_params.cpp22
-rw-r--r--chromium/third_party/angle/src/libANGLE/capture_gles_ext_autogen.h4
-rw-r--r--chromium/third_party/angle/src/libANGLE/capture_gles_ext_params.cpp23
-rw-r--r--chromium/third_party/angle/src/libANGLE/formatutils.cpp55
-rw-r--r--chromium/third_party/angle/src/libANGLE/formatutils.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/queryutils.cpp18
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.cpp10
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.h4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp13
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.h15
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/EGLImplFactory.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/Format_table_autogen.cpp16
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/ShaderImpl.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/TextureImpl.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/TextureImpl_mock.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/angle_format_data.json16
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp16
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp18
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.h1
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp27
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp40
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.h9
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp44
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp28
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp86
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h1
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp121
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.h9
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp12
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp22
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp21
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.h1
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h6
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.cpp176
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.h30
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.h4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp18
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.cpp19
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/RendererGL.cpp6
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp107
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp48
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.h8
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.h20
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm210
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h1
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm10
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.cpp (renamed from chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp)153
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.h (renamed from chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.h)34
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.cpp100
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.h (renamed from chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.h)19
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.cpp102
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp177
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.h24
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp80
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.h18
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp39
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.h6
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp216
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h68
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h1
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.cpp30
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.h29
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.cpp74
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.h14
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.cpp113
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.h8
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.mm3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.mm2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.h22
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.mm85
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.h13
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.mm82
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.h9
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.mm244
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.h16
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.mm49
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm18
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.h263
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm1077
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.h7
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.mm2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.h21
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.mm234
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.h226
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.mm907
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.h23
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.mm33
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.h101
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.mm61
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/blit.metal8
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/common.h11
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc6834
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc17
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.h4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.cpp3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp46
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.h7
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn61
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.cpp62
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.h10
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.cpp78
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.h74
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp773
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.h185
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.cpp17
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.h7
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp273
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.cpp4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp10
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp195
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.cpp16
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp8
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.cpp36
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.h12
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp113
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.h34
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.cpp8
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.cpp127
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.cpp791
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.h96
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp235
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.h51
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.cpp165
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.h9
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp76
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.h17
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp81
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.cpp4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py19
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc234
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc244
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc242
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc250
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc237
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc244
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc240
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc248
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc237
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc244
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc236
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc244
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc130
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc140
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc106
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc114
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc134
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc144
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc110
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc120
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc152
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc168
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc126
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc138
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc243
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc252
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc223
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc230
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc76
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc80
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc89
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc90
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc78
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc79
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc88
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc90
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc78
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc79
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc88
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc90
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc178
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc188
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc226
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc231
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc337
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc338
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc278
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc175
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc527
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc483
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc436
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc399
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc453
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc409
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc401
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc393
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc402
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc374
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc339
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc311
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc348
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc347
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc319
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc356
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc326
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc4
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc356
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc322
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc318
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc315
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc237
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc215
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc317
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc208
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc189
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000C.inc206
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc366
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc321
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc318
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc324
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc234
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000016.inc (renamed from chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc)56
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc274
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000019.inc (renamed from chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000D.inc)56
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc221
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc318
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc272
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc273
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc273
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000025.inc (renamed from chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc)62
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000026.inc (renamed from chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc)138
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc274
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc218
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc221
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000000.inc135
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000001.inc117
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000002.inc136
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000003.inc156
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000004.inc250
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000005.inc280
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000000.inc557
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000001.inc557
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp.json1
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json3
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp110
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json32
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag95
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json19
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp.json6
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json1
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp81
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.h56
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp18
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.cpp29
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.h163
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp782
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.h187
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp70
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni28
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h47
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp18
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h12
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.cpp40
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.h14
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_wrapper.h153
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/DisplayVkXcb.cpp5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/WindowSurfaceVkXcb.cpp8
-rw-r--r--chromium/third_party/angle/src/libANGLE/trace.h2
-rw-r--r--chromium/third_party/angle/src/libANGLE/validationEGL.cpp86
-rw-r--r--chromium/third_party/angle/src/libANGLE/validationEGL.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/validationES.cpp66
-rw-r--r--chromium/third_party/angle/src/libANGLE/validationES2.cpp8
-rw-r--r--chromium/third_party/angle/src/libANGLE/validationES3.cpp82
-rw-r--r--chromium/third_party/angle/src/libANGLE/validationESEXT_autogen.h4
-rw-r--r--chromium/third_party/angle/src/libEGL/egl_loader_autogen.cpp9
-rw-r--r--chromium/third_party/angle/src/libEGL/egl_loader_autogen.h6
-rw-r--r--chromium/third_party/angle/src/libEGL/libEGL.cpp34
-rw-r--r--chromium/third_party/angle/src/libEGL/libEGL.def5
-rw-r--r--chromium/third_party/angle/src/libGL/entry_points_wgl.cpp2
-rw-r--r--chromium/third_party/angle/src/libGL/proc_table_wgl.h4
-rw-r--r--chromium/third_party/angle/src/libGL/proc_table_wgl_autogen.cpp6
-rw-r--r--chromium/third_party/angle/src/libGLESv2.gni15
-rw-r--r--chromium/third_party/angle/src/libGLESv2/entry_points_egl.cpp63
-rw-r--r--chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.cpp53
-rw-r--r--chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.h7
-rw-r--r--chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp4
-rw-r--r--chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h4
-rw-r--r--chromium/third_party/angle/src/libGLESv2/global_state.cpp6
-rw-r--r--chromium/third_party/angle/src/libGLESv2/global_state.h22
-rw-r--r--chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp4
-rw-r--r--chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.def9
-rw-r--r--chromium/third_party/angle/src/libGLESv2/libGLESv2_no_capture_autogen.def9
-rw-r--r--chromium/third_party/angle/src/libGLESv2/libGLESv2_with_capture_autogen.def9
-rw-r--r--chromium/third_party/angle/src/libGLESv2/proc_table_egl.h4
-rw-r--r--chromium/third_party/angle/src/libGLESv2/proc_table_egl_autogen.cpp9
-rw-r--r--chromium/third_party/angle/src/tests/BUILD.gn22
-rw-r--r--chromium/third_party/angle/src/tests/angle_end2end_tests.gni3
-rw-r--r--chromium/third_party/angle/src/tests/angle_perftests.gni1
-rw-r--r--chromium/third_party/angle/src/tests/angle_unittests.gni1
-rw-r--r--chromium/third_party/angle/src/tests/angle_white_box_tests.gni1
-rw-r--r--chromium/third_party/angle/src/tests/capture_replay_tests/BUILD.gn54
-rw-r--r--chromium/third_party/angle/src/tests/deqp_support/deqp.gni2
-rw-r--r--chromium/third_party/angle/src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni4
-rw-r--r--chromium/third_party/angle/src/third_party/trace_event/trace_event.h7
-rw-r--r--chromium/third_party/angle/tools/glslang/glslang_validator.exe.sha12
-rw-r--r--chromium/third_party/angle/tools/glslang/glslang_validator.sha12
-rw-r--r--chromium/third_party/angle/util/BUILD.gn2
-rw-r--r--chromium/third_party/angle/util/EGLPlatformParameters.h26
-rw-r--r--chromium/third_party/angle/util/EGLWindow.cpp7
-rw-r--r--chromium/third_party/angle/util/OSPixmap.h2
-rw-r--r--chromium/third_party/angle/util/egl_loader_autogen.cpp9
-rw-r--r--chromium/third_party/angle/util/egl_loader_autogen.h6
-rw-r--r--chromium/third_party/angle/util/frame_capture_utils.h5
-rw-r--r--chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.cpp14
-rw-r--r--chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.h14
-rw-r--r--chromium/third_party/angle/util/posix/test_utils_posix.cpp11
-rw-r--r--chromium/third_party/angle/util/shader_utils.cpp39
-rw-r--r--chromium/third_party/angle/util/shader_utils.h9
-rw-r--r--chromium/third_party/angle/util/test_utils.h1
-rw-r--r--chromium/third_party/angle/util/windows/WGLWindow.cpp1
-rw-r--r--chromium/third_party/angle/util/windows/test_utils_win.cpp5
-rw-r--r--chromium/third_party/angle/util/x11/X11Pixmap.cpp17
-rw-r--r--chromium/third_party/angle/util/x11/X11Pixmap.h5
535 files changed, 36933 insertions, 28999 deletions
diff --git a/chromium/third_party/angle/BUILD.gn b/chromium/third_party/angle/BUILD.gn
index ee9bd397a65..a8163925bc7 100644
--- a/chromium/third_party/angle/BUILD.gn
+++ b/chromium/third_party/angle/BUILD.gn
@@ -141,6 +141,7 @@ config("extra_warnings") {
"-Wfloat-conversion",
"-Winconsistent-missing-destructor-override",
"-Wmissing-field-initializers",
+ "-Wnewline-eof",
"-Wnon-virtual-dtor",
"-Wredundant-parens",
"-Wshadow-field",
@@ -340,8 +341,7 @@ angle_static_library("angle_gpu_info_util") {
if (is_fuchsia) {
sources += libangle_gpu_info_util_fuchsia_sources
- deps +=
- [ "$angle_root/src/libANGLE/renderer/vulkan:angle_vulkan_entry_points" ]
+ deps += [ "$angle_root/src/common/vulkan:angle_vulkan_entry_points" ]
}
if (is_win) {
@@ -504,6 +504,9 @@ config("angle_backend_config") {
if (angle_enable_null) {
defines += [ "ANGLE_ENABLE_NULL" ]
}
+ if (angle_delegate_workers) {
+ defines += [ "ANGLE_DELEGATE_WORKERS" ]
+ }
configs = []
@@ -594,6 +597,7 @@ angle_source_set("libANGLE_base") {
":translator",
]
deps = [
+ ":angle_compression",
":angle_image_util",
":includes",
]
@@ -686,9 +690,9 @@ angle_source_set("libANGLE_base") {
}
if (ozone_platform_gbm) {
configs += [ ":libdrm" ]
- defines += [ "ANGLE_USE_OZONE" ]
+ defines += [ "ANGLE_USE_GBM" ]
deps += [ "//third_party/minigbm" ]
- sources += libangle_gl_ozone_sources
+ sources += libangle_gl_gbm_sources
}
}
diff --git a/chromium/third_party/angle/CONTRIBUTORS b/chromium/third_party/angle/CONTRIBUTORS
index f04956ad53a..dbbfc5684c9 100644
--- a/chromium/third_party/angle/CONTRIBUTORS
+++ b/chromium/third_party/angle/CONTRIBUTORS
@@ -20,32 +20,40 @@ Google Inc.
Michael Bai
John Bauman
Peter Beverloo
+ Eric Binet
Steve Block
Rachel Blum
Eric Boren
Henry Bridge
+ Victor Costan
+ James Dong
Nat Duca
Courtney Goeltzenleuchter
+ Tobin Ehlis
+ Ian Elliott
+ Scott Graham
Peter Kasting
Vangelis Kokkevis
+ Charlie Lao
+ Jiacheng Lu
Zhenyao Mo
Daniel Nicoara
+ Kai Ninomiya
+ Cody Northrop
Alastair Patrick
Alok Priyadarshi
Kenneth Russell
+ Jonah Ryan-Davis
Brian Salomon
+ Justin Schuh
Gregg Tavares
+ thestig@chromium.org
Jeff Timanus
+ Tim Van Patten
Ben Vanik
Adrienne Walker
- thestig@chromium.org
- Justin Schuh
- Scott Graham
Corentin Wallez
- Kai Ninomiya
- Victor Costan
Shahbaz Youssefi
- Eric Binet
Adobe Systems Inc.
Alexandru Chiculita
@@ -166,6 +174,7 @@ Samsung Electronics, Inc.
Peter Mowry
Sangwon Park
Saurabh Badenkal
+ Younggwan Kim
Arm Ltd.
Fei Yang
diff --git a/chromium/third_party/angle/DEPS b/chromium/third_party/angle/DEPS
index 6e9dd79edbe..6b5ea17d831 100644
--- a/chromium/third_party/angle/DEPS
+++ b/chromium/third_party/angle/DEPS
@@ -22,10 +22,10 @@ vars = {
'chromium_revision': 'b0410bba028cf153be2d02e36b6e99b59fdcb000',
# Current revision of VK-GL-CTS (a.k.a dEQP).
- 'vk_gl_cts_revision': '60972ed7fa8fb66b64e21186e7fb13dc082bdac8',
+ 'vk_gl_cts_revision': '23498d296498a94d619a6f4ac6c58510ebeacd9a',
# Current revision of glslang, the Khronos SPIRV compiler.
- 'glslang_revision': '4fa68edd68197a8c77779942b5d973f89c621752',
+ 'glslang_revision': 'fbb9dc2cf1afbc1ca301c66bd3ec7e745dfed0e4',
# Current revision of googletest.
# Note: this dep cannot be auto-rolled b/c of nesting.
@@ -43,22 +43,22 @@ vars = {
'spirv_cross_revision': 'f38cbeb814c73510b85697adbe5e894f9eac978f',
# Current revision fo the SPIRV-Headers Vulkan support library.
- 'spirv_headers_revision': 'f8bf11a0253a32375c32cad92c841237b96696c0',
+ 'spirv_headers_revision': 'ac638f1815425403e946d0ab78bac71d2bdbf3be',
# Current revision of SPIRV-Tools for Vulkan.
- 'spirv_tools_revision': '63fa9114a931bd584034f41ff1e405aa98c538d2',
+ 'spirv_tools_revision': '7a1af5878594cec2992a1bb00565b4c712490239',
# Current revision of Khronos Vulkan-Headers.
- 'vulkan_headers_revision': '9250d5ae8f50202005233dc0512a1d460c8b4833',
+ 'vulkan_headers_revision': '8188e3fbbc105591064093440f88081fb957d4f0',
# Current revision of Khronos Vulkan-Loader.
- 'vulkan_loader_revision': 'aaba2f0ac575b515567124420ebdcb866b9376ac',
+ 'vulkan_loader_revision': 'a173c025f8fea41d5d5e6bbd78c84647ce67fd21',
# Current revision of Khronos Vulkan-Tools.
- 'vulkan_tools_revision': '7bcbfd304f8bf079cdd477208f69da7a7f870344',
+ 'vulkan_tools_revision': '0f4d5f74f199b06bffc06cd2beed6ef07246fb0f',
# Current revision of Khronos Vulkan-ValidationLayers.
- 'vulkan_validation_revision': '73680f59c04ae28f3f369ddf9e10d46a2f86c936',
+ 'vulkan_validation_revision': 'd8b1aa1c383072f176bf3a1e347c77121e700b91',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling catapult
@@ -90,7 +90,7 @@ deps = {
},
'third_party/vulkan_memory_allocator': {
- 'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@dac952eb0a27736571bf10ac42fbfcc59192f310',
+ 'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@431d6e57284aeb08118ff428dfbd51c94342faa1',
'condition': 'not build_with_chromium',
},
@@ -192,7 +192,7 @@ deps = {
},
'third_party/SwiftShader': {
- 'url': '{swiftshader_git}/SwiftShader@d748e1651af8254eec5d4f5c561713dc85d14ab6',
+ 'url': '{swiftshader_git}/SwiftShader@eb0a25a189b75d950ae4f87c00f8d63f190d82a0',
'condition': 'not build_with_chromium',
},
@@ -245,12 +245,12 @@ deps = {
'third_party/catapult': {
'url': '{chromium_git}/catapult.git@{catapult_revision}',
- 'condition': 'not build_with_chromium',
+ 'condition': 'checkout_android and not build_with_chromium',
},
'third_party/android_ndk': {
'url': '{chromium_git}/android_ndk.git@27c0a8d090c666a50e40fceb4ee5b40b1a2d3f87',
- 'condition': 'not build_with_chromium',
+ 'condition': 'checkout_android and not build_with_chromium',
},
}
@@ -422,11 +422,8 @@ hooks = [
'name': 'restricted_traces',
'pattern': '\\.sha1',
'condition': 'checkout_angle_internal',
- 'action': [ 'download_from_google_storage',
- '--directory',
- '--recursive',
- '--extract',
- '--bucket', 'chrome-angle-capture-binaries',
+ 'action': [ 'python',
+ 'src/tests/perf_tests/restricted_traces/download_restricted_traces.py',
'src/tests/perf_tests/restricted_traces',
]
}
diff --git a/chromium/third_party/angle/PRESUBMIT.py b/chromium/third_party/angle/PRESUBMIT.py
index c3e989f18b6..0f6e60773cc 100644
--- a/chromium/third_party/angle/PRESUBMIT.py
+++ b/chromium/third_party/angle/PRESUBMIT.py
@@ -28,6 +28,140 @@ _PRIMARY_EXPORT_TARGETS = [
]
+def _CheckCommitMessageFormatting(input_api, output_api):
+
+ def _IsLineBlank(line):
+ return line.isspace() or line == ""
+
+ def _PopBlankLines(lines, reverse=False):
+ if reverse:
+ while len(lines) > 0 and _IsLineBlank(lines[-1]):
+ lines.pop()
+ else:
+ while len(lines) > 0 and _IsLineBlank(lines[0]):
+ lines.pop(0)
+
+ def _IsTagLine(line):
+ return ":" in line
+
+ whitelist_strings = ['Revert "', 'Roll ', 'Reland ']
+ summary_linelength_warning_lower_limit = 65
+ summary_linelength_warning_upper_limit = 70
+ description_linelength_limit = 72
+
+ git_output = input_api.change.DescriptionText()
+
+ multiple_commits = re.split(r"Change-Id: [a-zA-Z0-9]*\n", git_output)
+ errors = []
+
+ for k in range(len(multiple_commits)):
+ commit = multiple_commits[k]
+ commit_number = len(multiple_commits) - k
+ commit_tag = "Commit " + str(commit_number) + ":"
+ commit_msg_lines = commit.splitlines()
+ commit_msg_line_numbers = {}
+ for i in range(len(commit_msg_lines)):
+ commit_msg_line_numbers[commit_msg_lines[i]] = i + 1
+ _PopBlankLines(commit_msg_lines, True)
+ _PopBlankLines(commit_msg_lines, False)
+ whitelisted = False
+ if len(commit_msg_lines) > 0:
+ for whitelist_string in whitelist_strings:
+ if commit_msg_lines[0].startswith(whitelist_string):
+ whitelisted = True
+ break
+ if whitelisted:
+ continue
+
+ if commit.find("\t") != -1:
+ errors.append(
+ output_api.PresubmitError(commit_tag + "Tabs are not allowed in commit message."))
+
+ # the tags paragraph is at the end of the message
+ # the break between the tags paragraph is the first line without ":"
+ # this is sufficient because if a line is blank, it will not have ":"
+ last_paragraph_line_count = 0
+ while len(commit_msg_lines) > 0 and _IsTagLine(commit_msg_lines[-1]):
+ last_paragraph_line_count += 1
+ commit_msg_lines.pop()
+ if last_paragraph_line_count == 0:
+ errors.append(
+ output_api.PresubmitError(
+ commit_tag +
+ "Please ensure that there are tags (e.g., Bug:, Test:) in your description."))
+ if len(commit_msg_lines) > 0:
+ if not _IsLineBlank(commit_msg_lines[-1]):
+ output_api.PresubmitError(commit_tag +
+ "Please ensure that there exists 1 blank line " +
+ "between tags and description body.")
+ else:
+ # pop the blank line between tag paragraph and description body
+ commit_msg_lines.pop()
+ if len(commit_msg_lines) > 0 and _IsLineBlank(commit_msg_lines[-1]):
+ errors.append(
+ output_api.PresubmitError(
+ commit_tag + 'Please ensure that there exists only 1 blank line '
+ 'between tags and description body.'))
+ # pop all the remaining blank lines between tag and description body
+ _PopBlankLines(commit_msg_lines, True)
+ if len(commit_msg_lines) == 0:
+ errors.append(
+ output_api.PresubmitError(commit_tag +
+ 'Please ensure that your description summary'
+ ' and description body are not blank.'))
+ continue
+
+ if summary_linelength_warning_lower_limit <= len(commit_msg_lines[0]) \
+ <= summary_linelength_warning_upper_limit:
+ errors.append(
+ output_api.PresubmitPromptWarning(
+ commit_tag + "Your description summary should be on one line of " +
+ str(summary_linelength_warning_lower_limit - 1) + " or less characters."))
+ elif len(commit_msg_lines[0]) > summary_linelength_warning_upper_limit:
+ errors.append(
+ output_api.PresubmitError(
+ commit_tag + "Please ensure that your description summary is on one line of " +
+ str(summary_linelength_warning_lower_limit - 1) + " or less characters."))
+ commit_msg_lines.pop(0) # get rid of description summary
+ if len(commit_msg_lines) == 0:
+ continue
+ if not _IsLineBlank(commit_msg_lines[0]):
+ errors.append(
+ output_api.PresubmitError(commit_tag +
+ 'Please ensure the summary is only 1 line and '
+ 'there is 1 blank line between the summary '
+ 'and description body.'))
+ else:
+ commit_msg_lines.pop(0) # pop first blank line
+ if len(commit_msg_lines) == 0:
+ continue
+ if _IsLineBlank(commit_msg_lines[0]):
+ errors.append(
+ output_api.PresubmitError(commit_tag +
+ 'Please ensure that there exists only 1 blank line '
+ 'between description summary and description body.'))
+ # pop all the remaining blank lines between
+ # description summary and description body
+ _PopBlankLines(commit_msg_lines)
+
+ # loop through description body
+ while len(commit_msg_lines) > 0:
+ line = commit_msg_lines.pop(0)
+ # lines starting with 4 spaces or lines without space(urls)
+ # are exempt from length check
+ if line.startswith(" ") or " " not in line:
+ continue
+ if len(line) > description_linelength_limit:
+ errors.append(
+ output_api.PresubmitError(
+ commit_tag + 'Line ' + str(commit_msg_line_numbers[line]) +
+ ' is too long.\n' + '"' + line + '"\n' + 'Please wrap it to ' +
+ str(description_linelength_limit) + ' characters. ' +
+ "Lines without spaces or lines starting with 4 spaces are exempt."))
+ break
+ return errors
+
+
def _CheckChangeHasBugField(input_api, output_api):
"""Requires that the changelist have a Bug: field from a known project."""
bugs = input_api.change.BugsFromDescription()
@@ -240,6 +374,7 @@ def CheckChangeOnUpload(input_api, output_api):
results.extend(
input_api.canned_checks.CheckPatchFormatted(
input_api, output_api, result_factory=output_api.PresubmitError))
+ results.extend(_CheckCommitMessageFormatting(input_api, output_api))
return results
diff --git a/chromium/third_party/angle/doc/AddingExtensions.md b/chromium/third_party/angle/doc/AddingExtensions.md
new file mode 100644
index 00000000000..dc7550b9048
--- /dev/null
+++ b/chromium/third_party/angle/doc/AddingExtensions.md
@@ -0,0 +1,37 @@
+# Introduction
+
+This page describes how to add new extensions to ANGLE.
+
+# Adding EGL extensions
+
+Note: see also [anglebug.com/2621](http://anglebug.com/2621), linked
+from the [starter project](Starter-Projects.md) doc, to simplify some
+of these steps.
+
+For extensions requiring new entry points:
+
+* Add the extension xml to this file:
+ https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/scripts/egl_angle_ext.xml
+
+* Note the prototypes for the new entry points must be added to the
+ top of the file, and the functions themselves grouped under the
+ extension name to the bottom of the file.
+
+* Modify `scripts/registry_xml.py` to add the new extension as needed.
+
+* run
+ [scripts/run_code_generation.py](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/scripts/run_code_generation.py)
+
+* The entry point itself goes in the
+ [entry_points_egl_ext.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/src/libGLESv2/entry_points_egl_ext.h)
+ and cpp files.
+
+* Update
+ [eglext_angle.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/include/EGL/eglext_angle.h)
+ with the new entry points and/or enums.
+
+* Add members to the appropriate Extensions struct in
+ [Caps.h](https://source.chromium.org/chromium/chromium/src/+/master:third_party/angle/src/libANGLE/Caps.h)
+
+* Initialize extension availability in the `Display` subclass's
+ `generateExtensions` method for displays that can support the extension.
diff --git a/chromium/third_party/angle/doc/ChoosingANGLEBranch.md b/chromium/third_party/angle/doc/ChoosingANGLEBranch.md
index c2ac1ae2c40..809268d2eb9 100644
--- a/chromium/third_party/angle/doc/ChoosingANGLEBranch.md
+++ b/chromium/third_party/angle/doc/ChoosingANGLEBranch.md
@@ -66,3 +66,12 @@ If there are conflicts, however, follow these steps:
Have the cherry-pick reviewed, and then land it. It's also OK to skip
the review and land it yourself with TBR= in the issue description, if
you have that ability.
+
+There is one final step to pick up the ANGLE change into a Chromium Beta or
+Stable branch. A Skia auto-roller updates the DEPS file in the corresponding
+Chromium branch automatically once the ANGLE change is merged into an ANGLE
+branch. To make sure that your change has made it into Chromium you can check
+these auto-rollers:
+
+1. https://autoroll.skia.org/r/angle-chromium-beta-autoroll
+1. https://autoroll.skia.org/r/angle-chromium-stable-autoroll
diff --git a/chromium/third_party/angle/doc/CodingStandard.md b/chromium/third_party/angle/doc/CodingStandard.md
index a01de0692f0..728ba89c33f 100644
--- a/chromium/third_party/angle/doc/CodingStandard.md
+++ b/chromium/third_party/angle/doc/CodingStandard.md
@@ -30,9 +30,6 @@ This will catch most of the trivial formatting errors and save you time.
### [Other C++ Features](https://google.github.io/styleguide/cppguide.html#Other_C++_Features)
-* {DEV} all parameters passed by reference, except for STL containers (e.g.
- std::vector, std::list), must be labeled `const`. For return parameters
- other than STL containers, use a pointer.
* {DO} avoid use of default arguments.
* {DONT} use C++ exceptions, they are disabled in the builds and not caught.
* {DO} use nullptr (instead of 0 or NULL) for pointers.
diff --git a/chromium/third_party/angle/doc/DevSetupAndroid.md b/chromium/third_party/angle/doc/DevSetupAndroid.md
index 52836d507d1..2444e63cc14 100644
--- a/chromium/third_party/angle/doc/DevSetupAndroid.md
+++ b/chromium/third_party/angle/doc/DevSetupAndroid.md
@@ -7,63 +7,35 @@ From a Linux platform (the only platform that Chromium for Android supports), fo
Name your output directories `out/Debug` and `out/Release`, because Chromium GPU tests look for browser binaries in these folders. Replacing '[Debug|Release]' with other names seems to be OK when working with multiple build configurations.
-The following GN args are known to work well for Release and Debug configurations.
-Debug:
+## ANGLE GN args for Android
+The following command will open a text editor to populate GN args for a Debug build:
```
-$ gn args out/Debug
-```
-```
-target_os = "android"
-target_cpu = "arm64"
-android32_ndk_api_level = 26
-android64_ndk_api_level = 26
-angle_libs_suffix = "_angle"
-ffmpeg_branding = "Chrome"
-is_component_build = false
-symbol_level = 1
-is_debug = true
-dcheck_always_on = true
-angle_enable_vulkan = true
-angle_enable_vulkan_validation_layers = true
-angle_enable_gl = false
-```
-Release:
-```
-$ gn args out/Release
+gn args out/Debug
```
+
+Once the editor is up, paste the following GN args to generate an Android build, and save the file.
```
target_os = "android"
target_cpu = "arm64"
android32_ndk_api_level = 26
android64_ndk_api_level = 26
angle_libs_suffix = "_angle"
-ffmpeg_branding = "Chrome"
is_component_build = false
-symbol_level = 0
-strip_debug_info = true
-is_debug = false
-is_official_build = true # enables level of optimization beyond release
-dcheck_always_on = false
-angle_enable_vulkan = true
-angle_enable_vulkan_validation_layers = false
-angle_enable_gl = false
-enable_resource_whitelist_generation = false
```
+More targeted GN arg combinations can be found [below](#android-gn-args-combinations).
+
If you run into any problems with the above, you may be able to pull newer GN args from an official Android bot on [GPU.FYI waterfall](https://ci.chromium.org/p/chromium/g/chromium.gpu.fyi/console).
- Look for `generate_build_files` step output of that bot.
- Remove `goma_dir` flag.
+## Building ANGLE for Android
Build an ANGLE target using the following command:
```
autoninja -C out/Debug <target>
```
-or
-```
-autoninja -C out/Release <target>
-```
The following ANGLE build targets are supported:
@@ -182,3 +154,38 @@ E GraphicsEnvironment: Invalid number of ANGLE packages. Required: 1, Found: 0
E GraphicsEnvironment: Failed to find ANGLE package.
```
Double check that you are root, or that your application is [marked debuggable](https://developer.android.com/guide/topics/manifest/application-element#debug).
+
+## Android GN args combinations
+
+The [above](#angle-gn-args-for-android) GN args only modify default values to generate a Debug build for Android. Below are some common configurations used for different scenarios.
+
+To determine what is different from default, you can point the following command at your target directory. It will show the list of gn args in use, where they came from, their current value, and their default values.
+```
+gn args --list <dir>
+```
+### Performance config
+This config is designed to get maximum performance by disabling debug configs and validation layers.
+Note: The oddly named `is_official_build` is a more aggressive optimization level than `Release`. Its names is historical.
+```
+target_os = "android"
+target_cpu = "arm64"
+android32_ndk_api_level = 26
+android64_ndk_api_level = 26
+angle_libs_suffix = "_angle"
+is_component_build = false
+is_official_build = true
+is_debug = false
+```
+### Release with asserts config
+This config is useful for quickly ensuring Vulkan is running cleanly. It disables debug, but enables asserts and allows validation errors.
+```
+target_os = "android"
+target_cpu = "arm64"
+android32_ndk_api_level = 26
+android64_ndk_api_level = 26
+angle_libs_suffix = "_angle"
+is_component_build = false
+is_official_build = true
+is_debug = false
+dcheck_always_on = true
+```
diff --git a/chromium/third_party/angle/doc/img/StateChangeNotificationFlow.svg b/chromium/third_party/angle/doc/img/StateChangeNotificationFlow.svg
index df65f9dac4e..c83eeecb6b3 100644
--- a/chromium/third_party/angle/doc/img/StateChangeNotificationFlow.svg
+++ b/chromium/third_party/angle/doc/img/StateChangeNotificationFlow.svg
@@ -1,2 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="642px" height="682px" viewBox="-0.5 -0.5 642 682" content="&lt;mxfile modified=&quot;2019-05-01T19:07:07.556Z&quot; host=&quot;www.draw.io&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36&quot; etag=&quot;7MVQbu2uo8iAHLBw1ZlM&quot; version=&quot;10.6.5&quot; type=&quot;google&quot;&gt;&lt;diagram id=&quot;6a731a19-8d31-9384-78a2-239565b7b9f0&quot; name=&quot;Page-1&quot;&gt;7Vxbc+I2GP01PIbRzbfHQJLdTrdNJ2m7m74pIIyzwqJGJCS/fmVbxja+YAg4MDGTSaxPsix/53zS0YX08HC2+hLQ+fQPMWa8h8B41cNXPYQQwET9CS2v2kLs2OAG3jg2wdRw770xbQTauvTGbJErKIXg0pvnjSPh+2wkczYaBOIlX2wieP6pc+qyguF+RHnR+t0by6m2QtNJM74yz53qR9vIijMe6einG4ilr5/XQ3gSfeLsGU3q0i+6mNKxeMmY8HUPDwMhZHw1Ww0ZD32buC2+76Yid93ugPmyyQ2GGd/xTPlSv/u9pJIp03BKfTe8+FNIb+KNqPSEr5I3XDU4brx8TRy2kIH4yYaCiyAy4MHl0L7CPTyYeJxn7AgTYlyFduFLDTwiKh3XkHgb6RI3dObxkERfGX9mUrVCZUzljCsT1GUytd9En6R23TwQ1j6nI893B0JKMVM2O7XdaRgzxb6xSWKh3HN9dT1SDmXqKYOih7XTn1kg2Spj0h7/wsSMyeBVFdG5RIOvg8MmuoaXlGpmUmaaZZm2Uc1ud11zirC60CCXA27aBcC3g5m6NQ9mCnIKJrT3BlOE3pdhARMcxdMOauhpCA7hauccXO0cx9UQtOprC5yDr49Eawjb9TU8B18fi9eoXV+jc/D1sXiN2/U1PgdfH4vXpFVf207BtWysJLhOikBOhSt8yq9T6yDS1WysXfK0nM2T8r7wWd5hbOXJH5nrh1DP9Y0w5au2/tDyLkqkeZw+Mj5Ya/gMnlrFh/jRQF6Gc4xQFXK6WHijxHzj8fXz/XFSSDfuiUn5qplAl1KEqK5f85sQc31ngWJgiAm+KlAH11Eny7oSnQyiT9xM3ei1N65WudSrTlVSTr24y2QisGJbiGUtCQPG1XziOT/dKiNUdKvyJH3NFJgLz5eLTM1/hYaU2yiJ3ET3WRuzoC3lIbDMDTbHTSi/HTpW6ePW7V2IZTBi+q66dlj2xsC+WVPs7EJNUbit3dsoAp2iYnJV2Uv1M1RkYStZiNB8/FVN7PL81eTfr9dzAzr2WMpcXVntpE+T3jhML2mBPnaIYVg2wlDRO4+PylHdxmavCZPFgGyvaRyg03SKwitYxZANlpMJC36bzXmHmnI2NPoOIJYJ9e+N6DaKQ93xQCsquCTOYtA6wKKOr48NbBFIHNNwbPMDAXt+mEnj++31wLcRtB7+sdDj8gIa1nZxuIuCAVXDf4lMyEC1t/rID/SVkMUjlWYuLhngzUMP8I3jqKjOkzi6CeiMPXbBlAkmUt37oZYHLVI5aP2tRMYyYN2o1WjUwi3jZlTG2z1ViHWx1mDgIi1jVtzNSTDTsdZhthWzluMMgmIHydaRtgwmdNShpntHy7ANgAmA2ARGHjXYMmqwwcJsVg8y/iheslIwMqiMqQi8N+UuyktXeKpXg5rAtk0HNpSTzeQieIdc1CBfQAf3DQMCBAiwoYlRHmYbgTKUMew7lgprB0LDJCYiRdBrVy3LV2O2NcZJG7PrQs+FCfvrNQUDmo5T9ZpbFn7euzIGoY31o0rXuvZYWIKwwTp6FxqJvupC41RDAzjo4KFRHOs/e2igktCAXWgcNTT2om5xPniS1E0299K9vods3q67W9u4WrFaCDoGnx6Di7PjE2RwMyaaJb0m7jh3epzbcdvgEwz4ZdQlHXVPjrqoeEDgE1L3LClJgFG7A2Ttzchtq3DFmg/HyHKpRc6kh60+dFanSw9E75rTcCqVPjtM7CaJdxa6NqwNE9ximCCQPwO5/7kte+Mw5fqM9NGX7/Lf73n3CsX97dsDHw0n1/T3/+gtvHt5MvgFTPz9wYcfSqm2laL1M7SsDKl4eVzO6IOfcKhvaMme3r/R5onmkMnVWwwegxwq5v/L8JtkURd1sYj8eqkKQGO+ivyZ5KsrV649/Lk3muq3B1s+8ldHyY4Tu3CiQIASmlQfA4V5SqCP5ERFP1F9XuNOaQYWdAekGh4AaHkruRxOs8GXrE5B1p7M7Muok5VWm7MvXPjKWEqoXZVloa7oRRtpy8OpP/TpqLhdY1ZTkRDUBzVUTLbHj0/EA34vxamvaG8KqmT6zw7i4ul/lMDXvwA=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="1" y="1" width="640" height="80" fill="#23445d" stroke="#bac8d3" stroke-width="2" pointer-events="none"/><g transform="translate(155.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="330" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">State Change Notification Flow</div></div></foreignObject><text x="165" y="25" fill="#FFFFFF" text-anchor="middle" font-size="24px" font-family="Helvetica">State Change Notification Flow</text></switch></g><rect x="1" y="81" width="640" height="100" fill-opacity="0.6" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.6" stroke-width="2" pointer-events="none"/><rect x="1" y="181" width="640" height="100" fill-opacity="0.9" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.9" stroke-width="2" pointer-events="none"/><rect x="1" y="281" width="640" height="100" fill-opacity="0.6" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.6" stroke-width="2" pointer-events="none"/><rect x="1" y="381" width="640" height="100" fill-opacity="0.9" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.9" stroke-width="2" pointer-events="none"/><rect x="1" y="481" width="640" height="100" fill-opacity="0.6" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.6" stroke-width="2" pointer-events="none"/><rect x="1" y="581" width="640" height="100" fill-opacity="0.9" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.9" stroke-width="2" pointer-events="none"/><path d="M 168.1 130 L 175.55 130 Q 183 130 183 140 L 183 226 Q 183 236 193 236 L 239 236" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 161.35 130 L 170.35 125.5 L 168.1 130 L 170.35 134.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><rect x="31.39" y="105.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(58.5,122.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="72" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::Context</div></div></foreignObject><text x="36" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">gl::Context</text></switch></g><rect x="476.9" y="211" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(495.5,227.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="89" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">rx::BufferImpl</div></div></foreignObject><text x="45" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">rx::BufferImpl</text></switch></g><rect x="239.35" y="211" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(272.5,227.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="60" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::Buffer</div></div></foreignObject><text x="30" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">gl::Buffer</text></switch></g><path d="M 302.9 461.87 L 302.9 505.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 302.9 456.62 L 306.4 463.62 L 302.9 461.87 L 299.4 463.62 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="239.4" y="405.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(251.5,422.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="101" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::Framebuffer</div></div></foreignObject><text x="51" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">gl::Framebuffer</text></switch></g><rect x="476.9" y="505.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(490.5,522.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">rx::TextureImpl</div></div></foreignObject><text x="49" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">rx::TextureImpl</text></switch></g><rect x="239.35" y="605.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(264.5,622.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="76" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::Sampler</div></div></foreignObject><text x="38" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">gl::Sampler</text></switch></g><rect x="239.35" y="505.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(267.5,522.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="69" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::Texture</div></div></foreignObject><text x="35" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">gl::Texture</text></switch></g><rect x="476.76" y="305.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(499.5,322.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="80" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">egl::Surface</div></div></foreignObject><text x="40" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">egl::Surface</text></switch></g><path d="M 168.5 130.5 L 175.75 130.5 Q 183 130.5 183 140.5 L 183 520.5 Q 183 530.5 193 530.5 L 239.35 530.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 161.75 130.5 L 170.75 126 L 168.5 130.5 L 170.75 135 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 168.5 130.5 L 175.75 130.5 Q 183 130.5 183 140.5 L 183 620.5 Q 183 630.5 193 630.5 L 239.35 630.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 161.75 130.5 L 170.75 126 L 168.5 130.5 L 170.75 135 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 376.46 236 L 412 236 Q 422 236 432 236 L 476.9 236" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 369.71 236 L 378.71 231.5 L 376.46 236 L 378.71 240.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 303 211 L 303 193.5 Q 303 183.5 303 174.8 L 303 166.1" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 303 159.35 L 307.5 168.35 L 303 166.1 L 298.5 168.35 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 303 505.5 L 303 490.5 Q 303 480.5 303 473.05 L 303 465.6" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 303 458.85 L 307.5 467.85 L 303 465.6 L 298.5 467.85 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 376.46 530.5 L 412 530.5 Q 422 530.5 432 530.5 L 476.9 530.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 369.71 530.5 L 378.71 526 L 376.46 530.5 L 378.71 535 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 376.51 430.5 L 412 430.5 Q 422 430.5 422 420.5 L 422 340.5 Q 422 330.5 432 330.5 L 476.76 330.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 369.76 430.5 L 378.76 426 L 376.51 430.5 L 378.76 435 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 168.1 131 L 175.55 131 Q 183 131 183 141 L 183 421 Q 183 431 193 431 L 241 431" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 161.35 131 L 170.35 126.5 L 168.1 131 L 170.35 135.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 239.35 130.5 L 165.72 130.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 160.47 130.5 L 167.47 127 L 165.72 130.5 L 167.47 134 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="239.35" y="105.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(253.5,122.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::VertexArray<br style="font-size: 15px" /></div></div></foreignObject><text x="49" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="32.35" y="105.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(46.5,122.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::VertexArray<br style="font-size: 15px" /></div></div></foreignObject><text x="49" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="239.35" y="305.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="none"/><g transform="translate(248.5,322.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="107" height="16" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">gl::Renderbuffer</div></div></foreignObject><text x="54" y="16" fill="#FFFFFF" text-anchor="middle" font-size="15px" font-family="Helvetica">gl::Renderbuffer</text></switch></g><path d="M 301 395.4 L 301 387.95 Q 301 380.5 301 370.5 L 301 355.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 301 402.15 L 296.5 393.15 L 301 395.4 L 305.5 393.15 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 168.1 130 L 189 130 Q 199 130 209 130 L 240 130" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 161.35 130 L 170.35 125.5 L 168.1 130 L 170.35 134.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/></g></svg> \ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="642px" height="682px" viewBox="-0.5 -0.5 642 682" content="&lt;mxfile modified=&quot;2020-06-01T14:42:02.062Z&quot; host=&quot;app.diagrams.net&quot; agent=&quot;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36&quot; etag=&quot;yHR0n6PLTIF92Dy7KGMj&quot; version=&quot;13.1.11&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;6a731a19-8d31-9384-78a2-239565b7b9f0&quot; name=&quot;Page-1&quot;&gt;7Vxtc9o4EP41fAyjF79+DJC0N9e73DS9a7kvHQHCODUWNSIh+fWVbRnbyDaGgAONmU6DV7Is7/OsdrWS6OD+fP0hIIvZX2xCvQ4Ck3UHDzoIIWAg8SeUPMcSDRixwAncSSyCqeDefaFSCKR05U7oMleRM+Zxd5EXjpnv0zHPyUgQsKd8tSnz8k9dEIcqgvsx8VTpV3fCZ1IKDTst+EhdZyYfbSEzLhiR8Q8nYCtfPq+D8DT6xMVzkrQlX3Q5IxP2lBHhmw7uB4zx+Nt83adeqNtEbfF9tyWlm34H1Od1btAlLo/EW8l3v+eEUyHqz4jvhF/+ZtydumPCXeaLy1tPdDjuPH9OFLbkAftB+8xjQSTAveu+NcAd3Ju6npeRI6xp+iCUM59L4JEmruMWEm0jWeOWzF0vJNFH6j1SLnohCmZ87gkRlHUyrd9Gn6R12T0Qtr4gY9d3eoxzNhcyK5V9ljBmqn2i00RCPNfxxfexUCgVT+mpGpZKf6QBp+uMSGr8A2VzyoNnUWWdWEN8hzQOS5MtPKVUM5I6syzLpIxIdjubllOExRcJcjHghqUAvhvMVK15MFOQUzChdTCYLNQ+DysY4CSatlFNTUNwDFXbl6Bq+zSqhqBRXZvgEnR9IlpD2Kyu4SXo+lS8Rs3qGl2Crk/Fa9ysrvEl6PpUvNYa1bVlK6qlExGCy0sW8BlzmE+8m1Tai+JqOpEqeVjNF0l9n/k0rzC6dvm3zPdhGM919fDKF339JsO76CIt88iIer1NDJ/BU0bxIX4k4NfhHCOMCj2yXLrjRHzrepvn+5OkkuzcA+X8WTKBrDgLUd285ifGFvJOhWKgjzU8UKiDq6iTZV1BnAyiT9xN2emNNgbr3NWzvCqlnHhxh/IkwIplIZaVJAyoJ+YTj/npVhGholuFJslzpsKCuT5fZlr+JxSk3EaJ5SZxn7k1C9pRHwLT2GJz3IXi26FtFj5u098lWwVjKu+q6odpbTn27ZZiZSstRea2UW8tC7TViMkRda/Fv74gC11zxULz9lc2scvzV5L/sFHPCcjEpSlzZWOVkz5Jev04o6QJutjWdN20EIaC3nl8RIkYNrZHTZgkA7Kjpn6EQdNWA69gHUPWW02nNPhjvvBa1ISyod61gWYaUP6/Zd266upOB5oawSV2FoPWAhYNfF2sY1ODmm3otmW8IWCPwznXv97d9HwLQXP4r4lGqyuom7uDw30iGFDm/gvChAxUB0cfeUdfClnsqSRzcYGDN47t4GvbkRqdJ3Z0G5A5HbXGlDEmrXz0Qw07La3UaX0RQcYqoK3XquW1cMO46aX2dk8EYq2t1XBcWsOYqas5CWbS1lrMdmLWsJ1BoA6QdGNpq2BKxi1qm9HR0gHWAMQG0BWv1iBmsEZaNhsNUm/EnrKBYCQQBTMWuC9CWcQrzO+U54LqgLYrCqwZTNYLFsErgkUJ8RW0cVfXIUBAAxY0MMqDbCFQZJkYdm1TGLUNoW5oBtJU0CtzlsW5mF2dsdPO7JvmuTJgd5NR0KFh22WvuSPt89q8GIQWlo8qzHQdkFaCsEYWvTWNJLpqTeNcTQPY6OimoXr6924aqMA0YGsaJzWNg6irzgbPkrrJ0l660jfMlu27trWLqyW5QtAy+PwYrM6Nz5DB9ZhoFIyauOXc+XFuz0WDd+Dwi6irtdQ9O+oidXvA70vdqi1BB8UNW1TO811m/C6D3xrQKxeTzIPpHSb0TL00oQfVlo9H7+K4TbuQ4fowsh7LVso31omr9NnhxX7x9d5RswUrzQQ3aCYI5LdTHr4FzNral7nZbn3yXGD+qNCr0x33dy9Db9yf3pA//yd38PPTg+5dwUTfb7yPohYjq2d32SG95F3rxuRH3yxR3fOC5cH/onUYySHDE6/VGwU5VIyfq/BQWjREXS0jvV6LClBfrCN9JuXim8M3Gn7fa1bVK40N7x6s5mi7DbQKSBPmcURvCWSJcZfv1/gsHD0N2g1SNTcAwHOA06hxyOocYtHTpg72SAnoVbGg2eSUCStHxlJC7RsOKm1FL1orIDxeyIZaKu5BRU1DXVBBxWSB/PREPOK5FLu6oeNRkKNPbPjzxRzeOd9H36+fpoPBl6uibFTWqf1GO0gVL1ZAxkP3SDXs2EqgfH+OTckG1kd0Z3oZas3mArNxk74dOB06vuzY+XzCU3AlHH1dTqI9ndr46dRducfdJphP/VRPlmtsAdCLzbrpc6+w2q8rOcD8Dfuee93+gZo9zr1WDiwgmaK9egAQl+mPK8XV01+wwje/AA==&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs/><g><rect x="1" y="1" width="640" height="80" fill="#23445d" stroke="#bac8d3" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 37px; margin-left: 321px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">State Change Notification Flow</div></div></div></foreignObject><text x="321" y="44" fill="#FFFFFF" font-family="Helvetica" font-size="24px" text-anchor="middle">State Change Notification Flow</text></switch></g><rect x="1" y="81" width="640" height="100" fill-opacity="0.6" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.6" stroke-width="2" pointer-events="all"/><rect x="1" y="181" width="640" height="100" fill-opacity="0.9" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.9" stroke-width="2" pointer-events="all"/><rect x="1" y="281" width="640" height="100" fill-opacity="0.6" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.6" stroke-width="2" pointer-events="all"/><rect x="1" y="381" width="640" height="100" fill-opacity="0.9" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.9" stroke-width="2" pointer-events="all"/><rect x="1" y="481" width="640" height="100" fill-opacity="0.6" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.6" stroke-width="2" pointer-events="all"/><rect x="1" y="581" width="640" height="100" fill-opacity="0.9" fill="#bac8d3" stroke="#ffffff" stroke-opacity="0.9" stroke-width="2" pointer-events="all"/><path d="M 168.1 130 L 175.55 130 Q 183 130 183 140 L 183 226 Q 183 236 193 236 L 239.35 236" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 161.35 130 L 170.35 125.5 L 168.1 130 L 170.35 134.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="31.39" y="105.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 131px; margin-left: 95px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::Context</div></div></div></foreignObject><text x="95" y="135" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::Context</text></switch></g><rect x="476.9" y="211" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 236px; margin-left: 540px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">rx::BufferImpl</div></div></div></foreignObject><text x="540" y="241" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">rx::BufferImpl</text></switch></g><rect x="239.35" y="211" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 236px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::Buffer</div></div></div></foreignObject><text x="303" y="241" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::Buffer</text></switch></g><path d="M 302.9 461.87 L 302.9 505.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 302.9 456.62 L 306.4 463.62 L 302.9 461.87 L 299.4 463.62 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="239.4" y="405.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 431px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::Framebuffer</div></div></div></foreignObject><text x="303" y="435" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::Framebuffer</text></switch></g><rect x="476.9" y="505.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 531px; margin-left: 540px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">rx::TextureImpl</div></div></div></foreignObject><text x="540" y="535" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">rx::TextureImpl</text></switch></g><rect x="239.35" y="605.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 631px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::Sampler</div></div></div></foreignObject><text x="303" y="635" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::Sampler</text></switch></g><rect x="239.35" y="505.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 531px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::Texture</div></div></div></foreignObject><text x="303" y="535" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::Texture</text></switch></g><rect x="476.91" y="405" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 430px; margin-left: 540px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">egl::Surface</div></div></div></foreignObject><text x="540" y="435" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">egl::Surface</text></switch></g><path d="M 168.5 130.5 L 175.75 130.5 Q 183 130.5 183 140.5 L 183 520.5 Q 183 530.5 193 530.5 L 239.35 530.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 161.75 130.5 L 170.75 126 L 168.5 130.5 L 170.75 135 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 168.5 130.5 L 175.75 130.5 Q 183 130.5 183 140.5 L 183 620.5 Q 183 630.5 193 630.5 L 239.35 630.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 161.75 130.5 L 170.75 126 L 168.5 130.5 L 170.75 135 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 376.46 236 L 412 236 Q 422 236 432 236 L 476.9 236" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 369.71 236 L 378.71 231.5 L 376.46 236 L 378.71 240.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 303 211 L 303 165.5 Q 303 155.5 302.94 160.55 L 302.88 165.6" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 302.86 158.85 L 307.39 167.84 L 302.88 165.6 L 298.39 167.87 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 303 505.5 L 303 490.5 Q 303 480.5 303 473.05 L 303 465.6" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 303 458.85 L 307.5 467.85 L 303 465.6 L 298.5 467.85 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 376.46 530.5 L 412 530.5 Q 422 530.5 432 530.5 L 476.9 530.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 369.71 530.5 L 378.71 526 L 376.46 530.5 L 378.71 535 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 376.51 430.5 L 412 430.5 Q 422 430.5 432 430.41 L 476.91 430" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 369.76 430.5 L 378.76 426 L 376.51 430.5 L 378.76 435 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 168.5 130.5 L 175.75 130.5 Q 183 130.5 183 140.5 L 183 421 Q 183 431 193 431 L 241 431" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 161.75 130.5 L 170.75 126 L 168.5 130.5 L 170.75 135 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 239.35 130.5 L 165.72 130.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 160.47 130.5 L 167.47 127 L 165.72 130.5 L 167.47 134 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="239.35" y="105.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 131px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::VertexArray<br style="font-size: 15px" /></div></div></div></foreignObject><text x="303" y="135" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::VertexArray&#xa;</text></switch></g><rect x="32.35" y="105.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 131px; margin-left: 96px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::Context</div></div></div></foreignObject><text x="96" y="135" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::Context</text></switch></g><rect x="239.35" y="305.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 331px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">gl::Renderbuffer</div></div></div></foreignObject><text x="303" y="335" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">gl::Renderbuffer</text></switch></g><path d="M 301 395.4 L 301 387.95 Q 301 380.5 301 370.5 L 301 355.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 301 402.15 L 296.5 393.15 L 301 395.4 L 305.5 393.15 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 168.1 130 L 189 130 Q 199 130 209 130 L 240 130" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 161.35 130 L 170.35 125.5 L 168.1 130 L 170.35 134.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="476.91" y="305.5" width="127" height="50" rx="7.5" ry="7.5" fill="#23445d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 331px; margin-left: 540px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: #FFFFFF; line-height: 1.2; pointer-events: all; white-space: nowrap; ">RenderbufferImpl</div></div></div></foreignObject><text x="540" y="335" fill="#FFFFFF" font-family="Helvetica" font-size="15px" text-anchor="middle">RenderbufferImpl</text></switch></g><path d="M 376.46 330 L 412 330 Q 422 330 432 330 L 476.9 330" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 369.71 330 L 378.71 325.5 L 376.46 330 L 378.71 334.5 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><path d="M 169.46 130.5 L 176.23 130.5 Q 183 130.5 183 140.5 L 183 320.5 Q 183 330.5 193 330.5 L 239.35 330.5" fill="none" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 162.71 130.5 L 171.71 126 L 169.46 130.5 L 171.71 135 Z" fill="#0c343d" stroke="#0c343d" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg> \ No newline at end of file
diff --git a/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt b/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt
index 69f8dbc17fd..c9f8a5062ae 100644
--- a/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt
+++ b/chromium/third_party/angle/extensions/EGL_ANGLE_platform_angle.txt
@@ -81,6 +81,13 @@ New Tokens
EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE 0x320A
EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE 0x345E
+ Accepted as values for the EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
+ attribute:
+
+ EGL_PLATFORM_X11_EXT 0x31D5
+ EGL_PLATFORM_DEVICE_EXT 0x313F
+ EGL_PLATFORM_SURFACELESS_MESA 0x31DD
+
Additions to the EGL Specification
None.
@@ -137,6 +144,12 @@ New Behavior
default setting depends on the implementation. Any value other than these
will result in an error.
+ EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE is an additional optional
+ attribute that helps ANGLE to identify what native underlaying platform
+ it should use. If no display matching the requested type of native platform
+ found, EGL_NO_DISPLAY should be returned. if no <attrib_list> is specified
+ to eglGetPlatformDisplayEXT, ANGLE is free to make the choice.
+
Issues
1) Should the validation layers default to on, off, or no guarantee?
@@ -161,3 +174,5 @@ Revision History
- Add a debug layers enabled attribute to control runtime validation.
Version 5, 2017-12-28 (Jamie Madill)
- Expose device type selection.
+ Version 6, 2020-05-28 (Maksim Sisov)
+ - Add EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE attribute.
diff --git a/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt b/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt
index 43bdc959bd0..455495d933b 100644
--- a/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt
+++ b/chromium/third_party/angle/extensions/EGL_ANGLE_power_preference.txt
@@ -42,7 +42,13 @@ New Types
New Procedures and Functions
- None
+ void eglReleaseHighPowerGPUANGLE(
+ EGLDisplay dpy,
+ EGLContext context);
+ void eglReacquireHighPowerGPUANGLE(
+ EGLDisplay dpy,
+ EGLContext context);
+ void eglHandleGPUSwitchANGLE(EGLDisplay dpy);
New Tokens
@@ -74,6 +80,46 @@ Additions to the EGL 1.4 Specification
NSSupportsAutomaticGraphicsSwitching attribute to true in its
Info.plist in order for this extension to operate as advertised.
+ eglReleaseHighPowerGPUANGLE, when passed an EGLContext allocated
+ with the EGL_POWER_PREFERENCE_ANGLE context creation attribute set
+ to EGL_HIGH_POWER_ANGLE, will cause that context to release its
+ hold on the high-power GPU.
+
+ eglReacquireHighPowerGPUANGLE, when passed an EGLContext allocated
+ with the EGL_POWER_PREFERENCE_ANGLE context creation attribute set
+ to EGL_HIGH_POWER_ANGLE and which was previously released via
+ eglReleaseHighPowerGPUANGLE, will cause that context to reacquire
+ its hold on the high-power GPU.
+
+ eglReleaseHighPowerGPUANGLE and eglReacquireHighPowerGPUANGLE have
+ no effect on contexts that were allocated with the
+ EGL_LOW_POWER_ANGLE preference, or contexts not allocated with
+ either preference.
+
+ For either eglReleaseHighPowerGPUANGLE or
+ eglReacquireHighPowerGPUANGLE:
+
+ If |dpy| is not a valid display, an EGL_BAD_DISPLAY error is
+ generated.
+
+ if |dpy| is an uninitialized display, an EGL_NOT_INITIALIZED error
+ is generated.
+
+ If |context| is not a valid context, an EGL_BAD_CONTEXT error is
+ generated.
+
+ eglHandleGPUSwitchANGLE should be called in response to a display
+ reconfiguration callback (registered via
+ CGDisplayRegisterReconfigurationCallback) in order to complete
+ transitions between the low-power and high-power GPUs. For calls
+ to this function:
+
+ If |dpy| is not a valid display, an EGL_BAD_DISPLAY error is
+ generated.
+
+ if |dpy| is an uninitialized display, an EGL_NOT_INITIALIZED error
+ is generated.
+
Issues
None yet.
@@ -83,3 +129,6 @@ Revision History
Rev. Date Author Changes
---- ------------- --------- ----------------------------------------
1 Apr 16, 2019 kbr Initial version
+ 2 June 5, 2020 kbr Add eglReleaseHighPowerGPUANGLE,
+ eglReacquireHighPowerGPUANGLE, and
+ eglHandleGPUSwitchANGLE
diff --git a/chromium/third_party/angle/gni/angle.gni b/chromium/third_party/angle/gni/angle.gni
index f63fda45595..4cf7766b402 100644
--- a/chromium/third_party/angle/gni/angle.gni
+++ b/chromium/third_party/angle/gni/angle.gni
@@ -91,6 +91,12 @@ declare_args() {
}
declare_args() {
+ # By default, ANGLE is using a thread pool for parallel compilation.
+ # Activating the delegate worker results in posting the tasks using the
+ # embedder API. In Chromium code base, it results in sending tasks to the
+ # worker thread pool.
+ angle_delegate_workers = build_with_chromium
+
angle_enable_d3d9 = is_win && !angle_is_winuwp
angle_enable_d3d11 = is_win
angle_enable_gl =
@@ -190,12 +196,19 @@ set_defaults("angle_static_library") {
}
set_defaults("angle_test") {
- configs = angle_common_configs
- public_configs = []
+ configs = []
+
+ # Gtest itself can't pass all the strict warning filters.
+ public_configs = angle_common_configs - [
+ "$angle_root:constructor_and_destructor_warnings",
+ "$angle_root:extra_warnings",
+ ]
+
public_deps = []
sources = []
data = []
defines = []
+ data_deps = []
main = ""
suppressed_configs = angle_remove_configs
@@ -205,14 +218,6 @@ set_defaults("angle_test") {
if (!standalone_harness) {
suppressed_configs -= [ "//build/config/compiler:default_include_dirs" ]
}
-
- if (is_android) {
- if (build_with_chromium) {
- use_native_activity = true
- } else {
- use_raw_android_executable = true
- }
- }
}
template("angle_executable") {
@@ -295,63 +300,92 @@ template("angle_static_library") {
}
template("angle_test") {
- test(target_name) {
+ _lib = target_name + "_lib"
+ angle_source_set(_lib) {
+ testonly = true
forward_variables_from(invoker,
"*",
[
- "configs",
- "suppressed_configs",
- "visibility",
+ "deps",
+ "manifest",
])
- # Needed because visibility is global.
- forward_variables_from(invoker, [ "visibility" ])
-
- configs += invoker.configs
- configs -= invoker.suppressed_configs + [
- "$angle_root:constructor_and_destructor_warnings",
- "$angle_root:extra_warnings",
- ]
-
- if (is_linux && !is_component_build) {
- # Set rpath to find shared libs in a non-component build.
- configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
- }
-
if (is_android) {
- configs += [ "$angle_root:build_id_config" ]
+ public_configs += [ "$angle_root:build_id_config" ]
}
- deps += [
- "$angle_root:angle_common",
- "$angle_root:includes",
- "$angle_root/third_party/rapidjson:rapidjson",
- "$angle_root/util:angle_test_utils",
- "//testing/gmock",
- "//testing/gtest",
- "//third_party/googletest:gmock",
- "//third_party/googletest:gtest",
- ]
+ public_deps += invoker.deps + [
+ "$angle_root:angle_common",
+ "$angle_root:includes",
+ "$angle_root/third_party/rapidjson:rapidjson",
+ "$angle_root/util:angle_test_utils",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//third_party/googletest:gmock",
+ "//third_party/googletest:gtest",
+ ]
sources += [
"$angle_root/src/tests/test_utils/runner/TestSuite.cpp",
"$angle_root/src/tests/test_utils/runner/TestSuite.h",
]
+ }
- # To use the Chromium test infrastructure we must currently use the //base test launcher.
- # Eventually we could switch to using standalone testing. See http://crbug.com/837741
- if (standalone_harness) {
+ # To use the Chromium test infrastructure we must currently use the //base test launcher.
+ # Eventually we could switch to using standalone testing. See http://crbug.com/837741
+ # TODO(jmadill): Clean up duplication as part of http://anglebug.com/3152
+
+ _standalone_harness_test_name = target_name
+
+ if (build_with_chromium) {
+ _standalone_harness_test_name = "standalone_" + target_name
+ test(target_name) {
+ public_deps = [ ":${_lib}" ]
if (invoker.main != "") {
- sources += [ "${invoker.main}.cpp" ]
+ sources = [ "//gpu/${invoker.main}.cc" ]
}
- } else {
- if (invoker.main != "") {
- sources += [ "//gpu/${invoker.main}.cc" ]
+ deps = [ "//base/test:test_support" ]
+ if (is_android) {
+ configs -= [ "//build/config/android:hide_all_but_jni" ]
+ }
+
+ if (is_linux && !is_component_build) {
+ # Set rpath to find shared libs in a non-component build.
+ configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
+ }
+
+ if (defined(invoker.manifest)) {
+ manifest = invoker.manifest
}
- deps += [ "//base/test:test_support" ]
if (is_android) {
+ use_native_activity = true
+ }
+ }
+ }
+
+ test(_standalone_harness_test_name) {
+ public_deps = [ ":${_lib}" ]
+ if (invoker.main != "") {
+ sources = [ "${invoker.main}.cpp" ]
+ }
+ data = invoker.data + [ "//testing/xvfb.py" ]
+
+ if (is_linux && !is_component_build) {
+ # Set rpath to find shared libs in a non-component build.
+ configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
+ }
+
+ if (defined(invoker.manifest)) {
+ manifest = invoker.manifest
+ }
+
+ if (is_android) {
+ if (build_with_chromium) {
+ use_native_activity = true
configs -= [ "//build/config/android:hide_all_but_jni" ]
+ } else {
+ use_raw_android_executable = true
}
}
}
diff --git a/chromium/third_party/angle/include/EGL/eglext_angle.h b/chromium/third_party/angle/include/EGL/eglext_angle.h
index 03c39860dc6..4702d95a4c3 100644
--- a/chromium/third_party/angle/include/EGL/eglext_angle.h
+++ b/chromium/third_party/angle/include/EGL/eglext_angle.h
@@ -56,6 +56,7 @@
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE 0x3209
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE 0x320A
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE 0x345E
+#define EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE 0x348F
#endif /* EGL_ANGLE_platform_angle */
#ifndef EGL_ANGLE_platform_angle_d3d
@@ -253,6 +254,14 @@ EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE(EGLDisplay dpy,
#define EGL_POWER_PREFERENCE_ANGLE 0x3482
#define EGL_LOW_POWER_ANGLE 0x0001
#define EGL_HIGH_POWER_ANGLE 0x0002
+typedef void(EGLAPIENTRYP PFNEGLRELEASEHIGHPOWERGPUANGLEPROC) (EGLDisplay dpy, EGLContext ctx);
+typedef void(EGLAPIENTRYP PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC) (EGLDisplay dpy, EGLContext ctx);
+typedef void(EGLAPIENTRYP PFNEGLHANDLEGPUSWITCHANGLEPROC) (EGLDisplay dpy);
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI void EGLAPIENTRY eglReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
+EGLAPI void EGLAPIENTRY eglReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
+EGLAPI void EGLAPIENTRY eglHandleGPUSwitchANGLE(EGLDisplay dpy);
+#endif
#endif /* EGL_ANGLE_power_preference */
#ifndef EGL_ANGLE_feature_control
diff --git a/chromium/third_party/angle/include/GLES2/gl2ext_angle.h b/chromium/third_party/angle/include/GLES2/gl2ext_angle.h
index bc56c149faf..ed9612f85bc 100644
--- a/chromium/third_party/angle/include/GLES2/gl2ext_angle.h
+++ b/chromium/third_party/angle/include/GLES2/gl2ext_angle.h
@@ -510,6 +510,11 @@ GL_APICALL void GL_APIENTRY glImportSemaphoreZirconHandleANGLE(GLuint memory,
#endif
#endif /* GL_ANGLE_semaphore_fuchsia */
+#ifndef GL_CHROMIUM_texture_filtering_hint
+#define GL_CHROMIUM_texture_filtering_hint
+#define GL_TEXTURE_FILTERING_HINT_CHROMIUM 0x8AF0
+#endif /* GL_CHROMIUM_texture_filtering_hint */
+
// clang-format on
#endif // INCLUDE_GLES2_GL2EXT_ANGLE_H_
diff --git a/chromium/third_party/angle/include/GLSLANG/ShaderLang.h b/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
index 92bb2e20cbf..ca16898b2bc 100644
--- a/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
+++ b/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
@@ -26,7 +26,7 @@
// Version number for shader translation API.
// It is incremented every time the API changes.
-#define ANGLE_SH_VERSION 229
+#define ANGLE_SH_VERSION 230
enum ShShaderSpec
{
@@ -399,6 +399,8 @@ struct ShBuiltInResources
int ANGLE_base_vertex_base_instance;
int WEBGL_video_texture;
int APPLE_clip_distance;
+ int OES_texture_cube_map_array;
+ int EXT_texture_cube_map_array;
// Set to 1 to enable replacing GL_EXT_draw_buffers #extension directives
// with GL_NV_draw_buffers in ESSL output. This flag can be used to emulate
diff --git a/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
index 477d2d299da..9911546b90d 100644
--- a/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
+++ b/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
@@ -120,6 +120,10 @@ struct ShaderVariable
const ShaderVariable **leafVar,
std::string *originalFullName) const;
+ // Find the child field which matches 'fullName' == var.name + "." + field.name.
+ // Return nullptr if not found.
+ const sh::ShaderVariable *findField(const std::string &fullName, uint32_t *fieldIndexOut) const;
+
bool isBuiltIn() const;
bool isEmulatedBuiltIn() const;
diff --git a/chromium/third_party/angle/include/platform/FeaturesGL.h b/chromium/third_party/angle/include/platform/FeaturesGL.h
index 4c7595bb428..403b733957f 100644
--- a/chromium/third_party/angle/include/platform/FeaturesGL.h
+++ b/chromium/third_party/angle/include/platform/FeaturesGL.h
@@ -436,6 +436,34 @@ struct FeaturesGL : FeatureSetBase
Feature disableSemaphoreFd = {"disable_semaphore_fd", FeatureCategory::OpenGLWorkarounds,
"Disable GL_EXT_semaphore_fd extension", &members,
"https://crbug.com/1046462"};
+
+ // GL_EXT_disjoint_timer_query doesn't work properly with Linux VMWare drivers.
+ Feature disableTimestampQueries = {
+ "disable_timestamp_queries", FeatureCategory::OpenGLWorkarounds,
+ "Disable GL_EXT_disjoint_timer_query extension", &members, "https://crbug.com/811661"};
+
+ // Some drivers use linear blending when generating mipmaps for sRGB textures. Work around this
+ // by generating mipmaps in a linear texture and copying back to sRGB.
+ Feature encodeAndDecodeSRGBForGenerateMipmap = {
+ "decode_encode_srgb_for_generatemipmap", FeatureCategory::OpenGLWorkarounds,
+ "Decode and encode before generateMipmap for srgb format textures.", &members,
+ "http://anglebug.com/4646"};
+
+ Feature emulateCopyTexImage2DFromRenderbuffers = {
+ "emulate_copyteximage2d_from_renderbuffers", FeatureCategory::OpenGLWorkarounds,
+ "CopyTexImage2D spuriously returns errors on iOS when copying from renderbuffers.",
+ &members, "https://anglebug.com/4674"};
+
+ Feature disableGPUSwitchingSupport = {
+ "disable_gpu_switching_support", FeatureCategory::OpenGLWorkarounds,
+ "Disable GPU switching support (use only the low-power GPU) on older MacBook Pros.",
+ &members, "https://crbug.com/1091824"};
+
+ // KHR_parallel_shader_compile fails TSAN on Linux, so we avoid using it with this workaround.
+ Feature disableNativeParallelCompile = {
+ "disable_native_parallel_compile", FeatureCategory::OpenGLWorkarounds,
+ "Do not use native KHR_parallel_shader_compile even when available.", &members,
+ "http://crbug.com/1094869"};
};
inline FeaturesGL::FeaturesGL() = default;
diff --git a/chromium/third_party/angle/include/platform/FeaturesVk.h b/chromium/third_party/angle/include/platform/FeaturesVk.h
index 10457ba2cfc..fedca40886b 100644
--- a/chromium/third_party/angle/include/platform/FeaturesVk.h
+++ b/chromium/third_party/angle/include/platform/FeaturesVk.h
@@ -108,6 +108,12 @@ struct FeaturesVk : FeatureSetBase
"VkDevice supports the VK_ANDROID_external_memory_android_hardware_buffer extension",
&members};
+ // Whether the VkDevice supports the VK_GGP_frame_token extension, on which
+ // the EGL_ANGLE_swap_with_frame_token extension can be layered.
+ Feature supportsGGPFrameToken = {"supports_ggp_frame_token", FeatureCategory::VulkanFeatures,
+ "VkDevice supports the VK_GGP_frame_token extension",
+ &members};
+
// Whether the VkDevice supports the VK_KHR_external_memory_fd extension, on which the
// GL_EXT_memory_object_fd extension can be layered.
Feature supportsExternalMemoryFd = {
@@ -120,6 +126,10 @@ struct FeaturesVk : FeatureSetBase
"supports_external_memory_fuchsia", FeatureCategory::VulkanFeatures,
"VkDevice supports the VK_FUCHSIA_external_memory extension", &members};
+ angle::Feature supportsFilteringPrecision = {
+ "supports_filtering_precision_google", FeatureCategory::VulkanFeatures,
+ "VkDevice supports the VK_GOOGLE_sampler_filtering_precision extension", &members};
+
// Whether the VkDevice supports the VK_KHR_external_fence_capabilities extension.
Feature supportsExternalFenceCapabilities = {
"supports_external_fence_capabilities", FeatureCategory::VulkanFeatures,
@@ -304,6 +314,22 @@ struct FeaturesVk : FeatureSetBase
Feature supportDepthStencilRenderingFeedbackLoops = {
"support_depth_stencil_rendering_feedback_loops", FeatureCategory::VulkanFeatures,
"Suport depth/stencil rendering feedback loops", &members, "http://anglebug.com/4490"};
+
+ // Desktop (at least NVIDIA) drivers prefer combining barriers into one vkCmdPipelineBarrier
+ // call over issuing multiple barrier calls with fine grained dependency information to have
+ // better performance. http://anglebug.com/4633
+ Feature preferAggregateBarrierCalls = {
+ "prefer_aggregate_barrier_calls", FeatureCategory::VulkanWorkarounds,
+ "Single barrier call is preferred over multiple calls with "
+ "fine grained pipeline stage dependency information",
+ &members, "http://anglebug.com/4633"};
+
+ // Enable parallel thread that processes and submits vulkan command buffers.
+ // Currently off by default to enable testing.
+ Feature enableCommandProcessingThread = {
+ "enable_command_processing_thread", FeatureCategory::VulkanFeatures,
+ "Enable parallel processing and submission of Vulkan commands in worker thread", &members,
+ "http://anglebug.com/4324"};
};
inline FeaturesVk::FeaturesVk() = default;
diff --git a/chromium/third_party/angle/include/platform/Platform.h b/chromium/third_party/angle/include/platform/Platform.h
index 1316740085c..2c9537ed46b 100644
--- a/chromium/third_party/angle/include/platform/Platform.h
+++ b/chromium/third_party/angle/include/platform/Platform.h
@@ -1,333 +1,10 @@
//
-// Copyright 2015 The ANGLE Project Authors. All rights reserved.
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-
-// Platform.h: The public interface ANGLE exposes to the API layer, for
-// doing platform-specific tasks like gathering data, or for tracing.
-
-#ifndef ANGLE_PLATFORM_H
-#define ANGLE_PLATFORM_H
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <array>
-
-#define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
-
-#if !defined(ANGLE_PLATFORM_EXPORT)
-# if defined(_WIN32)
-# if !defined(LIBANGLE_IMPLEMENTATION)
-# define ANGLE_PLATFORM_EXPORT __declspec(dllimport)
-# else
-# define ANGLE_PLATFORM_EXPORT __declspec(dllexport)
-# endif
-# elif defined(__GNUC__) || defined(__clang__)
-# define ANGLE_PLATFORM_EXPORT __attribute__((visibility("default")))
-# endif
-#endif
-#if !defined(ANGLE_PLATFORM_EXPORT)
-# define ANGLE_PLATFORM_EXPORT
-#endif
-
-#if defined(_WIN32)
-# define ANGLE_APIENTRY __stdcall
-#else
-# define ANGLE_APIENTRY
-#endif
-
-namespace angle
-{
-struct FeaturesD3D;
-struct FeaturesVk;
-struct FeaturesMtl;
-using TraceEventHandle = uint64_t;
-using EGLDisplayType = void *;
-struct PlatformMethods;
-
-// Use a C-like API to not trigger undefined calling behaviour.
-// Avoid using decltype here to work around sanitizer limitations.
-// TODO(jmadill): Use decltype here if/when UBSAN is fixed.
-
-// System --------------------------------------------------------------
-
-// Wall clock time in seconds since the epoch.
-// TODO(jmadill): investigate using an ANGLE internal time library
-using CurrentTimeFunc = double (*)(PlatformMethods *platform);
-inline double DefaultCurrentTime(PlatformMethods *platform)
-{
- return 0.0;
-}
-
-// Monotonically increasing time in seconds from an arbitrary fixed point in the past.
-// This function is expected to return at least millisecond-precision values. For this reason,
-// it is recommended that the fixed point be no further in the past than the epoch.
-using MonotonicallyIncreasingTimeFunc = double (*)(PlatformMethods *platform);
-inline double DefaultMonotonicallyIncreasingTime(PlatformMethods *platform)
-{
- return 0.0;
-}
-
-// Logging ------------------------------------------------------------
-
-// Log an error message within the platform implementation.
-using LogErrorFunc = void (*)(PlatformMethods *platform, const char *errorMessage);
-inline void DefaultLogError(PlatformMethods *platform, const char *errorMessage) {}
-
-// Log a warning message within the platform implementation.
-using LogWarningFunc = void (*)(PlatformMethods *platform, const char *warningMessage);
-inline void DefaultLogWarning(PlatformMethods *platform, const char *warningMessage) {}
-
-// Log an info message within the platform implementation.
-using LogInfoFunc = void (*)(PlatformMethods *platform, const char *infoMessage);
-inline void DefaultLogInfo(PlatformMethods *platform, const char *infoMessage) {}
-
-// Tracing --------
-
-// Get a pointer to the enabled state of the given trace category. The
-// embedder can dynamically change the enabled state as trace event
-// recording is started and stopped by the application. Only long-lived
-// literal strings should be given as the category name. The implementation
-// expects the returned pointer to be held permanently in a local static. If
-// the unsigned char is non-zero, tracing is enabled. If tracing is enabled,
-// addTraceEvent is expected to be called by the trace event macros.
-using GetTraceCategoryEnabledFlagFunc = const unsigned char *(*)(PlatformMethods *platform,
- const char *categoryName);
-inline const unsigned char *DefaultGetTraceCategoryEnabledFlag(PlatformMethods *platform,
- const char *categoryName)
-{
- return nullptr;
-}
-
//
-// Add a trace event to the platform tracing system. Depending on the actual
-// enabled state, this event may be recorded or dropped.
-// - phase specifies the type of event:
-// - BEGIN ('B'): Marks the beginning of a scoped event.
-// - END ('E'): Marks the end of a scoped event.
-// - COMPLETE ('X'): Marks the beginning of a scoped event, but doesn't
-// need a matching END event. Instead, at the end of the scope,
-// updateTraceEventDuration() must be called with the TraceEventHandle
-// returned from addTraceEvent().
-// - INSTANT ('I'): Standalone, instantaneous event.
-// - START ('S'): Marks the beginning of an asynchronous event (the end
-// event can occur in a different scope or thread). The id parameter is
-// used to match START/FINISH pairs.
-// - FINISH ('F'): Marks the end of an asynchronous event.
-// - COUNTER ('C'): Used to trace integer quantities that change over
-// time. The argument values are expected to be of type int.
-// - METADATA ('M'): Reserved for internal use.
-// - categoryEnabled is the pointer returned by getTraceCategoryEnabledFlag.
-// - name is the name of the event. Also used to match BEGIN/END and
-// START/FINISH pairs.
-// - id optionally allows events of the same name to be distinguished from
-// each other. For example, to trace the construction and destruction of
-// objects, specify the pointer as the id parameter.
-// - timestamp should be a time value returned from monotonicallyIncreasingTime.
-// - numArgs specifies the number of elements in argNames, argTypes, and
-// argValues.
-// - argNames is the array of argument names. Use long-lived literal strings
-// or specify the COPY flag.
-// - argTypes is the array of argument types:
-// - BOOL (1): bool
-// - UINT (2): unsigned long long
-// - INT (3): long long
-// - DOUBLE (4): double
-// - POINTER (5): void*
-// - STRING (6): char* (long-lived null-terminated char* string)
-// - COPY_STRING (7): char* (temporary null-terminated char* string)
-// - CONVERTABLE (8): WebConvertableToTraceFormat
-// - argValues is the array of argument values. Each value is the unsigned
-// long long member of a union of all supported types.
-// - flags can be 0 or one or more of the following, ORed together:
-// - COPY (0x1): treat all strings (name, argNames and argValues of type
-// string) as temporary so that they will be copied by addTraceEvent.
-// - HAS_ID (0x2): use the id argument to uniquely identify the event for
-// matching with other events of the same name.
-// - MANGLE_ID (0x4): specify this flag if the id parameter is the value
-// of a pointer.
-using AddTraceEventFunc = angle::TraceEventHandle (*)(PlatformMethods *platform,
- char phase,
- const unsigned char *categoryEnabledFlag,
- const char *name,
- unsigned long long id,
- double timestamp,
- int numArgs,
- const char **argNames,
- const unsigned char *argTypes,
- const unsigned long long *argValues,
- unsigned char flags);
-inline angle::TraceEventHandle DefaultAddTraceEvent(PlatformMethods *platform,
- char phase,
- const unsigned char *categoryEnabledFlag,
- const char *name,
- unsigned long long id,
- double timestamp,
- int numArgs,
- const char **argNames,
- const unsigned char *argTypes,
- const unsigned long long *argValues,
- unsigned char flags)
-{
- return 0;
-}
-
-// Set the duration field of a COMPLETE trace event.
-using UpdateTraceEventDurationFunc = void (*)(PlatformMethods *platform,
- const unsigned char *categoryEnabledFlag,
- const char *name,
- angle::TraceEventHandle eventHandle);
-inline void DefaultUpdateTraceEventDuration(PlatformMethods *platform,
- const unsigned char *categoryEnabledFlag,
- const char *name,
- angle::TraceEventHandle eventHandle)
-{}
-
-// Callbacks for reporting histogram data.
-// CustomCounts histogram has exponential bucket sizes, so that min=1, max=1000000, bucketCount=50
-// would do.
-using HistogramCustomCountsFunc = void (*)(PlatformMethods *platform,
- const char *name,
- int sample,
- int min,
- int max,
- int bucketCount);
-inline void DefaultHistogramCustomCounts(PlatformMethods *platform,
- const char *name,
- int sample,
- int min,
- int max,
- int bucketCount)
-{}
-// Enumeration histogram buckets are linear, boundaryValue should be larger than any possible sample
-// value.
-using HistogramEnumerationFunc = void (*)(PlatformMethods *platform,
- const char *name,
- int sample,
- int boundaryValue);
-inline void DefaultHistogramEnumeration(PlatformMethods *platform,
- const char *name,
- int sample,
- int boundaryValue)
-{}
-// Unlike enumeration histograms, sparse histograms only allocate memory for non-empty buckets.
-using HistogramSparseFunc = void (*)(PlatformMethods *platform, const char *name, int sample);
-inline void DefaultHistogramSparse(PlatformMethods *platform, const char *name, int sample) {}
-// Boolean histograms track two-state variables.
-using HistogramBooleanFunc = void (*)(PlatformMethods *platform, const char *name, bool sample);
-inline void DefaultHistogramBoolean(PlatformMethods *platform, const char *name, bool sample) {}
-
-// Allows us to programatically override ANGLE's default workarounds for testing purposes.
-using OverrideWorkaroundsD3DFunc = void (*)(PlatformMethods *platform,
- angle::FeaturesD3D *featuresD3D);
-inline void DefaultOverrideWorkaroundsD3D(PlatformMethods *platform,
- angle::FeaturesD3D *featuresD3D)
-{}
-
-using OverrideFeaturesVkFunc = void (*)(PlatformMethods *platform,
- angle::FeaturesVk *featuresVulkan);
-inline void DefaultOverrideFeaturesVk(PlatformMethods *platform, angle::FeaturesVk *featuresVulkan)
-{}
-
-using OverrideFeaturesMtlFunc = void (*)(PlatformMethods *platform,
- angle::FeaturesMtl *featuresMetal);
-inline void DefaultOverrideFeaturesMtl(PlatformMethods *platform, angle::FeaturesMtl *featuresMetal)
-{}
-
-// Callback on a successful program link with the program binary. Can be used to store
-// shaders to disk. Keys are a 160-bit SHA-1 hash.
-using ProgramKeyType = std::array<uint8_t, 20>;
-using CacheProgramFunc = void (*)(PlatformMethods *platform,
- const ProgramKeyType &key,
- size_t programSize,
- const uint8_t *programBytes);
-inline void DefaultCacheProgram(PlatformMethods *platform,
- const ProgramKeyType &key,
- size_t programSize,
- const uint8_t *programBytes)
-{}
-
-// Platform methods are enumerated here once.
-#define ANGLE_PLATFORM_OP(OP) \
- OP(currentTime, CurrentTime) \
- OP(monotonicallyIncreasingTime, MonotonicallyIncreasingTime) \
- OP(logError, LogError) \
- OP(logWarning, LogWarning) \
- OP(logInfo, LogInfo) \
- OP(getTraceCategoryEnabledFlag, GetTraceCategoryEnabledFlag) \
- OP(addTraceEvent, AddTraceEvent) \
- OP(updateTraceEventDuration, UpdateTraceEventDuration) \
- OP(histogramCustomCounts, HistogramCustomCounts) \
- OP(histogramEnumeration, HistogramEnumeration) \
- OP(histogramSparse, HistogramSparse) \
- OP(histogramBoolean, HistogramBoolean) \
- OP(overrideWorkaroundsD3D, OverrideWorkaroundsD3D) \
- OP(overrideFeaturesVk, OverrideFeaturesVk) \
- OP(cacheProgram, CacheProgram) \
- OP(overrideFeaturesMtl, OverrideFeaturesMtl)
-
-#define ANGLE_PLATFORM_METHOD_DEF(Name, CapsName) CapsName##Func Name = Default##CapsName;
-
-struct ANGLE_PLATFORM_EXPORT PlatformMethods
-{
- inline PlatformMethods();
-
- // User data pointer for any implementation specific members. Put it at the start of the
- // platform structure so it doesn't become overwritten if one version of the platform
- // adds or removes new members.
- void *context = 0;
-
- ANGLE_PLATFORM_OP(ANGLE_PLATFORM_METHOD_DEF)
-};
-
-inline PlatformMethods::PlatformMethods() = default;
-
-#undef ANGLE_PLATFORM_METHOD_DEF
-
-// Subtract one to account for the context pointer.
-constexpr unsigned int g_NumPlatformMethods = (sizeof(PlatformMethods) / sizeof(uintptr_t)) - 1;
-
-#define ANGLE_PLATFORM_METHOD_STRING(Name) #Name
-#define ANGLE_PLATFORM_METHOD_STRING2(Name, CapsName) ANGLE_PLATFORM_METHOD_STRING(Name),
-
-constexpr const char *const g_PlatformMethodNames[g_NumPlatformMethods] = {
- ANGLE_PLATFORM_OP(ANGLE_PLATFORM_METHOD_STRING2)};
-
-#undef ANGLE_PLATFORM_METHOD_STRING2
-#undef ANGLE_PLATFORM_METHOD_STRING
-
-} // namespace angle
-
-extern "C" {
-
-// Gets the platform methods on the passed-in EGL display. If the method name signature does not
-// match the compiled signature for this ANGLE, false is returned. On success true is returned.
-// The application should set any platform methods it cares about on the returned pointer.
-// If display is not valid, behaviour is undefined.
-
-ANGLE_PLATFORM_EXPORT bool ANGLE_APIENTRY ANGLEGetDisplayPlatform(angle::EGLDisplayType display,
- const char *const methodNames[],
- unsigned int methodNameCount,
- void *context,
- void *platformMethodsOut);
-
-// Sets the platform methods back to their defaults.
-// If display is not valid, behaviour is undefined.
-ANGLE_PLATFORM_EXPORT void ANGLE_APIENTRY ANGLEResetDisplayPlatform(angle::EGLDisplayType display);
-
-} // extern "C"
-
-namespace angle
-{
-typedef bool(ANGLE_APIENTRY *GetDisplayPlatformFunc)(angle::EGLDisplayType,
- const char *const *,
- unsigned int,
- void *,
- void *);
-typedef void(ANGLE_APIENTRY *ResetDisplayPlatformFunc)(angle::EGLDisplayType);
-} // namespace angle
-
-// This function is not exported
-angle::PlatformMethods *ANGLEPlatformCurrent();
+// Platform.h: Simple forwarding header to PlatformMethods.h.
+// Ideally we can remove this file at some point since "Platform.h" is overloaded.
+//
-#endif // ANGLE_PLATFORM_H
+#include "PlatformMethods.h"
diff --git a/chromium/third_party/angle/include/platform/PlatformMethods.h b/chromium/third_party/angle/include/platform/PlatformMethods.h
new file mode 100644
index 00000000000..4697a87e458
--- /dev/null
+++ b/chromium/third_party/angle/include/platform/PlatformMethods.h
@@ -0,0 +1,339 @@
+//
+// Copyright 2015 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// PlatformMethods.h: The public interface ANGLE exposes to the API layer, for
+// doing platform-specific tasks like gathering data, or for tracing.
+
+#ifndef ANGLE_PLATFORMMETHODS_H
+#define ANGLE_PLATFORMMETHODS_H
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <array>
+
+#define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
+
+#if !defined(ANGLE_PLATFORM_EXPORT)
+# if defined(_WIN32)
+# if !defined(LIBANGLE_IMPLEMENTATION)
+# define ANGLE_PLATFORM_EXPORT __declspec(dllimport)
+# else
+# define ANGLE_PLATFORM_EXPORT __declspec(dllexport)
+# endif
+# elif defined(__GNUC__) || defined(__clang__)
+# define ANGLE_PLATFORM_EXPORT __attribute__((visibility("default")))
+# endif
+#endif
+#if !defined(ANGLE_PLATFORM_EXPORT)
+# define ANGLE_PLATFORM_EXPORT
+#endif
+
+#if defined(_WIN32)
+# define ANGLE_APIENTRY __stdcall
+#else
+# define ANGLE_APIENTRY
+#endif
+
+namespace angle
+{
+struct FeaturesD3D;
+struct FeaturesVk;
+struct FeaturesMtl;
+using TraceEventHandle = uint64_t;
+using EGLDisplayType = void *;
+struct PlatformMethods;
+
+// Use a C-like API to not trigger undefined calling behaviour.
+// Avoid using decltype here to work around sanitizer limitations.
+// TODO(jmadill): Use decltype here if/when UBSAN is fixed.
+
+// System --------------------------------------------------------------
+
+// Wall clock time in seconds since the epoch.
+// TODO(jmadill): investigate using an ANGLE internal time library
+using CurrentTimeFunc = double (*)(PlatformMethods *platform);
+inline double DefaultCurrentTime(PlatformMethods *platform)
+{
+ return 0.0;
+}
+
+// Monotonically increasing time in seconds from an arbitrary fixed point in the past.
+// This function is expected to return at least millisecond-precision values. For this reason,
+// it is recommended that the fixed point be no further in the past than the epoch.
+using MonotonicallyIncreasingTimeFunc = double (*)(PlatformMethods *platform);
+inline double DefaultMonotonicallyIncreasingTime(PlatformMethods *platform)
+{
+ return 0.0;
+}
+
+// Logging ------------------------------------------------------------
+
+// Log an error message within the platform implementation.
+using LogErrorFunc = void (*)(PlatformMethods *platform, const char *errorMessage);
+inline void DefaultLogError(PlatformMethods *platform, const char *errorMessage) {}
+
+// Log a warning message within the platform implementation.
+using LogWarningFunc = void (*)(PlatformMethods *platform, const char *warningMessage);
+inline void DefaultLogWarning(PlatformMethods *platform, const char *warningMessage) {}
+
+// Log an info message within the platform implementation.
+using LogInfoFunc = void (*)(PlatformMethods *platform, const char *infoMessage);
+inline void DefaultLogInfo(PlatformMethods *platform, const char *infoMessage) {}
+
+// Tracing --------
+
+// Get a pointer to the enabled state of the given trace category. The
+// embedder can dynamically change the enabled state as trace event
+// recording is started and stopped by the application. Only long-lived
+// literal strings should be given as the category name. The implementation
+// expects the returned pointer to be held permanently in a local static. If
+// the unsigned char is non-zero, tracing is enabled. If tracing is enabled,
+// addTraceEvent is expected to be called by the trace event macros.
+using GetTraceCategoryEnabledFlagFunc = const unsigned char *(*)(PlatformMethods *platform,
+ const char *categoryName);
+inline const unsigned char *DefaultGetTraceCategoryEnabledFlag(PlatformMethods *platform,
+ const char *categoryName)
+{
+ return nullptr;
+}
+
+//
+// Add a trace event to the platform tracing system. Depending on the actual
+// enabled state, this event may be recorded or dropped.
+// - phase specifies the type of event:
+// - BEGIN ('B'): Marks the beginning of a scoped event.
+// - END ('E'): Marks the end of a scoped event.
+// - COMPLETE ('X'): Marks the beginning of a scoped event, but doesn't
+// need a matching END event. Instead, at the end of the scope,
+// updateTraceEventDuration() must be called with the TraceEventHandle
+// returned from addTraceEvent().
+// - INSTANT ('I'): Standalone, instantaneous event.
+// - START ('S'): Marks the beginning of an asynchronous event (the end
+// event can occur in a different scope or thread). The id parameter is
+// used to match START/FINISH pairs.
+// - FINISH ('F'): Marks the end of an asynchronous event.
+// - COUNTER ('C'): Used to trace integer quantities that change over
+// time. The argument values are expected to be of type int.
+// - METADATA ('M'): Reserved for internal use.
+// - categoryEnabled is the pointer returned by getTraceCategoryEnabledFlag.
+// - name is the name of the event. Also used to match BEGIN/END and
+// START/FINISH pairs.
+// - id optionally allows events of the same name to be distinguished from
+// each other. For example, to trace the construction and destruction of
+// objects, specify the pointer as the id parameter.
+// - timestamp should be a time value returned from monotonicallyIncreasingTime.
+// - numArgs specifies the number of elements in argNames, argTypes, and
+// argValues.
+// - argNames is the array of argument names. Use long-lived literal strings
+// or specify the COPY flag.
+// - argTypes is the array of argument types:
+// - BOOL (1): bool
+// - UINT (2): unsigned long long
+// - INT (3): long long
+// - DOUBLE (4): double
+// - POINTER (5): void*
+// - STRING (6): char* (long-lived null-terminated char* string)
+// - COPY_STRING (7): char* (temporary null-terminated char* string)
+// - CONVERTABLE (8): WebConvertableToTraceFormat
+// - argValues is the array of argument values. Each value is the unsigned
+// long long member of a union of all supported types.
+// - flags can be 0 or one or more of the following, ORed together:
+// - COPY (0x1): treat all strings (name, argNames and argValues of type
+// string) as temporary so that they will be copied by addTraceEvent.
+// - HAS_ID (0x2): use the id argument to uniquely identify the event for
+// matching with other events of the same name.
+// - MANGLE_ID (0x4): specify this flag if the id parameter is the value
+// of a pointer.
+using AddTraceEventFunc = angle::TraceEventHandle (*)(PlatformMethods *platform,
+ char phase,
+ const unsigned char *categoryEnabledFlag,
+ const char *name,
+ unsigned long long id,
+ double timestamp,
+ int numArgs,
+ const char **argNames,
+ const unsigned char *argTypes,
+ const unsigned long long *argValues,
+ unsigned char flags);
+inline angle::TraceEventHandle DefaultAddTraceEvent(PlatformMethods *platform,
+ char phase,
+ const unsigned char *categoryEnabledFlag,
+ const char *name,
+ unsigned long long id,
+ double timestamp,
+ int numArgs,
+ const char **argNames,
+ const unsigned char *argTypes,
+ const unsigned long long *argValues,
+ unsigned char flags)
+{
+ return 0;
+}
+
+// Set the duration field of a COMPLETE trace event.
+using UpdateTraceEventDurationFunc = void (*)(PlatformMethods *platform,
+ const unsigned char *categoryEnabledFlag,
+ const char *name,
+ angle::TraceEventHandle eventHandle);
+inline void DefaultUpdateTraceEventDuration(PlatformMethods *platform,
+ const unsigned char *categoryEnabledFlag,
+ const char *name,
+ angle::TraceEventHandle eventHandle)
+{}
+
+// Callbacks for reporting histogram data.
+// CustomCounts histogram has exponential bucket sizes, so that min=1, max=1000000, bucketCount=50
+// would do.
+using HistogramCustomCountsFunc = void (*)(PlatformMethods *platform,
+ const char *name,
+ int sample,
+ int min,
+ int max,
+ int bucketCount);
+inline void DefaultHistogramCustomCounts(PlatformMethods *platform,
+ const char *name,
+ int sample,
+ int min,
+ int max,
+ int bucketCount)
+{}
+// Enumeration histogram buckets are linear, boundaryValue should be larger than any possible sample
+// value.
+using HistogramEnumerationFunc = void (*)(PlatformMethods *platform,
+ const char *name,
+ int sample,
+ int boundaryValue);
+inline void DefaultHistogramEnumeration(PlatformMethods *platform,
+ const char *name,
+ int sample,
+ int boundaryValue)
+{}
+// Unlike enumeration histograms, sparse histograms only allocate memory for non-empty buckets.
+using HistogramSparseFunc = void (*)(PlatformMethods *platform, const char *name, int sample);
+inline void DefaultHistogramSparse(PlatformMethods *platform, const char *name, int sample) {}
+// Boolean histograms track two-state variables.
+using HistogramBooleanFunc = void (*)(PlatformMethods *platform, const char *name, bool sample);
+inline void DefaultHistogramBoolean(PlatformMethods *platform, const char *name, bool sample) {}
+
+// Allows us to programatically override ANGLE's default workarounds for testing purposes.
+using OverrideWorkaroundsD3DFunc = void (*)(PlatformMethods *platform,
+ angle::FeaturesD3D *featuresD3D);
+inline void DefaultOverrideWorkaroundsD3D(PlatformMethods *platform,
+ angle::FeaturesD3D *featuresD3D)
+{}
+
+using OverrideFeaturesVkFunc = void (*)(PlatformMethods *platform,
+ angle::FeaturesVk *featuresVulkan);
+inline void DefaultOverrideFeaturesVk(PlatformMethods *platform, angle::FeaturesVk *featuresVulkan)
+{}
+
+using OverrideFeaturesMtlFunc = void (*)(PlatformMethods *platform,
+ angle::FeaturesMtl *featuresMetal);
+inline void DefaultOverrideFeaturesMtl(PlatformMethods *platform, angle::FeaturesMtl *featuresMetal)
+{}
+
+// Callback on a successful program link with the program binary. Can be used to store
+// shaders to disk. Keys are a 160-bit SHA-1 hash.
+using ProgramKeyType = std::array<uint8_t, 20>;
+using CacheProgramFunc = void (*)(PlatformMethods *platform,
+ const ProgramKeyType &key,
+ size_t programSize,
+ const uint8_t *programBytes);
+inline void DefaultCacheProgram(PlatformMethods *platform,
+ const ProgramKeyType &key,
+ size_t programSize,
+ const uint8_t *programBytes)
+{}
+
+using PostWorkerTaskCallback = void (*)(void *userData);
+using PostWorkerTaskFunc = void (*)(PlatformMethods *platform,
+ PostWorkerTaskCallback callback,
+ void *userData);
+constexpr PostWorkerTaskFunc DefaultPostWorkerTask = nullptr;
+
+// Platform methods are enumerated here once.
+#define ANGLE_PLATFORM_OP(OP) \
+ OP(currentTime, CurrentTime) \
+ OP(monotonicallyIncreasingTime, MonotonicallyIncreasingTime) \
+ OP(logError, LogError) \
+ OP(logWarning, LogWarning) \
+ OP(logInfo, LogInfo) \
+ OP(getTraceCategoryEnabledFlag, GetTraceCategoryEnabledFlag) \
+ OP(addTraceEvent, AddTraceEvent) \
+ OP(updateTraceEventDuration, UpdateTraceEventDuration) \
+ OP(histogramCustomCounts, HistogramCustomCounts) \
+ OP(histogramEnumeration, HistogramEnumeration) \
+ OP(histogramSparse, HistogramSparse) \
+ OP(histogramBoolean, HistogramBoolean) \
+ OP(overrideWorkaroundsD3D, OverrideWorkaroundsD3D) \
+ OP(overrideFeaturesVk, OverrideFeaturesVk) \
+ OP(cacheProgram, CacheProgram) \
+ OP(overrideFeaturesMtl, OverrideFeaturesMtl) \
+ OP(postWorkerTask, PostWorkerTask)
+
+#define ANGLE_PLATFORM_METHOD_DEF(Name, CapsName) CapsName##Func Name = Default##CapsName;
+
+struct ANGLE_PLATFORM_EXPORT PlatformMethods
+{
+ inline PlatformMethods();
+
+ // User data pointer for any implementation specific members. Put it at the start of the
+ // platform structure so it doesn't become overwritten if one version of the platform
+ // adds or removes new members.
+ void *context = 0;
+
+ ANGLE_PLATFORM_OP(ANGLE_PLATFORM_METHOD_DEF)
+};
+
+inline PlatformMethods::PlatformMethods() = default;
+
+#undef ANGLE_PLATFORM_METHOD_DEF
+
+// Subtract one to account for the context pointer.
+constexpr unsigned int g_NumPlatformMethods = (sizeof(PlatformMethods) / sizeof(uintptr_t)) - 1;
+
+#define ANGLE_PLATFORM_METHOD_STRING(Name) #Name
+#define ANGLE_PLATFORM_METHOD_STRING2(Name, CapsName) ANGLE_PLATFORM_METHOD_STRING(Name),
+
+constexpr const char *const g_PlatformMethodNames[g_NumPlatformMethods] = {
+ ANGLE_PLATFORM_OP(ANGLE_PLATFORM_METHOD_STRING2)};
+
+#undef ANGLE_PLATFORM_METHOD_STRING2
+#undef ANGLE_PLATFORM_METHOD_STRING
+
+} // namespace angle
+
+extern "C" {
+
+// Gets the platform methods on the passed-in EGL display. If the method name signature does not
+// match the compiled signature for this ANGLE, false is returned. On success true is returned.
+// The application should set any platform methods it cares about on the returned pointer.
+// If display is not valid, behaviour is undefined.
+
+ANGLE_PLATFORM_EXPORT bool ANGLE_APIENTRY ANGLEGetDisplayPlatform(angle::EGLDisplayType display,
+ const char *const methodNames[],
+ unsigned int methodNameCount,
+ void *context,
+ void *platformMethodsOut);
+
+// Sets the platform methods back to their defaults.
+// If display is not valid, behaviour is undefined.
+ANGLE_PLATFORM_EXPORT void ANGLE_APIENTRY ANGLEResetDisplayPlatform(angle::EGLDisplayType display);
+} // extern "C"
+
+namespace angle
+{
+typedef bool(ANGLE_APIENTRY *GetDisplayPlatformFunc)(angle::EGLDisplayType,
+ const char *const *,
+ unsigned int,
+ void *,
+ void *);
+typedef void(ANGLE_APIENTRY *ResetDisplayPlatformFunc)(angle::EGLDisplayType);
+} // namespace angle
+
+// This function is not exported
+angle::PlatformMethods *ANGLEPlatformCurrent();
+
+#endif // ANGLE_PLATFORMMETHODS_H
diff --git a/chromium/third_party/angle/infra/config/global/cr-buildbucket.cfg b/chromium/third_party/angle/infra/config/global/cr-buildbucket.cfg
index 2baca3296f1..8aa86b5b37f 100644
--- a/chromium/third_party/angle/infra/config/global/cr-buildbucket.cfg
+++ b/chromium/third_party/angle/infra/config/global/cr-buildbucket.cfg
@@ -46,20 +46,37 @@ builder_mixins {
}
builder_mixins {
+ name: "goma_enable_ats"
+ recipe {
+ properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
+ }
+}
+
+builder_mixins {
+ name: "goma_no_ats"
+ recipe {
+ properties_j: "$build/goma:{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
+ }
+}
+
+builder_mixins {
name: "linux"
dimensions: "os:Ubuntu-16.04"
mixins: "builderless"
+ mixins: "goma_enable_ats"
}
builder_mixins {
name: "win"
dimensions: "os:Windows"
mixins: "builderless"
+ mixins: "goma_enable_ats"
}
builder_mixins {
name: "mac"
dimensions: "os:Mac"
+ mixins: "goma_no_ats"
recipe {
properties_j: <<EOF
$depot_tools/osx_sdk:{
diff --git a/chromium/third_party/angle/samples/BUILD.gn b/chromium/third_party/angle/samples/BUILD.gn
index b0ce2088b04..aef9928f8cf 100644
--- a/chromium/third_party/angle/samples/BUILD.gn
+++ b/chromium/third_party/angle/samples/BUILD.gn
@@ -201,7 +201,14 @@ if (angle_build_capture_replay_sample) {
"ANGLE_CAPTURE_REPLAY_SAMPLE_CONTEXT_ID=${_contextid}",
"ANGLE_CAPTURE_REPLAY_SAMPLE_HEADER=angle_capture_context${_contextid}.h",
]
+
suppressed_configs = [ "$angle_root:constructor_and_destructor_warnings" ]
+
+ # Disable optimization to avoid optimizing huge files.
+ if (!is_debug) {
+ suppressed_configs += [ "//build/config/compiler:default_optimization" ]
+ configs += [ "//build/config/compiler:no_optimize" ]
+ }
}
}
diff --git a/chromium/third_party/angle/samples/capture_replay/CaptureReplay.cpp b/chromium/third_party/angle/samples/capture_replay/CaptureReplay.cpp
index cd12e4511df..e85fb47a041 100644
--- a/chromium/third_party/angle/samples/capture_replay/CaptureReplay.cpp
+++ b/chromium/third_party/angle/samples/capture_replay/CaptureReplay.cpp
@@ -11,11 +11,6 @@
#include "util/frame_capture_utils.h"
-#define ANGLE_MACRO_STRINGIZE_AUX(a) #a
-#define ANGLE_MACRO_STRINGIZE(a) ANGLE_MACRO_STRINGIZE_AUX(a)
-#define ANGLE_MACRO_CONCAT_AUX(a, b) a##b
-#define ANGLE_MACRO_CONCAT(a, b) ANGLE_MACRO_CONCAT_AUX(a, b)
-
// Build the right context header based on replay ID
// This will expand to "angle_capture_context<#>.h"
#include ANGLE_MACRO_STRINGIZE(ANGLE_CAPTURE_REPLAY_SAMPLE_HEADER)
@@ -61,8 +56,7 @@ class CaptureReplaySample : public SampleApplication
{
// Compute the current frame, looping from kReplayFrameStart to kReplayFrameEnd.
uint32_t frame =
- kReplayFrameStart + (mCurrentFrame % (kReplayFrameEnd - kReplayFrameStart));
-
+ kReplayFrameStart + (mCurrentFrame % ((kReplayFrameEnd - kReplayFrameStart) + 1));
if (mPreviousFrame > frame)
{
ResetContextReplay();
diff --git a/chromium/third_party/angle/samples/post_sub_buffer/PostSubBuffer.cpp b/chromium/third_party/angle/samples/post_sub_buffer/PostSubBuffer.cpp
index 0a568db3d20..cce4559879a 100644
--- a/chromium/third_party/angle/samples/post_sub_buffer/PostSubBuffer.cpp
+++ b/chromium/third_party/angle/samples/post_sub_buffer/PostSubBuffer.cpp
@@ -29,13 +29,6 @@ class PostSubBufferSample : public SampleApplication
bool initialize() override
{
- mPostSubBufferNV = (PFNEGLPOSTSUBBUFFERNVPROC)eglGetProcAddress("eglPostSubBufferNV");
- if (!mPostSubBufferNV)
- {
- std::cerr << "Could not load eglPostSubBufferNV.";
- return false;
- }
-
constexpr char kVS[] = R"(uniform mat4 u_mvpMatrix;
attribute vec4 a_position;
attribute vec2 a_texcoord;
@@ -136,7 +129,7 @@ void main()
EGLint windowHeight = static_cast<EGLint>(getWindow()->getHeight());
EGLDisplay display = getDisplay();
EGLSurface surface = getSurface();
- mPostSubBufferNV(display, surface, 60, 60, windowWidth - 120, windowHeight - 120);
+ eglPostSubBufferNV(display, surface, 60, 60, windowWidth - 120, windowHeight - 120);
}
private:
@@ -155,9 +148,6 @@ void main()
// Geometry data
CubeGeometry mCube;
-
- // eglPostSubBufferNV entry point
- PFNEGLPOSTSUBBUFFERNVPROC mPostSubBufferNV;
};
int main(int argc, char **argv)
diff --git a/chromium/third_party/angle/samples/sample_util/SampleApplication.cpp b/chromium/third_party/angle/samples/sample_util/SampleApplication.cpp
index 2c5e33c5e2e..c4cf062027e 100644
--- a/chromium/third_party/angle/samples/sample_util/SampleApplication.cpp
+++ b/chromium/third_party/angle/samples/sample_util/SampleApplication.cpp
@@ -6,6 +6,7 @@
#include "SampleApplication.h"
+#include "common/debug.h"
#include "util/EGLWindow.h"
#include "util/gles_loader_autogen.h"
#include "util/random_utils.h"
@@ -15,9 +16,14 @@
#include <iostream>
#include <utility>
+#if defined(ANGLE_PLATFORM_WINDOWS)
+# include "util/windows/WGLWindow.h"
+#endif // defined(ANGLE_PLATFORM_WINDOWS)
+
namespace
{
const char *kUseAngleArg = "--use-angle=";
+const char *kUseGlArg = "--use-gl=native";
using DisplayTypeInfo = std::pair<const char *, EGLint>;
@@ -71,29 +77,56 @@ SampleApplication::SampleApplication(std::string name,
mWidth(width),
mHeight(height),
mRunning(false),
+ mGLWindow(nullptr),
mEGLWindow(nullptr),
- mOSWindow(nullptr)
+ mOSWindow(nullptr),
+ mDriverType(angle::GLESDriverType::AngleEGL)
{
mPlatformParams.renderer = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE;
+ bool useNativeGL = false;
- if (argc > 1 && strncmp(argv[1], kUseAngleArg, strlen(kUseAngleArg)) == 0)
+ for (int argIndex = 1; argIndex < argc; argIndex++)
{
- const char *arg = argv[1] + strlen(kUseAngleArg);
- mPlatformParams.renderer = GetDisplayTypeFromArg(arg);
- mPlatformParams.deviceType = GetDeviceTypeFromArg(arg);
+ if (strncmp(argv[argIndex], kUseAngleArg, strlen(kUseAngleArg)) == 0)
+ {
+ const char *arg = argv[argIndex] + strlen(kUseAngleArg);
+ mPlatformParams.renderer = GetDisplayTypeFromArg(arg);
+ mPlatformParams.deviceType = GetDeviceTypeFromArg(arg);
+ }
+
+ if (strncmp(argv[argIndex], kUseGlArg, strlen(kUseGlArg)) == 0)
+ {
+ useNativeGL = true;
+ }
}
- // Load EGL library so we can initialize the display.
- mEntryPointsLib.reset(
- angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME, angle::SearchType::ApplicationDir));
+ mOSWindow = OSWindow::New();
- mEGLWindow = EGLWindow::New(glesMajorVersion, glesMinorVersion);
- mOSWindow = OSWindow::New();
+ // Load EGL library so we can initialize the display.
+ if (useNativeGL)
+ {
+#if defined(ANGLE_PLATFORM_WINDOWS)
+ mGLWindow = WGLWindow::New(glesMajorVersion, glesMinorVersion);
+ mEntryPointsLib.reset(angle::OpenSharedLibrary("opengl32", angle::SearchType::SystemDir));
+ mDriverType = angle::GLESDriverType::SystemWGL;
+#else
+ mGLWindow = EGLWindow::New(glesMajorVersion, glesMinorVersion);
+ mEntryPointsLib.reset(
+ angle::OpenSharedLibraryWithExtension(angle::GetNativeEGLLibraryNameWithExtension()));
+ mDriverType = angle::GLESDriverType::SystemEGL;
+#endif // defined(ANGLE_PLATFORM_WINDOWS)
+ }
+ else
+ {
+ mGLWindow = mEGLWindow = EGLWindow::New(glesMajorVersion, glesMinorVersion);
+ mEntryPointsLib.reset(
+ angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME, angle::SearchType::ApplicationDir));
+ }
}
SampleApplication::~SampleApplication()
{
- EGLWindow::Delete(&mEGLWindow);
+ GLWindowBase::Delete(&mGLWindow);
OSWindow::Delete(&mOSWindow);
}
@@ -110,7 +143,7 @@ void SampleApplication::draw() {}
void SampleApplication::swap()
{
- mEGLWindow->swap();
+ mGLWindow->swap();
}
OSWindow *SampleApplication::getWindow() const
@@ -120,21 +153,25 @@ OSWindow *SampleApplication::getWindow() const
EGLConfig SampleApplication::getConfig() const
{
+ ASSERT(mEGLWindow);
return mEGLWindow->getConfig();
}
EGLDisplay SampleApplication::getDisplay() const
{
+ ASSERT(mEGLWindow);
return mEGLWindow->getDisplay();
}
EGLSurface SampleApplication::getSurface() const
{
+ ASSERT(mEGLWindow);
return mEGLWindow->getSurface();
}
EGLContext SampleApplication::getContext() const
{
+ ASSERT(mEGLWindow);
return mEGLWindow->getContext();
}
@@ -155,20 +192,18 @@ int SampleApplication::run()
configParams.depthBits = 24;
configParams.stencilBits = 8;
- if (!mEGLWindow->initializeGL(mOSWindow, mEntryPointsLib.get(), angle::GLESDriverType::AngleEGL,
- mPlatformParams, configParams))
+ if (!mGLWindow->initializeGL(mOSWindow, mEntryPointsLib.get(), mDriverType, mPlatformParams,
+ configParams))
{
return -1;
}
// Disable vsync
- if (!mEGLWindow->setSwapInterval(0))
+ if (!mGLWindow->setSwapInterval(0))
{
return -1;
}
- angle::LoadGLES(eglGetProcAddress);
-
mRunning = true;
int result = 0;
@@ -223,7 +258,7 @@ int SampleApplication::run()
}
destroy();
- mEGLWindow->destroyGL();
+ mGLWindow->destroyGL();
mOSWindow->destroy();
return result;
diff --git a/chromium/third_party/angle/samples/sample_util/SampleApplication.h b/chromium/third_party/angle/samples/sample_util/SampleApplication.h
index 9206f154f1f..be1e9d61722 100644
--- a/chromium/third_party/angle/samples/sample_util/SampleApplication.h
+++ b/chromium/third_party/angle/samples/sample_util/SampleApplication.h
@@ -19,6 +19,7 @@
#include "util/egl_loader_autogen.h"
class EGLWindow;
+class GLWindowBase;
namespace angle
{
@@ -66,8 +67,10 @@ class SampleApplication
bool mRunning;
Timer mTimer;
+ GLWindowBase *mGLWindow;
EGLWindow *mEGLWindow;
OSWindow *mOSWindow;
+ angle::GLESDriverType mDriverType;
EGLPlatformParameters mPlatformParams;
diff --git a/chromium/third_party/angle/samples/sample_util/tga_utils.h b/chromium/third_party/angle/samples/sample_util/tga_utils.h
index 2678074ddc7..f7f5e50bcf5 100644
--- a/chromium/third_party/angle/samples/sample_util/tga_utils.h
+++ b/chromium/third_party/angle/samples/sample_util/tga_utils.h
@@ -8,6 +8,7 @@
#define SAMPLE_UTIL_TGA_UTILS_HPP
#include <array>
+#include <string>
#include <vector>
#include "util/gles_loader_autogen.h"
diff --git a/chromium/third_party/angle/samples/simple_texture_2d/SimpleTexture2D.cpp b/chromium/third_party/angle/samples/simple_texture_2d/SimpleTexture2D.cpp
index 0f880d3af96..d1bd1a6e880 100644
--- a/chromium/third_party/angle/samples/simple_texture_2d/SimpleTexture2D.cpp
+++ b/chromium/third_party/angle/samples/simple_texture_2d/SimpleTexture2D.cpp
@@ -61,6 +61,8 @@ void main()
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ mTimer.start();
+
return true;
}
@@ -110,6 +112,14 @@ void main()
glUniform1i(mSamplerLoc, 0);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+
+ mDrawCount++;
+
+ if (mDrawCount % 100 == 0)
+ {
+ printf("Rate: %0.2lf iterations / second\n",
+ static_cast<double>(mDrawCount) / mTimer.getElapsedTime());
+ }
}
private:
@@ -125,6 +135,9 @@ void main()
// Texture handle
GLuint mTexture;
+
+ Timer mTimer;
+ uint32_t mDrawCount = 0;
};
int main(int argc, char **argv)
diff --git a/chromium/third_party/angle/scripts/bootstrap.py b/chromium/third_party/angle/scripts/bootstrap.py
index e039007714a..c505ffaff7b 100755
--- a/chromium/third_party/angle/scripts/bootstrap.py
+++ b/chromium/third_party/angle/scripts/bootstrap.py
@@ -28,8 +28,12 @@ def main():
with open('.gclient') as gclient_file:
content = gclient_file.read()
+ content = content.replace('change2dot', '.')
+ if sys.platform.startswith('linux') or sys.platform == 'darwin':
+ content += 'target_os = [ \'android\' ]\n'
+
with open('.gclient', 'w') as gclient_file:
- gclient_file.write(content.replace('change2dot', '.'))
+ gclient_file.write(content)
print 'created .gclient'
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_format.json b/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_format.json
index 17855321d00..21832d395fa 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_format.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_format.json
@@ -2,11 +2,11 @@
"src/libANGLE/renderer/FormatID_autogen.h":
"bbdb3beae2da4629e3583d6d014ebb2d",
"src/libANGLE/renderer/Format_table_autogen.cpp":
- "ef632d9cf04b4ba6103f80b61ac26bc9",
+ "29000a1abc79c129662637f76e7d2a03",
"src/libANGLE/renderer/angle_format.py":
"32ba71942c0fd00e6807104f1bb80a3c",
"src/libANGLE/renderer/angle_format_data.json":
- "b8bfe470c31b12b27f3a2bdb0288e4be",
+ "e5cc162abe241ea9ba270309c8ec1330",
"src/libANGLE/renderer/angle_format_map.json":
"c79d833aea7007c7d0d51cdaa9b265a6",
"src/libANGLE/renderer/gen_angle_format_table.py":
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_shader_translator.json b/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_shader_translator.json
index ce72f6eb4cb..3162776ed89 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_shader_translator.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/ANGLE_shader_translator.json
@@ -4,15 +4,15 @@
"src/compiler/translator/generate_parser.py":
"566178ecdfae3a29803b3687fc518ebb",
"src/compiler/translator/glslang.l":
- "76676b64d51f4312e8060f4a00bc8f1b",
+ "5af9feeb7ba8549265f8d19ec7f43343",
"src/compiler/translator/glslang.y":
- "609c38a1997b77a9affec84541daf9c9",
+ "1619aa1587a5fae94df9d143af732b77",
"src/compiler/translator/glslang_lex_autogen.cpp":
- "edc229f6d1b48f8588301219df80760e",
+ "4b94107e3314432cfdc8f9e90909e5a0",
"src/compiler/translator/glslang_tab_autogen.cpp":
- "8872811534b4e8aeef0df354bbd05044",
+ "fc0ab4cb3179dc0d936ed9d56bb2dbd0",
"src/compiler/translator/glslang_tab_autogen.h":
- "1bb42872dd5fd0a6f647201b142b67b6",
+ "7be1b46407ec9671626ef3594bcec57e",
"tools/flex-bison/linux/bison.sha1":
"efa86001f00e7bcfdbe899dd15fc88e0",
"tools/flex-bison/linux/flex.sha1":
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json b/chromium/third_party/angle/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json
index 591b0561ec4..8013a361a45 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json
@@ -22,7 +22,7 @@
"third_party/VK-GL-CTS/src/external/openglcts/modules/CMakeLists.txt":
"9852754780cd9522f93644d2d99b271d",
"third_party/VK-GL-CTS/src/external/openglcts/modules/common/CMakeLists.txt":
- "6fac0f4254e7792284fb086547210811",
+ "e5f5eb5359e32f1f12cd1d6457edcd89",
"third_party/VK-GL-CTS/src/external/openglcts/modules/common/subgroups/CMakeLists.txt":
"bf71ce2d9756ccee7833a789737e6481",
"third_party/VK-GL-CTS/src/external/openglcts/modules/gl/CMakeLists.txt":
@@ -44,7 +44,7 @@
"third_party/VK-GL-CTS/src/external/vulkancts/framework/vulkan/CMakeLists.txt":
"7f90f08bea39abbd86db1503b716a536",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/CMakeLists.txt":
- "58a0f556db356700cfbf93396fc9be74",
+ "c5c879c900d1e3bc8c0b8227c123bcfd",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/amber/CMakeLists.txt":
"6728615fdef5984e305934f10efc6892",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/api/CMakeLists.txt":
@@ -62,7 +62,7 @@
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/device_group/CMakeLists.txt":
"6f9fe60553924ea0fe38b8e660fbdc5c",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/draw/CMakeLists.txt":
- "bafb72d398e80d60a9b5257e1922619f",
+ "92ea2fa6142ef3c6e701a798a994a0b5",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/dynamic_state/CMakeLists.txt":
"ba2bba86426f1dc9eb16bccc2df60111",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/fragment_ops/CMakeLists.txt":
@@ -79,10 +79,12 @@
"6eebdaaecb4bf9a7fe4ed42994ac873c",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/memory_model/CMakeLists.txt":
"e799b8ebf89ddd33b5f85d9ce07d45ae",
+ "third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/modifiers/CMakeLists.txt":
+ "08416538f6226b6d597c1ab32f9ce9db",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/multiview/CMakeLists.txt":
"16a341e4f08e85adad6dbf0309883f5b",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/pipeline/CMakeLists.txt":
- "06f7c84ea6b80e9bcb8d7df50946d827",
+ "d6c5f7539eefcbf9615e5bb50d81a368",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/protected_memory/CMakeLists.txt":
"62389a457fa79ff09317b745e0c2f4aa",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/query_pool/CMakeLists.txt":
@@ -110,7 +112,7 @@
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/tessellation/CMakeLists.txt":
"bd315c04bf5adb9f63e8c991fbde1e34",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/texture/CMakeLists.txt":
- "e1a6c593990fbf68ada75efba89410fb",
+ "41bfe3629296269cd08631845599cf19",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/transform_feedback/CMakeLists.txt":
"e2e32f34bcd3cbbfce6c49a997f34934",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/ubo/CMakeLists.txt":
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_WGL_loader.json b/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
index f11ea672df7..fb9dddabc9a 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
@@ -2,7 +2,7 @@
"scripts/egl.xml":
"842e24514c4cfe09fba703c17a0fd292",
"scripts/egl_angle_ext.xml":
- "854e99785af19f8f4eea4f73005a0451",
+ "087d6a3996a91fbb0b664cac57c50c4c",
"scripts/generate_loader.py":
"c6c02d859fabc61410470f50198a5a80",
"scripts/gl.xml":
@@ -10,17 +10,17 @@
"scripts/gl_angle_ext.xml":
"079cc4829de7ce638faf7bbf66e141ad",
"scripts/registry_xml.py":
- "b2902e02f495a9cc85082c47e7b73ac9",
+ "f45ffbc8a3c8a7144c2e98e19d1127a0",
"scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4",
"src/libEGL/egl_loader_autogen.cpp":
- "acf3ea19b84b12bfd1197fed020440b3",
+ "394c31d7e61b285be5bc6a2cb8325a8d",
"src/libEGL/egl_loader_autogen.h":
- "5f1507c78b970f6898d1e90da20e425d",
+ "343b43d7318884204c0699cfaa8ef2dc",
"util/egl_loader_autogen.cpp":
- "c2a5f6cb5e3531de16860ffc4f9df6d5",
+ "6eb720862e78992d0ed3abfe50bfa0ff",
"util/egl_loader_autogen.h":
- "3b5804374e184203cd3f89cee12a0e57",
+ "591c6d6b1ae0a90758204993ca2638a0",
"util/gles_loader_autogen.cpp":
"e4d3034c13ac10c76b854c2749379939",
"util/gles_loader_autogen.h":
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json b/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json
index c5f093e8fdb..fb6ebeb1372 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json
@@ -2,7 +2,7 @@
"scripts/egl.xml":
"842e24514c4cfe09fba703c17a0fd292",
"scripts/egl_angle_ext.xml":
- "854e99785af19f8f4eea4f73005a0451",
+ "087d6a3996a91fbb0b664cac57c50c4c",
"scripts/entry_point_packed_gl_enums.json":
"63f508a08611e75810daedb297dca0e9",
"scripts/generate_entry_points.py":
@@ -12,7 +12,7 @@
"scripts/gl_angle_ext.xml":
"079cc4829de7ce638faf7bbf66e141ad",
"scripts/registry_xml.py":
- "b2902e02f495a9cc85082c47e7b73ac9",
+ "f45ffbc8a3c8a7144c2e98e19d1127a0",
"scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4",
"src/libANGLE/Context_gl_1_0_autogen.h":
@@ -64,7 +64,7 @@
"src/libANGLE/Context_gles_3_2_autogen.h":
"e26f7ee7b59a89a4f5337171816b8336",
"src/libANGLE/Context_gles_ext_autogen.h":
- "70b088f16d539f1fe7f3ec39a2fd2c34",
+ "612224fcc2fad9b416ac97f91ee5c997",
"src/libANGLE/capture_gles_1_0_autogen.cpp":
"96fc0f501e2e696ab911dad8b400dfb2",
"src/libANGLE/capture_gles_1_0_autogen.h":
@@ -88,7 +88,7 @@
"src/libANGLE/capture_gles_ext_autogen.cpp":
"96cb5043ebfce349c89ece3afec6d9f8",
"src/libANGLE/capture_gles_ext_autogen.h":
- "2993ff4c127fb3dca52c96b4a86d7f69",
+ "c9f5522755fb58bd544e5faf27c09771",
"src/libANGLE/entry_points_enum_autogen.cpp":
"66f09d4f9e6f8e83f2f6f0cf8fc3f3d9",
"src/libANGLE/entry_points_enum_autogen.h":
@@ -110,7 +110,7 @@
"src/libANGLE/validationES3_autogen.h":
"86ba503835328438158d9a464943f3bd",
"src/libANGLE/validationESEXT_autogen.h":
- "9a7f7c129e12ab2660f1ef5d6dd73cd5",
+ "5ce1c63470531137fbd327a1d6f1d6e9",
"src/libANGLE/validationGL11_autogen.h":
"aadd145c1404de9c34d6b7c00404f10f",
"src/libANGLE/validationGL12_autogen.h":
@@ -250,15 +250,15 @@
"src/libGLESv2/entry_points_gles_3_2_autogen.h":
"5798aa0a73af1d4ba5dfe99b6217a247",
"src/libGLESv2/entry_points_gles_ext_autogen.cpp":
- "f24b9311081f4307a4b02cec669753b9",
+ "404a6ba3715aa03a3595aa4a232d4ba3",
"src/libGLESv2/entry_points_gles_ext_autogen.h":
- "97bdf48e620471b21e3d250254ac847f",
+ "de27fde4dca5559e594d5aa4589afa36",
"src/libGLESv2/libGLESv2_autogen.cpp":
- "0d79a167f0e86a7adcdebfe26ed331a9",
+ "60649d6c45cb07f341f8f06f4bd7d101",
"src/libGLESv2/libGLESv2_autogen.def":
- "ff7562ae9bdf8763fea7ba09e5cbb1b4",
+ "355b36db208d53a2276fe948fd6ba568",
"src/libGLESv2/libGLESv2_no_capture_autogen.def":
- "affecd039c50674887d6c7bd9b06d4ce",
+ "b8724eeed021c3cefc2878bf2dc28c32",
"src/libGLESv2/libGLESv2_with_capture_autogen.def":
- "5a9fce5f01b3b2150cbce447f02e7873"
+ "c7297239ec1b1b13f0fc81bac5b6600a"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/GLenum_value_to_string_map.json b/chromium/third_party/angle/scripts/code_generation_hashes/GLenum_value_to_string_map.json
index 3a4cd315d3a..3eb8bf7284c 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/GLenum_value_to_string_map.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/GLenum_value_to_string_map.json
@@ -6,7 +6,7 @@
"scripts/gl_angle_ext.xml":
"079cc4829de7ce638faf7bbf66e141ad",
"scripts/registry_xml.py":
- "b2902e02f495a9cc85082c47e7b73ac9",
+ "f45ffbc8a3c8a7144c2e98e19d1127a0",
"src/libANGLE/gl_enum_utils_autogen.cpp":
"48627c0865d15bf4014327de5858d3c5",
"src/libANGLE/gl_enum_utils_autogen.h":
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/Metal_default_shaders.json b/chromium/third_party/angle/scripts/code_generation_hashes/Metal_default_shaders.json
index 01e21805722..709f367d8f9 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/Metal_default_shaders.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/Metal_default_shaders.json
@@ -1,12 +1,12 @@
{
"src/libANGLE/renderer/metal/shaders/blit.metal":
- "86cad2bdbbed1fe7ec94f4ce01ede0c1",
+ "9281aba529ceb4ed5131b7f9c0515362",
"src/libANGLE/renderer/metal/shaders/clear.metal":
"1c231afc6100433a79fce49046aa5965",
"src/libANGLE/renderer/metal/shaders/common.h":
- "d44903e10552301d7ec89c1a0e6e0862",
+ "569171e345ef36dd6a3b12aeebfae4a6",
"src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc":
- "ae02216e4b3588d28b0e87a54deddabb",
+ "c42c37285c375de9a065b925ed54aebd",
"src/libANGLE/renderer/metal/shaders/gen_indices.metal":
"002511e2b980a7fca7e80cbda6a82712",
"src/libANGLE/renderer/metal/shaders/gen_mtl_internal_shaders.py":
@@ -14,5 +14,5 @@
"src/libANGLE/renderer/metal/shaders/master_source.metal":
"fbe6f4bfb49a48ae87791a4cff5fab0a",
"src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc":
- "492ddcfd51acfc95d02de2658cf999cd"
+ "8a94beb0d979f472d71686b6f95b624f"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/Static_builtins.json b/chromium/third_party/angle/scripts/code_generation_hashes/Static_builtins.json
index 44d103fdd2b..be2d75a9eb9 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/Static_builtins.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/Static_builtins.json
@@ -1,30 +1,30 @@
{
"src/compiler/translator/ImmutableString_ESSL_autogen.cpp":
- "0025705dc18b69c702b64644806a799c",
+ "0ea93a3bc04293f610fdbfae45f8e436",
"src/compiler/translator/ImmutableString_autogen.cpp":
- "0af0ec12d54ecc032b74b58dd3526129",
+ "f3b0095f9f8669520698c845085ab62e",
"src/compiler/translator/ParseContext_ESSL_autogen.h":
- "c753d946807cca10df7f50ca2db8a47a",
+ "45035f9e1e7cd735476fc250e034bc72",
"src/compiler/translator/ParseContext_complete_autogen.h":
- "dc88a43c877a9955c909e73c4da34176",
+ "d116f43b2e3b61a73b26b301be561e0b",
"src/compiler/translator/SymbolTable_ESSL_autogen.cpp":
- "98e1c96985096c1bbe0625983f67a23e",
+ "6f3e49f813ca1fa93de47514b3390dfe",
"src/compiler/translator/SymbolTable_autogen.cpp":
- "73ac6e5df17521d8cd6734450a9788a0",
+ "912d1ec634bf4178d310de6db46066f3",
"src/compiler/translator/SymbolTable_autogen.h":
"2d8bed6ff5debc6546199a2add316a66",
"src/compiler/translator/builtin_function_declarations.txt":
- "e4a0add049ebbaa8dc5b6c630816b7f8",
+ "52e0dd28d8be3a0430b70c23d2b060aa",
"src/compiler/translator/builtin_variables.json":
"98d347a6ed181eca3d89bfd73193d787",
"src/compiler/translator/gen_builtin_symbols.py":
"ef6fde209ca86ffb1752fc3a5b9d72d7",
"src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h":
- "aa5d8059a42adb2fb833c84e86726b95",
+ "2ca793d3326d9e39e7d4ffbca7041e52",
"src/compiler/translator/tree_util/BuiltIn_complete_autogen.h":
- "cf8312c854b06d9fe4ede0daa67b5060",
+ "f3713a80fc4ffee53ba4992cc275d5b7",
"src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp":
- "f3a7e48b43b08c17682a3bb5502fc016",
+ "14cbdec9c41ae4a27910347b2c5e59ef",
"src/tests/compiler_tests/ImmutableString_test_autogen.cpp":
- "673110e754ad8ea6939a736b88a781bc"
+ "d368befd9e4c194c5f6b987b3628a184"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_internal_shader_programs.json b/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_internal_shader_programs.json
index ac1279918fc..6617206ee27 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_internal_shader_programs.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_internal_shader_programs.json
@@ -1,268 +1,290 @@
{
"src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py":
- "8a13b2f4f77d51928db01eceb2c4ad44",
+ "3ce99036d0abc8c18a818c1e8f394530",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc":
- "31832c377e532cd5ea05aab57154b8f8",
+ "69cf6390dea8cba6594e6a7734283600",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc":
- "44399440e0d3653e376bc131019ba56c",
+ "00253e9090d4f97de5c50d32d944f08d",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc":
- "5a2d04bbe107e0db12c262a7c17ffab3",
+ "541cf1d53c94195d52b1609b2e1ec7c3",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc":
- "c225749b909241e4bfb7ad4a2768a55c",
+ "360f366d7a09dc76ba68a3beb5dbfd82",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc":
- "02c996226dcc9a0cbaaebdc7ffc4dc33",
+ "970606a8602102ec2d4cb44f792a1af7",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc":
- "8b6dfd0df0f45a66cb6595759959de55",
+ "84a86aeebf697c600c57f7c474a670be",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc":
- "3996dfddf368871447ed2cd1ca7ff529",
+ "bc61b89f9e6ef1c9975ded4f3c4e7841",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc":
- "2568d648d844cf2fde1e89aaf501bfe6",
+ "0395c63adc614bf3709baaaa6a135e8b",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc":
- "704cb6281b209926d4bfc93b1ae39b1d",
+ "bbceaa344fed5fcabf1d21538a6abb2f",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc":
- "71a85d208a6cc25b32fc9a34ee94516e",
+ "a6175c832b2dbc67934cce5e1dc20070",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc":
- "7fb4eeb8b1da792cf6dcb365ac5cdca0",
+ "a9acf6d1140101d662f709125a937513",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc":
- "2e0ea5429a1fea0539b419a15cac2705",
+ "b3692963d9f28aa50bca4c173f704181",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc":
- "2e5122a296727e3648084939887aa71c",
+ "20c11dcff652604d924974924ee7ae78",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc":
- "439bd3c79750462511819df3b6dd5a56",
+ "7e4989585e31a50d78324b4637998d05",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc":
- "817005017ff3c55559154d4cd6411d96",
+ "2cfb116b93098d63b85ccad1f4ea076b",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc":
- "80e41f753f8cd1d954634048e7381274",
+ "50c75eca24379c233271d639bde106c6",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc":
- "ff3ad27ed1639011d78728db58912a03",
+ "929a2a7bafb367cfcf46661abbda5f02",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc":
- "a80653f4029710d86dfef836b9deeb60",
+ "68dcda854240740790888165af7dd17d",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc":
- "07de4271bcfd417515f1cf3b65c21c7c",
+ "6e18654ad1ba81773fc9f4a8d9a4c773",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc":
- "cfc2abc28c9681e013d60e38978ff76d",
+ "f54e4aa72fa9b20726d4c9a8ae3df37e",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc":
- "07ab5a568600768dd4cd9ccee4826983",
+ "f877b8450d791d2c5b91ce1eebfa7eeb",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc":
- "28282523945655ba482f1921e5972430",
+ "b072ef1b6812648804d37b746b35fecd",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc":
- "903904a0ba1a2c1c616f7827a731a348",
+ "8f00a3829de511230d1b312591c843bd",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc":
- "a37988787a932094a61ef9fee8df5953",
+ "afe23d592732094c4f0a6153aca6ed8a",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc":
- "ffc867930d60b7c6ece8ed573b34c252",
+ "8012b4158ef3bf51de59e23491e28074",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc":
- "ad6d858ff428cdc79d9d53f178588b66",
+ "b05029cd47fe08066808ffe9e1599ed8",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc":
- "08ffa324bea88e9ad98114e037b71dd9",
+ "8728c5ebd423acf6961cd1c650ccae9d",
"src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc":
- "606e3e09c4206c051373c98f1123d0ad",
+ "f3f103ba46a4140d21081532816aed4f",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc":
- "3a329491f40adbd83ad6fdfb94fc93bb",
+ "aff9c6fe7eab332f9d3b2c3854b47216",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc":
- "484fbed7ae880d49e4f770f5af7a771d",
+ "160453f4c8ace7315eb2aa396ddfe112",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc":
- "295a5de4ffd772906b523db657d153ef",
+ "95479eb603fcfe6358f99c1cc27642f4",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc":
- "e4991957b54a504c1e81a32187d4d84c",
+ "c159bf1a9aaaa64d1244d3b858833af9",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc":
- "7bbf204e7f1844ff8f098cc1d04251e6",
+ "07d7ec80d9f561305d3c67d8558400bd",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc":
- "0aaae82049ca8b0453b19e7935a289d2",
+ "ac4e1466bf8959c98bcb477edaf24ba0",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc":
- "29b414e8849a5229d8d49f5b05acdbea",
+ "d360addf9fa5c79a25dae38c8d5bdf7f",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc":
- "60efe6cd8271dfa207ed68333886fd72",
+ "12d56f65e96010f6cf5990491b709b4e",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc":
- "50fb7837fb78fb56418d93187cd74a51",
+ "1792af19f12ee130c6fe489dc646ebb7",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc":
- "f6dbd68fb1450dab66961ba948c12706",
+ "a08cc010c6233a31eeb99787262d99bd",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc":
- "6cd0c588e2de50b61fe04e80b006e26e",
+ "71f97ae08b7f829601092deedf21f9c9",
"src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc":
- "7e13d5325d35f96045e920a1cb3598bc",
+ "2a74c523d5793800ee64297cf6f8233e",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc":
- "2eb01d29bfbe67165fe2ac22f889b65e",
+ "692df1827ad87ad01d7b22c2bcc88700",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc":
- "88ec915ed8519a5b49f1d022774d2655",
+ "e57eca16c0bab569752c6efa709dbd4c",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc":
- "4b5290a0c127e1375ec6b5dcec46893c",
+ "3065da896093048aaca0c91835d44672",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc":
- "0d3eb0f82f328837ef4c0fe5f978ef3f",
+ "b81b778b3189a1948b9360c11b31cd1a",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc":
- "bb07b6941cee943efaf627da12fab504",
+ "c99dfc31c0c2b7b40df1a9960bdb93a6",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc":
- "48de7900fe4d96446a61abcb1b86f0ca",
+ "4afc2391a9b76c08c4c94492edd81237",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc":
- "53475dec809dddaf902dd12253acba19",
+ "64e8fe355fe90b0581346d8326e16318",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc":
- "523d3207d424614197ace9601ce56950",
+ "fdba6c025e6e0d552173fae0e6b41e71",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc":
- "021ad52cea91db420280e4406081e8f2",
+ "ff131714bf88236bff01276e6f6d6afe",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc":
- "2d618000d8c839338a9faa3c800acbaf",
+ "ac6d32105935093ba8fe9a3af76173ae",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc":
- "6f02318375b02ce2121cd409f9f0a1bc",
+ "c4827a4f2b4f08534286251c2ac7f3fe",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc":
- "7d2128cc8962c0e0c4cb03c773ec03bb",
+ "9c5427b20679357827a7a012ef310b36",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc":
- "199e8d2f931aa43c3dff9aaa9ec26bcd",
+ "019c07cf90844d96e3e9ee540b8d0a0e",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc":
- "90c8f5720161febcdeea675c083d503b",
+ "1e62f565730506fe64f0688744fa98c8",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc":
- "dfb6b6e51f6bbb022f592a254ad067a2",
+ "63688e1f8236c15fd9a6cfb559f1691f",
"src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc":
- "420785373b15743e3a29effe12ccdc4a",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc":
- "b369a5a2e93b302eeddef0185c55ae02",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc":
- "9f8a2a28737b4cd354d62873c261e1b4",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc":
- "ecc200fd8bd6f9054fe7fcd921bcb399",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc":
- "e20cba5aea8256f6fb9f287d22c6a188",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc":
- "b17a1b7bfcf94e4e248abd18860c2a34",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc":
- "3c24f4f3309ce1dadd5802681ee8f680",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc":
- "f19e58c8b9f1dac479d31f551a92e031",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc":
- "5a6a7d5cdfd96e45101cd6fe7dc20371",
- "src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc":
- "6a4da57f0c84d217711b51eea99c061c",
+ "73effde6b90a6722179b86e663ab393a",
"src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc":
- "235ca7c3979ce29a49c320d000ee7409",
+ "e120b3678d802559586faa128b1ff464",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc":
- "5f95bd216ee5a32a5db515e7f581f006",
+ "c4b99765b8d4565414cea7608f71dc8f",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc":
- "c952154aec29e115169f5003262bab88",
+ "48a9e9d6568fe28498ea6bc3b1718650",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc":
- "80f1da58eb3d7bf1a052471779b0fd86",
+ "43f93c9ca99de7dcba16d2c47e98ff9c",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc":
- "f5977e1d3406ecf00b87d58c2166dc0a",
+ "580b2cd9c74729571a10de30c661b2db",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc":
- "985dbcb4f9c8b507b3f2c7937c147081",
+ "ea511e734bbff95bccbd1ac12c579bb2",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc":
- "4c6f5f905d18c9a8160bfa4a63a5737f",
+ "71399da713e4e34232810abacc99bde1",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc":
- "f43d11e3c940f0aa4bd12171bb761391",
+ "60e93795f81e1145d5e6f6d2db2c69a0",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc":
- "3402f0f460cff8a1c8f8085494a4a66c",
+ "d11768fb8b9a902c9b8f65bdadeaefc6",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc":
- "67fcfea754cfd5e4daf500447bde29d7",
+ "3f48b4f5b423c3d37a10cebc895d3ed3",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc":
- "1f98b3ac4fd676185a9e6098bcdca0d1",
+ "8bf5cdf9368082cd08ce04d5858a45ba",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc":
- "fa7f47eb9e04a5678ab11160b6712ba2",
+ "afa413ae202238995650562038762ffd",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc":
- "f4dfbecae4af68541b57b84ff2e5ae99",
+ "7edc46858c6337692e5b8fe020cf335f",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc":
- "84299b37c41a7fb781ea0f4e45c4be34",
+ "70edcf3c197b60fac240d69c8448d52f",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc":
- "881e75c16ea2fdc4afecf4f020e78554",
+ "3e7c2a3cf7dbc1bde61ef99bd7fbbc26",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc":
- "c73dbdd67e3f3a4ece5e8dc022bfe6c0",
+ "f82c41eeed46f764eaa214486abbe450",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc":
- "754cf04f2c48d4ab2805c51a7a3d4245",
+ "2baf5629fd01a40e6b6b08ae9458cad7",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc":
- "95803c9707b6a4d8b6b47f6fba9611fc",
+ "de234376ffee6b24c7ef1d78410a435a",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc":
- "137f044a3e8cc6bfbdbea6ff352941df",
+ "414ed451be3804829f81aaaa233e1080",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc":
- "f41fcc56ceea0044788cde89580b2387",
+ "d3a499fa47e53f650a7bfd11c45459e3",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc":
- "d3dedff006d0e20acd32239327ee73b8",
+ "9db8756ece8c09df4cccedd2d9c0a2fe",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc":
- "9c36d7628aad776a20bf8242274f998b",
+ "409f30b070197b99e9d53ee2105b222c",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc":
- "68bdba2f448fb982caa3dea818e4e918",
+ "06dc9a41668634e26a4a534f794c2b10",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc":
- "9737b502ccdf9866078b1a84488e50f8",
+ "59e14de5a23d57709300d03ea9f6d4e5",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc":
- "9076f714155f6e436c31adc9cd4e1dd6",
+ "3522c2c4f4ef33cdcf26e54800b51d29",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc":
- "818b38bd23da51a1bbe74082ceafcb1c",
+ "ea8c9038680df0ed7c0104baaa1b0cb5",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc":
- "7dff574a802d4aef90544e8da8d54d4a",
+ "130806e933a1ca7127d52313fb12bd02",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc":
- "babf257b8fbdce94c80e23db90b1e5d3",
- "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc":
- "0e5d89d92f1d1f41f6cc5c519763674b",
+ "25994fafbf3e03eb18c8f281b03c4eb6",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc":
- "65cc239c9aeb1f4ae6ff82777f7a36c9",
+ "cf8833b74b0314f18ea1c8831445c3e1",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc":
- "c8068cf825d7559681ede42674c3e3ea",
+ "c2f841990c0377364115ffc986456e55",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc":
+ "cabbaec7b63254697b6c742dcea3e60a",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc":
- "f3a6575224a4c95364b62c049ccb57f2",
+ "b37767d7694c8550a6ee3f35a0109d26",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc":
- "bf0e9031687ee22d94cb1667365b1ca0",
+ "d0568b1b3a1a811a155ea196118f3273",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc":
- "157eea1b255a9fc13a39d0fed5791582",
- "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc":
- "b355dcc4b4b6ad4f6e8005497d8445c3",
- "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000C.inc":
- "a25953a03746aac32a73ecec765c5ac5",
- "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000D.inc":
- "c55d9db160a06e72e35f882940a45f21",
+ "7f4ba7d2250a925e29af049bfa641429",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc":
- "b26e9b2235c5c2de27ba536d09763c81",
+ "212ca35dad0411b5870f706aec7666b6",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc":
- "36d786b1ab799616cdf9a3bff9ed2252",
+ "ec117c60fdc606402f9cf5b62a3e2bd3",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc":
- "aec2cf9115e5e3b2367487255d030c17",
- "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc":
- "f4545c3aaa814bac216d8ae327c5a111",
+ "65f3352e24a0dae6aa4b749a64a5271e",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc":
- "5bb2d9e8ee68f8ec2dacd4a056f8eff2",
+ "c05a2ea727e8b1a185302fc859e81685",
"src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc":
- "8152303c7825ff73d9972d95520852dd",
+ "98129fb269baf209c979248541752be5",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000016.inc":
+ "24614e0604007bafecc87375025bbb8b",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc":
+ "ba3ad74b2debb2dd404c7525006d34ea",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000019.inc":
+ "2067e1c526f458ad13d846c76c4c2be9",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc":
+ "e70f3b66ae6d2c6247c411259861370e",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc":
+ "5b23d65b9c18f15254f60aead37bbfee",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc":
+ "d680b309a3717fe0176a4154eb829e22",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc":
+ "d45a46e98764d28135b030bfd1d4ac30",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc":
+ "215312aba6d446db3d98cf1de0f2e610",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000025.inc":
+ "a772b28c5abf457ced37e56b6e308449",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000026.inc":
+ "9774941dedf7a80b234f3bd10c288cc6",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc":
+ "ecccb4179bd02aefe9654d1c8e1bf2d0",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc":
+ "9f02086d74cfb076c2b7c655c5b627b2",
+ "src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc":
+ "4b24881665a56f47d541273d18b6f121",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000000.inc":
- "1dc870604216818c7ca757ebb7cd22bc",
+ "c0c376dccc2d40e8f8bbdb1a10215a5d",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000001.inc":
- "cb05ee0936a2235f49994497bd831b20",
+ "99f6172f96f9d46713461f477e350c55",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000002.inc":
- "9c6973f0e4035a411de5425d48a8ded5",
+ "7fdbcbe42a999ef2066d2d43c42c0e0c",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000003.inc":
- "93a50e9365cef6be89033df687db44ad",
+ "fd45b8c72ac8ed04aba7b0eab60e1955",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000004.inc":
- "78e697d35c094a750a6cb6689b9d35c4",
+ "3e1f3b7a905d9df0f0fce72d1cb4de1f",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000005.inc":
- "5c57c4cb2507aee3e7d0d53555ef7471",
+ "17ac0d27525577a0c29f8d3318b4779b",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000000.inc":
- "a341905ac08458eab61199817fe40c7e",
+ "28bc37bb8d85bdef0637b2494bf95878",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000001.inc":
- "25ba613bf71f7c1397bfe2d089d57ac6",
+ "e8f6cb0fb7ef82da8c7246179e460a2d",
"src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag":
- "a3ecba7bc86093f90b183605bed82813",
+ "e47ecdcabdecde4b71eb3f27af50e3ea",
+ "src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag.json":
+ "353929c45304fe9c327b50a53c5f1918",
"src/libANGLE/renderer/vulkan/shaders/src/BlitResolveStencilNoExport.comp":
"3080e264f932ce3a219bb63c79b86636",
+ "src/libANGLE/renderer/vulkan/shaders/src/BlitResolveStencilNoExport.comp.json":
+ "8a3e9ff34eba0386edb98048547a272b",
"src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp":
"b7c20e019199f8328ef37b11c6fbcadd",
+ "src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp.json":
+ "289022611e8fe6742221ed371cbd6b36",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp":
"a46b48d7d5b19c74eb377f275525ab8d",
+ "src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json":
+ "22b04129fc4a3db7dbd62adeda18577b",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertIndexIndirectLineLoop.comp":
"ee94f2dab39583c17cb5739199229427",
+ "src/libANGLE/renderer/vulkan/shaders/src/ConvertIndexIndirectLineLoop.comp.json":
+ "f5f3eb40d8423e1027c2d47197b8f9d2",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp":
"c4fe0f463b41cd59bae33f9711e0b67b",
+ "src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json":
+ "c2c79c40b0fbcb4876637aa06e8aa919",
"src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp":
- "e0967dcc25d76797864dd5c0ab9847ce",
+ "f63e7c4f738c11f1a1b19023d4515dc4",
+ "src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json":
+ "e4a95aae7f216780946e7332d22aa74e",
"src/libANGLE/renderer/vulkan/shaders/src/FullScreenQuad.vert":
"805ec8b2f87d4bd4242dc5b1c58ba3b4",
"src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag":
"8889ae8014a657a0efd5607954126945",
+ "src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag.json":
+ "f3e0afbc2368002e8a1148edcbe709fa",
"src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag":
- "f0f3cc82d78198f114b698e1aea31267",
+ "900796c40d8494da9d78a6c3fa53aea4",
+ "src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json":
+ "f6b69ba316a5565400c2875e5da14b73",
"src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp":
"c89a0d185f7723e0c221c135aa4f48a3",
+ "src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp.json":
+ "e5fd5bb63707753601e197635316430e",
"src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp":
"dcc246b398b2e07a869a264666499362",
+ "src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json":
+ "af79e5153c99cdb1e6b551b11bbf7f6b",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp":
- "7a38442f63d6fb7b931390d3776cc964",
+ "ff29debe33758511b793e4eee2a70061",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h":
- "3eea961399cc31bedac5128770d5175d",
+ "f2b4a6af004d1f0f06b01e370c202878",
"tools/glslang/glslang_validator.exe.sha1":
- "289f30598865a987a21b79ae525fc66f",
+ "17e862cc6f462fecbf50b24ed6544a27",
"tools/glslang/glslang_validator.sha1":
- "f3d7af9fa1191a3719f2606ef47650ef"
+ "c9a8437b51fdf7c106bd19ecb4ab552f"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json b/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json
index 36f04c3e02d..311617d4e36 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json
@@ -8,5 +8,5 @@
"src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp":
"8bfd8a3857c2b9062d7ada46c7d27bcf",
"third_party/vulkan-headers/src/registry/vk.xml":
- "f48f0bee41017fb21c4f69f29d1a2b7a"
+ "45523fd33dd2d1dea4f97db433131b9e"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/packed_enum.json b/chromium/third_party/angle/scripts/code_generation_hashes/packed_enum.json
index ce0017f824e..ce6a69592d5 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/packed_enum.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/packed_enum.json
@@ -4,13 +4,13 @@
"src/common/PackedEGLEnums_autogen.h":
"085d82d2003f02345abc4986523127d4",
"src/common/PackedGLEnums_autogen.cpp":
- "8fceeabaa8a96d0f0b2034e2c56ff597",
+ "dfd979452806f59fff27dde8ffe8e300",
"src/common/PackedGLEnums_autogen.h":
- "9baa6356c86dfbf72380539698b55590",
+ "8466493b646665844ac579e997ebb6ca",
"src/common/gen_packed_gl_enums.py":
"b3e96ea44f52ec23ee893bd843dfd2cb",
"src/common/packed_egl_enums.json":
"76e1b814421e121164d60a0d89cb16c1",
"src/common/packed_gl_enums.json":
- "fbe589dc6c790f0df47e30a4bf0a48ea"
+ "5ed701940bc80450631f8886d585ef8a"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/proc_table.json b/chromium/third_party/angle/scripts/code_generation_hashes/proc_table.json
index e48b2adba13..cf9d750134c 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/proc_table.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/proc_table.json
@@ -2,19 +2,19 @@
"scripts/egl.xml":
"842e24514c4cfe09fba703c17a0fd292",
"scripts/egl_angle_ext.xml":
- "854e99785af19f8f4eea4f73005a0451",
+ "087d6a3996a91fbb0b664cac57c50c4c",
"scripts/gen_proc_table.py":
- "24dbcc78fd3f000f58ca98237ccc0da4",
+ "05587426d508d13eec257c4e5f3a0a13",
"scripts/gl.xml":
"e74a595068cbdd6064300be1e71b7cc9",
"scripts/gl_angle_ext.xml":
"079cc4829de7ce638faf7bbf66e141ad",
"scripts/registry_xml.py":
- "b2902e02f495a9cc85082c47e7b73ac9",
+ "f45ffbc8a3c8a7144c2e98e19d1127a0",
"scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4",
"src/libGL/proc_table_wgl_autogen.cpp":
- "03c05f20c57c1de822b0ddaf6d4f9607",
+ "253f59ef3aa9ccfcab1364ae5101dbe2",
"src/libGLESv2/proc_table_egl_autogen.cpp":
- "0154d2734e6d89520d3697890df2164e"
+ "289be4d639a17429af8f41d53e9c1d0e"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/restricted_traces.json b/chromium/third_party/angle/scripts/code_generation_hashes/restricted_traces.json
index 39f145394ee..4187c2c2d20 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/restricted_traces.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/restricted_traces.json
@@ -1,16 +1,24 @@
{
+ "src/tests/perf_tests/restricted_traces/angry_birds_2_1500.tar.gz.sha1":
+ "f289d1836514a3ced7c166186df43204",
+ "src/tests/perf_tests/restricted_traces/candy_crush_500.tar.gz.sha1":
+ "ef00d8872fe818250df07f761d440bfb",
+ "src/tests/perf_tests/restricted_traces/egypt_1500.tar.gz.sha1":
+ "e675648c5b16fc52077998621e6300ba",
"src/tests/perf_tests/restricted_traces/gen_restricted_traces.py":
- "f61ccd2c8ce98674527909d567083963",
+ "aa5043eaa7ba7d620ff2a3b40d67bae2",
"src/tests/perf_tests/restricted_traces/manhattan_10.tar.gz.sha1":
- "b4d333cd5cf3977c339350be0a819928",
+ "7f5e3e8b4d7ec07232c54d41964006ea",
"src/tests/perf_tests/restricted_traces/restricted_traces.json":
- "c0a96b33aa1b88197e956d1848aa36b3",
+ "de1d1c2086bd4f5249f5bdbdf0d2a854",
"src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni":
- "c098dd718bab70e9f09ef955ddfb6d05",
+ "25de059705d29d797e246aae027498ec",
"src/tests/perf_tests/restricted_traces/restricted_traces_autogen.h":
- "9caa6c37d60ca1d69a7d0d71749a88bb",
+ "68a11667d674549018cf06e1a759c383",
+ "src/tests/perf_tests/restricted_traces/subway_surfer_500.tar.gz.sha1":
+ "a47a797dd227f5025439b47cee80dbc9",
"src/tests/perf_tests/restricted_traces/temple_run_300.tar.gz.sha1":
- "934983876ac5f3d9bc9b43698bb94b9d",
+ "e912c0a0e93efe73088211d63b4a30af",
"src/tests/perf_tests/restricted_traces/trex_200.tar.gz.sha1":
- "605cf71846da2309a002baa78abf28e1"
+ "b4357f6a2205ada41597437a4fa9bbab"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/code_generation_hashes/uniform_type.json b/chromium/third_party/angle/scripts/code_generation_hashes/uniform_type.json
index 872fb7b07bf..185e6504949 100644
--- a/chromium/third_party/angle/scripts/code_generation_hashes/uniform_type.json
+++ b/chromium/third_party/angle/scripts/code_generation_hashes/uniform_type.json
@@ -1,6 +1,6 @@
{
"src/common/gen_uniform_type_table.py":
- "f7a7846f21da3406f79dcd9a4cb394e8",
+ "43f21df292ca1864166cc93ed59f2b66",
"src/common/uniform_type_info_autogen.cpp":
- "417dddc7510f3d3fa71345f8838e323e"
+ "ecffb0755d6051d656f9b68e3d7eea72"
} \ No newline at end of file
diff --git a/chromium/third_party/angle/scripts/egl_angle_ext.xml b/chromium/third_party/angle/scripts/egl_angle_ext.xml
index 7206573b221..d164b16d67f 100644
--- a/chromium/third_party/angle/scripts/egl_angle_ext.xml
+++ b/chromium/third_party/angle/scripts/egl_angle_ext.xml
@@ -94,6 +94,20 @@
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
<param><ptype>EGLFrameTokenANGLE</ptype> <name>frametoken</name></param>
</command>
+ <command>
+ <proto><pytpe>void</pytpe> <name>eglReleaseHighPowerGPUANGLE</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLContext</ptype> <name>ctx</name></param>
+ </command>
+ <command>
+ <proto><pytpe>void</pytpe> <name>eglReacquireHighPowerGPUANGLE</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLContext</ptype> <name>ctx</name></param>
+ </command>
+ <command>
+ <proto><pytpe>void</pytpe> <name>eglHandleGPUSwitchANGLE</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ </command>
</commands>
<!-- SECTION: ANGLE extension interface definitions -->
<extensions>
@@ -138,5 +152,12 @@
<command name="eglSwapBuffersWithFrameTokenANGLE"/>
</require>
</extension>
+ <extension name="EGL_ANGLE_power_preference" supported="egl">
+ <require>
+ <command name="eglReleaseHighPowerGPUANGLE"/>
+ <command name="eglReacquireHighPowerGPUANGLE"/>
+ <command name="eglHandleGPUSwitchANGLE"/>
+ </require>
+ </extension>
</extensions>
</registry>
diff --git a/chromium/third_party/angle/scripts/export_targets.py b/chromium/third_party/angle/scripts/export_targets.py
index 4ff9aae488e..dccf6e8d4bb 100755
--- a/chromium/third_party/angle/scripts/export_targets.py
+++ b/chromium/third_party/angle/scripts/export_targets.py
@@ -187,7 +187,7 @@ IGNORED_INCLUDES = {
b'libANGLE/renderer/gl/eagl/DisplayEAGL.h',
b'libANGLE/renderer/gl/egl/android/DisplayAndroid.h',
b'libANGLE/renderer/gl/egl/DisplayEGL.h',
- b'libANGLE/renderer/gl/egl/ozone/DisplayOzone.h',
+ b'libANGLE/renderer/gl/egl/gbm/DisplayGbm.h',
b'libANGLE/renderer/gl/glx/DisplayGLX.h',
b'libANGLE/renderer/gl/wgl/DisplayWGL.h',
b'libANGLE/renderer/metal/DisplayMtl_api.h',
@@ -223,6 +223,7 @@ IGNORED_DIRECTORIES = {
'//third_party/vulkan-loader',
'//third_party/vulkan-tools',
'//third_party/vulkan-validation-layers',
+ '//third_party/zlib',
}
def has_all_includes(target_name: str, descs: dict) -> bool:
diff --git a/chromium/third_party/angle/scripts/gen_proc_table.py b/chromium/third_party/angle/scripts/gen_proc_table.py
index 3dbfa523631..13f45f69752 100644
--- a/chromium/third_party/angle/scripts/gen_proc_table.py
+++ b/chromium/third_party/angle/scripts/gen_proc_table.py
@@ -37,11 +37,11 @@ template_cpp = """// GENERATED FILE - DO NOT EDIT.
namespace {namespace}
{{
-ProcEntry g_procTable[] = {{
+const ProcEntry g_procTable[] = {{
{proc_data}
}};
-size_t g_numProcs = {num_procs};
+const size_t g_numProcs = {num_procs};
}} // namespace {namespace}
"""
@@ -55,7 +55,7 @@ includes_gles = """#include "libGLESv2/proc_table_egl.h"
#include "libGLESv2/entry_points_gles_3_1_autogen.h"
#include "libGLESv2/entry_points_gles_3_2_autogen.h"
#include "libGLESv2/entry_points_gles_ext_autogen.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
"""
includes_gl = """#include "libGL/proc_table_wgl.h"
@@ -80,7 +80,7 @@ includes_gl = """#include "libGL/proc_table_wgl.h"
#include "libGL/entry_points_gl_4_4_autogen.h"
#include "libGL/entry_points_gl_4_5_autogen.h"
#include "libGL/entry_points_gl_4_6_autogen.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
"""
sys.path.append('../src/libANGLE/renderer')
diff --git a/chromium/third_party/angle/scripts/generate_android_bp.py b/chromium/third_party/angle/scripts/generate_android_bp.py
index 1a521881c6c..cc4cd07d54d 100644
--- a/chromium/third_party/angle/scripts/generate_android_bp.py
+++ b/chromium/third_party/angle/scripts/generate_android_bp.py
@@ -492,7 +492,6 @@ def main():
'defaults': ['ANGLE_java_defaults'],
'static_libs': ['ANGLE_library'],
'manifest': 'src/android_system_settings/src/com/android/angle/AndroidManifest.xml',
- 'required': ['privapp_whitelist_com.android.angle'],
}))
output = [
diff --git a/chromium/third_party/angle/scripts/registry_xml.py b/chromium/third_party/angle/scripts/registry_xml.py
index 9748e31a4b7..3d1f2347b68 100644
--- a/chromium/third_party/angle/scripts/registry_xml.py
+++ b/chromium/third_party/angle/scripts/registry_xml.py
@@ -86,6 +86,7 @@ gles_extensions = [
"GL_EXT_texture_compression_rgtc",
"GL_EXT_texture_compression_s3tc",
"GL_EXT_texture_compression_s3tc_srgb",
+ "GL_EXT_texture_cube_map_array",
"GL_EXT_texture_filter_anisotropic",
"GL_EXT_texture_format_BGRA8888",
"GL_EXT_texture_storage",
@@ -103,6 +104,7 @@ gles_extensions = [
"GL_OES_mapbuffer",
"GL_OES_texture_3D",
"GL_OES_texture_border_clamp",
+ "GL_OES_texture_cube_map_array",
"GL_OES_texture_half_float",
"GL_OES_texture_storage_multisample_2d_array",
"GL_OES_vertex_array_object",
@@ -124,6 +126,7 @@ supported_egl_extensions = [
"EGL_ANGLE_device_d3d",
"EGL_ANGLE_feature_control",
"EGL_ANGLE_ggp_stream_descriptor",
+ "EGL_ANGLE_power_preference",
"EGL_ANGLE_program_cache_control",
"EGL_ANGLE_query_surface_pointer",
"EGL_ANGLE_stream_producer_d3d_texture",
diff --git a/chromium/third_party/angle/scripts/roll_aosp.sh b/chromium/third_party/angle/scripts/roll_aosp.sh
index 819974e286e..43a80e7e330 100755
--- a/chromium/third_party/angle/scripts/roll_aosp.sh
+++ b/chromium/third_party/angle/scripts/roll_aosp.sh
@@ -14,10 +14,20 @@ deps=(
"third_party/jsoncpp"
"third_party/jsoncpp/source"
"third_party/vulkan_memory_allocator"
+ "third_party/zlib"
+)
+
+# Only add the parts of NDK that are required by ANGLE. The entire dep is too large.
+delete_only_deps=(
+ "third_party/android_ndk"
+)
+
+add_only_deps=(
+ "third_party/android_ndk/sources/android/cpufeatures"
)
# Delete dep directories so that gclient can check them out
-for dep in ${deps[@]}; do
+for dep in ${deps[@]} ${delete_only_deps[@]}; do
rm -rf $dep
done
@@ -66,22 +76,27 @@ git add Android.bp
# Delete the .git files in each dep so that it can be added to this repo. Some deps like jsoncpp
# have multiple layers of deps so delete everything before adding them.
-for dep in ${deps[@]}; do
+for dep in ${deps[@]} ${delete_only_deps[@]}; do
rm -rf $dep/.git
done
extra_removal_files=(
- # The jsoncpp OWNERS and VulkanMemoryAllocator file contains users that have not logged into
- # the Android gerrit so it fails to upload.
+ # Some third_party deps have OWNERS files which contains users that have not logged into
+ # the Android gerrit. Repo cannot upload with these files present.
"third_party/jsoncpp/OWNERS"
"third_party/vulkan_memory_allocator/OWNERS"
+ "third_party/zlib/OWNERS"
+ "third_party/zlib/google/OWNERS"
+ "third_party/zlib/contrib/tests/OWNERS"
+ "third_party/zlib/contrib/bench/OWNERS"
+ "third_party/zlib/contrib/tests/fuzzers/OWNERS"
)
for removal_file in ${extra_removal_files[@]}; do
rm $removal_file
done
-for dep in ${deps[@]}; do
+for dep in ${deps[@]} ${add_only_deps[@]}; do
git add -f $dep
done
diff --git a/chromium/third_party/angle/scripts/trigger.py b/chromium/third_party/angle/scripts/trigger.py
index f343dbcf082..0afe6a3f8c4 100644
--- a/chromium/third_party/angle/scripts/trigger.py
+++ b/chromium/third_party/angle/scripts/trigger.py
@@ -25,47 +25,6 @@ def parse_args():
return parser.parse_known_args()
-# Taken from:
-# https://chromium.googlesource.com/chromium/src/tools/mb/+/2192df66cd0ed214bcfbfd387ad0c5c8c0a21eb1/mb.py#586
-def add_base_software(swarming_args):
- # HACK(iannucci): These packages SHOULD NOT BE HERE.
- # Remove method once Swarming Pool Task Templates are implemented.
- # crbug.com/812428
-
- # Add in required base software. This should be kept in sync with the
- # `chromium_swarming` recipe module in build.git. All references to
- # `swarming_module` below are purely due to this.
- cipd_packages = [
- ('infra/python/cpython/${platform}', 'version:2.7.15.chromium14'),
- ('infra/tools/luci/logdog/butler/${platform}',
- 'git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c'),
- ('infra/tools/luci/vpython-native/${platform}',
- 'git_revision:e317c7d2c17d4c3460ee37524dfce4e1dee4306a'),
- ('infra/tools/luci/vpython/${platform}',
- 'git_revision:e317c7d2c17d4c3460ee37524dfce4e1dee4306a'),
- ]
-
- for pkg, vers in cipd_packages:
- swarming_args.append('--cipd-package=.swarming_module:%s=%s' % (pkg, vers))
-
- # Add packages to $PATH
- swarming_args.extend([
- '--env-prefix',
- 'PATH=.swarming_module',
- '--env-prefix',
- 'PATH=.swarming_module/bin',
- ])
-
- # Add cache directives for vpython.
- vpython_cache_path = '.swarming_module_cache/vpython'
- swarming_args.extend([
- '--named-cache',
- 'swarming_module_cache_vpython=' + vpython_cache_path,
- '--env-prefix',
- 'VPYTHON_VIRTUALENV_ROOT=' + vpython_cache_path,
- ])
-
-
def main():
args, unknown = parse_args()
path = args.gn_path.replace('\\', '/')
@@ -96,8 +55,6 @@ def main():
'-d', 'gpu=' + args.gpu_dim, '-s', sha
]
- add_base_software(swarming_args)
-
for i in range(args.shards):
shard_args = swarming_args[:]
shard_args.extend([
diff --git a/chromium/third_party/angle/src/android_system_settings/src/com/android/angle/AndroidManifest.xml b/chromium/third_party/angle/src/android_system_settings/src/com/android/angle/AndroidManifest.xml
index 41bfa0cf020..d0833dca441 100644
--- a/chromium/third_party/angle/src/android_system_settings/src/com/android/angle/AndroidManifest.xml
+++ b/chromium/third_party/angle/src/android_system_settings/src/com/android/angle/AndroidManifest.xml
@@ -67,7 +67,8 @@
</activity>
<receiver android:name="com.android.angle.common.Receiver"
- android:directBootAware="true">
+ android:directBootAware="true"
+ android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
diff --git a/chromium/third_party/angle/src/common/PackedEnums.cpp b/chromium/third_party/angle/src/common/PackedEnums.cpp
index aeb80238cf5..364b69dfb4a 100644
--- a/chromium/third_party/angle/src/common/PackedEnums.cpp
+++ b/chromium/third_party/angle/src/common/PackedEnums.cpp
@@ -24,6 +24,8 @@ TextureType TextureTargetToType(TextureTarget target)
case TextureTarget::CubeMapPositiveY:
case TextureTarget::CubeMapPositiveZ:
return TextureType::CubeMap;
+ case TextureTarget::CubeMapArray:
+ return TextureType::CubeMapArray;
case TextureTarget::External:
return TextureType::External;
case TextureTarget::Rectangle:
@@ -71,6 +73,8 @@ TextureTarget NonCubeTextureTypeToTarget(TextureType type)
return TextureTarget::_2DMultisampleArray;
case TextureType::_3D:
return TextureTarget::_3D;
+ case TextureType::CubeMapArray:
+ return TextureTarget::CubeMapArray;
case TextureType::VideoImage:
return TextureTarget::VideoImage;
default:
@@ -132,6 +136,12 @@ TextureType SamplerTypeToTextureType(GLenum samplerType)
case GL_SAMPLER_CUBE_SHADOW:
return TextureType::CubeMap;
+ case GL_SAMPLER_CUBE_MAP_ARRAY:
+ case GL_INT_SAMPLER_CUBE_MAP_ARRAY:
+ case GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY:
+ case GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW:
+ return TextureType::CubeMapArray;
+
case GL_SAMPLER_2D_ARRAY:
case GL_INT_SAMPLER_2D_ARRAY:
case GL_UNSIGNED_INT_SAMPLER_2D_ARRAY:
@@ -183,6 +193,7 @@ bool IsArrayTextureType(TextureType type)
{
case TextureType::_2DArray:
case TextureType::_2DMultisampleArray:
+ case TextureType::CubeMapArray:
return true;
default:
return false;
diff --git a/chromium/third_party/angle/src/common/PackedGLEnums_autogen.cpp b/chromium/third_party/angle/src/common/PackedGLEnums_autogen.cpp
index ee8bf4600e8..be0d8801a28 100644
--- a/chromium/third_party/angle/src/common/PackedGLEnums_autogen.cpp
+++ b/chromium/third_party/angle/src/common/PackedGLEnums_autogen.cpp
@@ -1993,6 +1993,8 @@ TextureTarget FromGLenum<TextureTarget>(GLenum from)
return TextureTarget::CubeMapPositiveZ;
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
return TextureTarget::CubeMapNegativeZ;
+ case GL_TEXTURE_CUBE_MAP_ARRAY:
+ return TextureTarget::CubeMapArray;
case GL_TEXTURE_VIDEO_IMAGE_WEBGL:
return TextureTarget::VideoImage;
default:
@@ -2030,6 +2032,8 @@ GLenum ToGLenum(TextureTarget from)
return GL_TEXTURE_CUBE_MAP_POSITIVE_Z;
case TextureTarget::CubeMapNegativeZ:
return GL_TEXTURE_CUBE_MAP_NEGATIVE_Z;
+ case TextureTarget::CubeMapArray:
+ return GL_TEXTURE_CUBE_MAP_ARRAY;
case TextureTarget::VideoImage:
return GL_TEXTURE_VIDEO_IMAGE_WEBGL;
default:
@@ -2081,6 +2085,9 @@ std::ostream &operator<<(std::ostream &os, TextureTarget value)
case TextureTarget::CubeMapNegativeZ:
os << "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z";
break;
+ case TextureTarget::CubeMapArray:
+ os << "GL_TEXTURE_CUBE_MAP_ARRAY";
+ break;
case TextureTarget::VideoImage:
os << "GL_TEXTURE_VIDEO_IMAGE_WEBGL";
break;
@@ -2112,6 +2119,8 @@ TextureType FromGLenum<TextureType>(GLenum from)
return TextureType::Rectangle;
case GL_TEXTURE_CUBE_MAP:
return TextureType::CubeMap;
+ case GL_TEXTURE_CUBE_MAP_ARRAY:
+ return TextureType::CubeMapArray;
case GL_TEXTURE_VIDEO_IMAGE_WEBGL:
return TextureType::VideoImage;
default:
@@ -2139,6 +2148,8 @@ GLenum ToGLenum(TextureType from)
return GL_TEXTURE_RECTANGLE_ANGLE;
case TextureType::CubeMap:
return GL_TEXTURE_CUBE_MAP;
+ case TextureType::CubeMapArray:
+ return GL_TEXTURE_CUBE_MAP_ARRAY;
case TextureType::VideoImage:
return GL_TEXTURE_VIDEO_IMAGE_WEBGL;
default:
@@ -2175,6 +2186,9 @@ std::ostream &operator<<(std::ostream &os, TextureType value)
case TextureType::CubeMap:
os << "GL_TEXTURE_CUBE_MAP";
break;
+ case TextureType::CubeMapArray:
+ os << "GL_TEXTURE_CUBE_MAP_ARRAY";
+ break;
case TextureType::VideoImage:
os << "GL_TEXTURE_VIDEO_IMAGE_WEBGL";
break;
diff --git a/chromium/third_party/angle/src/common/PackedGLEnums_autogen.h b/chromium/third_party/angle/src/common/PackedGLEnums_autogen.h
index 6be5f87c1ba..2affe18ebad 100644
--- a/chromium/third_party/angle/src/common/PackedGLEnums_autogen.h
+++ b/chromium/third_party/angle/src/common/PackedGLEnums_autogen.h
@@ -515,10 +515,11 @@ enum class TextureTarget : uint8_t
CubeMapNegativeY = 10,
CubeMapPositiveZ = 11,
CubeMapNegativeZ = 12,
- VideoImage = 13,
+ CubeMapArray = 13,
+ VideoImage = 14,
- InvalidEnum = 14,
- EnumCount = 14,
+ InvalidEnum = 15,
+ EnumCount = 15,
};
template <>
@@ -536,10 +537,11 @@ enum class TextureType : uint8_t
External = 5,
Rectangle = 6,
CubeMap = 7,
- VideoImage = 8,
+ CubeMapArray = 8,
+ VideoImage = 9,
- InvalidEnum = 9,
- EnumCount = 9,
+ InvalidEnum = 10,
+ EnumCount = 10,
};
template <>
diff --git a/chromium/third_party/angle/src/common/PoolAlloc.cpp b/chromium/third_party/angle/src/common/PoolAlloc.cpp
index 724e07e0668..27dd9305a8b 100644
--- a/chromium/third_party/angle/src/common/PoolAlloc.cpp
+++ b/chromium/third_party/angle/src/common/PoolAlloc.cpp
@@ -37,7 +37,14 @@ PoolAllocator::PoolAllocator(int growthIncrement, int allocationAlignment)
#endif
mLocked(false)
{
+ initialize(growthIncrement, allocationAlignment);
+}
+
+void PoolAllocator::initialize(int pageSize, int alignment)
+{
+ mAlignment = alignment;
#if !defined(ANGLE_DISABLE_POOL_ALLOC)
+ mPageSize = pageSize;
if (mAlignment == 1)
{
// This is a special fast-path where fastAllocation() is enabled
diff --git a/chromium/third_party/angle/src/common/PoolAlloc.h b/chromium/third_party/angle/src/common/PoolAlloc.h
index 1c902bfdd75..df55a2755f0 100644
--- a/chromium/third_party/angle/src/common/PoolAlloc.h
+++ b/chromium/third_party/angle/src/common/PoolAlloc.h
@@ -125,7 +125,7 @@ class PoolAllocator : angle::NonCopyable
public:
static const int kDefaultAlignment = 16;
//
- // Create PoolAllocator. If alignment is be set to 1 byte then fastAllocate()
+ // Create PoolAllocator. If alignment is set to 1 byte then fastAllocate()
// function can be used to make allocations with less overhead.
//
PoolAllocator(int growthIncrement = 8 * 1024, int allocationAlignment = kDefaultAlignment);
@@ -136,6 +136,11 @@ class PoolAllocator : angle::NonCopyable
~PoolAllocator();
//
+ // Initialize page size and alignment after construction
+ //
+ void initialize(int pageSize, int alignment);
+
+ //
// Call push() to establish a new place to pop memory to. Does not
// have to be called to get things started.
//
diff --git a/chromium/third_party/angle/src/common/event_tracer.h b/chromium/third_party/angle/src/common/event_tracer.h
index 750f9efc070..128d88b9e0d 100644
--- a/chromium/third_party/angle/src/common/event_tracer.h
+++ b/chromium/third_party/angle/src/common/event_tracer.h
@@ -6,7 +6,7 @@
#define COMMON_EVENT_TRACER_H_
#include "common/platform.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
namespace angle
{
diff --git a/chromium/third_party/angle/src/common/gen_uniform_type_table.py b/chromium/third_party/angle/src/common/gen_uniform_type_table.py
index eeee30be35c..faa87e698b4 100644
--- a/chromium/third_party/angle/src/common/gen_uniform_type_table.py
+++ b/chromium/third_party/angle/src/common/gen_uniform_type_table.py
@@ -16,19 +16,23 @@ all_uniform_types = [
"GL_FLOAT_MAT2", "GL_FLOAT_MAT2x3", "GL_FLOAT_MAT2x4", "GL_FLOAT_MAT3", "GL_FLOAT_MAT3x2",
"GL_FLOAT_MAT3x4", "GL_FLOAT_MAT4", "GL_FLOAT_MAT4x2", "GL_FLOAT_MAT4x3", "GL_FLOAT_VEC2",
"GL_FLOAT_VEC3", "GL_FLOAT_VEC4", "GL_IMAGE_2D", "GL_IMAGE_2D_ARRAY", "GL_IMAGE_3D",
- "GL_IMAGE_CUBE", "GL_INT", "GL_INT_IMAGE_2D", "GL_INT_IMAGE_2D_ARRAY", "GL_INT_IMAGE_3D",
- "GL_INT_IMAGE_CUBE", "GL_INT_SAMPLER_2D", "GL_INT_SAMPLER_2D_ARRAY",
- "GL_INT_SAMPLER_2D_MULTISAMPLE", "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY", "GL_INT_SAMPLER_3D",
- "GL_INT_SAMPLER_CUBE", "GL_INT_VEC2", "GL_INT_VEC3", "GL_INT_VEC4", "GL_SAMPLER_2D",
+ "GL_IMAGE_CUBE", "GL_IMAGE_CUBE_MAP_ARRAY", "GL_INT", "GL_INT_IMAGE_2D",
+ "GL_INT_IMAGE_2D_ARRAY", "GL_INT_IMAGE_3D", "GL_INT_IMAGE_CUBE", "GL_INT_IMAGE_CUBE_MAP_ARRAY",
+ "GL_INT_SAMPLER_2D", "GL_INT_SAMPLER_2D_ARRAY", "GL_INT_SAMPLER_2D_MULTISAMPLE",
+ "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY", "GL_INT_SAMPLER_3D", "GL_INT_SAMPLER_CUBE",
+ "GL_INT_SAMPLER_CUBE_MAP_ARRAY", "GL_INT_VEC2", "GL_INT_VEC3", "GL_INT_VEC4", "GL_SAMPLER_2D",
"GL_SAMPLER_2D_ARRAY", "GL_SAMPLER_2D_ARRAY_SHADOW", "GL_SAMPLER_2D_MULTISAMPLE",
"GL_SAMPLER_2D_MULTISAMPLE_ARRAY", "GL_SAMPLER_2D_RECT_ANGLE", "GL_SAMPLER_2D_SHADOW",
- "GL_SAMPLER_3D", "GL_SAMPLER_CUBE", "GL_SAMPLER_CUBE_SHADOW", "GL_SAMPLER_EXTERNAL_OES",
- "GL_UNSIGNED_INT", "GL_UNSIGNED_INT_ATOMIC_COUNTER", "GL_UNSIGNED_INT_IMAGE_2D",
- "GL_UNSIGNED_INT_IMAGE_2D_ARRAY", "GL_UNSIGNED_INT_IMAGE_3D", "GL_UNSIGNED_INT_IMAGE_CUBE",
- "GL_UNSIGNED_INT_SAMPLER_2D", "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY",
- "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE", "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY",
- "GL_UNSIGNED_INT_SAMPLER_3D", "GL_UNSIGNED_INT_SAMPLER_CUBE", "GL_UNSIGNED_INT_VEC2",
- "GL_UNSIGNED_INT_VEC3", "GL_UNSIGNED_INT_VEC4", "GL_SAMPLER_VIDEO_IMAGE_WEBGL"
+ "GL_SAMPLER_3D", "GL_SAMPLER_CUBE", "GL_SAMPLER_CUBE_MAP_ARRAY", "GL_SAMPLER_CUBE_SHADOW",
+ "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW", "GL_SAMPLER_EXTERNAL_OES", "GL_UNSIGNED_INT",
+ "GL_UNSIGNED_INT_ATOMIC_COUNTER", "GL_UNSIGNED_INT_IMAGE_2D", "GL_UNSIGNED_INT_IMAGE_2D_ARRAY",
+ "GL_UNSIGNED_INT_IMAGE_3D", "GL_UNSIGNED_INT_IMAGE_CUBE",
+ "GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY", "GL_UNSIGNED_INT_SAMPLER_2D",
+ "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY", "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE",
+ "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY", "GL_UNSIGNED_INT_SAMPLER_3D",
+ "GL_UNSIGNED_INT_SAMPLER_CUBE", "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY",
+ "GL_UNSIGNED_INT_VEC2", "GL_UNSIGNED_INT_VEC3", "GL_UNSIGNED_INT_VEC4",
+ "GL_SAMPLER_VIDEO_IMAGE_WEBGL"
]
# Uniform texture types. Be wary of substrings finding the wrong types.
@@ -46,6 +50,7 @@ texture_types = {
"CUBE_SHADOW": "CUBE_MAP",
"EXTERNAL_OES": "EXTERNAL_OES",
"RECT": "RECTANGLE",
+ "CUBE_MAP_ARRAY": "CUBE_MAP_ARRAY",
"VIDEO_IMAGE_WEBGL": "VIDEO_IMAGE_WEBGL",
}
diff --git a/chromium/third_party/angle/src/common/mathutil.h b/chromium/third_party/angle/src/common/mathutil.h
index f47d2175744..b1388fdd1a5 100644
--- a/chromium/third_party/angle/src/common/mathutil.h
+++ b/chromium/third_party/angle/src/common/mathutil.h
@@ -504,6 +504,7 @@ inline float normalizedToFloat(T input)
{
static_assert(std::numeric_limits<T>::is_integer, "T must be an integer.");
static_assert(inputBitCount < (sizeof(T) * 8), "T must have more bits than inputBitCount.");
+ ASSERT((input & ~((1 << inputBitCount) - 1)) == 0);
if (inputBitCount > 23)
{
diff --git a/chromium/third_party/angle/src/common/packed_gl_enums.json b/chromium/third_party/angle/src/common/packed_gl_enums.json
index 3c38c6e0241..1bdd50955b9 100644
--- a/chromium/third_party/angle/src/common/packed_gl_enums.json
+++ b/chromium/third_party/angle/src/common/packed_gl_enums.json
@@ -188,6 +188,7 @@
"External": "GL_TEXTURE_EXTERNAL_OES",
"Rectangle": "GL_TEXTURE_RECTANGLE_ANGLE",
"CubeMap": "GL_TEXTURE_CUBE_MAP",
+ "CubeMapArray": "GL_TEXTURE_CUBE_MAP_ARRAY",
"VideoImage": "GL_TEXTURE_VIDEO_IMAGE_WEBGL"
},
"TextureTarget":
@@ -205,6 +206,7 @@
"CubeMapNegativeY": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y",
"CubeMapPositiveZ": "GL_TEXTURE_CUBE_MAP_POSITIVE_Z",
"CubeMapNegativeZ": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z",
+ "CubeMapArray": "GL_TEXTURE_CUBE_MAP_ARRAY",
"VideoImage": "GL_TEXTURE_VIDEO_IMAGE_WEBGL"
},
"VertexArrayType":
diff --git a/chromium/third_party/angle/src/common/string_utils.cpp b/chromium/third_party/angle/src/common/string_utils.cpp
index a693e21cc5d..7fe3bfa41b0 100644
--- a/chromium/third_party/angle/src/common/string_utils.cpp
+++ b/chromium/third_party/angle/src/common/string_utils.cpp
@@ -18,6 +18,19 @@
#include "common/platform.h"
#include "common/system_utils.h"
+namespace
+{
+
+bool EndsWithSuffix(const char *str,
+ const size_t strLen,
+ const char *suffix,
+ const size_t suffixLen)
+{
+ return suffixLen <= strLen && strncmp(str + strLen - suffixLen, suffix, suffixLen) == 0;
+}
+
+} // anonymous namespace
+
namespace angle
{
@@ -178,15 +191,19 @@ bool BeginsWith(const std::string &str, const std::string &prefix, const size_t
return strncmp(str.c_str(), prefix.c_str(), prefixLength) == 0;
}
-bool EndsWith(const std::string &str, const char *suffix)
+bool EndsWith(const std::string &str, const std::string &suffix)
{
- const auto len = strlen(suffix);
- if (len > str.size())
- return false;
+ return EndsWithSuffix(str.c_str(), str.length(), suffix.c_str(), suffix.length());
+}
- const char *end = str.c_str() + str.size() - len;
+bool EndsWith(const std::string &str, const char *suffix)
+{
+ return EndsWithSuffix(str.c_str(), str.length(), suffix, strlen(suffix));
+}
- return memcmp(end, suffix, len) == 0;
+bool EndsWith(const char *str, const char *suffix)
+{
+ return EndsWithSuffix(str, strlen(str), suffix, strlen(suffix));
}
void ToLower(std::string *str)
diff --git a/chromium/third_party/angle/src/common/string_utils.h b/chromium/third_party/angle/src/common/string_utils.h
index 540a423dd89..0b9f8650c02 100644
--- a/chromium/third_party/angle/src/common/string_utils.h
+++ b/chromium/third_party/angle/src/common/string_utils.h
@@ -69,10 +69,19 @@ bool BeginsWith(const char *str, const char *prefix);
bool BeginsWith(const std::string &str, const std::string &prefix, const size_t prefixLength);
// Check if the string str ends with the given suffix.
-// Suffix may not be NUL and needs to be NULL terminated.
+// The comparison is case sensitive.
+bool EndsWith(const std::string &str, const std::string &suffix);
+
+// Check if the string str ends with the given suffix.
+// Suffix may not be NULL and needs to be NULL terminated.
// The comparison is case sensitive.
bool EndsWith(const std::string &str, const char *suffix);
+// Check if the string str ends with the given suffix.
+// str and suffix may not be NULL and need to be NULL terminated.
+// The comparison is case sensitive.
+bool EndsWith(const char *str, const char *suffix);
+
// Convert to lower-case.
void ToLower(std::string *str);
diff --git a/chromium/third_party/angle/src/common/string_utils_unittest.cpp b/chromium/third_party/angle/src/common/string_utils_unittest.cpp
index 04e4b1f5008..f45e78671d4 100644
--- a/chromium/third_party/angle/src/common/string_utils_unittest.cpp
+++ b/chromium/third_party/angle/src/common/string_utils_unittest.cpp
@@ -202,17 +202,68 @@ TEST_F(BeginsWithTest, Strings)
runTest();
}
-// Test that EndsWith works correctly.
-TEST(EndsWithTest, EndsWith)
+class EndsWithTest : public testing::Test
{
- ASSERT_FALSE(EndsWith("foo", "bar"));
- ASSERT_FALSE(EndsWith("", "bar"));
- ASSERT_FALSE(EndsWith("foo", "foobar"));
-
- ASSERT_TRUE(EndsWith("foobar", "bar"));
- ASSERT_TRUE(EndsWith("foobar", ""));
- ASSERT_TRUE(EndsWith("bar", "bar"));
- ASSERT_TRUE(EndsWith("", ""));
+ public:
+ EndsWithTest() : mMode(TestMode::CHAR_ARRAY) {}
+
+ enum class TestMode
+ {
+ CHAR_ARRAY,
+ STRING_AND_CHAR_ARRAY,
+ STRING
+ };
+
+ void setMode(TestMode mode) { mMode = mode; }
+
+ bool runEndsWith(const char *str, const char *suffix)
+ {
+ if (mMode == TestMode::CHAR_ARRAY)
+ {
+ return EndsWith(str, suffix);
+ }
+ if (mMode == TestMode::STRING_AND_CHAR_ARRAY)
+ {
+ return EndsWith(std::string(str), suffix);
+ }
+ return EndsWith(std::string(str), std::string(suffix));
+ }
+
+ void runTest()
+ {
+ ASSERT_FALSE(EndsWith("foo", "bar"));
+ ASSERT_FALSE(EndsWith("", "bar"));
+ ASSERT_FALSE(EndsWith("foo", "foobar"));
+
+ ASSERT_TRUE(EndsWith("foobar", "bar"));
+ ASSERT_TRUE(EndsWith("foobar", ""));
+ ASSERT_TRUE(EndsWith("bar", "bar"));
+ ASSERT_TRUE(EndsWith("", ""));
+ }
+
+ private:
+ TestMode mMode;
+};
+
+// Test that EndsWith works correctly for const char * arguments.
+TEST_F(EndsWithTest, CharArrays)
+{
+ setMode(TestMode::CHAR_ARRAY);
+ runTest();
+}
+
+// Test that EndsWith works correctly for std::string and const char * arguments.
+TEST_F(EndsWithTest, StringAndCharArray)
+{
+ setMode(TestMode::STRING_AND_CHAR_ARRAY);
+ runTest();
+}
+
+// Test that EndsWith works correctly for std::string arguments.
+TEST_F(EndsWithTest, Strings)
+{
+ setMode(TestMode::STRING);
+ runTest();
}
} // anonymous namespace
diff --git a/chromium/third_party/angle/src/common/third_party/base/anglebase/base_export.h b/chromium/third_party/angle/src/common/third_party/base/anglebase/base_export.h
index 1af54853368..426047a9927 100644
--- a/chromium/third_party/angle/src/common/third_party/base/anglebase/base_export.h
+++ b/chromium/third_party/angle/src/common/third_party/base/anglebase/base_export.h
@@ -10,4 +10,4 @@
#define ANGLEBASE_EXPORT
-#endif // ANGLEBASE_BASE_EXPORT_H_ \ No newline at end of file
+#endif // ANGLEBASE_BASE_EXPORT_H_
diff --git a/chromium/third_party/angle/src/common/third_party/base/anglebase/no_destructor.h b/chromium/third_party/angle/src/common/third_party/base/anglebase/no_destructor.h
index de9fc9bf7d0..5090dd9817a 100644
--- a/chromium/third_party/angle/src/common/third_party/base/anglebase/no_destructor.h
+++ b/chromium/third_party/angle/src/common/third_party/base/anglebase/no_destructor.h
@@ -103,4 +103,4 @@ class NoDestructor
} // namespace angle
-#endif // ANGLEBASE_NO_DESTRUCTOR_H_ \ No newline at end of file
+#endif // ANGLEBASE_NO_DESTRUCTOR_H_
diff --git a/chromium/third_party/angle/src/common/third_party/base/anglebase/sys_byteorder.h b/chromium/third_party/angle/src/common/third_party/base/anglebase/sys_byteorder.h
index 43d1777f26f..70d9c275e6c 100644
--- a/chromium/third_party/angle/src/common/third_party/base/anglebase/sys_byteorder.h
+++ b/chromium/third_party/angle/src/common/third_party/base/anglebase/sys_byteorder.h
@@ -46,4 +46,4 @@ inline uint64_t ByteSwap(uint64_t x)
} // namespace angle
-#endif // ANGLEBASE_SYS_BYTEORDER_H_ \ No newline at end of file
+#endif // ANGLEBASE_SYS_BYTEORDER_H_
diff --git a/chromium/third_party/angle/src/common/tls.cpp b/chromium/third_party/angle/src/common/tls.cpp
index 2e5443e8f65..a6c0d04414f 100644
--- a/chromium/third_party/angle/src/common/tls.cpp
+++ b/chromium/third_party/angle/src/common/tls.cpp
@@ -34,6 +34,8 @@ static vector<DWORD> freeTlsIndices;
#endif
+bool gUseAndroidOpenGLTlsSlot = false;
+
TLSIndex CreateTLSIndex()
{
TLSIndex index;
@@ -155,3 +157,10 @@ void *GetTLSValue(TLSIndex index)
return pthread_getspecific(index);
#endif
}
+
+void SetUseAndroidOpenGLTlsSlot(bool platformTypeVulkan)
+{
+#if defined(ANGLE_PLATFORM_ANDROID)
+ gUseAndroidOpenGLTlsSlot = platformTypeVulkan;
+#endif
+}
diff --git a/chromium/third_party/angle/src/common/tls.h b/chromium/third_party/angle/src/common/tls.h
index fbbe19914c5..1032d9ea7e1 100644
--- a/chromium/third_party/angle/src/common/tls.h
+++ b/chromium/third_party/angle/src/common/tls.h
@@ -9,8 +9,14 @@
#ifndef COMMON_TLS_H_
#define COMMON_TLS_H_
+#include "common/angleutils.h"
#include "common/platform.h"
+namespace gl
+{
+class Context;
+}
+
#ifdef ANGLE_PLATFORM_WINDOWS
// TLS does not exist for Windows Store and needs to be emulated
@@ -34,6 +40,84 @@ typedef pthread_key_t TLSIndex;
# error Unsupported platform.
#endif
+#if defined(ANGLE_PLATFORM_ANDROID)
+
+// The following ASM variant provides a much more performant store/retrieve interface
+// compared to those provided by the pthread library. These have been derived from code
+// in the bionic module of Android ->
+// https://cs.android.com/android/platform/superproject/+/master:bionic/libc/platform/bionic/tls.h;l=30
+
+# if defined(__aarch64__)
+# define ANGLE_ANDROID_GET_GL_TLS() \
+ ({ \
+ void **__val; \
+ __asm__("mrs %0, tpidr_el0" : "=r"(__val)); \
+ __val; \
+ })
+# elif defined(__arm__)
+# define ANGLE_ANDROID_GET_GL_TLS() \
+ ({ \
+ void **__val; \
+ __asm__("mrc p15, 0, %0, c13, c0, 3" : "=r"(__val)); \
+ __val; \
+ })
+# elif defined(__mips__)
+// On mips32r1, this goes via a kernel illegal instruction trap that's
+// optimized for v1
+# define ANGLE_ANDROID_GET_GL_TLS() \
+ ({ \
+ register void **__val asm("v1"); \
+ __asm__( \
+ ".set push\n" \
+ ".set mips32r2\n" \
+ "rdhwr %0,$29\n" \
+ ".set pop\n" \
+ : "=r"(__val)); \
+ __val; \
+ })
+# elif defined(__i386__)
+# define ANGLE_ANDROID_GET_GL_TLS() \
+ ({ \
+ void **__val; \
+ __asm__("movl %%gs:0, %0" : "=r"(__val)); \
+ __val; \
+ })
+# elif defined(__x86_64__)
+# define ANGLE_ANDROID_GET_GL_TLS() \
+ ({ \
+ void **__val; \
+ __asm__("mov %%fs:0, %0" : "=r"(__val)); \
+ __val; \
+ })
+# else
+# error unsupported architecture
+# endif
+
+#endif // ANGLE_PLATFORM_ANDROID
+
+// - TLS_SLOT_OPENGL and TLS_SLOT_OPENGL_API: These two aren't used by bionic
+// itself, but allow the graphics code to access TLS directly rather than
+// using the pthread API.
+//
+// Choose the TLS_SLOT_OPENGL TLS slot with the value that matches value in the header file in
+// bionic(tls_defines.h)
+constexpr TLSIndex kAndroidOpenGLTlsSlot = 3;
+
+extern bool gUseAndroidOpenGLTlsSlot;
+ANGLE_INLINE bool SetContextToAndroidOpenGLTLSSlot(gl::Context *value)
+{
+#if defined(ANGLE_PLATFORM_ANDROID)
+ if (gUseAndroidOpenGLTlsSlot)
+ {
+ ANGLE_ANDROID_GET_GL_TLS()[kAndroidOpenGLTlsSlot] = static_cast<void *>(value);
+ return true;
+ }
+#endif
+ return false;
+}
+
+void SetUseAndroidOpenGLTlsSlot(bool platformTypeVulkan);
+
// TODO(kbr): for POSIX platforms this will have to be changed to take
// in a destructor function pointer, to allow the thread-local storage
// to be properly deallocated upon thread exit.
diff --git a/chromium/third_party/angle/src/common/uniform_type_info_autogen.cpp b/chromium/third_party/angle/src/common/uniform_type_info_autogen.cpp
index 739233fcd98..76ef0e75df8 100644
--- a/chromium/third_party/angle/src/common/uniform_type_info_autogen.cpp
+++ b/chromium/third_party/angle/src/common/uniform_type_info_autogen.cpp
@@ -1,7 +1,7 @@
// GENERATED FILE - DO NOT EDIT.
// Generated by gen_uniform_type_table.py.
//
-// Copyright 2019 The ANGLE Project Authors. All rights reserved.
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
@@ -18,7 +18,7 @@ namespace gl
namespace
{
-constexpr std::array<UniformTypeInfo, 63> kInfoTable = {
+constexpr std::array<UniformTypeInfo, 70> kInfoTable = {
{{GL_NONE, GL_NONE, GL_NONE, GL_NONE, GL_NONE, SamplerFormat::InvalidEnum, 0, 0, 0, 0, 0 * 0,
0 * 0, false, false, false, ""},
{GL_BOOL, GL_BOOL, GL_NONE, GL_NONE, GL_NONE, SamplerFormat::InvalidEnum, 1, 1, 1,
@@ -65,6 +65,9 @@ constexpr std::array<UniformTypeInfo, 63> kInfoTable = {
{GL_IMAGE_CUBE, GL_INT, GL_TEXTURE_CUBE_MAP, GL_NONE, GL_NONE, SamplerFormat::InvalidEnum, 1,
1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, false, false, true,
"intBitsToFloat"},
+ {GL_IMAGE_CUBE_MAP_ARRAY, GL_INT, GL_TEXTURE_CUBE_MAP_ARRAY, GL_NONE, GL_NONE,
+ SamplerFormat::InvalidEnum, 1, 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1,
+ false, false, true, "intBitsToFloat"},
{GL_INT, GL_INT, GL_NONE, GL_NONE, GL_BOOL, SamplerFormat::InvalidEnum, 1, 1, 1, sizeof(GLint),
sizeof(GLint) * 4, sizeof(GLint) * 1, false, false, false, "intBitsToFloat"},
{GL_INT_IMAGE_2D, GL_INT, GL_TEXTURE_2D, GL_NONE, GL_NONE, SamplerFormat::InvalidEnum, 1, 1, 1,
@@ -77,6 +80,9 @@ constexpr std::array<UniformTypeInfo, 63> kInfoTable = {
{GL_INT_IMAGE_CUBE, GL_INT, GL_TEXTURE_CUBE_MAP, GL_NONE, GL_NONE, SamplerFormat::InvalidEnum,
1, 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, false, false, true,
"intBitsToFloat"},
+ {GL_INT_IMAGE_CUBE_MAP_ARRAY, GL_INT, GL_TEXTURE_CUBE_MAP_ARRAY, GL_NONE, GL_NONE,
+ SamplerFormat::InvalidEnum, 1, 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1,
+ false, false, true, "intBitsToFloat"},
{GL_INT_SAMPLER_2D, GL_INT, GL_TEXTURE_2D, GL_NONE, GL_NONE, SamplerFormat::Signed, 1, 1, 1,
sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true, false, false, "intBitsToFloat"},
{GL_INT_SAMPLER_2D_ARRAY, GL_INT, GL_TEXTURE_2D_ARRAY, GL_NONE, GL_NONE, SamplerFormat::Signed,
@@ -93,6 +99,9 @@ constexpr std::array<UniformTypeInfo, 63> kInfoTable = {
{GL_INT_SAMPLER_CUBE, GL_INT, GL_TEXTURE_CUBE_MAP, GL_NONE, GL_NONE, SamplerFormat::Signed, 1,
1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true, false, false,
"intBitsToFloat"},
+ {GL_INT_SAMPLER_CUBE_MAP_ARRAY, GL_INT, GL_TEXTURE_CUBE_MAP_ARRAY, GL_NONE, GL_NONE,
+ SamplerFormat::Signed, 1, 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true,
+ false, false, "intBitsToFloat"},
{GL_INT_VEC2, GL_INT, GL_NONE, GL_NONE, GL_BOOL_VEC2, SamplerFormat::InvalidEnum, 1, 2, 2,
sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 2, false, false, false, "intBitsToFloat"},
{GL_INT_VEC3, GL_INT, GL_NONE, GL_NONE, GL_BOOL_VEC3, SamplerFormat::InvalidEnum, 1, 3, 3,
@@ -121,9 +130,15 @@ constexpr std::array<UniformTypeInfo, 63> kInfoTable = {
sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true, false, false, "intBitsToFloat"},
{GL_SAMPLER_CUBE, GL_INT, GL_TEXTURE_CUBE_MAP, GL_NONE, GL_NONE, SamplerFormat::Float, 1, 1, 1,
sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true, false, false, "intBitsToFloat"},
+ {GL_SAMPLER_CUBE_MAP_ARRAY, GL_INT, GL_TEXTURE_CUBE_MAP_ARRAY, GL_NONE, GL_NONE,
+ SamplerFormat::Float, 1, 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true,
+ false, false, "intBitsToFloat"},
{GL_SAMPLER_CUBE_SHADOW, GL_INT, GL_TEXTURE_CUBE_MAP, GL_NONE, GL_NONE, SamplerFormat::Shadow,
1, 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true, false, false,
"intBitsToFloat"},
+ {GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW, GL_INT, GL_NONE, GL_NONE, GL_NONE, SamplerFormat::Shadow, 1,
+ 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true, false, false,
+ "intBitsToFloat"},
{GL_SAMPLER_EXTERNAL_OES, GL_INT, GL_TEXTURE_EXTERNAL_OES, GL_NONE, GL_NONE,
SamplerFormat::Float, 1, 1, 1, sizeof(GLint), sizeof(GLint) * 4, sizeof(GLint) * 1, true,
false, false, "intBitsToFloat"},
@@ -145,6 +160,9 @@ constexpr std::array<UniformTypeInfo, 63> kInfoTable = {
{GL_UNSIGNED_INT_IMAGE_CUBE, GL_UNSIGNED_INT, GL_TEXTURE_CUBE_MAP, GL_NONE, GL_NONE,
SamplerFormat::InvalidEnum, 1, 1, 1, sizeof(GLuint), sizeof(GLuint) * 4, sizeof(GLuint) * 1,
false, false, true, "uintBitsToFloat"},
+ {GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY, GL_UNSIGNED_INT, GL_TEXTURE_CUBE_MAP_ARRAY, GL_NONE,
+ GL_NONE, SamplerFormat::InvalidEnum, 1, 1, 1, sizeof(GLuint), sizeof(GLuint) * 4,
+ sizeof(GLuint) * 1, false, false, true, "uintBitsToFloat"},
{GL_UNSIGNED_INT_SAMPLER_2D, GL_UNSIGNED_INT, GL_TEXTURE_2D, GL_NONE, GL_NONE,
SamplerFormat::Unsigned, 1, 1, 1, sizeof(GLuint), sizeof(GLuint) * 4, sizeof(GLuint) * 1,
true, false, false, "uintBitsToFloat"},
@@ -164,6 +182,9 @@ constexpr std::array<UniformTypeInfo, 63> kInfoTable = {
{GL_UNSIGNED_INT_SAMPLER_CUBE, GL_UNSIGNED_INT, GL_TEXTURE_CUBE_MAP, GL_NONE, GL_NONE,
SamplerFormat::Unsigned, 1, 1, 1, sizeof(GLuint), sizeof(GLuint) * 4, sizeof(GLuint) * 1,
true, false, false, "uintBitsToFloat"},
+ {GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY, GL_UNSIGNED_INT, GL_TEXTURE_CUBE_MAP_ARRAY, GL_NONE,
+ GL_NONE, SamplerFormat::Unsigned, 1, 1, 1, sizeof(GLuint), sizeof(GLuint) * 4,
+ sizeof(GLuint) * 1, true, false, false, "uintBitsToFloat"},
{GL_UNSIGNED_INT_VEC2, GL_UNSIGNED_INT, GL_NONE, GL_NONE, GL_BOOL_VEC2,
SamplerFormat::InvalidEnum, 1, 2, 2, sizeof(GLuint), sizeof(GLuint) * 4, sizeof(GLuint) * 2,
false, false, false, "uintBitsToFloat"},
@@ -225,88 +246,102 @@ size_t GetTypeInfoIndex(GLenum uniformType)
return 20;
case GL_IMAGE_CUBE:
return 21;
- case GL_INT:
+ case GL_IMAGE_CUBE_MAP_ARRAY:
return 22;
- case GL_INT_IMAGE_2D:
+ case GL_INT:
return 23;
- case GL_INT_IMAGE_2D_ARRAY:
+ case GL_INT_IMAGE_2D:
return 24;
- case GL_INT_IMAGE_3D:
+ case GL_INT_IMAGE_2D_ARRAY:
return 25;
- case GL_INT_IMAGE_CUBE:
+ case GL_INT_IMAGE_3D:
return 26;
- case GL_INT_SAMPLER_2D:
+ case GL_INT_IMAGE_CUBE:
return 27;
- case GL_INT_SAMPLER_2D_ARRAY:
+ case GL_INT_IMAGE_CUBE_MAP_ARRAY:
return 28;
- case GL_INT_SAMPLER_2D_MULTISAMPLE:
+ case GL_INT_SAMPLER_2D:
return 29;
- case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_INT_SAMPLER_2D_ARRAY:
return 30;
- case GL_INT_SAMPLER_3D:
+ case GL_INT_SAMPLER_2D_MULTISAMPLE:
return 31;
- case GL_INT_SAMPLER_CUBE:
+ case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
return 32;
- case GL_INT_VEC2:
+ case GL_INT_SAMPLER_3D:
return 33;
- case GL_INT_VEC3:
+ case GL_INT_SAMPLER_CUBE:
return 34;
- case GL_INT_VEC4:
+ case GL_INT_SAMPLER_CUBE_MAP_ARRAY:
return 35;
- case GL_SAMPLER_2D:
+ case GL_INT_VEC2:
return 36;
- case GL_SAMPLER_2D_ARRAY:
+ case GL_INT_VEC3:
return 37;
- case GL_SAMPLER_2D_ARRAY_SHADOW:
+ case GL_INT_VEC4:
return 38;
- case GL_SAMPLER_2D_MULTISAMPLE:
+ case GL_SAMPLER_2D:
return 39;
- case GL_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_SAMPLER_2D_ARRAY:
return 40;
- case GL_SAMPLER_2D_RECT_ANGLE:
+ case GL_SAMPLER_2D_ARRAY_SHADOW:
return 41;
- case GL_SAMPLER_2D_SHADOW:
+ case GL_SAMPLER_2D_MULTISAMPLE:
return 42;
- case GL_SAMPLER_3D:
+ case GL_SAMPLER_2D_MULTISAMPLE_ARRAY:
return 43;
- case GL_SAMPLER_CUBE:
+ case GL_SAMPLER_2D_RECT_ANGLE:
return 44;
- case GL_SAMPLER_CUBE_SHADOW:
+ case GL_SAMPLER_2D_SHADOW:
return 45;
- case GL_SAMPLER_EXTERNAL_OES:
+ case GL_SAMPLER_3D:
return 46;
- case GL_UNSIGNED_INT:
+ case GL_SAMPLER_CUBE:
return 47;
- case GL_UNSIGNED_INT_ATOMIC_COUNTER:
+ case GL_SAMPLER_CUBE_MAP_ARRAY:
return 48;
- case GL_UNSIGNED_INT_IMAGE_2D:
+ case GL_SAMPLER_CUBE_SHADOW:
return 49;
- case GL_UNSIGNED_INT_IMAGE_2D_ARRAY:
+ case GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW:
return 50;
- case GL_UNSIGNED_INT_IMAGE_3D:
+ case GL_SAMPLER_EXTERNAL_OES:
return 51;
- case GL_UNSIGNED_INT_IMAGE_CUBE:
+ case GL_UNSIGNED_INT:
return 52;
- case GL_UNSIGNED_INT_SAMPLER_2D:
+ case GL_UNSIGNED_INT_ATOMIC_COUNTER:
return 53;
- case GL_UNSIGNED_INT_SAMPLER_2D_ARRAY:
+ case GL_UNSIGNED_INT_IMAGE_2D:
return 54;
- case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE:
+ case GL_UNSIGNED_INT_IMAGE_2D_ARRAY:
return 55;
- case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_UNSIGNED_INT_IMAGE_3D:
return 56;
- case GL_UNSIGNED_INT_SAMPLER_3D:
+ case GL_UNSIGNED_INT_IMAGE_CUBE:
return 57;
- case GL_UNSIGNED_INT_SAMPLER_CUBE:
+ case GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY:
return 58;
- case GL_UNSIGNED_INT_VEC2:
+ case GL_UNSIGNED_INT_SAMPLER_2D:
return 59;
- case GL_UNSIGNED_INT_VEC3:
+ case GL_UNSIGNED_INT_SAMPLER_2D_ARRAY:
return 60;
- case GL_UNSIGNED_INT_VEC4:
+ case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE:
return 61;
- case GL_SAMPLER_VIDEO_IMAGE_WEBGL:
+ case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
return 62;
+ case GL_UNSIGNED_INT_SAMPLER_3D:
+ return 63;
+ case GL_UNSIGNED_INT_SAMPLER_CUBE:
+ return 64;
+ case GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY:
+ return 65;
+ case GL_UNSIGNED_INT_VEC2:
+ return 66;
+ case GL_UNSIGNED_INT_VEC3:
+ return 67;
+ case GL_UNSIGNED_INT_VEC4:
+ return 68;
+ case GL_SAMPLER_VIDEO_IMAGE_WEBGL:
+ return 69;
default:
UNREACHABLE();
return 0;
diff --git a/chromium/third_party/angle/src/common/utilities.cpp b/chromium/third_party/angle/src/common/utilities.cpp
index e745806a4b3..bcaba611c39 100644
--- a/chromium/third_party/angle/src/common/utilities.cpp
+++ b/chromium/third_party/angle/src/common/utilities.cpp
@@ -7,7 +7,6 @@
// utilities.cpp: Conversion functions and other utility routines.
#include "common/utilities.h"
-#include <GLSLANG/ShaderVars.h>
#include "GLES3/gl3.h"
#include "common/mathutil.h"
#include "common/platform.h"
@@ -163,6 +162,9 @@ GLenum VariableComponentType(GLenum type)
case GL_IMAGE_CUBE:
case GL_INT_IMAGE_CUBE:
case GL_UNSIGNED_INT_IMAGE_CUBE:
+ case GL_IMAGE_CUBE_MAP_ARRAY:
+ case GL_INT_IMAGE_CUBE_MAP_ARRAY:
+ case GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY:
case GL_UNSIGNED_INT_ATOMIC_COUNTER:
case GL_SAMPLER_VIDEO_IMAGE_WEBGL:
return GL_INT;
@@ -313,21 +315,25 @@ int VariableRowCount(GLenum type)
case GL_SAMPLER_2D_RECT_ANGLE:
case GL_SAMPLER_2D_MULTISAMPLE:
case GL_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_SAMPLER_CUBE_MAP_ARRAY:
case GL_INT_SAMPLER_2D:
case GL_INT_SAMPLER_3D:
case GL_INT_SAMPLER_CUBE:
case GL_INT_SAMPLER_2D_ARRAY:
case GL_INT_SAMPLER_2D_MULTISAMPLE:
case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_INT_SAMPLER_CUBE_MAP_ARRAY:
case GL_UNSIGNED_INT_SAMPLER_2D:
case GL_UNSIGNED_INT_SAMPLER_3D:
case GL_UNSIGNED_INT_SAMPLER_CUBE:
case GL_UNSIGNED_INT_SAMPLER_2D_ARRAY:
case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE:
case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY:
case GL_SAMPLER_2D_SHADOW:
case GL_SAMPLER_CUBE_SHADOW:
case GL_SAMPLER_2D_ARRAY_SHADOW:
+ case GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW:
case GL_IMAGE_2D:
case GL_INT_IMAGE_2D:
case GL_UNSIGNED_INT_IMAGE_2D:
@@ -341,6 +347,9 @@ int VariableRowCount(GLenum type)
case GL_INT_IMAGE_CUBE:
case GL_UNSIGNED_INT_IMAGE_CUBE:
case GL_UNSIGNED_INT_ATOMIC_COUNTER:
+ case GL_IMAGE_CUBE_MAP_ARRAY:
+ case GL_INT_IMAGE_CUBE_MAP_ARRAY:
+ case GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY:
case GL_SAMPLER_VIDEO_IMAGE_WEBGL:
return 1;
case GL_FLOAT_MAT2:
@@ -378,12 +387,14 @@ int VariableColumnCount(GLenum type)
case GL_SAMPLER_2D_ARRAY:
case GL_SAMPLER_2D_MULTISAMPLE:
case GL_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_SAMPLER_CUBE_MAP_ARRAY:
case GL_INT_SAMPLER_2D:
case GL_INT_SAMPLER_3D:
case GL_INT_SAMPLER_CUBE:
case GL_INT_SAMPLER_2D_ARRAY:
case GL_INT_SAMPLER_2D_MULTISAMPLE:
case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_INT_SAMPLER_CUBE_MAP_ARRAY:
case GL_SAMPLER_EXTERNAL_OES:
case GL_SAMPLER_2D_RECT_ANGLE:
case GL_UNSIGNED_INT_SAMPLER_2D:
@@ -392,9 +403,11 @@ int VariableColumnCount(GLenum type)
case GL_UNSIGNED_INT_SAMPLER_2D_ARRAY:
case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE:
case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY:
case GL_SAMPLER_2D_SHADOW:
case GL_SAMPLER_CUBE_SHADOW:
case GL_SAMPLER_2D_ARRAY_SHADOW:
+ case GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW:
case GL_IMAGE_2D:
case GL_INT_IMAGE_2D:
case GL_UNSIGNED_INT_IMAGE_2D:
@@ -404,6 +417,9 @@ int VariableColumnCount(GLenum type)
case GL_IMAGE_2D_ARRAY:
case GL_INT_IMAGE_2D_ARRAY:
case GL_UNSIGNED_INT_IMAGE_2D_ARRAY:
+ case GL_IMAGE_CUBE_MAP_ARRAY:
+ case GL_INT_IMAGE_CUBE_MAP_ARRAY:
+ case GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY:
case GL_IMAGE_CUBE:
case GL_INT_IMAGE_CUBE:
case GL_UNSIGNED_INT_IMAGE_CUBE:
@@ -452,6 +468,7 @@ bool IsSamplerType(GLenum type)
case GL_SAMPLER_EXTERNAL_OES:
case GL_SAMPLER_2D_MULTISAMPLE:
case GL_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_SAMPLER_CUBE_MAP_ARRAY:
case GL_SAMPLER_2D_RECT_ANGLE:
case GL_INT_SAMPLER_2D:
case GL_INT_SAMPLER_3D:
@@ -459,15 +476,18 @@ bool IsSamplerType(GLenum type)
case GL_INT_SAMPLER_2D_ARRAY:
case GL_INT_SAMPLER_2D_MULTISAMPLE:
case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_INT_SAMPLER_CUBE_MAP_ARRAY:
case GL_UNSIGNED_INT_SAMPLER_2D:
case GL_UNSIGNED_INT_SAMPLER_3D:
case GL_UNSIGNED_INT_SAMPLER_CUBE:
case GL_UNSIGNED_INT_SAMPLER_2D_ARRAY:
case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE:
case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY:
+ case GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY:
case GL_SAMPLER_2D_SHADOW:
case GL_SAMPLER_CUBE_SHADOW:
case GL_SAMPLER_2D_ARRAY_SHADOW:
+ case GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW:
case GL_SAMPLER_VIDEO_IMAGE_WEBGL:
return true;
}
@@ -502,6 +522,9 @@ bool IsImageType(GLenum type)
case GL_IMAGE_2D_ARRAY:
case GL_INT_IMAGE_2D_ARRAY:
case GL_UNSIGNED_INT_IMAGE_2D_ARRAY:
+ case GL_IMAGE_CUBE_MAP_ARRAY:
+ case GL_INT_IMAGE_CUBE_MAP_ARRAY:
+ case GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY:
case GL_IMAGE_CUBE:
case GL_INT_IMAGE_CUBE:
case GL_UNSIGNED_INT_IMAGE_CUBE:
@@ -524,6 +547,9 @@ bool IsImage2DType(GLenum type)
case GL_IMAGE_2D_ARRAY:
case GL_INT_IMAGE_2D_ARRAY:
case GL_UNSIGNED_INT_IMAGE_2D_ARRAY:
+ case GL_IMAGE_CUBE_MAP_ARRAY:
+ case GL_INT_IMAGE_CUBE_MAP_ARRAY:
+ case GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY:
case GL_IMAGE_CUBE:
case GL_INT_IMAGE_CUBE:
case GL_UNSIGNED_INT_IMAGE_CUBE:
@@ -887,40 +913,6 @@ bool SamplerNameContainsNonZeroArrayElement(const std::string &name)
return false;
}
-const sh::ShaderVariable *FindShaderVarField(const sh::ShaderVariable &var,
- const std::string &fullName,
- GLuint *fieldIndexOut)
-{
- if (var.fields.empty())
- {
- return nullptr;
- }
- size_t pos = fullName.find_first_of(".");
- if (pos == std::string::npos)
- {
- return nullptr;
- }
- std::string topName = fullName.substr(0, pos);
- if (topName != var.name)
- {
- return nullptr;
- }
- std::string fieldName = fullName.substr(pos + 1);
- if (fieldName.empty())
- {
- return nullptr;
- }
- for (size_t field = 0; field < var.fields.size(); ++field)
- {
- if (var.fields[field].name == fieldName)
- {
- *fieldIndexOut = static_cast<GLuint>(field);
- return &var.fields[field];
- }
- }
- return nullptr;
-}
-
unsigned int ArraySizeProduct(const std::vector<unsigned int> &arraySizes)
{
unsigned int arraySizeProduct = 1u;
@@ -1189,6 +1181,8 @@ const char *GetGenericErrorMessage(EGLint error)
return "Bad match.";
case EGL_BAD_NATIVE_WINDOW:
return "Bad native window.";
+ case EGL_BAD_NATIVE_PIXMAP:
+ return "Bad native pixmap.";
case EGL_BAD_PARAMETER:
return "Bad parameter.";
case EGL_BAD_SURFACE:
diff --git a/chromium/third_party/angle/src/common/utilities.h b/chromium/third_party/angle/src/common/utilities.h
index 3db701c0b8d..a47c55ba1a9 100644
--- a/chromium/third_party/angle/src/common/utilities.h
+++ b/chromium/third_party/angle/src/common/utilities.h
@@ -66,12 +66,6 @@ std::string StripLastArrayIndex(const std::string &name);
bool SamplerNameContainsNonZeroArrayElement(const std::string &name);
-// Find the child field which matches 'fullName' == var.name + "." + field.name.
-// Return nullptr if not found.
-const sh::ShaderVariable *FindShaderVarField(const sh::ShaderVariable &var,
- const std::string &fullName,
- GLuint *fieldIndexOut);
-
// Find the range of index values in the provided indices pointer. Primitive restart indices are
// only counted in the range if primitive restart is disabled.
IndexRange ComputeIndexRange(DrawElementsType indexType,
@@ -228,6 +222,15 @@ const char *GetDebugMessageSourceString(GLenum source);
const char *GetDebugMessageTypeString(GLenum type);
const char *GetDebugMessageSeverityString(GLenum severity);
+// For use with EXT_texture_format_sRGB_override and EXT_texture_sRGB_decode
+// A texture may either have SRGB decoding forced on, or use whatever decode state is default for
+// the texture format.
+enum class SrgbOverride
+{
+ Default = 0,
+ Enabled
+};
+
} // namespace gl
namespace egl
diff --git a/chromium/third_party/angle/src/common/vulkan/BUILD.gn b/chromium/third_party/angle/src/common/vulkan/BUILD.gn
index 3ae8d5163cc..6b5b02f4c0d 100644
--- a/chromium/third_party/angle/src/common/vulkan/BUILD.gn
+++ b/chromium/third_party/angle/src/common/vulkan/BUILD.gn
@@ -7,6 +7,51 @@ import("../../../gni/angle.gni")
assert(angle_enable_vulkan)
+config("angle_vulkan_lib_android") {
+ if (is_android) {
+ libs = [ "vulkan" ]
+ }
+}
+
+config("angle_vulkan_headers_config") {
+ if (angle_shared_libvulkan) {
+ defines = [ "ANGLE_SHARED_LIBVULKAN=1" ]
+ }
+}
+
+angle_source_set("angle_vulkan_headers") {
+ sources = [
+ "vk_ext_provoking_vertex.h",
+ "vk_google_filtering_precision.h",
+ "vk_headers.h",
+ ]
+ if (angle_shared_libvulkan) {
+ public_deps = [ "$angle_root/src/third_party/volk:volk" ]
+ } else {
+ public_deps =
+ [ "$angle_root/third_party/vulkan-headers/src:vulkan_headers" ]
+ }
+ public_configs = [ ":angle_vulkan_headers_config" ]
+}
+
+group("angle_vulkan_entry_points") {
+ public_configs = [ ":angle_vulkan_lib_android" ]
+ public_deps = [ ":angle_vulkan_headers" ]
+ if (is_fuchsia) {
+ public_deps += [
+ "$angle_root/src/common/fuchsia_egl",
+ "//third_party/fuchsia-sdk:vulkan_base",
+ "//third_party/fuchsia-sdk/sdk/pkg/vulkan",
+ ]
+ } else if (!is_android && !is_ggp) {
+ if (angle_shared_libvulkan) {
+ data_deps = [ "$angle_root/third_party/vulkan-loader/src:libvulkan" ]
+ } else {
+ deps = [ "$angle_root/third_party/vulkan-loader/src:libvulkan" ]
+ }
+ }
+}
+
angle_source_set("vulkan") {
sources = [
"vulkan_icd.cpp",
@@ -14,8 +59,8 @@ angle_source_set("vulkan") {
]
public_deps = [
+ ":angle_vulkan_entry_points",
"$angle_root:angle_common",
- "$angle_root/src/libANGLE/renderer/vulkan:angle_vulkan_entry_points",
]
defines = [
@@ -35,18 +80,6 @@ angle_source_set("vulkan") {
data_deps += [ "$angle_root/third_party/vulkan-tools/src:VkICD_mock_icd" ]
}
- if (angle_enable_vulkan_validation_layers) {
- defines += [ "ANGLE_ENABLE_VULKAN_VALIDATION_LAYERS_BY_DEFAULT" ]
- if (is_fuchsia) {
- data_deps += [ "//third_party/fuchsia-sdk:vulkan_validation" ]
- } else {
- data_deps += [ "$angle_root/third_party/vulkan-validation-layers/src:vulkan_validation_layers" ]
- if (!is_android) {
- data_deps += [ "$angle_root/third_party/vulkan-validation-layers/src:vulkan_gen_json_files" ]
- }
- }
- }
-
if (angle_enable_swiftshader) {
import("$swiftshader_dir/src/Vulkan/vulkan.gni")
_sws_icd = "./$swiftshader_icd_file_name"
@@ -62,3 +95,15 @@ angle_source_set("vulkan") {
]
}
}
+
+group("vulkan_validation_layers") {
+ data_deps = []
+ if (is_fuchsia) {
+ data_deps += [ "//third_party/fuchsia-sdk:vulkan_validation" ]
+ } else {
+ data_deps += [ "$angle_root/third_party/vulkan-validation-layers/src:vulkan_validation_layers" ]
+ if (!is_android) {
+ data_deps += [ "$angle_root/third_party/vulkan-validation-layers/src:vulkan_gen_json_files" ]
+ }
+ }
+}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_ext_provoking_vertex.h b/chromium/third_party/angle/src/common/vulkan/vk_ext_provoking_vertex.h
index 809393ff2f3..01b439fc302 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_ext_provoking_vertex.h
+++ b/chromium/third_party/angle/src/common/vulkan/vk_ext_provoking_vertex.h
@@ -12,7 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "libANGLE/renderer/vulkan/vk_headers.h"
+#ifndef CUSTOM_VK_EXT_PROVOKING_VERTEX_H_
+#define CUSTOM_VK_EXT_PROVOKING_VERTEX_H_
+
+#include "vk_headers.h"
// THIS FILE SHOULD BE DELETED IF VK_EXT_provoking_vertex IS EVER ADDED TO THE VULKAN HEADERS
#ifdef VK_EXT_provoking_vertex
@@ -63,3 +66,5 @@ typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT
const void *pNext;
VkProvokingVertexModeEXT provokingVertexMode;
} VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
+
+#endif // CUSTOM_VK_EXT_PROVOKING_VERTEX_H_
diff --git a/chromium/third_party/angle/src/common/vulkan/vk_google_filtering_precision.h b/chromium/third_party/angle/src/common/vulkan/vk_google_filtering_precision.h
new file mode 100644
index 00000000000..934dc793c6c
--- /dev/null
+++ b/chromium/third_party/angle/src/common/vulkan/vk_google_filtering_precision.h
@@ -0,0 +1,57 @@
+// Copyright 2020 The SwiftShader Authors. All Rights Reserved.
+//
+// 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.
+
+#ifndef CUSTOM_VK_GOOGLE_SAMPLER_FILTERING_PRECISION_H_
+#define CUSTOM_VK_GOOGLE_SAMPLER_FILTERING_PRECISION_H_
+
+#include "vk_headers.h"
+
+// THIS FILE SHOULD BE DELETED IF VK_GOOGLE_sampler_filtering_precision IS EVER ADDED TO THE VULKAN
+// HEADERS
+#ifdef VK_GOOGLE_sampler_filtering_precision
+# error \
+ "VK_GOOGLE_sampler_filtering_precision is already defined in the Vulkan headers, you can delete this file"
+#endif
+
+static constexpr VkStructureType VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE =
+ static_cast<VkStructureType>(1000264000);
+
+#define VK_GOOGLE_sampler_filtering_precision 1
+#define VK_GOOGLE_SAMPLER_FILTERING_PRECISION_SPEC_VERSION 1
+#define VK_GOOGLE_SAMPLER_FILTERING_PRECISION_EXTENSION_NAME "VK_GOOGLE_sampler_filtering_precision"
+
+const int TEXTURE_FILTERING_HINT_CHROMIUM = 0x8AF0;
+
+typedef enum VkSamplerFilteringPrecisionModeGOOGLE
+{
+ VK_SAMPLER_FILTERING_PRECISION_MODE_LOW_GOOGLE = 0,
+ VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE = 1,
+ VK_SAMPLER_FILTERING_PRECISION_MODE_BEGIN_RANGE_GOOGLE =
+ VK_SAMPLER_FILTERING_PRECISION_MODE_LOW_GOOGLE,
+ VK_SAMPLER_FILTERING_PRECISION_MODE_END_RANGE_GOOGLE =
+ VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE,
+ VK_SAMPLER_FILTERING_PRECISION_MODE_RANGE_SIZE_GOOGLE =
+ (VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE -
+ VK_SAMPLER_FILTERING_PRECISION_MODE_LOW_GOOGLE + 1),
+ VK_SAMPLER_FILTERING_PRECISION_MODE_MAX_ENUM_GOOGLE = 0x7FFFFFFF
+} VkSamplerFilteringPrecisionModeGOOGLE;
+
+typedef struct VkSamplerFilteringPrecisionGOOGLE
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkSamplerFilteringPrecisionModeGOOGLE samplerFilteringPrecisionMode;
+} VkSamplerFilteringPrecisionGOOGLE;
+
+#endif // CUSTOM_VK_GOOGLE_SAMPLER_FILTERING_PRECISION_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_headers.h b/chromium/third_party/angle/src/common/vulkan/vk_headers.h
index 87316ec8c9c..87316ec8c9c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_headers.h
+++ b/chromium/third_party/angle/src/common/vulkan/vk_headers.h
diff --git a/chromium/third_party/angle/src/common/vulkan/vulkan_icd.cpp b/chromium/third_party/angle/src/common/vulkan/vulkan_icd.cpp
index bf56c7de6d9..b960575c479 100644
--- a/chromium/third_party/angle/src/common/vulkan/vulkan_icd.cpp
+++ b/chromium/third_party/angle/src/common/vulkan/vulkan_icd.cpp
@@ -15,6 +15,29 @@
#include "common/debug.h"
#include "common/system_utils.h"
+#include "common/vulkan/vk_ext_provoking_vertex.h"
+#include "common/vulkan/vk_google_filtering_precision.h"
+
+namespace
+{
+void ResetEnvironmentVar(const char *variableName, const Optional<std::string> &value)
+{
+ if (!value.valid())
+ {
+ return;
+ }
+
+ if (value.value().empty())
+ {
+ angle::UnsetEnvironmentVar(variableName);
+ }
+ else
+ {
+ angle::SetEnvironmentVar(variableName, value.value().c_str());
+ }
+}
+} // namespace
+
namespace angle
{
@@ -40,8 +63,9 @@ const std::string WrapICDEnvironment(const char *icdEnvironment)
constexpr char kLoaderLayersPathEnv[] = "VK_LAYER_PATH";
#endif
-constexpr char kLoaderICDFilenamesEnv[] = "VK_ICD_FILENAMES";
-constexpr char kANGLEPreferredDeviceEnv[] = "ANGLE_PREFERRED_DEVICE";
+constexpr char kLoaderICDFilenamesEnv[] = "VK_ICD_FILENAMES";
+constexpr char kANGLEPreferredDeviceEnv[] = "ANGLE_PREFERRED_DEVICE";
+constexpr char kValidationLayersCustomSTypeListEnv[] = "VK_LAYER_CUSTOM_STYPE_LIST";
constexpr uint32_t kMockVendorID = 0xba5eba11;
constexpr uint32_t kMockDeviceID = 0xf005ba11;
@@ -143,6 +167,12 @@ ScopedVkLoaderEnvironment::ScopedVkLoaderEnvironment(bool enableValidationLayers
ERR() << "Error setting environment for Vulkan layers init.";
mEnableValidationLayers = false;
}
+
+ if (!setCustomExtensionsEnvironment())
+ {
+ ERR() << "Error setting custom list for custom extensions for Vulkan layers init.";
+ mEnableValidationLayers = false;
+ }
}
#endif // !defined(ANGLE_PLATFORM_ANDROID)
}
@@ -158,15 +188,10 @@ ScopedVkLoaderEnvironment::~ScopedVkLoaderEnvironment()
}
if (mChangedICDEnv)
{
- if (mPreviousICDEnv.value().empty())
- {
- angle::UnsetEnvironmentVar(kLoaderICDFilenamesEnv);
- }
- else
- {
- angle::SetEnvironmentVar(kLoaderICDFilenamesEnv, mPreviousICDEnv.value().c_str());
- }
+ ResetEnvironmentVar(kLoaderICDFilenamesEnv, mPreviousICDEnv);
}
+
+ ResetEnvironmentVar(kValidationLayersCustomSTypeListEnv, mPreviousCustomExtensionsEnv);
}
bool ScopedVkLoaderEnvironment::setICDEnvironment(const char *icd)
@@ -183,6 +208,40 @@ bool ScopedVkLoaderEnvironment::setICDEnvironment(const char *icd)
return mChangedICDEnv;
}
+bool ScopedVkLoaderEnvironment::setCustomExtensionsEnvironment()
+{
+ struct CustomExtension
+ {
+ VkStructureType type;
+ size_t size;
+ };
+
+ CustomExtension customExtensions[] = {
+
+ {VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE,
+ sizeof(VkSamplerFilteringPrecisionGOOGLE)},
+
+ {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
+ sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT)},
+ };
+
+ mPreviousCustomExtensionsEnv = angle::GetEnvironmentVar(kValidationLayersCustomSTypeListEnv);
+
+ std::stringstream strstr;
+ for (CustomExtension &extension : customExtensions)
+ {
+ if (strstr.tellp() != std::streampos(0))
+ {
+ strstr << angle::GetPathSeparatorForEnvironmentVar();
+ }
+
+ strstr << extension.type << angle::GetPathSeparatorForEnvironmentVar() << extension.size;
+ }
+
+ return angle::PrependPathToEnvironmentVar(kValidationLayersCustomSTypeListEnv,
+ strstr.str().c_str());
+}
+
void ChoosePhysicalDevice(const std::vector<VkPhysicalDevice> &physicalDevices,
vk::ICD preferredICD,
VkPhysicalDevice *physicalDeviceOut,
diff --git a/chromium/third_party/angle/src/common/vulkan/vulkan_icd.h b/chromium/third_party/angle/src/common/vulkan/vulkan_icd.h
index f3631a3db0c..c612c15c6de 100644
--- a/chromium/third_party/angle/src/common/vulkan/vulkan_icd.h
+++ b/chromium/third_party/angle/src/common/vulkan/vulkan_icd.h
@@ -12,7 +12,7 @@
#include "common/Optional.h"
#include "common/angleutils.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
+#include "common/vulkan/vk_headers.h"
namespace angle
{
@@ -38,6 +38,7 @@ class ScopedVkLoaderEnvironment : angle::NonCopyable
private:
bool setICDEnvironment(const char *icd);
+ bool setCustomExtensionsEnvironment();
bool mEnableValidationLayers;
vk::ICD mICD;
@@ -45,6 +46,7 @@ class ScopedVkLoaderEnvironment : angle::NonCopyable
Optional<std::string> mPreviousCWD;
bool mChangedICDEnv;
Optional<std::string> mPreviousICDEnv;
+ Optional<std::string> mPreviousCustomExtensionsEnv;
};
void ChoosePhysicalDevice(const std::vector<VkPhysicalDevice> &physicalDevices,
diff --git a/chromium/third_party/angle/src/compiler/translator/CallDAG.cpp b/chromium/third_party/angle/src/compiler/translator/CallDAG.cpp
index 02b17c8ae51..5d47518eba0 100644
--- a/chromium/third_party/angle/src/compiler/translator/CallDAG.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/CallDAG.cpp
@@ -190,7 +190,7 @@ class CallDAG::CallDAGCreator : public TIntermTraverser
if (!function->definitionNode)
{
errorStream << "Undefined function '" << function->name
- << ")' used in the following call chain:";
+ << "()' used in the following call chain:";
result = INITDAG_UNDEFINED;
break;
}
diff --git a/chromium/third_party/angle/src/compiler/translator/Compiler.cpp b/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
index 9fa105bc0ac..ba58f9375a8 100644
--- a/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
@@ -1087,6 +1087,8 @@ void TCompiler::setResourceString()
<< ":ANGLE_multi_draw:" << mResources.ANGLE_multi_draw
<< ":ANGLE_base_vertex_base_instance:" << mResources.ANGLE_base_vertex_base_instance
<< ":APPLE_clip_distance:" << mResources.APPLE_clip_distance
+ << ":OES_texture_cube_map_array:" << mResources.OES_texture_cube_map_array
+ << ":EXT_texture_cube_map_array:" << mResources.EXT_texture_cube_map_array
<< ":MinProgramTextureGatherOffset:" << mResources.MinProgramTextureGatherOffset
<< ":MaxProgramTextureGatherOffset:" << mResources.MaxProgramTextureGatherOffset
<< ":MaxImageUnits:" << mResources.MaxImageUnits
diff --git a/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.cpp b/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.cpp
index 0c3425c008b..9edb8dc2d08 100644
--- a/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.cpp
@@ -38,7 +38,9 @@
OP(ANGLE_multi_draw) \
OP(ANGLE_base_vertex_base_instance) \
OP(WEBGL_video_texture) \
- OP(APPLE_clip_distance)
+ OP(APPLE_clip_distance) \
+ OP(OES_texture_cube_map_array) \
+ OP(EXT_texture_cube_map_array)
namespace sh
{
diff --git a/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.h b/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.h
index b0f854d54b2..15a01a2f949 100644
--- a/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.h
+++ b/chromium/third_party/angle/src/compiler/translator/ExtensionBehavior.h
@@ -9,12 +9,13 @@
#ifndef COMPILER_TRANSLATOR_EXTENSIONBEHAVIOR_H_
#define COMPILER_TRANSLATOR_EXTENSIONBEHAVIOR_H_
+#include <cstdint>
#include <map>
namespace sh
{
-enum class TExtension
+enum class TExtension : uint8_t
{
UNDEFINED, // Special value used to indicate no extension.
@@ -44,9 +45,11 @@ enum class TExtension
ANGLE_base_vertex_base_instance,
WEBGL_video_texture,
APPLE_clip_distance,
+ OES_texture_cube_map_array,
+ EXT_texture_cube_map_array,
};
-enum TBehavior
+enum TBehavior : uint8_t
{
EBhRequire,
EBhEnable,
diff --git a/chromium/third_party/angle/src/compiler/translator/HashNames.cpp b/chromium/third_party/angle/src/compiler/translator/HashNames.cpp
index 6e2eb6d8269..015bf3bb779 100644
--- a/chromium/third_party/angle/src/compiler/translator/HashNames.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/HashNames.cpp
@@ -36,6 +36,22 @@ ImmutableString HashName(const ImmutableString &name, ShHashFunction64 hashFunct
return hashedName;
}
+void AddToNameMapIfNotMapped(const ImmutableString &name,
+ const ImmutableString &hashedName,
+ NameMap *nameMap)
+{
+ if (nameMap)
+ {
+ NameMap::const_iterator it = nameMap->find(name.data());
+ if (it != nameMap->end())
+ {
+ // (How bout returning?)
+ return;
+ }
+ (*nameMap)[name.data()] = hashedName.data();
+ }
+}
+
} // anonymous namespace
ImmutableString HashName(const ImmutableString &name,
@@ -84,22 +100,14 @@ ImmutableString HashName(const ImmutableString &name,
}
ImmutableStringBuilder prefixedName(kUnhashedNamePrefix.length() + name.length());
prefixedName << kUnhashedNamePrefix << name;
- return prefixedName;
- }
- if (nameMap)
- {
- NameMap::const_iterator it = nameMap->find(name.data());
- if (it != nameMap->end())
- {
- // TODO(oetuaho): Would be nice if we didn't need to allocate a string here.
- return ImmutableString(it->second);
- }
+ ImmutableString res = prefixedName;
+ AddToNameMapIfNotMapped(name, res, nameMap);
+ return res;
}
+
+ // Has a hash function
ImmutableString hashedName = HashName(name, hashFunction);
- if (nameMap)
- {
- (*nameMap)[name.data()] = hashedName.data();
- }
+ AddToNameMapIfNotMapped(name, hashedName, nameMap);
return hashedName;
}
diff --git a/chromium/third_party/angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp b/chromium/third_party/angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp
index 38e16b91116..c96df627252 100644
--- a/chromium/third_party/angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp
@@ -24,129 +24,139 @@ std::ostream &operator<<(std::ostream &os, const sh::ImmutableString &str)
namespace
{
-constexpr int mangledkT1[] = {576, 1799, 1318, 442, 700, 1751, 1287, 678, 1525, 206,
- 1170, 550, 1470, 1009, 1178, 1566, 842, 605, 1223, 1577,
- 476, 175, 132, 18, 774, 1001, 217, 1124, 1447, 1736,
- 1792, 378, 1483, 993, 90, 1452, 902};
-constexpr int mangledkT2[] = {387, 1455, 891, 850, 1815, 915, 378, 591, 905, 1053,
- 906, 1369, 1680, 39, 406, 1514, 1170, 728, 206, 1497,
- 596, 667, 1461, 12, 25, 375, 1578, 1123, 322, 502,
- 62, 32, 1393, 1552, 1715, 947, 526};
+constexpr int mangledkT1[] = {1687, 1918, 1635, 89, 1810, 832, 422, 1932, 1379, 706,
+ 1114, 534, 457, 343, 605, 691, 62, 1004, 626, 1437,
+ 1528, 643, 320, 761, 1619, 653, 1176, 1843, 1558, 646,
+ 1281, 751, 996, 1673, 6, 389, 1399};
+constexpr int mangledkT2[] = {24, 908, 260, 250, 1791, 819, 1942, 1246, 344, 255,
+ 830, 1865, 1511, 411, 312, 236, 326, 828, 951, 441,
+ 1520, 422, 1792, 1138, 106, 1636, 763, 1503, 287, 149,
+ 856, 1312, 1508, 1052, 251, 1939, 897};
constexpr int mangledkG[] = {
- 0, 0, 0, 577, 0, 0, 0, 0, 0, 52, 0, 799, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 977, 0, 0, 797, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 262, 0, 1594, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1311, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 307, 0, 0, 0, 48, 0, 0, 0, 0, 104, 0, 1196, 1352, 0, 1056,
- 0, 253, 0, 824, 0, 0, 994, 0, 0, 808, 1366, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 1315, 0, 0, 148, 0, 0,
- 1699, 0, 0, 0, 1085, 0, 0, 0, 91, 0, 0, 0, 1123, 0, 0, 0,
- 1150, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 780, 196, 0,
- 0, 0, 0, 345, 1662, 0, 718, 895, 0, 1329, 1148, 0, 0, 1516, 926, 0,
- 0, 0, 0, 0, 0, 1581, 0, 0, 1408, 428, 0, 1312, 0, 1127, 544, 0,
- 0, 0, 0, 0, 0, 214, 716, 0, 0, 1182, 0, 0, 0, 330, 1138, 0,
- 0, 1781, 0, 0, 780, 636, 0, 157, 0, 0, 0, 0, 0, 0, 0, 1089,
- 0, 0, 436, 110, 0, 1572, 1494, 0, 0, 1595, 0, 0, 0, 709, 991, 0,
- 0, 0, 1355, 0, 1201, 1786, 0, 312, 235, 1386, 0, 0, 1582, 1448, 0, 1574,
- 620, 0, 0, 0, 0, 493, 7, 0, 952, 912, 0, 170, 0, 0, 0, 1564,
- 585, 0, 0, 0, 0, 0, 1481, 0, 278, 0, 535, 0, 0, 1634, 29, 611,
- 1486, 106, 0, 0, 1070, 0, 0, 0, 266, 0, 0, 1806, 0, 216, 0, 98,
- 676, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 105, 72, 0, 317, 133,
- 0, 0, 146, 354, 0, 677, 0, 110, 0, 1097, 0, 1674, 0, 0, 57, 0,
- 1574, 587, 0, 242, 188, 0, 196, 864, 1330, 735, 0, 339, 0, 739, 0, 58,
- 193, 0, 0, 165, 0, 823, 0, 128, 0, 0, 1077, 0, 0, 0, 0, 0,
- 0, 872, 1782, 1692, 0, 0, 664, 1270, 0, 1199, 0, 0, 61, 0, 0, 0,
- 662, 0, 489, 0, 1029, 0, 0, 0, 1333, 69, 466, 0, 0, 1360, 0, 0,
- 251, 153, 445, 173, 0, 1181, 0, 0, 325, 0, 0, 342, 391, 0, 901, 0,
- 707, 0, 0, 0, 0, 1272, 0, 490, 0, 0, 0, 0, 721, 0, 0, 0,
- 0, 1220, 1228, 811, 1359, 1353, 1262, 72, 0, 0, 683, 0, 1339, 0, 0, 0,
- 1343, 0, 717, 0, 0, 1723, 728, 0, 0, 0, 78, 533, 243, 0, 0, 1416,
- 363, 0, 0, 0, 426, 0, 514, 0, 1132, 501, 262, 0, 0, 42, 1647, 1775,
- 903, 803, 607, 0, 0, 905, 237, 0, 0, 309, 1164, 0, 0, 730, 1700, 0,
- 0, 0, 0, 0, 0, 234, 1663, 0, 0, 383, 1018, 0, 1665, 0, 0, 1252,
- 0, 0, 0, 785, 0, 346, 1420, 0, 0, 0, 0, 0, 0, 1755, 1334, 0,
- 990, 1230, 0, 1479, 927, 1760, 233, 852, 0, 712, 103, 1512, 436, 0, 0, 133,
- 0, 0, 0, 0, 0, 419, 1746, 193, 0, 0, 1280, 832, 744, 0, 0, 826,
- 0, 1600, 0, 963, 485, 238, 0, 217, 1374, 1715, 867, 0, 877, 569, 438, 599,
- 0, 0, 429, 920, 850, 0, 0, 0, 141, 0, 138, 0, 0, 0, 1513, 0,
- 0, 0, 0, 643, 0, 0, 1275, 0, 0, 1541, 1451, 0, 87, 0, 0, 0,
- 0, 0, 0, 179, 1089, 0, 0, 0, 0, 0, 0, 486, 0, 0, 313, 0,
- 339, 324, 1465, 0, 0, 390, 0, 0, 0, 767, 0, 0, 828, 377, 1779, 151,
- 0, 0, 1694, 0, 671, 0, 627, 1483, 0, 0, 631, 422, 0, 29, 0, 540,
- 1147, 0, 1461, 0, 1509, 262, 0, 0, 368, 1384, 1624, 1602, 876, 0, 820, 396,
- 844, 1671, 277, 0, 0, 1364, 0, 0, 0, 875, 0, 440, 0, 0, 0, 0,
- 232, 0, 0, 47, 295, 10, 0, 0, 0, 412, 311, 0, 1318, 76, 1064, 0,
- 0, 1386, 726, 0, 0, 1237, 0, 957, 986, 0, 771, 1508, 292, 0, 0, 291,
- 995, 394, 0, 0, 0, 0, 1363, 11, 867, 0, 534, 302, 124, 0, 0, 0,
- 1743, 0, 0, 104, 912, 272, 0, 0, 0, 0, 227, 0, 0, 0, 1579, 710,
- 1031, 0, 0, 0, 0, 901, 0, 483, 0, 390, 755, 474, 1270, 0, 305, 0,
- 559, 0, 352, 0, 0, 401, 0, 1348, 0, 840, 0, 108, 0, 0, 0, 794,
- 0, 441, 1049, 338, 0, 857, 0, 334, 272, 960, 0, 0, 461, 326, 856, 1246,
- 1607, 767, 381, 286, 0, 351, 0, 0, 0, 1309, 0, 150, 350, 0, 367, 708,
- 0, 0, 36, 0, 0, 1157, 1713, 559, 246, 484, 680, 149, 0, 0, 0, 329,
- 734, 0, 0, 1796, 137, 0, 56, 98, 0, 0, 656, 0, 655, 0, 0, 167,
- 0, 0, 177, 0, 1391, 0, 0, 0, 0, 719, 913, 1751, 642, 478, 1387, 0,
- 0, 1677, 612, 1120, 0, 482, 294, 753, 0, 882, 723, 13, 0, 1586, 616, 0,
- 1624, 918, 687, 1383, 0, 802, 923, 1781, 0, 0, 198, 1475, 90, 0, 0, 927,
- 0, 0, 0, 1454, 0, 791, 1180, 0, 1687, 1763, 80, 61, 1326, 0, 0, 0,
- 0, 870, 782, 0, 448, 1407, 713, 1080, 0, 0, 0, 880, 612, 0, 0, 1706,
- 834, 1073, 839, 0, 0, 38, 1653, 0, 1265, 0, 0, 662, 1613, 0, 0, 0,
- 1495, 1110, 19, 0, 0, 0, 968, 0, 0, 1375, 0, 1646, 1490, 0, 594, 671,
- 0, 622, 0, 83, 362, 164, 0, 0, 145, 198, 0, 0, 193, 0, 560, 700,
- 0, 0, 0, 1404, 906, 436, 0, 1314, 0, 1250, 0, 0, 1691, 0, 181, 0,
- 99, 1086, 0, 1601, 796, 346, 1494, 0, 0, 0, 490, 0, 1226, 0, 487, 1113,
- 165, 1429, 897, 0, 1674, 1030, 402, 0, 810, 841, 1490, 451, 701, 0, 0, 0,
- 1685, 138, 336, 0, 227, 0, 67, 0, 344, 0, 0, 817, 986, 663, 135, 725,
- 0, 199, 1155, 546, 1519, 0, 1438, 1223, 0, 277, 0, 0, 0, 0, 0, 0,
- 0, 542, 0, 1237, 0, 1205, 0, 0, 1294, 0, 0, 0, 0, 442, 0, 744,
- 906, 0, 0, 0, 749, 22, 915, 0, 1494, 706, 747, 0, 816, 0, 788, 331,
- 153, 1308, 922, 0, 264, 887, 219, 1039, 353, 477, 0, 0, 0, 1447, 0, 673,
- 1610, 29, 115, 1670, 0, 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, 230,
- 0, 1327, 0, 925, 0, 1366, 1558, 0, 0, 683, 0, 355, 326, 583, 346, 0,
- 1680, 1333, 0, 763, 1703, 752, 0, 97, 0, 1721, 0, 0, 607, 312, 0, 283,
- 372, 496, 605, 44, 0, 148, 329, 651, 0, 1198, 897, 139, 123, 63, 564, 0,
- 1471, 1670, 0, 0, 483, 335, 642, 0, 176, 0, 63, 1671, 544, 0, 1577, 119,
- 1557, 785, 436, 27, 134, 835, 1170, 0, 0, 0, 86, 0, 682, 397, 251, 64,
- 0, 59, 0, 529, 0, 879, 0, 0, 181, 1656, 39, 286, 1657, 0, 794, 1514,
- 555, 461, 642, 0, 398, 0, 0, 0, 29, 0, 0, 127, 1604, 0, 658, 0,
- 1266, 0, 222, 0, 0, 0, 190, 741, 185, 339, 615, 0, 0, 1657, 0, 1547,
- 0, 449, 0, 257, 0, 1019, 519, 1791, 366, 820, 734, 429, 0, 606, 1647, 634,
- 824, 618, 0, 105, 0, 114, 389, 462, 814, 0, 509, 0, 929, 779, 327, 717,
- 420, 1169, 1494, 0, 0, 513, 940, 1170, 185, 0, 913, 110, 0, 0, 13, 819,
- 668, 1569, 1739, 1086, 36, 0, 1320, 0, 0, 1378, 0, 0, 1072, 397, 0, 0,
- 49, 0, 0, 624, 0, 1523, 0, 805, 1237, 1770, 827, 0, 616, 0, 405, 0,
- 0, 0, 1685, 1351, 0, 778, 463, 944, 1255, 0, 413, 0, 0, 0, 660, 1008,
- 0, 0, 1401, 522, 0, 14, 0, 1510, 0, 1139, 608, 1607, 585, 0, 0, 0,
- 240, 297, 692, 220, 1434, 59, 518, 70, 152, 403, 506, 224, 0, 0, 369, 0,
- 801, 740, 0, 1701, 0, 0, 1599, 0, 0, 0, 0, 709, 275, 322, 0, 0,
- 805, 0, 281, 298, 60, 0, 0, 282, 705, 0, 0, 0, 1782, 1148, 952, 0,
- 451, 486, 152, 0, 0, 0, 0, 194, 552, 54, 0, 110, 5, 1457, 0, 861,
- 1311, 0, 34, 1424, 107, 0, 0, 137, 324, 248, 736, 1751, 644, 1330, 594, 1088,
- 1375, 0, 0, 1114, 102, 0, 0, 0, 0, 304, 0, 1050, 0, 0, 0, 632,
- 0, 32, 0, 321, 576, 0, 215, 933, 0, 604, 0, 0, 0, 1650, 0, 0,
- 1404, 480, 77, 0, 0, 1173, 743, 271, 0, 0, 805, 1481, 501, 1053, 580, 0,
- 0, 0, 746, 0, 1508, 1247, 1496, 0, 0, 289, 525, 176, 0, 0, 902, 0,
- 184, 0, 1327, 0, 7, 581, 1163, 951, 161, 0, 229, 243, 795, 0, 437, 290,
- 0, 427, 248, 350, 409, 0, 556, 0, 128, 93, 238, 347, 332, 0, 472, 551,
- 792, 728, 0, 208, 460, 0, 356, 0, 434, 231, 1458, 1246, 0, 739, 941, 1745,
- 1801, 1555, 1390, 0, 714, 358, 400, 173, 523, 1176, 660, 325, 488, 953, 0, 0,
- 1388, 574, 0, 0, 215, 459, 606, 1757, 571, 373, 201, 0, 0, 423, 77, 0,
- 608, 207, 0, 706, 0, 0, 0, 0, 983, 0, 0, 0, 1011, 1266, 343, 0,
- 0, 0, 847, 1137, 10, 531, 995, 0, 0, 391, 0, 1784, 0, 528, 222, 863,
- 885, 0, 1779, 0, 1642, 977, 0, 0, 489, 628, 805, 0, 404, 127, 268, 0,
- 0, 242, 0, 0, 0, 1750, 293, 663, 861, 528, 0, 0, 0, 1104, 685, 314,
- 262, 781, 1359, 666, 1370, 1656, 219, 1100, 1675, 920, 512, 802, 1258, 1601, 1721, 780,
- 0, 0, 689, 1765, 947, 1507, 1540, 0, 0, 831, 1609, 385, 0, 1776, 844, 1601,
- 0, 2, 939, 657, 0, 0, 247, 436, 1136, 205, 1200, 471, 98, 889, 166, 47,
- 1627, 659, 407, 676, 851, 985, 830, 106, 1076, 1090, 0, 1810, 0, 672, 32, 1351,
- 1387, 1446, 390, 586, 0, 202, 585, 687, 205, 0, 746, 1212, 97, 130, 1218, 498,
- 0, 0, 911, 584, 409, 416, 0, 0, 0, 1412, 511, 480, 81, 1061, 0, 803,
- 75, 0, 0, 859, 0, 434, 504, 0, 0, 267, 852, 990, 1679, 1265, 0, 122,
- 0, 0, 789, 0, 111, 0, 0, 0, 674, 0, 0, 0, 1763, 0, 0, 615,
- 0, 0, 85, 754, 0, 574, 1220, 1262, 0, 353, 0, 753, 0, 1542, 0, 614,
- 978, 166, 1728, 0, 0, 290, 0, 0, 508, 1316, 383, 0, 17, 1452, 832, 478,
- 0, 1574, 913, 73, 0, 0, 1323, 0, 53, 1656, 0, 0, 0, 315, 0, 0,
- 0, 0, 446, 0, 0, 0, 614, 331, 1486, 0, 1315};
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 1354,
+ 0, 0, 0, 0, 0, 0, 1121, 0, 1738, 0, 1207, 0, 0, 0, 0, 1720,
+ 0, 0, 1097, 0, 0, 0, 0, 0, 0, 0, 1859, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1604, 0, 0, 0, 215, 0, 1963, 0, 0, 1397, 0, 52, 0,
+ 0, 0, 0, 0, 0, 1606, 0, 0, 0, 0, 350, 0, 1235, 212, 0, 0,
+ 0, 0, 0, 0, 1595, 0, 0, 602, 16, 0, 713, 1126, 0, 0, 0, 0,
+ 0, 1739, 0, 0, 474, 0, 0, 1520, 0, 1856, 0, 0, 0, 0, 0, 0,
+ 1572, 0, 0, 0, 0, 1368, 0, 119, 0, 1818, 0, 797, 0, 0, 0, 0,
+ 0, 0, 0, 824, 0, 0, 0, 0, 0, 0, 1667, 0, 0, 1956, 0, 149,
+ 0, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423,
+ 0, 0, 1315, 1801, 0, 0, 969, 0, 0, 0, 0, 229, 0, 831, 0, 190,
+ 0, 0, 0, 0, 640, 0, 0, 0, 0, 0, 0, 1928, 59, 720, 897, 0,
+ 0, 0, 552, 0, 0, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 693, 0,
+ 0, 0, 922, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 1044, 1407, 0,
+ 0, 54, 0, 0, 697, 0, 630, 980, 300, 0, 450, 693, 0, 0, 0, 0,
+ 0, 0, 769, 0, 11, 0, 1728, 0, 0, 1591, 723, 0, 1508, 1928, 0, 0,
+ 154, 0, 1088, 0, 1573, 0, 0, 0, 0, 98, 0, 708, 0, 0, 207, 1198,
+ 0, 0, 0, 1649, 404, 0, 0, 0, 0, 0, 267, 0, 242, 130, 0, 0,
+ 99, 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 949,
+ 0, 0, 112, 959, 536, 695, 1237, 0, 0, 179, 1911, 0, 0, 0, 0, 1812,
+ 0, 0, 0, 0, 0, 816, 532, 624, 0, 0, 0, 0, 0, 0, 810, 0,
+ 0, 973, 1068, 0, 0, 0, 127, 0, 0, 1201, 0, 1866, 0, 0, 0, 0,
+ 628, 0, 0, 0, 0, 1910, 0, 1976, 835, 0, 405, 0, 0, 1220, 0, 1923,
+ 305, 0, 0, 0, 955, 851, 0, 0, 0, 997, 0, 0, 0, 0, 1680, 395,
+ 2, 0, 969, 668, 1411, 1876, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 873, 0, 0, 701, 0, 0, 525, 998, 1713, 0, 0, 537, 0, 0, 0,
+ 0, 0, 0, 0, 1571, 0, 327, 0, 0, 1409, 1757, 0, 647, 1681, 0, 1861,
+ 0, 0, 78, 0, 306, 523, 23, 1412, 1225, 223, 0, 0, 75, 0, 948, 0,
+ 167, 1394, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 332, 1156, 130, 0,
+ 0, 370, 282, 0, 0, 420, 0, 297, 553, 0, 0, 0, 777, 0, 0, 9,
+ 192, 537, 1909, 1153, 67, 0, 1881, 823, 0, 0, 10, 0, 603, 0, 187, 0,
+ 0, 1604, 798, 827, 1474, 1302, 0, 1349, 893, 0, 1700, 1194, 0, 1444, 0, 0,
+ 458, 680, 973, 0, 0, 0, 1195, 0, 0, 0, 220, 1053, 100, 731, 1797, 0,
+ 0, 0, 680, 0, 215, 0, 1580, 470, 0, 0, 177, 685, 0, 0, 52, 0,
+ 1783, 1547, 11, 446, 0, 523, 0, 0, 0, 1650, 787, 0, 1965, 0, 744, 0,
+ 0, 0, 126, 0, 30, 0, 0, 0, 0, 1364, 0, 156, 1580, 1320, 0, 333,
+ 0, 0, 0, 0, 0, 0, 699, 0, 990, 368, 1812, 0, 105, 0, 0, 148,
+ 0, 0, 0, 759, 0, 310, 0, 0, 0, 0, 0, 0, 0, 1894, 697, 137,
+ 211, 913, 328, 861, 1462, 0, 0, 885, 0, 0, 438, 0, 739, 1328, 647, 1898,
+ 0, 268, 0, 0, 0, 731, 0, 1349, 1872, 0, 0, 0, 205, 0, 0, 0,
+ 0, 0, 1030, 562, 0, 297, 0, 629, 835, 921, 0, 0, 344, 1740, 0, 0,
+ 495, 0, 371, 0, 283, 457, 908, 361, 0, 1806, 1411, 863, 0, 0, 796, 146,
+ 0, 0, 1590, 0, 0, 0, 1832, 0, 0, 0, 904, 901, 81, 938, 0, 896,
+ 903, 1408, 17, 918, 0, 1827, 0, 1737, 0, 0, 1190, 0, 0, 0, 0, 0,
+ 0, 1744, 0, 514, 666, 674, 0, 0, 881, 90, 1423, 515, 473, 910, 0, 0,
+ 1134, 0, 425, 0, 609, 189, 682, 0, 1699, 0, 628, 156, 0, 0, 0, 0,
+ 1124, 0, 0, 0, 1895, 419, 0, 0, 1767, 0, 101, 0, 0, 0, 425, 749,
+ 127, 1690, 0, 1900, 0, 533, 1100, 0, 1879, 0, 0, 655, 0, 116, 0, 1734,
+ 1051, 0, 521, 0, 0, 1730, 0, 1449, 0, 0, 0, 0, 1903, 0, 0, 311,
+ 1006, 0, 0, 1576, 551, 142, 0, 677, 1364, 1515, 0, 0, 0, 0, 0, 1725,
+ 1469, 0, 0, 351, 0, 0, 0, 793, 0, 0, 541, 1934, 636, 1010, 0, 1370,
+ 0, 0, 0, 618, 1334, 1839, 0, 1002, 0, 431, 1440, 635, 0, 920, 0, 0,
+ 0, 403, 0, 1945, 0, 74, 0, 0, 0, 1466, 1095, 0, 981, 0, 0, 0,
+ 262, 0, 0, 1495, 0, 0, 0, 0, 1534, 1933, 0, 46, 0, 0, 0, 1393,
+ 398, 1105, 0, 735, 371, 115, 39, 613, 255, 0, 1906, 0, 0, 0, 1844, 946,
+ 242, 0, 0, 129, 0, 1856, 1145, 1186, 0, 939, 1693, 0, 1581, 0, 1961, 0,
+ 65, 139, 984, 1401, 0, 0, 1576, 142, 1937, 0, 0, 987, 130, 889, 0, 347,
+ 975, 1463, 0, 456, 1825, 1232, 103, 647, 1609, 0, 0, 0, 123, 267, 642, 0,
+ 718, 0, 893, 0, 0, 1198, 602, 285, 1670, 105, 0, 0, 1247, 0, 872, 0,
+ 113, 236, 0, 1227, 1217, 0, 0, 391, 0, 1959, 729, 700, 0, 1011, 0, 0,
+ 0, 315, 283, 1897, 238, 0, 598, 687, 0, 0, 857, 0, 0, 637, 139, 0,
+ 0, 0, 980, 695, 106, 0, 373, 269, 0, 774, 757, 0, 0, 1022, 0, 746,
+ 1802, 2, 509, 0, 454, 0, 0, 934, 1615, 0, 0, 77, 0, 355, 0, 1518,
+ 1138, 1333, 0, 0, 0, 0, 0, 0, 471, 441, 0, 396, 0, 682, 246, 894,
+ 0, 1784, 1647, 677, 0, 847, 0, 0, 0, 0, 0, 0, 327, 0, 203, 1171,
+ 266, 1459, 919, 1091, 1126, 515, 0, 1656, 469, 183, 0, 1797, 0, 809, 0, 1523,
+ 71, 0, 1387, 0, 347, 0, 539, 301, 56, 110, 21, 1776, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 274, 0, 298, 1875, 0, 1362, 448, 0, 1052, 1964, 0,
+ 0, 678, 0, 0, 501, 0, 0, 765, 923, 0, 539, 410, 885, 0, 261, 1240,
+ 0, 446, 339, 876, 0, 616, 1186, 0, 1454, 0, 0, 876, 653, 87, 78, 406,
+ 938, 1335, 0, 0, 6, 0, 0, 0, 1594, 0, 1072, 83, 0, 0, 0, 0,
+ 0, 1152, 0, 995, 0, 346, 0, 366, 305, 1274, 0, 163, 0, 0, 1756, 0,
+ 363, 234, 0, 280, 0, 0, 1660, 897, 0, 125, 1548, 312, 1290, 907, 0, 80,
+ 0, 714, 161, 0, 0, 264, 0, 0, 0, 534, 0, 216, 0, 0, 0, 638,
+ 0, 49, 0, 803, 0, 1441, 0, 475, 0, 0, 137, 1965, 1181, 0, 883, 0,
+ 501, 13, 1693, 0, 924, 0, 0, 0, 536, 248, 0, 672, 0, 0, 513, 908,
+ 1045, 0, 142, 374, 128, 0, 210, 1580, 833, 1602, 278, 660, 0, 0, 303, 0,
+ 1569, 0, 0, 200, 0, 0, 1085, 0, 0, 0, 1896, 0, 1929, 0, 0, 451,
+ 791, 0, 147, 412, 1221, 0, 970, 410, 0, 50, 13, 939, 93, 0, 774, 90,
+ 0, 0, 820, 71, 987, 948, 0, 1779, 0, 1318, 475, 1759, 0, 0, 0, 104,
+ 0, 0, 467, 12, 1410, 0, 909, 723, 143, 1853, 1481, 0, 773, 0, 107, 0,
+ 491, 656, 0, 0, 0, 1778, 1468, 630, 0, 316, 0, 1866, 0, 1139, 919, 1848,
+ 0, 1296, 4, 0, 0, 0, 633, 987, 0, 0, 0, 683, 133, 0, 728, 997,
+ 190, 230, 1861, 0, 585, 634, 0, 1326, 895, 1335, 0, 0, 0, 422, 667, 221,
+ 79, 1937, 0, 0, 457, 845, 1736, 500, 903, 498, 370, 1635, 1409, 9, 15, 0,
+ 0, 522, 0, 518, 118, 841, 417, 0, 929, 827, 802, 0, 0, 0, 184, 1639,
+ 0, 0, 1731, 261, 0, 0, 0, 886, 454, 0, 1742, 3, 0, 0, 111, 0,
+ 0, 0, 552, 0, 0, 376, 966, 0, 0, 516, 254, 900, 0, 0, 0, 0,
+ 499, 0, 0, 0, 889, 705, 0, 0, 255, 0, 0, 1907, 0, 1898, 0, 814,
+ 0, 605, 0, 412, 222, 790, 335, 0, 0, 142, 794, 0, 0, 972, 0, 0,
+ 628, 0, 109, 1553, 1153, 335, 748, 1512, 892, 1355, 1943, 801, 115, 0, 934, 228,
+ 428, 0, 0, 0, 255, 0, 1865, 1531, 0, 0, 0, 0, 962, 979, 1268, 237,
+ 108, 673, 0, 1560, 0, 0, 712, 1749, 0, 651, 289, 0, 108, 0, 157, 1623,
+ 0, 120, 77, 990, 1706, 350, 567, 1837, 1488, 0, 169, 1498, 0, 630, 217, 200,
+ 0, 0, 1818, 0, 0, 0, 0, 0, 0, 270, 1599, 632, 1505, 172, 963, 546,
+ 0, 613, 929, 0, 0, 214, 1539, 0, 82, 1768, 482, 0, 0, 1957, 0, 96,
+ 970, 398, 797, 688, 0, 723, 1379, 952, 661, 0, 1897, 0, 1675, 348, 0, 0,
+ 0, 1027, 0, 0, 0, 0, 865, 1550, 1452, 0, 537, 0, 64, 0, 965, 408,
+ 1303, 1236, 871, 0, 0, 27, 0, 0, 436, 493, 1723, 577, 1555, 0, 1868, 0,
+ 400, 0, 0, 0, 0, 0, 0, 597, 303, 745, 790, 629, 1482, 1010, 737, 0,
+ 0, 0, 0, 0, 0, 0, 949, 63, 1460, 753, 0, 0, 0, 435, 326, 0,
+ 130, 0, 82, 703, 0, 1759, 826, 0, 0, 0, 0, 1889, 0, 114, 607, 390,
+ 506, 0, 557, 1799, 921, 560, 5, 1109, 0, 430, 529, 0, 350, 573, 1399, 0,
+ 1050, 592, 0, 0, 118, 446, 830, 1365, 501, 1289, 376, 232, 0, 90, 1956, 0,
+ 723, 123, 0, 166, 609, 744, 0, 0, 0, 0, 956, 62, 0, 302, 530, 288,
+ 0, 727, 0, 1023, 0, 1388, 1335, 0, 0, 880, 496, 315, 1521, 478, 667, 898,
+ 86, 1735, 0, 1683, 178, 566, 1495, 27, 0, 0, 0, 0, 245, 266, 394, 73,
+ 0, 780, 280, 577, 0, 1902, 631, 0, 1922, 60, 358, 0, 0, 836, 0, 937,
+ 0, 75, 0, 526, 698, 0, 742, 1253, 0, 302, 1938, 506, 0, 862, 41, 0,
+ 0, 0, 746, 102, 696, 0, 0, 473, 159, 161, 1885, 0, 15, 1035, 0, 275,
+ 0, 301, 19, 0, 762, 0, 563, 286, 1117, 0, 1944, 184, 0, 1175, 760, 0,
+ 0, 1737, 0, 86, 1429, 1594, 1868, 440, 560, 1114, 0, 521, 0, 599, 808, 0,
+ 0, 1229, 331, 0, 316, 649, 492, 514, 425, 0, 563, 870, 479, 684, 549, 0,
+ 1736, 976, 595, 786, 0, 0, 63, 0, 929, 664, 0, 0, 98, 0, 819, 590,
+ 0, 1612, 0, 1444, 0, 0, 184, 297, 882, 1322, 702, 219, 1053, 247, 0, 393,
+ 1705, 41, 874, 231, 0, 55, 236, 0, 411, 0, 0, 539, 0, 0, 0, 620,
+ 878, 942, 329, 1729, 0, 782, 558, 0, 87, 0, 1844, 719, 0, 0, 0, 1261,
+ 0, 0, 0, 234, 0, 0, 109, 351, 0, 0, 187, 0, 0, 1944, 852, 0,
+ 1703, 68, 958, 5, 296, 0, 1809, 0, 427, 0, 1731, 1757, 0, 357, 1876, 697,
+ 174, 0, 51, 0, 0, 0, 30, 0, 0, 0, 0, 415, 824, 1251, 0, 1648,
+ 675, 389, 0, 597, 0, 724, 0, 0, 0, 0, 252, 923, 408, 0, 296, 1143,
+ 0, 148, 1573, 0, 384, 893, 0, 772, 1843, 0, 375, 232, 882, 0, 619, 0,
+ 690, 0, 1374, 516, 356, 0, 1889, 0, 2, 0, 0, 0, 0, 492, 86, 3,
+ 0, 953, 1190, 0, 307, 433, 0, 0, 1104};
int MangledHashG(const char *key, const int *T)
{
@@ -155,7 +165,7 @@ int MangledHashG(const char *key, const int *T)
for (int i = 0; key[i] != '\0'; i++)
{
sum += T[i] * key[i];
- sum %= 1819;
+ sum %= 1977;
}
return mangledkG[sum];
}
@@ -165,30 +175,29 @@ int MangledPerfectHash(const char *key)
if (strlen(key) > 37)
return 0;
- return (MangledHashG(key, mangledkT1) + MangledHashG(key, mangledkT2)) % 1819;
+ return (MangledHashG(key, mangledkT1) + MangledHashG(key, mangledkT2)) % 1977;
}
-constexpr int unmangledkT1[] = {293, 75, 40, 95, 74, 289, 163, 32, 196, 213, 151, 250, 270,
- 222, 33, 225, 68, 121, 96, 188, 267, 106, 137, 167, 63, 225};
-constexpr int unmangledkT2[] = {282, 168, 232, 116, 146, 41, 230, 239, 190, 13, 17, 153, 163,
- 115, 101, 5, 235, 257, 66, 70, 287, 264, 162, 100, 294, 5};
+constexpr int unmangledkT1[] = {163, 200, 23, 188, 228, 164, 235, 223, 155, 227, 190, 135, 61,
+ 36, 102, 226, 161, 44, 69, 138, 105, 177, 44, 180, 41, 256};
+constexpr int unmangledkT2[] = {185, 17, 279, 66, 39, 191, 246, 40, 267, 239, 253, 57, 237,
+ 78, 238, 45, 82, 49, 8, 23, 206, 264, 108, 23, 272, 147};
constexpr int unmangledkG[] = {
- 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 55, 0, 0, 0, 240, 0, 27, 192, 0,
- 0, 135, 7, 53, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 145, 74,
- 0, 258, 13, 0, 0, 200, 0, 0, 0, 71, 116, 0, 53, 0, 48, 222, 0, 185, 0,
- 135, 0, 24, 262, 0, 24, 242, 0, 0, 0, 195, 0, 39, 8, 99, 152, 0, 0, 4,
- 0, 0, 0, 94, 97, 0, 0, 32, 0, 242, 67, 0, 3, 0, 100, 0, 0, 0, 13,
- 101, 0, 46, 0, 0, 105, 0, 0, 0, 0, 96, 0, 110, 228, 0, 52, 269, 0, 0,
- 0, 0, 0, 6, 0, 0, 109, 131, 0, 0, 0, 93, 283, 251, 189, 0, 111, 0, 0,
- 0, 65, 24, 236, 154, 0, 132, 204, 0, 207, 0, 0, 0, 0, 0, 87, 74, 60, 142,
- 137, 69, 0, 0, 0, 75, 0, 0, 88, 0, 124, 51, 56, 0, 113, 0, 0, 0, 46,
- 0, 0, 221, 0, 58, 278, 257, 0, 0, 0, 271, 149, 91, 0, 224, 95, 152, 0, 0,
- 81, 49, 198, 121, 74, 0, 0, 0, 0, 0, 94, 247, 41, 0, 0, 0, 10, 140, 0,
- 0, 0, 119, 25, 0, 106, 0, 195, 115, 35, 0, 162, 0, 81, 0, 23, 76, 0, 272,
- 86, 72, 52, 0, 0, 118, 0, 125, 0, 145, 0, 214, 0, 145, 228, 0, 0, 121, 0,
- 0, 110, 60, 18, 7, 5, 190, 276, 96, 0, 57, 249, 0, 65, 31, 213, 0, 0, 29,
- 178, 108, 125, 30, 0, 0, 0, 0, 0, 200, 250, 0, 35, 0, 103, 230, 243, 276, 17,
- 268, 147, 180, 46, 55, 26, 4, 269, 16, 0};
+ 0, 0, 0, 0, 0, 88, 0, 159, 0, 0, 56, 0, 142, 0, 0, 0, 80, 0, 0,
+ 0, 24, 0, 0, 24, 64, 178, 0, 0, 0, 0, 0, 0, 31, 16, 129, 0, 0, 0,
+ 0, 267, 0, 120, 0, 0, 84, 0, 270, 263, 101, 0, 77, 149, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 87, 82, 0, 113, 0, 0, 255, 92, 0, 155, 136, 0, 25,
+ 52, 0, 95, 0, 91, 0, 0, 0, 169, 253, 9, 16, 104, 6, 0, 0, 0, 229, 0,
+ 102, 254, 40, 0, 75, 6, 117, 253, 0, 0, 138, 0, 147, 0, 0, 0, 0, 0, 0,
+ 0, 0, 47, 0, 0, 72, 0, 149, 0, 272, 62, 128, 0, 71, 169, 106, 0, 121, 57,
+ 279, 0, 0, 0, 0, 98, 0, 0, 251, 55, 0, 12, 0, 143, 0, 201, 243, 58, 207,
+ 0, 160, 52, 0, 0, 0, 0, 3, 0, 190, 0, 22, 0, 0, 67, 10, 56, 0, 268,
+ 259, 151, 112, 0, 52, 145, 19, 104, 0, 99, 0, 0, 255, 118, 61, 0, 16, 83, 0,
+ 0, 54, 16, 15, 141, 21, 0, 259, 145, 186, 92, 253, 1, 254, 97, 0, 15, 0, 212,
+ 111, 18, 215, 50, 0, 0, 27, 36, 59, 157, 256, 272, 0, 267, 180, 0, 31, 0, 13,
+ 0, 208, 109, 0, 0, 279, 13, 0, 0, 67, 0, 65, 84, 0, 215, 0, 0, 176, 131,
+ 0, 136, 0, 273, 235, 0, 251, 43, 35, 251, 118, 49, 39, 66, 0, 180, 87, 0, 62,
+ 191, 0, 8, 158, 203, 196, 58, 185, 136, 139, 126, 0, 0, 0, 0};
int UnmangledHashG(const char *key, const int *T)
{
@@ -197,7 +206,7 @@ int UnmangledHashG(const char *key, const int *T)
for (int i = 0; key[i] != '\0'; i++)
{
sum += T[i] * key[i];
- sum %= 295;
+ sum %= 281;
}
return unmangledkG[sum];
}
@@ -207,7 +216,7 @@ int UnmangledPerfectHash(const char *key)
if (strlen(key) > 26)
return 0;
- return (UnmangledHashG(key, unmangledkT1) + UnmangledHashG(key, unmangledkT2)) % 295;
+ return (UnmangledHashG(key, unmangledkT1) + UnmangledHashG(key, unmangledkT2)) % 281;
}
} // namespace
diff --git a/chromium/third_party/angle/src/compiler/translator/ImmutableString_autogen.cpp b/chromium/third_party/angle/src/compiler/translator/ImmutableString_autogen.cpp
index b7790f7b566..11b3c06f932 100644
--- a/chromium/third_party/angle/src/compiler/translator/ImmutableString_autogen.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/ImmutableString_autogen.cpp
@@ -24,293 +24,294 @@ std::ostream &operator<<(std::ostream &os, const sh::ImmutableString &str)
namespace
{
-constexpr int mangledkT1[] = {417, 3313, 3044, 680, 2508, 3561, 1073, 351, 457, 1363,
- 1704, 3701, 2117, 3388, 1046, 3102, 4330, 1835, 3825, 249,
- 345, 1171, 4152, 3215, 3212, 3745, 2872, 3795, 3526, 3916,
- 2870, 642, 326, 585, 2346, 2144, 2595};
-constexpr int mangledkT2[] = {173, 3815, 3691, 3308, 3907, 1340, 3432, 3919, 2665, 3544,
- 3700, 2906, 3546, 3971, 952, 918, 2735, 3910, 3624, 3624,
- 689, 3012, 1300, 3916, 1468, 4198, 864, 1975, 3174, 2392,
- 2885, 3797, 379, 3769, 1054, 4303, 2029};
+constexpr int mangledkT1[] = {419, 3324, 3055, 682, 2516, 3573, 1077, 352, 459, 1367,
+ 1709, 3713, 2124, 3400, 1049, 3112, 4345, 1841, 3838, 250,
+ 346, 1175, 4166, 3226, 3223, 3757, 2882, 3808, 3538, 3929,
+ 2879, 645, 327, 587, 2354, 2152, 2604};
+constexpr int mangledkT2[] = {173, 3828, 3704, 3319, 3921, 1345, 3443, 3932, 2674, 3556,
+ 3712, 2915, 3558, 3985, 956, 921, 2744, 3923, 3636, 3636,
+ 691, 3023, 1304, 3929, 1473, 4212, 867, 1982, 3185, 2400,
+ 2895, 3809, 381, 3781, 1058, 4317, 2036};
constexpr int mangledkG[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 4046, 0, 0, 0, 3913, 0, 0, 0,
- 0, 1688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0,
- 0, 0, 0, 0, 0, 0, 0, 1324, 0, 0, 559, 3047, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 3078, 4432, 0, 0, 0, 4398,
- 1246, 0, 0, 0, 2758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0,
- 0, 0, 0, 4156, 0, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 0, 0,
- 3409, 1575, 0, 1860, 818, 1854, 0, 0, 2843, 0, 0, 0, 0, 0, 376, 0,
- 0, 0, 0, 0, 0, 0, 3906, 0, 982, 0, 0, 0, 1719, 0, 0, 0,
- 0, 0, 0, 0, 0, 240, 0, 0, 0, 829, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4174, 0, 0, 0,
- 0, 0, 296, 1398, 0, 1665, 0, 0, 67, 0, 853, 0, 0, 2957, 0, 0,
- 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1211, 0, 0, 3659, 0, 0, 0, 0, 0, 0, 0,
- 240, 0, 1545, 1946, 0, 0, 0, 2341, 0, 0, 0, 0, 0, 0, 2096, 0,
- 0, 3018, 0, 0, 0, 0, 0, 2306, 984, 14, 0, 0, 0, 3367, 0, 0,
- 4406, 0, 0, 0, 0, 3898, 0, 0, 354, 0, 0, 0, 0, 4386, 0, 2046,
- 0, 0, 0, 0, 0, 1234, 0, 1483, 0, 0, 4335, 228, 2659, 0, 526, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1896, 0, 0, 0, 0,
- 0, 0, 1728, 0, 0, 0, 2163, 1841, 3798, 0, 0, 0, 890, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 872, 0, 0, 0, 0, 0, 503, 0,
- 333, 1676, 0, 0, 4356, 2068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 798, 0, 115, 1536, 0, 0, 0, 0, 4327, 0, 0, 0, 0, 0, 0, 0,
- 3513, 0, 0, 0, 0, 4035, 999, 764, 0, 0, 0, 0, 0, 0, 0, 1127,
- 2850, 0, 0, 0, 0, 0, 0, 0, 0, 3897, 0, 0, 0, 0, 0, 0,
- 0, 2732, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 3079, 0, 0,
- 0, 1425, 0, 0, 0, 874, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1153, 0, 0, 1232, 0, 0, 0, 1208, 0, 0, 0, 0, 0, 3898, 0, 0,
- 0, 0, 0, 0, 0, 1706, 3200, 3292, 1993, 0, 1020, 3202, 0, 0, 0, 0,
- 2043, 862, 0, 3541, 0, 0, 3985, 0, 0, 0, 0, 0, 0, 75, 0, 0,
- 0, 0, 3555, 1345, 640, 0, 0, 0, 0, 0, 0, 0, 2041, 0, 3950, 874,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3176, 412,
- 0, 0, 0, 0, 4409, 0, 0, 3255, 0, 0, 0, 0, 0, 0, 0, 0,
- 896, 0, 0, 0, 4344, 4215, 0, 0, 3028, 0, 0, 0, 1697, 269, 0, 0,
- 0, 0, 1530, 0, 0, 4216, 1620, 0, 0, 0, 0, 611, 498, 0, 0, 452,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1757, 0, 0, 117, 1172,
- 0, 900, 4137, 0, 0, 3639, 1838, 0, 0, 793, 0, 0, 0, 0, 191, 0,
- 0, 0, 0, 2407, 0, 0, 0, 311, 0, 0, 0, 0, 824, 0, 1560, 0,
- 0, 2105, 0, 0, 1522, 4347, 0, 1445, 1601, 0, 3674, 0, 2444, 0, 0, 0,
- 0, 1467, 1387, 3874, 2896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2099, 0, 0, 3277, 0, 1100, 0, 0, 2418, 0, 0, 1616, 0, 3212, 0, 328,
- 0, 0, 0, 2574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 773, 0, 0, 0, 0, 1652, 0, 2750, 955, 719, 0, 0, 0, 0, 383, 0,
- 0, 0, 0, 0, 0, 0, 0, 1385, 0, 0, 84, 0, 0, 0, 3263, 0,
- 0, 0, 3517, 0, 0, 0, 0, 0, 1634, 0, 1931, 2758, 0, 0, 0, 0,
- 3887, 570, 851, 0, 0, 1408, 1789, 0, 0, 1637, 590, 0, 0, 0, 0, 891,
- 0, 0, 0, 2412, 0, 0, 0, 0, 0, 0, 3824, 0, 0, 131, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 0, 0, 0, 3632,
- 0, 0, 0, 0, 0, 876, 0, 0, 1684, 0, 3820, 0, 0, 0, 0, 1902,
- 2531, 677, 0, 3733, 1261, 139, 1652, 0, 0, 0, 1331, 1631, 0, 0, 0, 0,
- 0, 515, 1197, 645, 0, 2137, 203, 0, 0, 0, 0, 369, 469, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1816, 782, 0, 3192, 0, 1959, 0,
- 243, 0, 573, 0, 0, 0, 3141, 0, 0, 0, 0, 0, 290, 1751, 0, 0,
- 1943, 0, 0, 1021, 2402, 0, 2671, 0, 2747, 4067, 0, 0, 0, 0, 0, 0,
- 3845, 4125, 0, 356, 0, 0, 2585, 0, 0, 0, 1626, 0, 0, 4289, 0, 0,
- 0, 0, 990, 916, 302, 0, 0, 0, 0, 0, 2310, 0, 4383, 0, 0, 2396,
- 0, 4088, 1847, 0, 3847, 0, 0, 0, 0, 0, 0, 0, 315, 0, 0, 1091,
- 0, 0, 0, 2669, 0, 4148, 0, 0, 0, 0, 630, 0, 251, 0, 3728, 0,
- 1546, 1879, 0, 3815, 0, 1548, 1389, 0, 2596, 3228, 314, 3563, 3798, 0, 206, 3170,
- 0, 0, 2316, 0, 3357, 3608, 0, 0, 466, 0, 101, 3756, 0, 0, 0, 2093,
- 780, 0, 0, 0, 2844, 0, 0, 0, 0, 0, 1190, 201, 0, 0, 0, 0,
- 0, 480, 0, 4413, 4024, 0, 36, 0, 0, 1795, 1037, 0, 0, 0, 3440, 1528,
- 0, 0, 1643, 0, 3495, 0, 0, 1786, 0, 0, 0, 0, 0, 0, 0, 90,
- 3083, 3508, 3718, 2824, 0, 0, 3774, 0, 0, 0, 0, 150, 0, 0, 4245, 0,
- 1010, 1446, 0, 0, 0, 0, 0, 981, 0, 689, 0, 422, 0, 0, 4075, 0,
- 0, 0, 0, 739, 316, 0, 0, 0, 0, 964, 0, 1060, 0, 0, 3893, 0,
- 1724, 126, 0, 0, 0, 428, 3764, 0, 411, 0, 0, 0, 0, 0, 1164, 3790,
- 0, 0, 0, 454, 879, 0, 0, 0, 1677, 0, 1093, 0, 1249, 843, 524, 0,
- 0, 0, 3691, 0, 0, 1343, 3408, 0, 0, 1798, 0, 251, 0, 0, 0, 0,
- 0, 4121, 0, 0, 3993, 1416, 0, 779, 0, 0, 0, 0, 0, 2935, 0, 0,
- 930, 0, 749, 0, 0, 0, 0, 499, 0, 1031, 2063, 1762, 1334, 2398, 0, 875,
- 0, 1016, 0, 0, 0, 0, 0, 0, 0, 273, 2030, 1220, 0, 0, 3271, 0,
- 0, 0, 0, 1910, 0, 0, 0, 0, 0, 0, 0, 0, 597, 1737, 2139, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 1123, 0, 0,
- 1124, 3860, 203, 675, 0, 4057, 0, 0, 745, 0, 0, 0, 1175, 0, 3140, 64,
- 0, 2640, 0, 104, 0, 2072, 772, 0, 0, 0, 0, 547, 0, 0, 0, 1312,
- 0, 0, 0, 0, 1870, 0, 3993, 2934, 0, 0, 2777, 0, 4314, 648, 0, 677,
- 0, 2942, 0, 452, 0, 3622, 0, 4209, 0, 0, 1009, 0, 0, 0, 0, 0,
- 1023, 0, 312, 1713, 1127, 0, 866, 0, 0, 0, 0, 0, 2113, 510, 4204, 0,
- 0, 0, 0, 0, 645, 213, 0, 0, 1985, 1181, 0, 1408, 165, 931, 76, 0,
- 0, 1291, 4264, 0, 1507, 1278, 0, 0, 0, 0, 630, 0, 0, 513, 1092, 4033,
- 0, 4339, 930, 0, 450, 1569, 4389, 0, 0, 0, 0, 982, 0, 0, 897, 0,
- 1706, 0, 1963, 0, 0, 789, 2035, 0, 813, 342, 0, 3001, 0, 230, 0, 2916,
- 0, 0, 2637, 1897, 0, 0, 0, 0, 0, 882, 37, 0, 2120, 0, 2968, 0,
- 0, 567, 0, 3458, 0, 0, 0, 0, 730, 0, 3579, 0, 1364, 0, 0, 4416,
- 0, 0, 3773, 1046, 3779, 0, 540, 1666, 1678, 0, 822, 0, 0, 0, 0, 0,
- 0, 900, 1908, 0, 0, 0, 4332, 4273, 1025, 739, 2558, 216, 368, 0, 0, 0,
- 2454, 857, 0, 148, 451, 0, 0, 170, 0, 0, 1104, 0, 216, 0, 1662, 782,
- 0, 0, 0, 1240, 1098, 4298, 0, 0, 0, 0, 449, 0, 0, 0, 69, 0,
- 0, 0, 669, 0, 797, 0, 266, 2615, 2513, 0, 1231, 0, 1362, 0, 0, 0,
- 2775, 0, 165, 0, 0, 0, 1516, 0, 963, 0, 0, 0, 805, 0, 0, 0,
- 0, 0, 1258, 0, 4209, 0, 1035, 84, 0, 760, 0, 2044, 0, 0, 1164, 42,
- 1205, 35, 0, 3565, 2849, 0, 2741, 2048, 0, 2451, 0, 0, 0, 0, 0, 0,
- 2880, 720, 1617, 0, 1493, 0, 0, 0, 0, 3678, 0, 0, 2489, 0, 2423, 0,
- 1279, 469, 3735, 408, 0, 2886, 0, 0, 0, 0, 0, 0, 1616, 223, 3639, 923,
- 1892, 0, 3758, 0, 0, 0, 0, 3901, 1934, 0, 0, 0, 0, 0, 31, 962,
- 3425, 0, 169, 766, 169, 0, 0, 369, 0, 137, 2234, 0, 0, 0, 1699, 3838,
- 3523, 561, 109, 3650, 0, 1784, 3960, 1203, 0, 0, 0, 0, 0, 86, 0, 0,
- 2396, 0, 1855, 0, 0, 0, 0, 0, 3004, 0, 2934, 904, 0, 4399, 29, 0,
- 902, 1046, 3238, 0, 0, 0, 1763, 0, 628, 0, 0, 88, 0, 0, 2368, 0,
- 0, 0, 704, 2780, 0, 604, 0, 0, 360, 4304, 2313, 271, 0, 0, 0, 222,
- 3006, 880, 0, 3146, 1328, 1562, 1138, 101, 4260, 84, 1737, 1511, 4327, 0, 2211, 1612,
- 0, 0, 0, 952, 0, 3654, 1919, 1720, 0, 0, 0, 1716, 3380, 1891, 0, 1351,
- 0, 97, 0, 0, 3450, 0, 3751, 3934, 0, 0, 704, 0, 0, 0, 0, 0,
- 1929, 94, 0, 1166, 0, 60, 0, 87, 0, 1128, 0, 0, 654, 0, 4131, 1291,
- 0, 175, 0, 700, 1706, 0, 0, 0, 0, 0, 0, 180, 1705, 2132, 235, 0,
- 1290, 578, 0, 815, 0, 0, 4050, 0, 0, 0, 163, 0, 2590, 0, 0, 0,
- 0, 0, 347, 0, 1960, 0, 0, 3038, 0, 3307, 3297, 0, 0, 1848, 0, 1211,
- 0, 0, 0, 0, 0, 2903, 50, 64, 2403, 1253, 0, 622, 0, 0, 1984, 3035,
- 0, 0, 1332, 3984, 1098, 4181, 0, 0, 0, 623, 0, 1503, 0, 0, 1202, 0,
- 405, 281, 0, 2447, 0, 0, 1010, 0, 192, 0, 3923, 554, 0, 0, 0, 1216,
- 0, 354, 1150, 0, 3779, 0, 0, 0, 1086, 1257, 4383, 0, 0, 4128, 0, 3408,
- 3718, 3991, 0, 0, 0, 2006, 0, 0, 3731, 0, 0, 4216, 1907, 1880, 0, 0,
- 1698, 1335, 812, 0, 0, 0, 4173, 0, 3273, 0, 0, 881, 0, 4111, 0, 0,
- 0, 0, 1740, 0, 991, 4135, 0, 0, 0, 99, 3182, 0, 3246, 1752, 1853, 0,
- 2670, 0, 2896, 2800, 1790, 208, 1188, 0, 3136, 0, 292, 1489, 641, 1693, 0, 1837,
- 413, 2584, 0, 0, 0, 0, 0, 373, 0, 2199, 362, 4049, 2535, 57, 2776, 0,
- 3416, 0, 0, 1123, 0, 2573, 0, 0, 416, 2966, 0, 716, 0, 455, 0, 1352,
- 0, 0, 1086, 1996, 444, 2239, 914, 0, 3600, 0, 0, 0, 0, 0, 1159, 0,
- 0, 99, 4250, 0, 2033, 3204, 3970, 0, 446, 0, 0, 0, 0, 0, 1869, 2409,
- 0, 0, 0, 0, 1341, 0, 1696, 0, 589, 0, 3326, 4332, 0, 0, 3146, 0,
- 0, 0, 0, 195, 0, 0, 0, 0, 0, 374, 2590, 2571, 1804, 0, 0, 0,
- 0, 178, 1641, 444, 4049, 0, 4038, 575, 0, 0, 258, 1456, 0, 0, 2000, 1085,
- 0, 1911, 0, 0, 0, 3651, 0, 311, 1771, 0, 4083, 2800, 0, 0, 0, 0,
- 0, 553, 534, 0, 440, 0, 0, 2082, 0, 0, 0, 2524, 1559, 4115, 2154, 0,
- 0, 0, 389, 0, 363, 0, 871, 2076, 1097, 3734, 3674, 0, 244, 3638, 0, 1541,
- 0, 203, 1051, 1630, 0, 0, 2713, 0, 0, 0, 915, 0, 0, 0, 2988, 0,
- 0, 0, 0, 4329, 3873, 0, 0, 1676, 0, 0, 0, 1839, 1017, 560, 0, 0,
- 4372, 0, 0, 169, 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 44, 1440,
- 397, 0, 0, 158, 0, 709, 0, 2456, 2069, 4250, 0, 1729, 0, 0, 0, 0,
- 1508, 0, 0, 68, 0, 0, 443, 2979, 2402, 0, 0, 0, 0, 3208, 0, 2317,
- 0, 37, 376, 4204, 0, 2224, 0, 0, 50, 219, 729, 3407, 1141, 0, 1769, 0,
- 563, 451, 193, 238, 58, 3468, 0, 3863, 0, 91, 1053, 0, 2888, 0, 1887, 4176,
- 0, 620, 0, 478, 0, 0, 1481, 0, 4074, 0, 0, 0, 596, 0, 0, 0,
- 1435, 0, 2441, 1374, 0, 0, 4208, 2090, 0, 0, 0, 3760, 0, 0, 1134, 109,
- 2325, 797, 0, 0, 0, 996, 497, 1077, 0, 2551, 329, 322, 0, 0, 1925, 0,
- 0, 1118, 0, 1481, 3885, 0, 261, 0, 0, 0, 0, 0, 0, 174, 0, 0,
- 0, 1376, 0, 1617, 0, 576, 0, 3778, 0, 961, 1375, 4359, 0, 1542, 143, 0,
- 733, 0, 4026, 2149, 0, 1675, 339, 1811, 0, 0, 0, 1612, 0, 0, 2146, 0,
- 0, 0, 3890, 0, 218, 0, 1250, 0, 4070, 0, 0, 2363, 4280, 231, 0, 0,
- 1236, 1568, 3398, 448, 0, 0, 3680, 674, 0, 1743, 0, 0, 4012, 830, 3922, 1380,
- 658, 0, 2166, 293, 1824, 0, 0, 1102, 0, 3662, 1902, 228, 0, 0, 0, 0,
- 0, 41, 1793, 2577, 0, 0, 726, 4196, 0, 0, 0, 0, 2824, 0, 0, 4408,
- 0, 0, 0, 1779, 3767, 3623, 1313, 0, 0, 1780, 0, 1149, 1648, 0, 2360, 0,
- 4117, 646, 0, 0, 1661, 2840, 0, 3553, 0, 1867, 2797, 0, 0, 0, 0, 3265,
- 799, 4307, 0, 386, 0, 490, 4172, 1695, 0, 0, 0, 696, 0, 524, 480, 3188,
- 2035, 891, 0, 0, 0, 0, 1409, 262, 242, 700, 0, 0, 845, 2268, 1247, 1646,
- 2602, 0, 1048, 0, 3406, 408, 0, 584, 0, 1680, 0, 0, 2036, 0, 0, 274,
- 0, 0, 0, 0, 0, 3781, 0, 168, 4136, 16, 164, 136, 1992, 0, 406, 0,
- 0, 1967, 0, 3903, 2555, 0, 1280, 3742, 537, 1272, 966, 797, 2924, 0, 1952, 1013,
- 0, 1923, 0, 1397, 1507, 497, 0, 0, 401, 923, 455, 0, 0, 4122, 1592, 4257,
- 0, 1350, 1364, 4006, 3958, 0, 1301, 1947, 0, 2168, 818, 187, 0, 0, 0, 1324,
- 0, 1438, 1375, 0, 2397, 2984, 0, 1864, 252, 0, 0, 0, 0, 2361, 395, 0,
- 2309, 814, 0, 802, 0, 3423, 1205, 0, 0, 465, 0, 0, 0, 4179, 0, 2954,
- 4373, 1898, 1202, 2019, 0, 2057, 0, 0, 1190, 1647, 4065, 0, 268, 3437, 0, 678,
- 1061, 0, 0, 0, 0, 613, 403, 2081, 0, 0, 2063, 2059, 0, 1683, 1069, 358,
- 637, 396, 0, 0, 980, 0, 1211, 1120, 651, 1280, 969, 846, 3385, 4414, 0, 0,
- 337, 0, 1750, 788, 1163, 0, 0, 0, 113, 616, 1822, 0, 0, 0, 491, 0,
- 0, 1911, 0, 0, 0, 974, 0, 1641, 2128, 0, 0, 0, 0, 650, 419, 345,
- 0, 0, 0, 1569, 791, 0, 660, 0, 1915, 361, 1658, 1717, 324, 0, 0, 1290,
- 0, 2282, 280, 0, 416, 1629, 0, 2152, 4186, 904, 3459, 0, 0, 2017, 0, 0,
- 0, 0, 267, 1207, 1198, 4348, 0, 0, 250, 0, 0, 0, 3204, 1165, 817, 2708,
- 1012, 0, 0, 482, 1649, 0, 1745, 0, 980, 761, 0, 0, 3182, 0, 0, 1287,
- 0, 0, 905, 410, 1246, 566, 0, 756, 4011, 0, 2273, 2742, 0, 375, 1787, 695,
- 0, 3955, 471, 0, 3229, 202, 3939, 1958, 436, 318, 0, 0, 0, 4009, 0, 617,
- 1530, 699, 1307, 1945, 0, 2074, 1869, 583, 1664, 120, 1156, 1879, 0, 0, 3457, 1710,
- 0, 0, 0, 0, 318, 926, 0, 0, 1650, 0, 0, 957, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 592, 4318, 0, 9, 4355, 911, 973, 0, 3257, 0, 78,
- 0, 1024, 0, 0, 0, 3569, 0, 1532, 0, 0, 571, 1217, 350, 0, 0, 0,
- 3742, 0, 359, 0, 1178, 0, 0, 839, 1834, 994, 65, 59, 0, 0, 4289, 69,
- 0, 0, 0, 2795, 746, 0, 0, 305, 0, 0, 0, 0, 0, 3674, 0, 0,
- 0, 3899, 0, 1828, 1851, 2091, 0, 1700, 4120, 913, 0, 188, 0, 3340, 1848, 984,
- 0, 0, 4345, 0, 1948, 3914, 1915, 0, 0, 1721, 0, 2950, 0, 0, 0, 0,
- 456, 300, 2456, 803, 0, 509, 1737, 0, 0, 0, 0, 2049, 0, 16, 407, 0,
- 506, 352, 1668, 1465, 0, 0, 0, 1298, 0, 0, 0, 390, 3405, 0, 0, 0,
- 2027, 842, 1321, 1194, 0, 0, 935, 0, 0, 0, 0, 546, 1221, 0, 0, 396,
- 1452, 4370, 0, 0, 0, 0, 2029, 0, 0, 826, 1297, 4178, 0, 764, 0, 4253,
- 1954, 0, 0, 0, 1357, 0, 1214, 0, 0, 0, 0, 2712, 0, 1269, 0, 2851,
- 0, 507, 332, 0, 4198, 0, 0, 0, 1545, 0, 0, 0, 0, 230, 496, 0,
- 3648, 0, 1465, 0, 0, 278, 0, 2294, 1121, 0, 832, 0, 1789, 3253, 1445, 3773,
- 2820, 512, 4259, 1924, 3447, 0, 0, 0, 1741, 255, 0, 3039, 1501, 0, 2854, 1484,
- 1325, 838, 897, 549, 3815, 1736, 0, 129, 3982, 4324, 0, 1955, 2835, 0, 1594, 0,
- 686, 4385, 71, 1672, 1799, 4169, 0, 0, 1012, 0, 0, 1686, 0, 864, 0, 1120,
- 0, 2792, 0, 0, 1227, 0, 655, 785, 1315, 655, 1893, 0, 0, 0, 3540, 2028,
- 0, 3509, 1283, 1075, 0, 0, 0, 4368, 2010, 0, 0, 969, 2626, 4070, 1159, 1998,
- 0, 860, 3518, 0, 1754, 4247, 34, 4167, 1467, 0, 1894, 178, 0, 0, 0, 1203,
- 0, 0, 1593, 0, 867, 3802, 473, 0, 0, 0, 551, 1061, 972, 0, 0, 0,
- 0, 451, 3555, 0, 2097, 3002, 0, 2043, 0, 0, 926, 1990, 1201, 0, 0, 0,
- 2083, 690, 0, 0, 0, 0, 0, 0, 1180, 489, 3296, 1558, 2379, 569, 3423, 453,
- 574, 0, 0, 0, 511, 798, 0, 0, 0, 1147, 731, 829, 1112, 3623, 0, 0,
- 3548, 0, 0, 2031, 1090, 3615, 0, 637, 3063, 0, 292, 499, 0, 0, 0, 2989,
- 1413, 611, 1114, 2129, 0, 0, 0, 1303, 4279, 0, 1950, 0, 3053, 1591, 854, 2996,
- 1181, 0, 742, 939, 840, 1319, 0, 4025, 3328, 0, 3242, 2929, 2251, 0, 1988, 1670,
- 1350, 0, 3672, 0, 0, 0, 3553, 0, 0, 157, 1015, 0, 0, 0, 4053, 1517,
- 0, 0, 0, 0, 677, 0, 0, 3545, 750, 599, 0, 0, 4404, 0, 1852, 1513,
- 0, 412, 0, 0, 4128, 284, 0, 473, 442, 24, 3048, 0, 455, 0, 2433, 684,
- 470, 276, 594, 700, 1282, 0, 0, 0, 1586, 103, 0, 888, 0, 1559, 1476, 841,
- 0, 2709, 3176, 1538, 486, 0, 119, 0, 0, 1992, 0, 370, 453, 0, 206, 1839,
- 240, 2465, 383, 727, 689, 0, 1083, 4384, 0, 1151, 1688, 0, 2026, 1388, 1075, 0,
- 177, 2683, 0, 4405, 1962, 3120, 4162, 0, 0, 247, 720, 0, 0, 714, 1552, 1043,
- 417, 0, 197, 0, 729, 1098, 0, 106, 0, 801, 3127, 0, 0, 1459, 309, 0,
- 737, 316, 1451, 67, 275, 400, 135, 93, 4001, 3413, 0, 372, 4022, 1371, 146, 4242,
- 847, 0, 959, 1431, 4173, 4172, 708, 0, 249, 3339, 112, 0, 1866, 2450, 3786, 0,
- 1653, 1627, 0, 0, 0, 0, 4325, 1809, 351, 1199, 3317, 0, 4271, 1685, 883, 2360,
- 939, 836, 0, 0, 2395, 0, 1135, 0, 800, 337, 0, 0, 4292, 3378, 0, 4239,
- 0, 37, 2292, 0, 0, 0, 1629, 0, 792, 0, 2073, 1096, 541, 0, 263, 1237,
- 3719, 1463, 0, 0, 2130, 0, 1861, 512, 0, 853, 649, 2388, 1035, 1904, 0, 969,
- 0, 1492, 615, 3658, 313, 340, 1217, 3502, 1555, 1407, 833, 999, 2591, 2118, 0, 704,
- 4231, 0, 279, 0, 2642, 1822, 1715, 1707, 1030, 2920, 2567, 0, 0, 0, 0, 0,
- 2900, 3155, 0, 3667, 1772, 2, 0, 1078, 2977, 0, 0, 0, 2729, 0, 1442, 0,
- 0, 0, 0, 0, 3920, 0, 0, 3935, 0, 1268, 0, 0, 445, 1392, 1363, 0,
- 0, 1065, 0, 488, 174, 3583, 2426, 1695, 0, 0, 1701, 947, 2725, 506, 1912, 0,
- 0, 2584, 783, 0, 73, 63, 8, 0, 4059, 281, 0, 0, 0, 200, 1234, 0,
- 0, 0, 2040, 0, 0, 491, 2550, 0, 270, 0, 0, 3633, 0, 545, 0, 1828,
- 0, 2017, 776, 2246, 1943, 3754, 0, 1359, 3380, 1757, 0, 0, 1655, 0, 972, 0,
- 820, 0, 721, 0, 902, 0, 4345, 139, 833, 0, 613, 3566, 2190, 1456, 4312, 0,
- 0, 0, 0, 21, 0, 2853, 0, 0, 675, 2107, 0, 293, 0, 479, 0, 0,
- 2196, 1468, 0, 0, 484, 0, 2156, 0, 946, 145, 1120, 1186, 0, 172, 1633, 1336,
- 0, 0, 289, 3205, 0, 256, 593, 968, 0, 3951, 0, 1419, 2564, 2002, 0, 0,
- 1740, 0, 0, 4287, 0, 1653, 1921, 570, 0, 1034, 0, 1124, 662, 0, 0, 1755,
- 1400, 0, 0, 0, 316, 0, 0, 0, 1490, 0, 0, 0, 0, 0, 1541, 4087,
- 0, 1393, 0, 948, 0, 4399, 1366, 0, 239, 0, 0, 4434, 0, 0, 247, 0,
- 3410, 0, 677, 412, 3905, 0, 2360, 0, 3052, 0, 838, 1582, 0, 1221, 0, 0,
- 0, 1453, 528, 2773, 0, 515, 0, 2112, 3720, 1068, 3636, 378, 0, 1726, 778, 4077,
- 0, 0, 0, 55, 1311, 1115, 1243, 0, 0, 3736, 1583, 0, 2313, 1409, 213, 0,
- 3382, 0, 0, 1182, 1514, 993, 853, 1962, 0, 0, 1307, 693, 0, 1299, 382, 0,
- 843, 0, 0, 2964, 515, 1136, 0, 0, 0, 0, 0, 1064, 1333, 0, 1655, 3331,
- 1533, 3489, 0, 1758, 2071, 51, 2062, 0, 0, 0, 3874, 4331, 2770, 0, 1815, 0,
- 0, 3463, 0, 1133, 682, 3269, 0, 991, 685, 0, 1954, 4084, 435, 0, 270, 0,
- 485, 4390, 1306, 0, 743, 192, 3816, 0, 0, 1694, 1547, 4004, 1444, 1348, 754, 345,
- 0, 2231, 945, 1737, 2846, 0, 893, 1224, 664, 1978, 0, 410, 3665, 1977, 1389, 0,
- 568, 0, 785, 938, 2869, 1699, 820, 0, 0, 14, 124, 0, 3984, 58, 0, 2133,
- 0, 0, 4166, 0, 1983, 0, 0, 1672, 1835, 2693, 3941, 850, 0, 1504, 0, 0,
- 0, 166, 2235, 3296, 0, 3197, 1921, 1293, 0, 789, 0, 0, 0, 0, 0, 0,
- 735, 472, 2520, 657, 1893, 1044, 4135, 0, 1939, 551, 0, 0, 0, 0, 753, 0,
- 0, 1206, 985, 0, 1472, 377, 218, 2261, 1553, 3987, 1622, 0, 4395, 2758, 1471, 4329,
- 110, 1951, 308, 212, 312, 0, 3532, 1846, 1738, 0, 2034, 0, 1002, 248, 1935, 0,
- 0, 1105, 0, 0, 4251, 315, 0, 167, 2505, 361, 0, 3188, 422, 0, 0, 0,
- 0, 0, 0, 1639, 0, 1178, 1681, 3464, 1113, 962, 0, 0, 1164, 803, 807, 0,
- 0, 0, 0, 0, 0, 0, 1541, 0, 0, 723, 0, 255, 0, 0, 196, 0,
- 0, 1239, 4332, 0, 161, 0, 0, 0, 12, 663, 899, 1396, 0, 706, 3925, 3944,
- 0, 1580, 580, 0, 770, 0, 0, 0, 1308, 0, 0, 3245, 0, 1509, 1581, 4074,
- 796, 0, 67, 1991, 2099, 0, 0, 756, 1332, 0, 3100, 1685, 473, 0, 0, 3556,
- 310, 1742, 0, 99, 0, 0, 0, 1615, 1045, 0, 0, 4293, 0, 0, 63, 1454,
- 1201, 1423, 3959, 0, 0, 1550, 1409, 0, 338, 0, 0, 4084, 0, 0, 0, 0,
- 1808, 0, 0, 544, 0, 2445, 1182, 1095, 45, 0, 2143, 0, 1297, 3930, 1618, 4262,
- 271, 945, 2502, 0, 0, 3228, 0, 0, 1921, 0, 0, 0, 52, 1704, 510, 556,
- 571, 0, 4124, 0, 2102, 3796, 0, 889, 0, 0, 44, 1938, 629, 224, 0, 0,
- 0, 0, 385, 1554, 0, 2228, 139, 0, 627, 1972, 335, 62, 669, 1773, 0, 2083,
- 1366, 0, 1471, 0, 498, 3988, 0, 522, 0, 205, 1606, 1757, 3023, 0, 1010, 564,
- 107, 628, 1884, 0, 3461, 1369, 585, 0, 1725, 3483, 3024, 653, 4278, 1602, 889, 372,
- 220, 1198, 460, 0, 1165, 0, 863, 0, 0, 0, 0, 496, 3563, 1046, 0, 0,
- 0, 0, 1745, 1158, 2089, 125, 857, 0, 2195, 0, 619, 4298, 0, 0, 0, 732,
- 313, 711, 0, 1694, 372, 0, 1326, 930, 4009, 1224, 0, 1090, 3888, 2008, 1390, 3070,
- 2099, 2815, 3538, 3573, 1715, 4373, 0, 0, 1474, 1076, 2760, 1542, 0, 861, 0, 0,
- 0, 0, 0, 944, 4203, 990, 3499, 0, 0, 177, 1642, 0, 1222, 0, 196, 3731,
- 0, 0, 1858, 0, 0, 2971, 0, 678, 0, 3380, 601, 698, 2915, 3734, 0, 2065,
- 0, 0, 2780, 1479, 0, 0, 1624, 0, 0, 0, 2957, 2660, 3970, 0, 196, 392,
- 0, 754, 0, 0, 0, 0, 1601, 1405, 2884, 1413, 4185, 0, 1844, 104, 1007, 2054,
- 0, 0, 700, 0, 336, 0, 3635, 202, 0, 0, 0, 1449, 798, 758, 522, 2544,
- 0, 34, 0, 2092, 434, 146, 0, 0, 4294, 0, 4276, 863, 0, 3228, 0, 725,
- 4420, 987, 0, 1882, 0, 1881, 3797, 1764, 2024, 2690, 0, 220, 0, 549, 1106, 505,
- 1260, 0, 0, 2110, 3273, 0, 768, 2086, 0, 795, 3357, 4368, 142, 0, 3030, 10,
- 1109, 1192, 0, 3817, 3209, 2265, 983, 170, 0, 0, 1582, 0, 0, 0, 480, 943,
- 0, 1295, 1216, 1460, 1193, 0, 0, 368, 1386, 3889, 764, 0, 1310, 0, 2126, 1118,
- 1355, 0, 1486, 1056, 2964, 1596, 4059, 0, 0, 2131, 3414, 29, 910, 555, 1830, 982,
- 2894, 3557, 0, 2950, 2127, 2982, 360, 0, 0, 1204, 0, 1170, 0, 0, 1242, 282,
- 1052, 1942, 0, 2124, 0, 289, 511, 527, 0, 0, 4314, 3611, 0, 911, 1100, 0,
- 118, 479, 1874, 3541, 344, 259, 3202, 0, 3182, 127, 1813, 1476, 0, 0, 0, 0,
- 2944, 468, 0, 521, 0, 578, 0, 808, 0, 450, 1054, 425, 850, 1197, 0, 715,
- 0, 1203, 4109, 2110, 0, 0, 1093, 0, 2023, 760, 1473, 0, 0, 1944, 0, 72,
- 0, 1519, 1, 3083, 440, 1294, 671, 739, 4179, 1407, 0, 0, 3482, 1356, 1345, 2094,
- 0, 209, 732, 0, 1134, 1230, 3570, 1386, 1806, 424, 302, 1604, 662, 2635, 0, 0,
- 1469, 0, 820, 0, 1600, 0, 47, 894, 1388, 4282, 0, 855, 2659, 0, 2707, 3184,
- 3384, 0, 0, 47, 0, 0, 1454, 1646, 958, 4262, 0, 0, 0, 1630, 0, 0,
- 0, 3738, 2920, 0, 2965, 0, 362, 0, 0, 0, 1026, 0, 547, 4297, 1897, 973,
- 1775, 0, 3494, 2714, 3430, 852, 1497, 1432, 0, 4150, 2123, 40, 1254, 697, 912, 0,
- 4211, 0, 878, 0, 1346};
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2630, 3675, 882, 0, 3822, 0, 0, 0, 0, 0, 1494,
+ 1899, 0, 0, 2963, 0, 0, 0, 1859, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4374, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0, 0, 3291, 3382, 0, 0, 0,
+ 4267, 0, 0, 0, 0, 0, 0, 0, 4011, 0, 0, 0, 0, 0, 2849, 2820,
+ 0, 0, 4136, 0, 0, 4107, 0, 0, 0, 0, 1640, 955, 0, 0, 3367, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1033, 0,
+ 3769, 0, 0, 0, 4347, 0, 0, 0, 0, 0, 0, 0, 3664, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 864,
+ 4374, 0, 0, 0, 0, 0, 0, 2269, 0, 0, 0, 0, 0, 0, 438, 0,
+ 0, 0, 0, 0, 0, 0, 4295, 4046, 0, 0, 517, 2304, 3284, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3597, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0,
+ 1142, 4180, 0, 0, 0, 751, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1364, 1250, 4066, 0, 3333, 0, 0, 0, 0, 0, 0, 0, 2206, 2883,
+ 0, 0, 0, 0, 3226, 0, 0, 0, 0, 3858, 0, 0, 1113, 0, 0, 0,
+ 0, 0, 3999, 0, 4391, 0, 4102, 0, 0, 0, 0, 3875, 0, 0, 0, 0,
+ 1243, 0, 613, 2744, 559, 0, 0, 0, 0, 1145, 194, 0, 0, 0, 0, 2883,
+ 4271, 1209, 0, 3568, 0, 1870, 0, 0, 0, 0, 1281, 2427, 2360, 0, 4183, 3437,
+ 0, 904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2306, 0, 0, 1157, 4242,
+ 2811, 0, 0, 0, 0, 2198, 0, 0, 2406, 2596, 3, 0, 0, 0, 0, 0,
+ 0, 0, 4311, 2906, 463, 0, 894, 0, 4245, 0, 1024, 2083, 0, 0, 1553, 2733,
+ 0, 0, 1201, 0, 0, 0, 1477, 0, 3057, 452, 0, 0, 0, 0, 1223, 0,
+ 0, 1324, 0, 2477, 0, 0, 0, 0, 669, 3599, 0, 0, 0, 1006, 3579, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3250, 0, 0, 0, 3221, 3883, 1203,
+ 0, 0, 4408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1011, 0, 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, 3054,
+ 446, 0, 0, 0, 634, 4156, 0, 0, 0, 1903, 0, 4037, 3641, 0, 0, 0,
+ 0, 0, 961, 4328, 3145, 3282, 0, 2003, 1632, 0, 0, 0, 1628, 1632, 0, 4073,
+ 0, 0, 648, 3234, 0, 922, 0, 1625, 0, 0, 0, 0, 0, 0, 0, 2729,
+ 0, 589, 0, 0, 0, 0, 4244, 958, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 758, 0, 0, 0, 0, 0, 2159, 0, 185, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 776, 0, 0, 0, 212, 1099, 0, 11, 0, 1789,
+ 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 900, 4153, 0,
+ 0, 1095, 0, 0, 0, 0, 0, 0, 0, 655, 3766, 634, 1640, 0, 0, 0,
+ 846, 0, 1155, 0, 0, 0, 0, 191, 3422, 0, 0, 0, 1242, 855, 4108, 2813,
+ 2941, 0, 337, 592, 0, 1502, 3892, 0, 0, 0, 4198, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1794, 0, 0, 0, 0, 4224, 0, 0, 1144, 0, 0,
+ 199, 0, 1702, 0, 84, 0, 0, 0, 665, 0, 0, 0, 0, 0, 0, 1731,
+ 851, 311, 0, 3240, 0, 0, 0, 365, 0, 0, 4302, 0, 0, 0, 0, 2975,
+ 0, 0, 0, 0, 1808, 904, 3894, 796, 0, 0, 0, 0, 0, 0, 0, 1424,
+ 0, 0, 0, 3503, 0, 117, 0, 4034, 0, 0, 2155, 0, 1588, 0, 0, 0,
+ 399, 0, 0, 0, 3811, 568, 1220, 443, 0, 1640, 0, 1657, 0, 0, 0, 0,
+ 3427, 0, 0, 4376, 1148, 0, 0, 582, 0, 0, 895, 0, 0, 0, 0, 1907,
+ 3439, 0, 1265, 0, 0, 0, 0, 0, 3103, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 505, 0, 0, 0, 0, 563, 1942, 565, 0, 0, 0, 0, 0,
+ 1667, 0, 0, 0, 0, 1897, 0, 643, 0, 0, 241, 0, 586, 1821, 0, 1918,
+ 0, 0, 0, 4292, 0, 1416, 0, 0, 1289, 0, 0, 3144, 0, 0, 2147, 194,
+ 0, 572, 0, 0, 0, 0, 0, 0, 862, 0, 2245, 0, 0, 1625, 1025, 0,
+ 0, 500, 0, 0, 0, 0, 0, 2699, 0, 2101, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 1944, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1964, 1234, 0, 541, 0, 1214, 467, 0, 0, 4033, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1392, 0, 0, 0, 0, 783, 0, 0, 0, 0, 0,
+ 4421, 386, 1242, 0, 2144, 0, 0, 775, 891, 0, 0, 0, 0, 0, 0, 414,
+ 2413, 1636, 0, 482, 0, 1731, 1041, 3244, 0, 0, 3311, 0, 1450, 0, 0, 1551,
+ 0, 283, 0, 0, 0, 704, 0, 1619, 0, 1060, 0, 243, 1948, 0, 477, 0,
+ 225, 1547, 4432, 0, 0, 0, 0, 0, 0, 1198, 543, 985, 2987, 77, 710, 0,
+ 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 1868, 0, 735, 0, 0, 0,
+ 742, 4107, 2126, 1284, 0, 2674, 3313, 0, 0, 0, 0, 0, 0, 0, 1708, 0,
+ 3977, 28, 2591, 0, 3589, 698, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0,
+ 2437, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 97, 0, 1347,
+ 0, 0, 0, 0, 0, 0, 1580, 0, 556, 2831, 777, 0, 0, 0, 0, 0,
+ 0, 0, 0, 892, 1682, 0, 0, 0, 0, 3598, 455, 752, 1230, 0, 1435, 4347,
+ 667, 4212, 0, 0, 0, 0, 0, 0, 0, 0, 4366, 1164, 4016, 0, 2234, 0,
+ 0, 0, 412, 3764, 0, 3815, 0, 623, 1845, 0, 0, 0, 0, 0, 318, 0,
+ 0, 0, 4339, 0, 0, 0, 0, 0, 0, 3300, 0, 0, 90, 0, 0, 0,
+ 429, 0, 273, 0, 0, 83, 0, 48, 3941, 0, 124, 0, 0, 2110, 0, 0,
+ 1803, 0, 0, 0, 0, 1224, 1973, 3802, 0, 0, 0, 1784, 0, 0, 0, 599,
+ 1452, 0, 343, 1729, 481, 0, 0, 0, 0, 1035, 1875, 777, 934, 0, 909, 0,
+ 1133, 256, 3598, 0, 0, 0, 0, 4199, 0, 2278, 0, 1919, 1041, 4075, 0, 0,
+ 0, 0, 0, 3325, 3227, 0, 782, 0, 2175, 0, 0, 0, 0, 0, 3535, 0,
+ 86, 0, 531, 0, 0, 112, 0, 516, 0, 1803, 0, 3381, 0, 1576, 1711, 1921,
+ 4439, 0, 3528, 227, 4405, 3857, 0, 2445, 0, 416, 4380, 0, 0, 2008, 360, 0,
+ 3821, 0, 0, 0, 3354, 0, 0, 0, 1116, 79, 0, 0, 2646, 0, 923, 0,
+ 1322, 0, 0, 0, 0, 2012, 1481, 0, 0, 748, 1238, 1581, 0, 4344, 0, 484,
+ 529, 0, 0, 0, 0, 3569, 1728, 0, 0, 2280, 0, 1023, 0, 0, 2158, 4024,
+ 0, 1110, 47, 0, 685, 1314, 0, 0, 0, 0, 0, 0, 0, 380, 0, 1671,
+ 0, 4151, 0, 2491, 1544, 562, 0, 0, 4205, 382, 0, 0, 1378, 0, 1359, 0,
+ 647, 0, 0, 0, 2439, 3870, 4165, 0, 0, 1722, 1029, 0, 0, 0, 0, 0,
+ 1081, 473, 2172, 880, 0, 0, 3863, 36, 4309, 0, 0, 219, 870, 0, 0, 0,
+ 0, 1432, 4012, 0, 465, 4141, 0, 291, 0, 4221, 0, 0, 0, 0, 0, 0,
+ 0, 1003, 1667, 0, 0, 3856, 1231, 0, 122, 0, 0, 2664, 503, 0, 4210, 0,
+ 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 2103, 0, 0, 0, 165, 0,
+ 0, 1262, 0, 1187, 3016, 0, 0, 0, 2053, 0, 0, 0, 450, 0, 1335, 0,
+ 3609, 0, 0, 0, 0, 0, 0, 2235, 0, 0, 3550, 3839, 0, 0, 938, 0,
+ 926, 1605, 2972, 0, 3235, 777, 1269, 206, 0, 320, 1331, 0, 108, 929, 0, 1573,
+ 0, 1497, 1520, 2609, 1673, 808, 0, 0, 0, 618, 4302, 0, 0, 1489, 1944, 0,
+ 0, 0, 2055, 0, 0, 0, 3953, 0, 0, 0, 0, 2172, 0, 1269, 857, 0,
+ 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0, 0, 149, 0, 892, 1178, 2991,
+ 0, 1413, 3786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3882, 4234, 1833,
+ 0, 704, 0, 2437, 1426, 0, 0, 2945, 4389, 749, 0, 1671, 0, 292, 0, 0,
+ 0, 4118, 0, 0, 0, 4345, 0, 2341, 3107, 1191, 1865, 0, 4227, 266, 506, 0,
+ 0, 0, 0, 2060, 0, 1489, 1272, 0, 1815, 0, 1142, 1527, 598, 3556, 1860, 0,
+ 0, 2996, 1766, 0, 1058, 974, 0, 0, 0, 2555, 2298, 0, 1122, 0, 0, 1979,
+ 0, 0, 0, 0, 1547, 2276, 1040, 762, 558, 1307, 0, 538, 0, 0, 1324, 4139,
+ 2788, 0, 0, 1235, 2945, 2804, 0, 0, 144, 0, 3013, 0, 0, 0, 2226, 0,
+ 1148, 0, 0, 2985, 0, 0, 0, 86, 894, 0, 0, 0, 1495, 0, 1355, 0,
+ 0, 0, 0, 0, 1934, 0, 3815, 236, 169, 1294, 3739, 0, 641, 0, 500, 0,
+ 1338, 0, 0, 1200, 4365, 0, 0, 0, 4107, 0, 0, 4287, 0, 2348, 0, 2492,
+ 3134, 0, 305, 2012, 1617, 0, 0, 819, 1372, 0, 0, 271, 0, 559, 0, 0,
+ 3791, 0, 0, 0, 1380, 0, 1257, 0, 0, 1515, 1730, 0, 0, 2453, 3079, 0,
+ 0, 0, 3938, 1672, 0, 1220, 282, 0, 4013, 0, 0, 1488, 692, 0, 0, 2138,
+ 0, 562, 0, 1460, 0, 0, 2085, 0, 0, 733, 0, 948, 0, 1903, 0, 0,
+ 404, 0, 1696, 1965, 406, 0, 1389, 0, 1836, 0, 0, 1507, 0, 0, 754, 4406,
+ 1768, 644, 0, 0, 3761, 1154, 580, 1143, 0, 0, 2861, 3473, 2257, 0, 0, 0,
+ 3613, 0, 0, 1028, 0, 2011, 308, 0, 0, 0, 1916, 0, 1865, 0, 743, 0,
+ 232, 0, 1648, 0, 0, 0, 0, 470, 0, 1703, 0, 788, 4401, 0, 0, 1819,
+ 1551, 876, 1236, 0, 0, 0, 0, 3257, 0, 1592, 0, 0, 1958, 4062, 0, 0,
+ 0, 1695, 755, 2544, 1806, 0, 1745, 2154, 0, 4408, 1493, 497, 0, 1795, 0, 2147,
+ 624, 643, 2635, 0, 235, 0, 520, 1665, 0, 1975, 0, 0, 0, 353, 3148, 0,
+ 0, 1436, 0, 0, 0, 1223, 445, 1589, 580, 0, 1818, 0, 0, 1698, 0, 1256,
+ 3650, 0, 4240, 0, 0, 0, 3395, 0, 0, 0, 0, 1363, 4172, 2731, 1868, 1336,
+ 0, 0, 2360, 0, 945, 0, 0, 0, 2038, 1620, 0, 0, 0, 4158, 0, 0,
+ 889, 0, 1858, 0, 3318, 0, 269, 0, 0, 0, 195, 0, 804, 1148, 539, 382,
+ 1095, 0, 1686, 0, 0, 0, 2461, 1525, 0, 42, 2474, 21, 4394, 0, 0, 1630,
+ 1420, 3080, 4185, 0, 4176, 1692, 0, 2365, 0, 0, 894, 1093, 1685, 0, 0, 0,
+ 3139, 4269, 657, 535, 4182, 2710, 0, 0, 426, 0, 0, 0, 0, 374, 1692, 257,
+ 3660, 521, 0, 0, 3169, 3396, 256, 394, 4056, 204, 203, 2539, 4408, 1209, 1097, 0,
+ 4188, 0, 792, 0, 166, 0, 1334, 0, 240, 0, 0, 0, 2908, 0, 0, 0,
+ 2383, 1989, 0, 1254, 0, 0, 0, 0, 1126, 980, 0, 0, 0, 4181, 707, 0,
+ 0, 0, 0, 0, 0, 0, 3560, 0, 0, 681, 1931, 191, 461, 0, 2756, 0,
+ 0, 0, 0, 2844, 554, 3968, 0, 1577, 0, 4120, 0, 2824, 0, 0, 0, 0,
+ 30, 0, 0, 4141, 1681, 0, 0, 0, 194, 4009, 2735, 0, 0, 138, 0, 0,
+ 612, 0, 0, 0, 0, 1238, 0, 854, 98, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3802, 4048, 0, 0, 0, 994, 4088, 0, 1322, 171, 2789, 3513, 4055, 0, 1485,
+ 3286, 0, 0, 0, 0, 0, 0, 340, 0, 2473, 1844, 3928, 0, 3358, 62, 752,
+ 393, 0, 598, 0, 0, 2088, 0, 1821, 1512, 0, 0, 3929, 277, 0, 0, 0,
+ 3870, 0, 0, 0, 3573, 66, 1021, 193, 1804, 715, 0, 1120, 35, 0, 0, 984,
+ 0, 0, 4441, 3617, 0, 96, 0, 0, 0, 0, 0, 2697, 0, 0, 326, 0,
+ 0, 323, 0, 0, 4263, 2675, 0, 336, 0, 0, 4294, 0, 0, 3624, 3734, 0,
+ 0, 0, 2075, 444, 604, 0, 0, 0, 0, 3347, 2244, 1622, 0, 0, 0, 1748,
+ 0, 4431, 3702, 1284, 4080, 3182, 0, 0, 428, 0, 4354, 0, 0, 4451, 1183, 0,
+ 4282, 0, 3906, 3098, 15, 428, 0, 0, 0, 324, 0, 0, 0, 308, 1659, 487,
+ 0, 199, 1554, 1106, 0, 1832, 2266, 0, 2359, 0, 1983, 622, 834, 0, 0, 501,
+ 1531, 600, 0, 0, 494, 0, 537, 811, 1126, 1829, 0, 0, 1797, 0, 0, 3549,
+ 3891, 1000, 0, 0, 676, 0, 340, 0, 2608, 0, 0, 0, 0, 0, 0, 1295,
+ 170, 1434, 0, 0, 0, 551, 1610, 4219, 0, 0, 702, 0, 1901, 0, 0, 800,
+ 1153, 746, 3822, 2121, 1672, 1930, 0, 0, 0, 0, 1382, 0, 52, 4332, 0, 1103,
+ 0, 1739, 3848, 698, 0, 0, 1265, 0, 231, 4343, 0, 242, 491, 0, 1684, 0,
+ 2942, 0, 0, 0, 1699, 534, 0, 0, 959, 536, 1168, 1507, 3947, 0, 3631, 0,
+ 981, 1992, 0, 218, 2093, 49, 627, 1840, 0, 660, 16, 0, 164, 0, 4064, 0,
+ 0, 1688, 0, 302, 1362, 0, 0, 538, 656, 0, 559, 1798, 501, 0, 1066, 3361,
+ 0, 0, 0, 2411, 0, 2414, 1444, 0, 1980, 0, 279, 208, 4253, 0, 614, 1773,
+ 3632, 449, 0, 3160, 4191, 1276, 2767, 0, 0, 0, 0, 3896, 0, 0, 0, 0,
+ 0, 1381, 736, 1666, 1982, 1653, 0, 975, 0, 0, 0, 0, 0, 0, 4157, 0,
+ 0, 3068, 1850, 3817, 1782, 1703, 2105, 0, 1199, 3398, 0, 1903, 1785, 3213, 0, 1035,
+ 0, 0, 3130, 0, 1926, 498, 0, 0, 927, 2016, 986, 669, 1152, 0, 0, 353,
+ 4274, 3920, 0, 0, 3689, 0, 0, 0, 0, 0, 0, 0, 0, 2818, 806, 0,
+ 0, 602, 2726, 0, 0, 273, 0, 0, 89, 2193, 0, 0, 807, 1989, 697, 2113,
+ 2041, 0, 0, 366, 0, 281, 1375, 0, 4308, 0, 604, 0, 0, 1648, 0, 4,
+ 385, 618, 0, 0, 0, 3697, 3707, 0, 1374, 0, 0, 3829, 4227, 628, 0, 1755,
+ 3152, 794, 2658, 0, 0, 0, 0, 0, 1354, 1841, 990, 3234, 0, 1774, 3163, 0,
+ 0, 3634, 0, 0, 159, 0, 0, 0, 4225, 0, 3370, 1223, 0, 836, 2140, 0,
+ 0, 253, 1118, 973, 1623, 1289, 0, 252, 3997, 0, 0, 0, 280, 2064, 1747, 4053,
+ 74, 1042, 0, 0, 0, 0, 0, 0, 348, 0, 3056, 0, 821, 0, 0, 0,
+ 0, 2880, 0, 3427, 2134, 0, 0, 1084, 0, 837, 1438, 1760, 952, 0, 0, 908,
+ 4096, 3631, 1237, 4048, 801, 2627, 0, 0, 1028, 3840, 439, 0, 1928, 0, 393, 0,
+ 0, 483, 4193, 0, 0, 851, 707, 1120, 760, 0, 705, 130, 0, 1430, 0, 660,
+ 0, 269, 113, 190, 1931, 0, 1331, 2201, 120, 0, 0, 4299, 0, 4098, 0, 108,
+ 1715, 378, 2060, 437, 835, 0, 0, 0, 341, 0, 0, 1669, 32, 376, 1874, 3066,
+ 0, 0, 455, 0, 364, 1536, 3511, 0, 3191, 933, 0, 1925, 1479, 0, 736, 1812,
+ 4130, 0, 3852, 2613, 1182, 0, 768, 0, 0, 0, 0, 0, 0, 3034, 1629, 3104,
+ 0, 2050, 0, 2004, 1660, 1722, 0, 1063, 0, 1001, 1839, 2974, 0, 0, 0, 0,
+ 0, 0, 3846, 589, 701, 0, 0, 880, 0, 0, 0, 0, 0, 988, 3432, 417,
+ 1058, 0, 0, 4185, 0, 0, 1545, 82, 0, 0, 3123, 0, 992, 0, 0, 1640,
+ 3222, 3364, 0, 0, 1655, 0, 604, 0, 0, 3813, 0, 1586, 403, 0, 0, 0,
+ 0, 301, 0, 235, 1752, 0, 2395, 0, 0, 487, 510, 3883, 88, 0, 3768, 0,
+ 0, 2116, 4352, 0, 1953, 1308, 3602, 0, 239, 691, 0, 507, 0, 0, 0, 3375,
+ 0, 0, 0, 457, 0, 0, 820, 4014, 954, 0, 0, 0, 0, 0, 0, 3975,
+ 0, 0, 0, 0, 0, 335, 0, 1751, 0, 4086, 0, 207, 0, 1263, 519, 0,
+ 0, 3831, 0, 0, 0, 0, 0, 0, 493, 0, 0, 504, 3954, 0, 0, 2127,
+ 0, 0, 4387, 0, 0, 0, 0, 0, 0, 658, 278, 0, 0, 268, 2614, 547,
+ 0, 332, 0, 4122, 0, 0, 845, 2465, 267, 1593, 0, 1419, 0, 0, 3762, 3258,
+ 0, 0, 0, 3877, 0, 1268, 1325, 496, 0, 747, 0, 1622, 0, 0, 0, 0,
+ 1749, 3079, 3598, 769, 0, 0, 772, 0, 193, 0, 0, 1673, 0, 778, 0, 0,
+ 0, 1403, 0, 0, 0, 252, 0, 966, 3777, 807, 326, 0, 0, 3716, 1843, 0,
+ 1264, 0, 2090, 2625, 2082, 0, 15, 0, 1430, 1807, 0, 1028, 310, 3244, 0, 0,
+ 2719, 4367, 0, 0, 2031, 672, 664, 1207, 2246, 1334, 3695, 0, 0, 0, 1393, 0,
+ 3564, 2272, 1652, 364, 0, 2276, 3103, 3758, 569, 0, 836, 4251, 657, 811, 0, 0,
+ 1296, 0, 0, 1319, 1218, 3650, 0, 1758, 0, 0, 2044, 0, 0, 610, 755, 0,
+ 1737, 300, 185, 3799, 675, 937, 3578, 2116, 0, 0, 771, 753, 0, 0, 3882, 0,
+ 4045, 4009, 0, 120, 0, 0, 1899, 1090, 744, 0, 0, 1116, 4309, 0, 0, 0,
+ 0, 4023, 2727, 587, 749, 1125, 0, 4140, 0, 2419, 0, 1563, 1733, 4049, 1307, 3227,
+ 0, 833, 447, 2055, 734, 0, 1340, 2015, 0, 1732, 803, 670, 3492, 0, 368, 0,
+ 490, 656, 861, 0, 4056, 2135, 0, 0, 0, 0, 0, 108, 1248, 1973, 0, 0,
+ 0, 1757, 0, 1258, 3314, 4409, 0, 1999, 0, 1083, 0, 0, 3571, 2036, 1124, 0,
+ 1492, 491, 0, 1225, 0, 0, 689, 2671, 0, 312, 0, 0, 0, 1563, 1599, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 710, 2238, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1179, 1815, 0, 0, 3385, 727, 0, 1464, 0, 1449, 4291, 0, 725,
+ 0, 284, 0, 0, 1720, 2927, 2488, 0, 0, 0, 794, 1304, 741, 0, 1883, 1234,
+ 101, 4087, 0, 0, 4342, 4404, 371, 1159, 17, 914, 0, 45, 27, 1031, 4033, 456,
+ 866, 0, 4173, 81, 146, 4085, 963, 0, 1951, 0, 0, 0, 0, 154, 1508, 0,
+ 657, 2555, 0, 0, 0, 1894, 0, 0, 2444, 1831, 0, 1008, 3034, 0, 0, 1967,
+ 577, 0, 0, 0, 430, 0, 1958, 2232, 1350, 0, 4037, 0, 0, 3070, 0, 0,
+ 0, 1118, 570, 3212, 1456, 1203, 284, 1918, 3700, 524, 2221, 0, 0, 0, 0, 0,
+ 4036, 1911, 0, 753, 0, 0, 0, 1511, 591, 0, 0, 2209, 443, 0, 0, 3931,
+ 0, 840, 201, 240, 0, 1110, 2031, 453, 0, 0, 1997, 3449, 2354, 1778, 1814, 803,
+ 2811, 0, 0, 169, 1690, 0, 0, 4364, 0, 1136, 43, 539, 0, 1422, 0, 568,
+ 3883, 0, 0, 2051, 186, 1001, 0, 194, 2469, 0, 0, 283, 3617, 0, 0, 0,
+ 4384, 0, 247, 0, 1772, 4302, 177, 2753, 4113, 2776, 119, 3156, 0, 0, 0, 4055,
+ 2686, 135, 4023, 1985, 0, 1039, 1018, 0, 839, 0, 0, 3800, 1411, 275, 268, 0,
+ 3909, 401, 3648, 3769, 1263, 0, 0, 0, 2320, 1678, 3621, 2718, 0, 0, 3999, 893,
+ 0, 1770, 0, 2940, 83, 2544, 225, 513, 0, 0, 1590, 867, 0, 0, 531, 0,
+ 979, 3698, 595, 0, 0, 0, 2527, 1482, 707, 220, 3168, 0, 1402, 0, 3047, 0,
+ 1410, 1824, 0, 4017, 1229, 3629, 174, 1641, 1396, 2765, 1704, 664, 0, 2031, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 0, 314, 816, 0, 2053, 3408, 0, 0, 0,
+ 483, 2170, 0, 155, 795, 442, 0, 1100, 1207, 0, 2315, 0, 3420, 2207, 3056, 1848,
+ 0, 0, 0, 3834, 923, 0, 3118, 0, 0, 0, 0, 1545, 576, 1649, 0, 2027,
+ 723, 0, 3283, 0, 3670, 0, 1249, 2174, 2420, 1138, 0, 2243, 1149, 615, 653, 0,
+ 0, 352, 0, 0, 0, 0, 0, 3877, 4436, 0, 0, 2315, 0, 1200, 0, 2081,
+ 4415, 0, 43, 1053, 0, 0, 4122, 317, 0, 0, 0, 63, 0, 3246, 0, 0,
+ 0, 133, 881, 0, 590, 833, 389, 737, 0, 571, 0, 895, 0, 0, 723, 1975,
+ 595, 364, 1648, 0, 200, 172, 1440, 2062, 150, 1009, 0, 1736, 1766, 0, 0, 1405,
+ 0, 167, 0, 0, 847, 0, 0, 0, 0, 0, 0, 0, 1548, 0, 0, 874,
+ 0, 1123, 0, 1397, 3525, 577, 0, 0, 4364, 0, 0, 0, 0, 2923, 0, 228,
+ 3563, 0, 182, 983, 0, 4140, 735, 394, 1431, 3564, 421, 700, 0, 0, 0, 2841,
+ 605, 0, 1469, 1428, 0, 1084, 3405, 0, 2035, 4298, 2118, 1081, 464, 3424, 1323, 3786,
+ 0, 570, 3382, 3883, 234, 0, 4200, 4232, 0, 0, 0, 3468, 1044, 0, 182, 4395,
+ 0, 2321, 1469, 135, 2201, 0, 0, 953, 2912, 2371, 1387, 0, 0, 1854, 4276, 687,
+ 706, 4077, 1980, 2007, 0, 0, 0, 301, 605, 0, 0, 1595, 0, 1143, 4133, 286,
+ 0, 1927, 0, 2637, 0, 2071, 0, 1731, 0, 215, 0, 2582, 0, 385, 1834, 812,
+ 1194, 0, 0, 1932, 1228, 3368, 605, 1225, 213, 1237, 0, 1763, 2210, 0, 0, 62,
+ 0, 1247, 1478, 0, 1629, 581, 0, 2713, 814, 1614, 0, 0, 1372, 359, 1569, 0,
+ 304, 2667, 1222, 1818, 2125, 0, 106, 3838, 3579, 48, 2734, 2051, 0, 0, 124, 1820,
+ 0, 3695, 3683, 0, 0, 3834, 464, 972, 2678, 3716, 1071, 1021, 0, 1870, 2130, 4252,
+ 4320, 2981, 3280, 0, 1036, 594, 661, 908, 1920, 0, 1610, 1991, 3, 1375, 0, 1192,
+ 0, 2312, 0, 1128, 0, 2322, 2894, 2222, 537, 4424, 0, 0, 1407, 954, 781, 0,
+ 3676, 378, 133, 3228, 0, 0, 17, 0, 248, 0, 0, 2459, 746, 67, 731, 788,
+ 306, 923, 0, 1352, 0, 166, 2502, 0, 0, 0, 854, 0, 0, 917, 0, 1253,
+ 0, 0, 1561, 0, 603, 841, 265, 305, 2753, 2906, 362, 0, 1022, 180, 1982, 1940,
+ 486, 262, 0, 0, 1454, 1006, 0, 0, 1194, 0, 2039, 526, 2749, 3542, 650, 0,
+ 1845, 0, 0, 0, 860, 3057, 960, 2101, 0, 4286, 0, 0, 524, 1966, 0, 1956,
+ 3835, 3337, 0, 0, 4054, 0, 806, 3300, 0, 1321, 0, 448, 1906, 0, 0, 0,
+ 0, 3888, 2784, 2114, 0, 0, 534, 2255, 852, 0, 0, 3332, 2315, 392, 0, 0,
+ 2722, 0, 0, 67, 0, 1925, 0, 2898, 3801, 2341, 0, 0, 4247, 3574, 111, 0,
+ 1861, 219, 0, 0, 0, 431, 0, 0, 4397, 4279, 2108, 2546, 4067, 4259, 0, 257,
+ 584, 0, 674, 218, 1210, 0, 331, 2803, 2380, 544, 861, 0, 1935, 0, 3854, 0,
+ 1388, 0, 0, 0, 3538, 917, 1996, 1686, 0, 0, 1125, 4160, 1370, 0, 0, 0,
+ 2573, 4296, 0, 825, 0, 0, 727, 694, 802, 1067, 0, 0, 0, 92, 0, 0,
+ 320, 0, 0, 215, 45, 1656, 0, 0, 0, 0, 0, 3164, 1801, 224, 115, 3793,
+ 0, 0, 1475, 2486, 3661, 2080, 0, 1456, 1250, 557, 336, 0, 0, 824, 1, 196,
+ 0, 0, 0, 0, 1705, 0, 0, 0, 2273, 919, 0, 0, 1168, 2571, 0, 4042,
+ 774, 0, 0, 0, 997, 1754, 3223, 0, 1736, 1313, 0, 0, 542, 498, 2297, 0,
+ 28, 62, 2996, 443, 3445, 0, 3402, 0, 1444, 0, 0, 3924, 3772, 107, 790, 0,
+ 0, 0, 0, 3727, 0, 3381, 0, 0, 0, 0, 1643, 0, 0, 335, 0, 0,
+ 4408, 0, 2915, 0, 2095, 558, 0, 1172, 1310, 586, 0, 326, 4312, 277, 314, 1068,
+ 1099, 386, 3578, 58, 0, 0, 0, 1394, 719, 0, 1819, 0, 0, 1891, 0, 1270,
+ 0, 159, 2474, 630, 44, 195, 0, 639, 3387, 0, 1750, 1679, 0, 0, 476, 2000,
+ 4187, 0, 0, 1045, 3059, 0, 0, 4011, 757, 879, 1309, 0, 0, 1285, 0, 493,
+ 0, 0, 403, 3090, 0, 1420, 0, 0, 0, 93, 3097, 0, 2678, 0, 4382, 519,
+ 0, 0, 0, 1483, 3662, 677, 0, 0, 210, 2969, 1381, 0, 0, 697, 621, 1034,
+ 2438, 0, 548, 454, 2031, 998, 0, 0, 1344, 3719, 762, 1854, 322, 1565, 2898, 0,
+ 0, 1880, 488, 4066, 1208, 4331, 0, 1946, 2947, 1001, 957, 0, 605, 0, 0, 2653,
+ 0, 2576, 1071, 2691, 1453, 839, 1699, 1498, 0, 0, 1453, 2837, 644, 390, 0, 1417,
+ 0, 0, 2002, 403, 0, 0, 1058, 151, 3634, 2514, 685, 0, 1552, 1957, 0, 0,
+ 4008, 0, 0, 907, 1180, 1970, 5, 1554, 1716, 1406, 0, 1281, 1608, 1386, 0, 46,
+ 990, 1196, 0, 2749, 2074, 458, 0, 1147, 0, 303, 4093, 2353, 3243, 2029, 3905, 0,
+ 1344, 0, 889, 3759, 0, 0, 0, 0, 697, 1292, 0, 0, 940, 4381, 0, 1097,
+ 1279, 0, 0, 0, 921, 0, 3951, 0, 0, 1774, 0, 0, 3666, 0, 0, 0,
+ 2132, 49, 0, 1998, 0, 0, 3063, 2263, 0, 0, 0, 0, 4133, 0, 4168, 0,
+ 2291, 0, 30, 2020, 1578, 0, 0, 1340, 3835, 1601, 0, 1154, 623, 3975, 1990, 431,
+ 1879, 0, 0, 0, 1250, 1437, 0, 205, 0, 484, 1031, 107, 1358, 173, 1159, 4001,
+ 294, 4263, 528, 92, 0, 2683, 0, 42, 0, 205, 0, 2971, 0, 0, 0, 122,
+ 299, 3205, 0, 850, 906, 625, 2413, 2904, 410, 0, 3395, 2076, 68, 0, 0, 1587,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1551, 989, 0, 4344, 1523, 0, 967,
+ 0, 673, 795, 0, 0, 746, 0, 3633, 412, 781, 0, 762, 0, 0, 1435, 0,
+ 87, 0, 603, 2598, 982, 0, 936, 302, 1113, 0, 0, 0, 0, 178, 0, 3223,
+ 0, 147, 2023, 361, 1492, 290, 3936, 1176, 0, 366, 4185, 3937, 6, 1188, 247, 1755,
+ 556, 0, 1633, 0, 0, 2129, 0, 3726, 716, 0, 1102, 0, 0, 0, 0, 0,
+ 241, 1792, 0, 758, 0, 0, 3855, 480, 0, 0, 902, 3812, 0, 823, 0, 3631,
+ 1447, 0, 3684, 1302, 520, 685, 1701, 0, 4131, 1127, 40, 0, 0, 0, 0, 641,
+ 4256, 1076, 1442, 0, 1018, 0, 970, 377, 0, 919, 0, 645, 1391, 564, 443, 1843,
+ 465, 1697, 916, 797, 0, 0, 1433, 0, 1727, 3260, 0, 0, 0, 0, 0, 3978,
+ 4255, 0, 0, 185, 798, 0, 3635, 4265, 1466, 0, 4057, 430, 1811, 0, 1753, 605,
+ 0, 469, 839, 325, 1451, 1317, 1902, 4251, 0, 2, 0, 0, 86, 439, 0, 1255,
+ 1536, 2001, 2390, 0, 0, 0, 0, 878, 966, 986, 0, 0, 1343, 0, 2039, 0,
+ 0, 61, 1939, 1875, 202, 0, 0, 2049, 0, 3918, 1470, 897, 1501, 0, 0, 3211,
+ 403, 0, 504, 459};
int MangledHashG(const char *key, const int *T)
{
@@ -319,7 +320,7 @@ int MangledHashG(const char *key, const int *T)
for (int i = 0; key[i] != '\0'; i++)
{
sum += T[i] * key[i];
- sum %= 4437;
+ sum %= 4452;
}
return mangledkG[sum];
}
@@ -329,7 +330,7 @@ int MangledPerfectHash(const char *key)
if (strlen(key) > 37)
return 0;
- return (MangledHashG(key, mangledkT1) + MangledHashG(key, mangledkT2)) % 4437;
+ return (MangledHashG(key, mangledkT1) + MangledHashG(key, mangledkT2)) % 4452;
}
constexpr int unmangledkT1[] = {162, 98, 200, 17, 263, 137, 354, 364, 24, 149, 40, 40, 170,
@@ -338,26 +339,26 @@ constexpr int unmangledkT2[] = {290, 338, 301, 284, 117, 303, 83, 150, 389, 350
316, 310, 107, 30, 65, 14, 310, 8, 298, 365, 40, 174, 83};
constexpr int unmangledkG[] = {
0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 199, 165, 0, 0, 0,
- 0, 0, 231, 244, 164, 0, 0, 71, 381, 37, 0, 0, 138, 9, 33, 0, 6, 0, 0,
- 163, 102, 0, 0, 152, 0, 70, 0, 0, 203, 0, 181, 0, 0, 206, 0, 0, 0, 0,
- 0, 0, 0, 40, 0, 0, 119, 0, 0, 122, 0, 116, 0, 66, 0, 92, 116, 0, 355,
- 101, 0, 0, 0, 70, 0, 0, 0, 78, 366, 0, 28, 383, 0, 0, 273, 0, 392, 0,
- 0, 0, 369, 325, 0, 74, 0, 0, 260, 0, 0, 0, 306, 306, 0, 68, 0, 123, 61,
- 0, 140, 190, 0, 0, 0, 165, 88, 73, 0, 379, 17, 81, 82, 360, 0, 170, 28, 120,
- 0, 0, 0, 0, 315, 58, 56, 0, 393, 50, 0, 0, 392, 48, 305, 0, 0, 384, 24,
- 0, 381, 0, 0, 0, 74, 0, 0, 227, 0, 0, 160, 174, 0, 0, 0, 0, 0, 0,
- 0, 0, 192, 0, 59, 0, 0, 0, 225, 327, 0, 75, 142, 367, 0, 0, 107, 0, 0,
- 48, 0, 0, 66, 47, 0, 0, 0, 228, 341, 58, 0, 196, 40, 130, 25, 41, 179, 136,
- 3, 0, 115, 373, 0, 0, 311, 31, 0, 0, 0, 349, 113, 62, 89, 0, 21, 0, 21,
- 24, 76, 378, 0, 390, 0, 140, 123, 0, 0, 0, 0, 2, 322, 151, 382, 112, 0, 19,
- 273, 137, 0, 0, 69, 23, 0, 0, 160, 0, 39, 26, 269, 362, 0, 186, 0, 109, 62,
- 82, 0, 57, 37, 0, 155, 64, 399, 146, 191, 0, 0, 282, 0, 0, 163, 392, 153, 192,
- 127, 0, 98, 0, 72, 0, 0, 128, 24, 396, 0, 41, 71, 0, 0, 17, 133, 0, 381,
- 180, 310, 115, 124, 166, 7, 0, 0, 0, 0, 81, 295, 369, 0, 230, 134, 86, 0, 121,
- 0, 0, 206, 0, 0, 188, 85, 230, 197, 118, 0, 0, 10, 394, 59, 96, 0, 371, 53,
- 0, 369, 0, 364, 0, 209, 0, 178, 195, 228, 0, 0, 0, 0, 0, 0, 0, 167, 41,
- 89, 0, 76, 0, 172, 0, 0, 176, 0, 48, 0, 198, 0, 265, 56, 157, 0, 283, 0,
- 102, 217, 0, 0, 0, 38, 146, 0, 112, 0, 41, 0, 0, 0, 200, 0, 19, 43, 0,
+ 0, 0, 230, 245, 164, 0, 0, 71, 382, 38, 0, 0, 137, 9, 34, 0, 6, 0, 0,
+ 162, 101, 0, 0, 151, 0, 70, 0, 0, 201, 0, 181, 0, 0, 207, 0, 0, 0, 0,
+ 0, 0, 0, 38, 0, 0, 120, 0, 0, 121, 0, 115, 0, 67, 0, 92, 115, 0, 356,
+ 99, 0, 0, 0, 70, 0, 0, 0, 79, 366, 0, 28, 383, 0, 0, 273, 0, 392, 0,
+ 0, 0, 369, 324, 0, 74, 0, 0, 261, 0, 0, 0, 304, 306, 0, 68, 0, 123, 61,
+ 0, 142, 190, 0, 0, 0, 164, 88, 73, 0, 378, 17, 81, 82, 361, 0, 169, 27, 119,
+ 0, 0, 0, 0, 313, 58, 56, 0, 393, 50, 0, 0, 392, 47, 305, 0, 0, 384, 24,
+ 0, 380, 0, 0, 0, 73, 0, 0, 227, 0, 0, 158, 174, 0, 0, 0, 0, 0, 0,
+ 0, 0, 193, 0, 59, 0, 0, 0, 225, 327, 0, 76, 142, 367, 0, 0, 106, 0, 0,
+ 48, 0, 0, 66, 45, 0, 0, 0, 227, 340, 57, 0, 195, 39, 130, 25, 40, 179, 135,
+ 3, 0, 114, 373, 0, 0, 312, 31, 0, 0, 0, 348, 113, 61, 88, 0, 21, 0, 21,
+ 25, 76, 376, 0, 391, 0, 141, 122, 0, 0, 0, 0, 2, 322, 150, 381, 112, 0, 19,
+ 272, 136, 0, 0, 69, 22, 0, 0, 159, 0, 39, 26, 268, 364, 0, 186, 0, 108, 62,
+ 82, 0, 56, 35, 0, 154, 65, 400, 145, 191, 0, 0, 282, 0, 0, 163, 391, 152, 192,
+ 127, 0, 97, 0, 71, 0, 0, 127, 24, 396, 0, 41, 70, 0, 0, 90, 132, 0, 382,
+ 180, 311, 114, 123, 165, 7, 0, 0, 0, 0, 81, 296, 369, 0, 229, 133, 85, 0, 120,
+ 0, 0, 206, 0, 0, 188, 84, 230, 196, 117, 0, 0, 10, 394, 59, 97, 0, 371, 53,
+ 0, 370, 0, 364, 0, 208, 0, 178, 195, 229, 0, 0, 0, 0, 0, 0, 0, 166, 41,
+ 89, 0, 77, 0, 171, 0, 0, 177, 0, 47, 0, 198, 0, 266, 56, 156, 0, 283, 0,
+ 101, 218, 0, 0, 0, 38, 145, 0, 111, 0, 41, 0, 0, 0, 201, 0, 19, 43, 0,
82, 396, 57};
int UnmangledHashG(const char *key, const int *T)
diff --git a/chromium/third_party/angle/src/compiler/translator/Initialize.cpp b/chromium/third_party/angle/src/compiler/translator/Initialize.cpp
index 7b61e4cfaa6..bd75ab7e0f4 100644
--- a/chromium/third_party/angle/src/compiler/translator/Initialize.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/Initialize.cpp
@@ -117,6 +117,14 @@ void InitExtensionBehavior(const ShBuiltInResources &resources, TExtensionBehavi
{
extBehavior[TExtension::APPLE_clip_distance] = EBhUndefined;
}
+ if (resources.OES_texture_cube_map_array)
+ {
+ extBehavior[TExtension::OES_texture_cube_map_array] = EBhUndefined;
+ }
+ if (resources.EXT_texture_cube_map_array)
+ {
+ extBehavior[TExtension::EXT_texture_cube_map_array] = EBhUndefined;
+ }
}
void ResetExtensionBehavior(const ShBuiltInResources &resources,
@@ -137,8 +145,8 @@ void ResetExtensionBehavior(const ShBuiltInResources &resources,
else
{
// Restore ARB_texture_rectangle in case it was removed during an earlier reset. As
- // noted above, it doesn't follow the standard for extension directives and is enabled
- // by default.
+ // noted above, it doesn't follow the standard for extension directives and is
+ // enabled by default.
extBehavior[TExtension::ARB_texture_rectangle] = EBhEnable;
}
}
diff --git a/chromium/third_party/angle/src/compiler/translator/Operator.h b/chromium/third_party/angle/src/compiler/translator/Operator.h
index a4e515e0456..ef33a9f0677 100644
--- a/chromium/third_party/angle/src/compiler/translator/Operator.h
+++ b/chromium/third_party/angle/src/compiler/translator/Operator.h
@@ -7,10 +7,12 @@
#ifndef COMPILER_TRANSLATOR_OPERATOR_H_
#define COMPILER_TRANSLATOR_OPERATOR_H_
+#include <cstdint>
+
//
// Operators used by the high-level (parse tree) representation.
//
-enum TOperator
+enum TOperator : uint8_t
{
EOpNull, // if in a node, should only mean a node is still being built
diff --git a/chromium/third_party/angle/src/compiler/translator/ParseContext_ESSL_autogen.h b/chromium/third_party/angle/src/compiler/translator/ParseContext_ESSL_autogen.h
index e7dcd489ec7..7a46b52852b 100644
--- a/chromium/third_party/angle/src/compiler/translator/ParseContext_ESSL_autogen.h
+++ b/chromium/third_party/angle/src/compiler/translator/ParseContext_ESSL_autogen.h
@@ -21,67 +21,67 @@ namespace BuiltInGroup
bool isTextureOffsetNoBias(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3060 && id <= 3129;
+ return id >= 3094 && id <= 3163;
}
bool isTextureOffsetBias(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3130 && id <= 3149;
+ return id >= 3164 && id <= 3183;
}
bool isTextureGatherOffsetsComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3187 && id <= 3199;
+ return id >= 3221 && id <= 3233;
}
bool isTextureGatherOffsetsNoComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3200 && id <= 3215;
+ return id >= 3234 && id <= 3249;
}
bool isTextureGatherOffsets(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3187 && id <= 3215;
+ return id >= 3221 && id <= 3249;
}
bool isTextureGatherOffsetComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3216 && id <= 3221;
+ return id >= 3250 && id <= 3255;
}
bool isTextureGatherOffsetNoComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3222 && id <= 3229;
+ return id >= 3256 && id <= 3263;
}
bool isTextureGatherOffset(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3216 && id <= 3229;
+ return id >= 3250 && id <= 3263;
}
bool isTextureGather(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3163 && id <= 3229;
+ return id >= 3197 && id <= 3263;
}
bool isAtomicMemory(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3246 && id <= 3263;
+ return id >= 3280 && id <= 3297;
}
bool isImageLoad(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3288 && id <= 3299;
+ return id >= 3328 && id <= 3342;
}
bool isImageStore(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3300 && id <= 3311;
+ return id >= 3343 && id <= 3357;
}
bool isImage(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 3264 && id <= 3311;
+ return id >= 3298 && id <= 3357;
}
} // namespace BuiltInGroup
diff --git a/chromium/third_party/angle/src/compiler/translator/ParseContext_complete_autogen.h b/chromium/third_party/angle/src/compiler/translator/ParseContext_complete_autogen.h
index 2e546359457..78b3f008b97 100644
--- a/chromium/third_party/angle/src/compiler/translator/ParseContext_complete_autogen.h
+++ b/chromium/third_party/angle/src/compiler/translator/ParseContext_complete_autogen.h
@@ -21,67 +21,67 @@ namespace BuiltInGroup
bool isTextureOffsetNoBias(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1117 && id <= 1263;
+ return id >= 1130 && id <= 1276;
}
bool isTextureOffsetBias(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1264 && id <= 1298;
+ return id >= 1277 && id <= 1311;
}
bool isTextureGatherOffsetsComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1350 && id <= 1365;
+ return id >= 1356 && id <= 1371;
}
bool isTextureGatherOffsetsNoComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1366 && id <= 1385;
+ return id >= 1372 && id <= 1391;
}
bool isTextureGatherOffsets(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1350 && id <= 1385;
+ return id >= 1356 && id <= 1391;
}
bool isTextureGatherOffsetComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1386 && id <= 1394;
+ return id >= 1392 && id <= 1400;
}
bool isTextureGatherOffsetNoComp(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1395 && id <= 1406;
+ return id >= 1401 && id <= 1412;
}
bool isTextureGatherOffset(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1386 && id <= 1406;
+ return id >= 1392 && id <= 1412;
}
bool isTextureGather(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1312 && id <= 1406;
+ return id >= 1325 && id <= 1412;
}
bool isAtomicMemory(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1468 && id <= 1485;
+ return id >= 1474 && id <= 1491;
}
bool isImageLoad(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 2122 && id <= 2154;
+ return id >= 2128 && id <= 2160;
}
bool isImageStore(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 2155 && id <= 2187;
+ return id >= 2161 && id <= 2193;
}
bool isImage(const TFunction *func)
{
int id = func->uniqueId().get();
- return id >= 1486 && id <= 2187;
+ return id >= 1492 && id <= 2193;
}
} // namespace BuiltInGroup
diff --git a/chromium/third_party/angle/src/compiler/translator/ShaderLang.cpp b/chromium/third_party/angle/src/compiler/translator/ShaderLang.cpp
index 02eb966c6b9..ea7dffe274f 100644
--- a/chromium/third_party/angle/src/compiler/translator/ShaderLang.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/ShaderLang.cpp
@@ -176,6 +176,8 @@ void InitBuiltInResources(ShBuiltInResources *resources)
resources->ANGLE_base_vertex_base_instance = 0;
resources->WEBGL_video_texture = 0;
resources->APPLE_clip_distance = 0;
+ resources->OES_texture_cube_map_array = 0;
+ resources->EXT_texture_cube_map_array = 0;
resources->NV_draw_buffers = 0;
diff --git a/chromium/third_party/angle/src/compiler/translator/ShaderVars.cpp b/chromium/third_party/angle/src/compiler/translator/ShaderVars.cpp
index 44780948b76..024138bd0b3 100644
--- a/chromium/third_party/angle/src/compiler/translator/ShaderVars.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/ShaderVars.cpp
@@ -282,6 +282,39 @@ bool ShaderVariable::findInfoByMappedName(const std::string &mappedFullName,
}
}
+const sh::ShaderVariable *ShaderVariable::findField(const std::string &fullName,
+ uint32_t *fieldIndexOut) const
+{
+ if (fields.empty())
+ {
+ return nullptr;
+ }
+ size_t pos = fullName.find_first_of(".");
+ if (pos == std::string::npos)
+ {
+ return nullptr;
+ }
+ std::string topName = fullName.substr(0, pos);
+ if (topName != name)
+ {
+ return nullptr;
+ }
+ std::string fieldName = fullName.substr(pos + 1);
+ if (fieldName.empty())
+ {
+ return nullptr;
+ }
+ for (size_t field = 0; field < fields.size(); ++field)
+ {
+ if (fields[field].name == fieldName)
+ {
+ *fieldIndexOut = static_cast<GLuint>(field);
+ return &fields[field];
+ }
+ }
+ return nullptr;
+}
+
bool ShaderVariable::isBuiltIn() const
{
return (name.size() >= 4 && name[0] == 'g' && name[1] == 'l' && name[2] == '_');
diff --git a/chromium/third_party/angle/src/compiler/translator/SymbolTable.h b/chromium/third_party/angle/src/compiler/translator/SymbolTable.h
index fdb84eab201..0e8b7fca88e 100644
--- a/chromium/third_party/angle/src/compiler/translator/SymbolTable.h
+++ b/chromium/third_party/angle/src/compiler/translator/SymbolTable.h
@@ -42,7 +42,7 @@
#include "compiler/translator/Symbol.h"
#include "compiler/translator/SymbolTable_autogen.h"
-enum class Shader
+enum class Shader : uint8_t
{
ALL,
FRAGMENT, // GL_FRAGMENT_SHADER
@@ -66,7 +66,7 @@ struct UnmangledBuiltIn
using VarPointer = TSymbol *(TSymbolTableBase::*);
using ValidateExtension = int ShBuiltInResources::*;
-enum class Spec
+enum class Spec : uint8_t
{
GLSL,
ESSL
diff --git a/chromium/third_party/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp b/chromium/third_party/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp
index bda42d84bed..d7b61e71160 100644
--- a/chromium/third_party/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp
@@ -662,6 +662,30 @@ constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMS1;
constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_Sampler2DMSArray1;
constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_ISampler2DMSArray1;
constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMSArray1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeArray1_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_ISamplerCubeArray1_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_USamplerCubeArray1_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1;
+constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3;
+constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3;
+constexpr const TSymbolUniqueId BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1;
constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1;
constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1;
constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMS1_Int2_Int1;
@@ -935,6 +959,9 @@ constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage2DArray1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageCube1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageCube1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageCube1;
+constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageCubeArray1;
+constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageCubeArray1;
+constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageCubeArray1;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image2D1_Int2;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage2D1_Int2;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage2D1_Int2;
@@ -947,6 +974,9 @@ constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage2DArray1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageCube1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageCube1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageCube1_Int3;
+constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageCubeArray1_Int3;
+constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageCubeArray1_Int3;
+constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageCubeArray1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageStore_Image2D1_Int2_Float4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage2D1_Int2_Int4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage2D1_Int2_UInt4;
@@ -959,6 +989,9 @@ constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage2DArray1_Int3_UInt4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageCube1_Int3_Float4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageCube1_Int3_Int4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageCube1_Int3_UInt4;
+constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageCubeArray1_Int3_Float4;
+constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageCubeArray1_Int3_Int4;
+constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4;
constexpr const TSymbolUniqueId BuiltInId::memoryBarrier;
constexpr const TSymbolUniqueId BuiltInId::memoryBarrierAtomicCounter;
constexpr const TSymbolUniqueId BuiltInId::memoryBarrierBuffer;
@@ -1061,7 +1094,7 @@ constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutBlock;
constexpr const TSymbolUniqueId BuiltInId::gl_PositionGS;
constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVR;
-const int TSymbolTable::kLastBuiltInId = 3413;
+const int TSymbolTable::kLastBuiltInId = 3459;
namespace BuiltInName
{
@@ -1691,6 +1724,30 @@ constexpr const TVariable kpt00f(
SymbolType::BuiltIn,
TExtension::UNDEFINED,
StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kpt00k(
+ BuiltInId::pt00k,
+ BuiltInName::_empty,
+ SymbolType::BuiltIn,
+ TExtension::UNDEFINED,
+ StaticType::Get<EbtSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kpt00l(
+ BuiltInId::pt00l,
+ BuiltInName::_empty,
+ SymbolType::BuiltIn,
+ TExtension::UNDEFINED,
+ StaticType::Get<EbtSamplerCubeArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kpt00s(
+ BuiltInId::pt00s,
+ BuiltInName::_empty,
+ SymbolType::BuiltIn,
+ TExtension::UNDEFINED,
+ StaticType::Get<EbtISamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kpt00x(
+ BuiltInId::pt00x,
+ BuiltInName::_empty,
+ SymbolType::BuiltIn,
+ TExtension::UNDEFINED,
+ StaticType::Get<EbtUSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kpt00y(
BuiltInId::pt00y,
BuiltInName::_empty,
@@ -1759,6 +1816,24 @@ constexpr const TVariable kpt01K(BuiltInId::pt01K,
SymbolType::BuiltIn,
TExtension::UNDEFINED,
StaticType::Get<EbtUImageCube, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kpt01a(
+ BuiltInId::pt01a,
+ BuiltInName::_empty,
+ SymbolType::BuiltIn,
+ TExtension::UNDEFINED,
+ StaticType::Get<EbtImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kpt01b(
+ BuiltInId::pt01b,
+ BuiltInName::_empty,
+ SymbolType::BuiltIn,
+ TExtension::UNDEFINED,
+ StaticType::Get<EbtIImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kpt01c(
+ BuiltInId::pt01c,
+ BuiltInName::_empty,
+ SymbolType::BuiltIn,
+ TExtension::UNDEFINED,
+ StaticType::Get<EbtUImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kpt10B(BuiltInId::pt10B,
BuiltInName::_empty,
SymbolType::BuiltIn,
@@ -2440,42 +2515,72 @@ constexpr const TVariable *p00f20B00B10Dx4[4] = {&BuiltInVariable::kpt00f, &Buil
constexpr const TVariable *p00f30B10B10B10D[5] = {
&BuiltInVariable::kpt00f, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
-constexpr const TVariable *p00y10B[2] = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt10B};
-constexpr const TVariable *p00z10D30B[3] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D,
+constexpr const TVariable *p00k00D[2] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt00D};
+constexpr const TVariable *p00k30B00B[3] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt00B};
+constexpr const TVariable *p00k30B00D[3] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt00D};
+constexpr const TVariable *p00k30B20B20B[4] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
+constexpr const TVariable *p00l00D[2] = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt00D};
+constexpr const TVariable *p00l30B00B[3] = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt00B};
+constexpr const TVariable *p00s00D[2] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt00D};
+constexpr const TVariable *p00s30B00B[3] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt00B};
+constexpr const TVariable *p00s30B00D[3] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt00D};
+constexpr const TVariable *p00s30B20B20B[4] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
+constexpr const TVariable *p00x00D[2] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt00D};
+constexpr const TVariable *p00x30B00B[3] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt00B};
+constexpr const TVariable *p00x30B00D[3] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt00D};
+constexpr const TVariable *p00x30B20B20B[4] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B,
+ &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
+constexpr const TVariable *p00y10B[2] = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt10B};
+constexpr const TVariable *p00z10D30B[3] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D,
&BuiltInVariable::kpt30B};
-constexpr const TVariable *p01A10D30D[3] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt10D,
+constexpr const TVariable *p01A10D30D[3] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt10D,
&BuiltInVariable::kpt30D};
-constexpr const TVariable *p01B10D30E[3] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt10D,
+constexpr const TVariable *p01B10D30E[3] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt10D,
&BuiltInVariable::kpt30E};
-constexpr const TVariable *p01C20D30B[3] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01C20D30B[3] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30B};
-constexpr const TVariable *p01D20D30D[3] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01D20D30D[3] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30D};
-constexpr const TVariable *p01E20D30E[3] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01E20D30E[3] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30E};
-constexpr const TVariable *p01F20D30B[3] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01F20D30B[3] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30B};
-constexpr const TVariable *p01G20D30D[3] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01G20D30D[3] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30D};
-constexpr const TVariable *p01H20D30E[3] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01H20D30E[3] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30E};
-constexpr const TVariable *p01I20D30B[3] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01I20D30B[3] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30B};
-constexpr const TVariable *p01J20D30D[3] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01J20D30D[3] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30D};
-constexpr const TVariable *p01K20D30E[3] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20D,
+constexpr const TVariable *p01K20D30E[3] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20D,
&BuiltInVariable::kpt30E};
-constexpr const TVariable *p10B00B00B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
+constexpr const TVariable *p01a20D30B[3] = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt20D,
+ &BuiltInVariable::kpt30B};
+constexpr const TVariable *p01b20D30D[3] = {&BuiltInVariable::kpt01b, &BuiltInVariable::kpt20D,
+ &BuiltInVariable::kpt30D};
+constexpr const TVariable *p01c20D30E[3] = {&BuiltInVariable::kpt01c, &BuiltInVariable::kpt20D,
+ &BuiltInVariable::kpt30E};
+constexpr const TVariable *p10B00B00B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
&BuiltInVariable::kpt00B};
-constexpr const TVariable *p10B10B00B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
+constexpr const TVariable *p10B10B00B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
&BuiltInVariable::kpt00B};
-constexpr const TVariable *p10B10B10B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
+constexpr const TVariable *p10B10B10B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
&BuiltInVariable::kpt10B};
-constexpr const TVariable *p10B10B10F[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
+constexpr const TVariable *p10B10B10F[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
&BuiltInVariable::kpt10F};
-constexpr const TVariable *p10B10D[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
-constexpr const TVariable *p10B20B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt20B};
-constexpr const TVariable *p10B30B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt30B};
+constexpr const TVariable *p10B10D[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
+constexpr const TVariable *p10B20B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt20B};
+constexpr const TVariable *p10B30B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt30B};
constexpr const TVariable *p10B_o_10B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10B};
constexpr const TVariable *p10B_o_10D[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10D};
constexpr const TVariable *p10D00D00D[3] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
@@ -7971,6 +8076,219 @@ constexpr const TFunction textureSizeExt_00c(
StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
EOpCallBuiltInFunction,
false);
+constexpr const TFunction textureSize_00k00D(
+ BuiltInId::textureSize_SamplerCubeArray1_Int1,
+ BuiltInName::textureSize,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k00D,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureSize_00s00D(
+ BuiltInId::textureSize_ISamplerCubeArray1_Int1,
+ BuiltInName::textureSize,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s00D,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureSize_00x00D(
+ BuiltInId::textureSize_USamplerCubeArray1_Int1,
+ BuiltInName::textureSize,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x00D,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureSize_00l00D(
+ BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1,
+ BuiltInName::textureSize,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00l00D,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00k30B(BuiltInId::texture_SamplerCubeArray1_Float4,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00B,
+ 2,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00s30B(BuiltInId::texture_ISamplerCubeArray1_Float4,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00B,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00x30B(BuiltInId::texture_USamplerCubeArray1_Float4,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00B,
+ 2,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00k30B00B(
+ BuiltInId::texture_SamplerCubeArray1_Float4_Float1,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00B,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00s30B00B(
+ BuiltInId::texture_ISamplerCubeArray1_Float4_Float1,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00B,
+ 3,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00x30B00B(
+ BuiltInId::texture_USamplerCubeArray1_Float4_Float1,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00B,
+ 3,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00l30B00B(
+ BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00l30B00B,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureLod_00k30B00B(
+ BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1,
+ BuiltInName::textureLod,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00B,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureLod_00s30B00B(
+ BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1,
+ BuiltInName::textureLod,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00B,
+ 3,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureLod_00x30B00B(
+ BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1,
+ BuiltInName::textureLod,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00B,
+ 3,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGrad_00k30B20B20B(
+ BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3,
+ BuiltInName::textureGrad,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B20B20B,
+ 4,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGrad_00s30B20B20B(
+ BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3,
+ BuiltInName::textureGrad,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B20B20B,
+ 4,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGrad_00x30B20B20B(
+ BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3,
+ BuiltInName::textureGrad,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B20B20B,
+ 4,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00k30B(
+ BuiltInId::textureGather_SamplerCubeArray1_Float4,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00B,
+ 2,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00s30B(
+ BuiltInId::textureGather_ISamplerCubeArray1_Float4,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00B,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00x30B(
+ BuiltInId::textureGather_USamplerCubeArray1_Float4,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00B,
+ 2,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00k30B00D(
+ BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00D,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00s30B00D(
+ BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00D,
+ 3,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00x30B00D(
+ BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00D,
+ 3,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00l30B00B(
+ BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00l30B00B,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
constexpr const TFunction texelFetch_00P10D00D(
BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1,
BuiltInName::texelFetch,
@@ -10188,6 +10506,30 @@ constexpr const TFunction imageSize_01K(BuiltInId::imageSize_UImageCube1,
StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
EOpCallBuiltInFunction,
false);
+constexpr const TFunction imageSize_01a(BuiltInId::imageSize_ImageCubeArray1,
+ BuiltInName::imageSize,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01a20D30B,
+ 1,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction imageSize_01b(BuiltInId::imageSize_IImageCubeArray1,
+ BuiltInName::imageSize,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01b20D30D,
+ 1,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction imageSize_01c(BuiltInId::imageSize_UImageCubeArray1,
+ BuiltInName::imageSize,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01c20D30E,
+ 1,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ EOpCallBuiltInFunction,
+ false);
constexpr const TFunction imageLoad_00z10D(
BuiltInId::imageLoad_Image2D1_Int2,
BuiltInName::imageLoad,
@@ -10292,6 +10634,32 @@ constexpr const TFunction imageLoad_01K20D(
StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
+constexpr const TFunction imageLoad_01a20D(
+ BuiltInId::imageLoad_ImageCubeArray1_Int3,
+ BuiltInName::imageLoad,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01a20D30B,
+ 2,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction imageLoad_01b20D(BuiltInId::imageLoad_IImageCubeArray1_Int3,
+ BuiltInName::imageLoad,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01b20D30D,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction imageLoad_01c20D(
+ BuiltInId::imageLoad_UImageCubeArray1_Int3,
+ BuiltInName::imageLoad,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01c20D30E,
+ 2,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
constexpr const TFunction imageStore_00z10D30B(
BuiltInId::imageStore_Image2D1_Int2_Float4,
BuiltInName::imageStore,
@@ -10400,6 +10768,33 @@ constexpr const TFunction imageStore_01K20D30E(
StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
false);
+constexpr const TFunction imageStore_01a20D30B(
+ BuiltInId::imageStore_ImageCubeArray1_Int3_Float4,
+ BuiltInName::imageStore,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01a20D30B,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction imageStore_01b20D30D(
+ BuiltInId::imageStore_IImageCubeArray1_Int3_Int4,
+ BuiltInName::imageStore,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01b20D30D,
+ 3,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction imageStore_01c20D30E(
+ BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4,
+ BuiltInName::imageStore,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p01c20D30E,
+ 3,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
constexpr const TFunction memoryBarrier_(BuiltInId::memoryBarrier,
BuiltInName::memoryBarrier,
TExtension::UNDEFINED,
@@ -10504,6 +10899,7 @@ using Rule = SymbolRule;
// Rules used to initialize the mangled name array.
constexpr SymbolRule kRules[] = {
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00s00D),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00R30B00B),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00R30B00B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01G20D30D),
@@ -10548,6 +10944,7 @@ constexpr SymbolRule kRules[] = {
&textureGatherOffsetsExt_00U20B10Dx400D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_00E00E00E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_00E00E00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01E20D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_50B),
Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_50B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_00B00D),
@@ -10570,6 +10967,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00Y30B20B20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_30B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00l30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_10B),
@@ -10643,8 +11041,8 @@ constexpr SymbolRule kRules[] = {
&TableBase::m_gl_MaxGeometryOutputComponents),
Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
&TableBase::m_gl_MaxGeometryTextureImageUnits),
- Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_20B),
- Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_20B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackSnorm4x8_00E),
+ Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackSnorm4x8_00E),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_20D20D00D00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_20D20D00D00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexTextureImageUnits),
@@ -10688,9 +11086,11 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 430, Shader::COMPUTE, 0>(&groupMemoryBarrier_),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_00B00B00F),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_00B00B00F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01b20D30D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00R20B10B10B10D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00R20B10B10B10D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01A10D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00s30B00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_30D),
Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_30D),
Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00X10B10Dx4),
@@ -10701,7 +11101,10 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00I20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00I10D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00I10D00D),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01I20D30B),
+ Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx4),
+ Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx4),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
+ &textureGatherOffsetsExt_00U20B10Dx4),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_30B30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_30B30B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounterBuffers),
@@ -10838,6 +11241,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&atomicCounterDecrement_00G),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00S20B20B20B20D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00S20B20B20B20D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01I20D30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01c20D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicXor_00E00E),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicXor_00E00E),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00R20B10D),
@@ -10847,12 +11252,16 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30E30E30E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30E30E30E),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B00B),
+ Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
+ Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00R00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00R00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_00B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_00B),
+ Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
+ Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00I10B10D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00I10B10D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicExchange_00E00E),
@@ -10869,8 +11278,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_20B00B),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
&textureProj_00M30B00B),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00D00D),
- Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMax_00D00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01b20D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
&textureProj_00M20B),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00I10B00B),
@@ -11068,8 +11476,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00S30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00Y20B20B20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00Y20B20B20B),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
- Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00x30B20B20B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00L20B00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00S30B20B20B20D),
@@ -11120,6 +11527,7 @@ constexpr SymbolRule kRules[] = {
&texture3DProjLod_00J30B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notFunc_20F),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_20F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00k30B00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_20D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20E),
@@ -11138,14 +11546,15 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_10D10D10F),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_30B30B),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackSnorm4x8_00E),
- Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackSnorm4x8_00E),
+ Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_20B),
+ Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_20B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30E),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30E),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00R20B00B10D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00R20B00B10D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_20B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00l30B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_30B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00f20B),
@@ -11174,10 +11583,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00J30B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00J30B),
- Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00d10B00B10Dx4),
- Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00d10B00B10Dx4),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
- &textureGatherOffsetsExt_00d10B00B10Dx4),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00s30B),
Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
&BuiltInVariable::kgl_InvocationID),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E00E),
@@ -11192,8 +11598,6 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00U20D00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize),
- Rule::Get<Spec::ESSL, 300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
- &BuiltInVariable::kgl_BaseVertex),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_00D00D),
Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_framebuffer_fetch)>(
@@ -11212,8 +11616,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00S20B00B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B00B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00e20B00B),
- Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
- Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00k00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_10B10B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_10B10B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_20B20B),
@@ -11242,6 +11645,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_10D10D),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_10D10D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00k30B00B),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00e30B00B),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00e30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00Y20B00B20D),
@@ -11324,6 +11728,11 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_10E10E10E10E),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_00D00D00F),
Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_00D00D00F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01a20D30B),
+ Rule::Get<Spec::ESSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
+ Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
+ Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
+ &TableBase::m_gl_PositionGS),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_20F20F),
@@ -11361,6 +11770,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00L20D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00L20D00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00x30B00B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierBuffer_),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&memoryBarrierBuffer_),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_00B),
@@ -11446,6 +11856,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00X20B10B10B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E30E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30E30E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01J20D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_30B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_30B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_00D00D00D00D),
@@ -11525,6 +11936,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThan_30E30E),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_10B10D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_10B10D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00x30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E00E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10E00E),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B10B),
@@ -11565,12 +11977,15 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_20F),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_20F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00s30B),
Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
&TableBase::m_gl_PerVertex),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00X30B00B),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00X30B00B),
Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation),
Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00D00D),
+ Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMax_00D00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00L20B),
Rule::Get<Spec::ESSL, 300, Shader::NOT_COMPUTE, EXT_INDEX(OVR_multiview)>(
@@ -11586,11 +12001,12 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_20B20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_20B20B),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01J20D),
- Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
- Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00k30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00x30B00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00x30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_30B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00k30B20B20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B30B),
Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B30B),
Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&textureCube_00K20B),
@@ -11695,6 +12111,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00I10B10B10B10D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_30E30E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_30E30E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00s30B20B20B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00I10B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_10E10E),
@@ -11750,8 +12167,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B),
- Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
- Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01a),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00L20D00D10D),
@@ -11767,8 +12183,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_30B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_30D30D),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_30D30D),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
- &TableBase::m_gl_MaxGeometryImageUniforms),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00s30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_00B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00R10B10D),
@@ -11856,7 +12271,9 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00R20B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00l00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00x00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00X10D00D),
@@ -11887,8 +12304,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00X10B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_30B),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrier_),
- Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&memoryBarrier_),
+ Rule::Get<Spec::ESSL, 300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
+ &BuiltInVariable::kgl_BaseVertex),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B30B),
@@ -11996,6 +12413,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10E00E00E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10E00E00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
+ Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01C20D30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20D00D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20D00D00D),
@@ -12056,13 +12475,14 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_10B10B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01c),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_10E10E00D00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_10E10E00D00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&packSnorm4x8_30B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packSnorm4x8_30B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01E20D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01b),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D30D30D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30D30D30D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00U20B00D),
@@ -12089,6 +12509,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_20B20B),
Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
&texture2DProjGradEXT_00I20B10B10B),
+ Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
+ Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(ARM_shader_framebuffer_fetch)>(
&BuiltInVariable::kgl_LastFragColorARM),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00Z20B00D),
@@ -12133,6 +12555,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_20F20F20F),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00s30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
&textureSize_00M00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_20B),
@@ -12151,10 +12574,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_10B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits),
- Rule::Get<Spec::ESSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
- Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
- Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
- &TableBase::m_gl_PositionGS),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00k30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00K20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00K20B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCompSwap_00E00E00E),
@@ -12172,10 +12592,6 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_10B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00S00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00S00D),
- Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx4),
- Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx4),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
- &textureGatherOffsetsExt_00U20B10Dx4),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00I20B00B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00I20B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_10B10B),
@@ -12190,8 +12606,12 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_20B20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_90B),
Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_90B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
+ &TableBase::m_gl_MaxGeometryImageUniforms),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notFunc_30F),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_30F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrier_),
+ Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&memoryBarrier_),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00I20B00B10D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00I20B00B10D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_10F10F),
@@ -12225,6 +12645,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00I20B10B10B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00I20B10B10B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00k30B),
Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2D_00M10B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_00D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_00D00D),
@@ -12238,6 +12659,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVaryingVectors),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B10D00B),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B10D00B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00x30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00d00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00d00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_00B),
@@ -12295,10 +12717,15 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00d30B10D00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_10B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_10B),
+ Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00d10B00B10Dx4),
+ Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00d10B00B10Dx4),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
+ &textureGatherOffsetsExt_00d10B00B10Dx4),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00d30B10D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00d30B10D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_10E10E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_10E10E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01c20D30E),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00R30B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00R30B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_50B50B),
@@ -12394,6 +12821,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&textureCubeLod_00K20B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00J20B20D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00J20B20D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01a20D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00J20D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00J20D00D),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
@@ -12440,7 +12868,8 @@ constexpr SymbolRule kRules[] = {
&texture3DLod_00J20B00B)};
// Flat array of all mangled names.
-constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
+constexpr const char *kMangledNames[] = {"textureSize(00s00D",
+ "textureProj(00R30B00B",
"imageStore(01G20D30D",
"texture(00N10B00B",
"clamp(10D00D00D",
@@ -12460,6 +12889,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"dFdx(30B",
"textureGatherOffsets(00U20B10Dx400D",
"clamp(00E00E00E",
+ "imageLoad(01E20D",
"transpose(50B",
"ldexp(00B00D",
"textureGather(00K20B00D",
@@ -12471,6 +12901,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"bitfieldInsert(00D00D00D00D",
"textureProjGrad(00Y30B20B20B",
"roundEven(30B",
+ "texture(00l30B00B",
"acosh(20B",
"atanh(10B",
"mix(20B20B00B",
@@ -12508,7 +12939,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"atomicAdd(00D00D",
"gl_MaxGeometryOutputComponents",
"gl_MaxGeometryTextureImageUnits",
- "floatBitsToUint(20B",
+ "unpackSnorm4x8(00E",
"bitfieldInsert(20D20D00D00D",
"gl_MaxVertexTextureImageUnits",
"texture(00Z20B",
@@ -12531,13 +12962,15 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"max(30D00D",
"groupMemoryBarrier(",
"mix(00B00B00F",
+ "imageStore(01b20D30D",
"textureProjGradOffset(00R20B10B10B10D",
"imageLoad(01A10D",
+ "textureGather(00s30B00D",
"intBitsToFloat(30D",
"textureGatherOffsets(00X10B10Dx4",
"textureProj(00I20B",
"texelFetch(00I10D00D",
- "imageStore(01I20D30B",
+ "textureGatherOffsets(00U20B10Dx4",
"min(30B30B",
"gl_MaxVertexAtomicCounterBuffers",
"textureLodOffset(00S20B00B20D",
@@ -12607,14 +13040,18 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureOffset(00Y20B20D00B",
"atomicCounterDecrement(00G",
"textureGradOffset(00S20B20B20B20D",
+ "imageStore(01I20D30B",
+ "imageLoad(01c20D",
"atomicXor(00E00E",
"textureProjOffset(00R20B10D",
"gl_FragCoord",
"clamp(30E30E30E",
"textureProj(00N30B00B",
+ "gl_MaxProgramTexelOffset",
"textureSize(00R00D",
"gl_MaxFragmentImageUniforms",
"normalize(00B",
+ "gl_DepthRangeParameters",
"textureOffset(00I10B10D",
"atomicExchange(00E00E",
"textureProj(00I30B00B",
@@ -12623,7 +13060,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"atomicOr(00E00E",
"min(20B00B",
"textureProj(00M30B00B",
- "atomicMax(00D00D",
+ "imageLoad(01b20D",
"textureProj(00M20B",
"texture(00I10B00B",
"reflect(00B00B",
@@ -12724,7 +13161,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"floor(30B",
"textureProj(00S30B00B",
"textureGrad(00Y20B20B20B",
- "gl_MaxCombinedAtomicCounters",
+ "textureGrad(00x30B20B20B",
"textureGather(00L20B00D",
"textureProjGradOffset(00S30B20B20B20D",
"imageStore(01A10D30D",
@@ -12750,7 +13187,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"texture2DProj(00I20B",
"texture3DProjLod(00J30B00B",
"not(20F",
- "",
+ "textureGather(00k30B00D",
"findMSB(20D",
"findMSB(20E",
"texelFetchOffset(00I10D00D10D",
@@ -12759,10 +13196,11 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"outerProduct(20B20B",
"mix(10D10D10F",
"atan(30B30B",
- "unpackSnorm4x8(00E",
+ "floatBitsToUint(20B",
"bitCount(30E",
"textureProjLodOffset(00R20B00B10D",
"log(20B",
+ "textureGather(00l30B00B",
"asin(30B",
"textureGather(00f20B",
"modf(30B30B",
@@ -12776,7 +13214,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"outerProduct(30B10B",
"floatBitsToInt(30B",
"textureProj(00J30B",
- "textureGatherOffsets(00d10B00B10Dx4",
+ "texture(00s30B",
"gl_InvocationID",
"max(30E00E",
"exp2(20B",
@@ -12784,7 +13222,6 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"radians(10B",
"texelFetch(00U20D00D",
"gl_MaxComputeWorkGroupSize",
- "gl_BaseVertex",
"max(00D00D",
"gl_LastFragData",
"ceil(30B",
@@ -12793,7 +13230,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"bitCount(10E",
"texture(00S20B00B",
"textureGather(00e20B00B",
- "gl_DepthRangeParameters",
+ "textureSize(00k00D",
"distance(10B10B",
"reflect(20B20B",
"mod(10B00B",
@@ -12809,6 +13246,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureLod(00I10B00B",
"greaterThanEqual(10D10D",
"imageSize(01F",
+ "textureLod(00k30B00B",
"texture(00e30B00B",
"textureLodOffset(00Y20B00B20D",
"log2(00B",
@@ -12851,6 +13289,8 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"mix(00E00E00F",
"umulExtended(10E10E10E10E",
"mix(00D00D00F",
+ "imageStore(01a20D30B",
+ "gl_Position",
"textureGradOffset(00a20B10B10B10D",
"notEqual(20F20F",
"mod(30B30B",
@@ -12869,6 +13309,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"bitCount(20D",
"step(00B00B",
"texelFetch(00L20D00D",
+ "texture(00x30B00B",
"memoryBarrierBuffer(",
"isinf(00B",
"imageSize(00z",
@@ -12913,6 +13354,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"inverse(A0B",
"textureProjGrad(00X20B10B10B",
"max(30E30E",
+ "imageLoad(01J20D",
"isnan(30B",
"imulExtended(00D00D00D00D",
"gl_in",
@@ -12951,6 +13393,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"clamp(20D20D20D",
"greaterThan(30E30E",
"frexp(10B10D",
+ "texture(00x30B",
"max(10E00E",
"smoothstep(00B00B10B",
"gl_GlobalInvocationID",
@@ -12965,6 +13408,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"texture(00L20B00B",
"notEqual(10B10B",
"imageLoad(01G20D",
+ "",
"bitfieldExtract(00E00D00D",
"textureGatherOffsets(00a20B10Dx400D",
"mix(10E10E10F",
@@ -12972,9 +13416,11 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"matrixCompMult(E0BE0B",
"length(00B",
"any(20F",
+ "textureGather(00s30B",
"gl_PerVertex",
"textureProj(00X30B00B",
"gl_HelperInvocation",
+ "atomicMax(00D00D",
"textureGather(00L20B",
"gl_ViewID_OVR",
"floor(10B",
@@ -12983,9 +13429,11 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"texelFetchOffset(00J20D00D20D",
"tan(00B",
"mod(20B20B",
- "imageLoad(01J20D",
- "gl_WorkGroupSize",
+ "texture(00k30B",
+ "textureGather(00x30B00D",
+ "textureLod(00x30B00B",
"asinh(30B",
+ "textureGrad(00k30B20B20B",
"outerProduct(10B30B",
"textureCube(00K20B",
"textureSize(00c",
@@ -13037,6 +13485,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"modf(20B20B",
"textureGradOffset(00I10B10B10B10D",
"notEqual(30E30E",
+ "textureGrad(00s30B20B20B",
"textureGather(00I10B",
"lessThanEqual(10E10E",
"inversesqrt(20B",
@@ -13064,7 +13513,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"any(10F",
"textureProjGradOffset(00d30B10B10B10D",
"textureProj(00N30B",
- "gl_MaxProgramTexelOffset",
+ "imageSize(01a",
"exp2(30B",
"texelFetchOffset(00L20D00D10D",
"equal(30D30D",
@@ -13073,7 +13522,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"packSnorm2x16(10B",
"floatBitsToUint(30B",
"lessThanEqual(30D30D",
- "gl_MaxGeometryImageUniforms",
+ "textureLod(00s30B00B",
"asinh(00B",
"textureOffset(00R10B10D",
"greaterThanEqual(10E10E",
@@ -13116,7 +13565,9 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureLodOffset(00U20B00B10D",
"textureProj(00R20B00B",
"faceforward(20B20B20B",
+ "textureSize(00l00D",
"imageSize(01E",
+ "textureSize(00x00D",
"acos(20B",
"texelFetch(00X10D00D",
"sinh(00B",
@@ -13131,7 +13582,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"lessThanEqual(20E20E",
"textureLod(00X10B00B",
"exp(30B",
- "memoryBarrier(",
+ "gl_BaseVertex",
"imageSize(01D",
"step(00B30B",
"bitCount(10D",
@@ -13186,6 +13637,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"dFdy(30B",
"atanh(20B",
"clamp(10E00E00E",
+ "gl_MaxCombinedAtomicCounters",
"imageStore(01C20D30B",
"clamp(20D00D00D",
"all(20F",
@@ -13220,10 +13672,11 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"abs(30B",
"lessThan(10B10B",
"textureGatherOffset(00X10B10D",
+ "imageSize(01c",
"bitfieldInsert(10E10E00D00D",
"packSnorm4x8(30B",
"mix(10B10B00B",
- "imageLoad(01E20D",
+ "imageSize(01b",
"clamp(30D30D30D",
"textureGather(00U20B00D",
"textureSize(00f00D",
@@ -13238,6 +13691,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"transpose(A0B",
"pow(20B20B",
"texture2DProjGradEXT(00I20B10B10B",
+ "gl_WorkGroupSize",
"gl_LastFragColorARM",
"textureGather(00Z20B00D",
"textureGather(00R10B",
@@ -13260,6 +13714,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"mix(20F20F20F",
"",
"smoothstep(00B00B30B",
+ "texture(00s30B00B",
"textureSize(00M00D",
"log2(20B",
"ldexp(10B10D",
@@ -13269,7 +13724,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"mix(10F10F10F",
"degrees(10B",
"gl_MaxTextureImageUnits",
- "gl_Position",
+ "texture(00k30B00B",
"texture(00K20B",
"atomicCompSwap(00E00E00E",
"fma(30B30B30B",
@@ -13278,14 +13733,15 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureGradOffset(00L20B10B10B10D",
"ceil(10B",
"textureSize(00S00D",
- "textureGatherOffsets(00U20B10Dx4",
"textureProjLod(00I20B00B",
"greaterThanEqual(10B10B",
"textureGatherOffsets(00I10B10Dx400D",
"textureCube(00K20B00B",
"dot(20B20B",
"transpose(90B",
+ "gl_MaxGeometryImageUniforms",
"not(30F",
+ "memoryBarrier(",
"textureProjLodOffset(00I20B00B10D",
"notEqual(10F10F",
"textureProjGrad(00R20B10B10B",
@@ -13303,6 +13759,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureGrad(00R10B10B10B",
"textureProjGrad(00I20B10B10B",
"textureGather(00e20B",
+ "textureGather(00k30B",
"texture2D(00M10B",
"min(00D00D",
"outerProduct(10B10B",
@@ -13310,6 +13767,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"trunc(20B",
"gl_MaxVaryingVectors",
"textureProjOffset(00I30B10D00B",
+ "textureGather(00x30B",
"textureSize(00d00D",
"sin(00B",
"gl_MaxVertexUniformVectors",
@@ -13340,8 +13798,10 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"EmitVertex(",
"textureProjOffset(00d30B10D00B",
"round(10B",
+ "textureGatherOffsets(00d10B00B10Dx4",
"textureProjOffset(00d30B10D",
"notEqual(10E10E",
+ "imageStore(01c20D30E",
"textureProj(00R30B",
"matrixCompMult(50B50B",
"equal(20F20F",
@@ -13389,6 +13849,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"smoothstep(20B20B20B",
"textureCubeLod(00K20B00B",
"textureOffset(00J20B20D",
+ "imageLoad(01a20D",
"texelFetch(00J20D00D",
"textureProj(00M20B00B",
"floatBitsToUint(00B",
@@ -13413,976 +13874,1009 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
// Flat array of offsets from a symbol into the rules table.
constexpr uint16_t kMangledOffsets[] = {
- 0, // textureProj_00R30B00B
- 2, // imageStore_01G20D30D
- 3, // texture_00N10B00B
- 4, // clamp_10D00D00D
- 6, // gl_PrimitiveID
- 8, // texture_00R10B00B
- 10, // modf_00B00B
- 12, // gl_MaxAtomicCounterBindings
- 14, // notEqual_20D20D
- 16, // gl_MaxComputeImageUniforms
- 18, // textureLod_00L20B00B
- 20, // angle_BaseVertex
- 21, // determinant_A0B
- 22, // textureProjGrad_00I30B10B10B
- 24, // tanh_30B
- 26, // gl_Layer
- 28, // textureOffset_00d20B10D
- 30, // dFdx_30B
- 33, // textureGatherOffsets_00U20B10Dx400D
- 36, // clamp_00E00E00E
- 38, // transpose_50B
- 40, // ldexp_00B00D
- 42, // textureGather_00K20B00D
- 44, // lessThanEqual_30B30B
- 46, // greaterThanEqual_20D20D
- 48, // min_20E20E
- 50, // asin_20B
- 52, // outerProduct_20B30B
- 54, // bitfieldInsert_00D00D00D00D
- 56, // textureProjGrad_00Y30B20B20B
- 58, // roundEven_30B
- 60, // acosh_20B
- 62, // atanh_10B
- 64, // mix_20B20B00B
- 66, // clamp_10B10B10B
- 68, // textureGrad_00I10B10B10B
- 70, // textureGatherOffset_00L20B10D00D
- 72, // bitCount_00D
- 74, // step_00B20B
- 76, // lessThan_30E30E
- 78, // uintBitsToFloat_30E
- 80, // imulExtended_30D30D30D30D
- 82, // textureSize_00K00D
- 84, // textureGatherOffsets_00X10B10Dx400D
- 87, // imageStore_01B10D30E
- 88, // transpose_70B
- 90, // textureProjOffset_00S30B20D00B
- 92, // textureProjLod_00X30B00B
- 94, // textureSize_00Y00D
- 96, // gl_MinProgramTexelOffset
- 98, // texture_00d20B
- 100, // textureProj_00J30B00B
- 102, // atan_10B10B
- 104, // max_20B00B
- 106, // clamp_30B30B30B
- 108, // EndPrimitive_
- 109, // textureLod_00Y20B00B
- 111, // textureLodOffset_00a20B00B10D
- 113, // texelFetchOffset_00Y20D00D20D
- 115, // texelFetch_00a20D00D
- 117, // min_20D00D
- 119, // imageLoad_01F20D
- 120, // uintBitsToFloat_00E
- 122, // lessThanEqual_20B20B
- 124, // texelFetch_00N10D00D
- 125, // atomicAdd_00D00D
- 127, // gl_MaxGeometryOutputComponents
- 128, // gl_MaxGeometryTextureImageUnits
- 129, // floatBitsToUint_20B
- 131, // bitfieldInsert_20D20D00D00D
- 133, // gl_MaxVertexTextureImageUnits
- 135, // texture_00Z20B
- 137, // min_10D10D
- 139, // mix_20D20D20F
- 141, // mix_30F30F30F
- 143, // tanh_00B
- 145, // textureProjOffset_00J30B20D00B
- 147, // all_30F
- 149, // abs_20D
- 151, // abs_20B
- 153, // inversesqrt_00B
- 155, // matrixCompMult_D0BD0B
- 156, // gl_MaxClipDistances
- 157, // lessThanEqual_10B10B
- 159, // bitfieldReverse_20D
- 161, // bitfieldReverse_20E
- 163, // textureProjGrad_00S30B20B20B
- 165, // equal_10D10D
- 167, // max_30D00D
- 169, // groupMemoryBarrier_
- 171, // mix_00B00B00F
- 173, // textureProjGradOffset_00R20B10B10B10D
- 175, // imageLoad_01A10D
- 176, // intBitsToFloat_30D
- 178, // textureGatherOffsets_00X10B10Dx4
- 181, // textureProj_00I20B
- 183, // texelFetch_00I10D00D
- 185, // imageStore_01I20D30B
- 186, // min_30B30B
- 188, // gl_MaxVertexAtomicCounterBuffers
- 190, // textureLodOffset_00S20B00B20D
- 192, // textureGatherOffset_00R10B10D
- 194, // acos_00B
- 196, // fract_10B
- 198, // transpose_E0B
- 200, // intBitsToFloat_00D
- 202, // textureGradOffset_00J20B20B20B20D
- 204, // memoryBarrierAtomicCounter_
- 206, // texture2DGradEXT_00I10B10B10B
- 207, // bitfieldInsert_00E00E00D00D
- 209, // atomicXor_00D00D
- 211, // greaterThan_20B20B
- 213, // textureLodOffset_00I10B00B10D
- 215, // texelFetch_00Y20D00D
- 217, // texture2DProjGradEXT_00I30B10B10B
- 218, // textureGrad_00d20B10B10B
- 220, // textureProjOffset_00R30B10D
- 222, // textureOffset_00U20B10D
- 224, // atan_10B
- 226, // modf_10B10B
- 228, // min_30B00B
- 230, // determinant_50B
- 231, // lessThan_20B20B
- 233, // atomicAnd_00D00D
- 235, // gl_FragColor
- 237, // exp_10B
- 239, // textureProjOffset_00I20B10D00B
- 241, // step_00B10B
- 243, // bitCount_30D
- 245, // mix_30E30E30F
- 247, // unpackUnorm2x16_00E
- 249, // rgb_2_yuv_20B00H
- 250, // sqrt_20B
- 252, // sign_20B
- 254, // sign_20D
- 256, // atanh_00B
- 258, // textureGradOffset_00X10B10B10B10D
- 260, // imageStore_01K20D30E
- 261, // gl_DepthRange
- 263, // imulExtended_10D10D10D10D
- 265, // atan_20B
- 267, // texture_00M10B
- 268, // gl_MaxVertexOutputVectors
- 270, // texture_00T20B
- 272, // log2_10B
- 274, // min_10B10B
- 276, // gl_MaxImageUnits
- 278, // pow_10B10B
- 280, // findLSB_20E
- 282, // findLSB_20D
- 284, // texture_00Y20B
- 286, // packUnorm4x8_30B
- 288, // texture_00X10B00B
- 290, // frexp_00B00D
- 292, // texture2D_00I10B
- 294, // not_10F
- 296, // texelFetch_00P10D00D
- 299, // lessThan_10E10E
- 301, // ceil_20B
- 303, // textureLodOffset_00R10B00B10D
- 305, // clamp_10D10D10D
- 307, // texelFetch_00M10D00D
- 308, // texture_00O10B
- 309, // transpose_F0B
- 311, // textureOffset_00Y20B20D00B
- 313, // atomicCounterDecrement_00G
- 315, // textureGradOffset_00S20B20B20B20D
- 317, // atomicXor_00E00E
- 319, // textureProjOffset_00R20B10D
- 321, // gl_FragCoord
- 323, // clamp_30E30E30E
- 325, // textureProj_00N30B00B
- 326, // textureSize_00R00D
- 328, // gl_MaxFragmentImageUniforms
- 330, // normalize_00B
- 332, // textureOffset_00I10B10D
- 334, // atomicExchange_00E00E
- 336, // textureProj_00I30B00B
- 338, // acosh_10B
- 340, // gl_MaxCombinedShaderOutputResources
- 342, // atomicOr_00E00E
- 344, // min_20B00B
- 346, // textureProj_00M30B00B
- 347, // atomicMax_00D00D
- 349, // textureProj_00M20B
- 350, // texture_00I10B00B
- 352, // reflect_00B00B
- 354, // mod_20B00B
- 356, // lessThan_20D20D
- 358, // reflect_10B10B
- 360, // floatBitsToInt_20B
- 362, // textureLod_00J20B00B
- 364, // sqrt_10B
- 366, // textureProjLod_00S30B00B
- 368, // clamp_20E20E20E
- 370, // atomicAnd_00E00E
- 372, // max_20D00D
- 374, // textureSize_00I00D
- 376, // gl_MaxComputeAtomicCounterBuffers
- 378, // gl_PrimitiveIDIn
- 379, // texelFetchOffset_00R10D00D10D
- 381, // isinf_30B
- 383, // textureGatherOffset_00a20B10D00D
- 385, // textureGatherOffset_00I10B10D
- 387, // textureOffset_00L20B10D00B
- 389, // textureLodOffset_00X10B00B10D
- 391, // texture_00T20B00B
- 393, // textureOffset_00L20B10D
- 395, // lessThanEqual_30E30E
- 397, // textureOffset_00J20B20D00B
- 399, // min_10E00E
- 401, // log_30B
- 403, // imageStore_01J20D30D
- 404, // atomicCounter_00G
- 406, // textureProjOffset_00S30B20D
- 408, // imageLoad_01I20D
- 409, // round_00B
- 411, // smoothstep_00B00B20B
- 413, // imageLoad_01H20D
- 414, // textureGather_00K20B
- 416, // bitfieldInsert_30D30D00D00D
- 418, // fwidth_10B
- 421, // textureProjLod_00R20B00B
- 423, // notEqual_30D30D
- 425, // refract_10B10B00B
- 427, // textureProjOffset_00I20B10D
- 429, // greaterThan_30D30D
- 431, // greaterThan_10D10D
- 433, // texture_00U20B
- 435, // textureSize_00a00D
- 437, // bitfieldExtract_10E00D00D
- 439, // gl_MaxDrawBuffers
- 441, // textureGatherOffset_00U20B10D00D
- 443, // floatBitsToUint_10B
- 445, // textureProjLod_00J30B00B
- 447, // texture2DRect_00O10B
- 448, // imulExtended_20D20D20D20D
- 450, // any_30F
- 452, // distance_30B30B
- 454, // greaterThan_20D20D
- 456, // textureOffset_00a20B10D
- 458, // greaterThan_30B30B
- 460, // trunc_00B
- 462, // texture_00Z20B00B
- 464, // sinh_30B
- 466, // length_10B
- 468, // findMSB_10E
- 470, // findMSB_10D
- 472, // dot_00B00B
- 474, // asinh_20B
- 476, // dot_30B30B
- 478, // bitCount_00E
- 480, // tan_30B
- 482, // textureLod_00T20B00B
- 484, // imageStore_00z10D30B
- 485, // usubBorrow_20E20E20E
- 487, // textureProjGrad_00R30B10B10B
- 489, // exp2_10B
- 491, // textureProj_00O20B
- 492, // textureProjOffset_00X20B10D00B
- 494, // outerProduct_10B20B
- 496, // gl_MaxGeometryAtomicCounterBuffers
- 497, // textureProjGradOffset_00X30B10B10B10D
- 499, // textureOffset_00I10B10D00B
- 501, // clamp_30B00B00B
- 503, // inverse_50B
- 505, // lessThan_20E20E
- 507, // dot_10B10B
- 509, // textureProjLodOffset_00Y30B00B20D
- 511, // unpackHalf2x16_00E
- 513, // matrixCompMult_A0BA0B
- 515, // texture2DProjLod_00I20B00B
- 517, // texelFetch_00W20D00D
- 518, // texture2DRectProj_00O30B
- 519, // radians_20B
- 521, // textureGrad_00S20B20B20B
- 523, // max_10D00D
- 525, // round_30B
- 527, // gl_MaxComputeTextureImageUnits
- 529, // clamp_00D00D00D
- 531, // sin_30B
- 533, // floor_30B
- 535, // textureProj_00S30B00B
- 537, // textureGrad_00Y20B20B20B
- 539, // gl_MaxCombinedAtomicCounters
- 541, // textureGather_00L20B00D
- 543, // textureProjGradOffset_00S30B20B20B20D
- 545, // imageStore_01A10D30D
- 546, // gl_MaxGeometryOutputVertices
- 547, // texture_00J20B
- 549, // gl_PointCoord
- 551, // textureGatherOffsets_00a20B10Dx4
- 554, // dFdx_20B
- 557, // imageStore_01F20D30B
- 558, // textureProj_00X20B
- 560, // max_10E10E
- 562, // max_30B30B
- 564, // clamp_10E10E10E
- 566, // texelFetchOffset_00S20D00D20D
- 568, // texture_00N10B
- 569, // texture_00L20B
- 571, // barrier_
- 573, // gl_MaxGeometryUniformComponents
- 574, // greaterThanEqual_20E20E
- 576, // lessThan_10D10D
- 578, // texelFetchOffset_00a20D00D10D
- 580, // textureProjGradOffset_00X20B10B10B10D
- 582, // texture2DProj_00I20B
- 584, // texture3DProjLod_00J30B00B
- 585, // not_20F
- 587, // Empty
- 587, // findMSB_20D
- 589, // findMSB_20E
- 591, // texelFetchOffset_00I10D00D10D
- 593, // textureGather_00I10B00D
- 595, // texelFetch_00V10D00D
- 598, // outerProduct_20B20B
- 600, // mix_10D10D10F
- 602, // atan_30B30B
- 604, // unpackSnorm4x8_00E
- 606, // bitCount_30E
- 608, // textureProjLodOffset_00R20B00B10D
- 610, // log_20B
- 612, // asin_30B
- 614, // textureGather_00f20B
- 615, // modf_30B30B
- 617, // texture_00y10B
- 619, // isnan_20B
- 621, // max_00B00B
- 623, // roundEven_20B
- 625, // fwidth_00B
- 628, // textureProjGrad_00J30B20B20B
- 630, // dFdy_10B
- 633, // outerProduct_30B10B
- 635, // floatBitsToInt_30B
- 637, // textureProj_00J30B
- 639, // textureGatherOffsets_00d10B00B10Dx4
- 642, // gl_InvocationID
- 643, // max_30E00E
- 645, // exp2_20B
- 647, // textureLod_00d20B00B
- 649, // radians_10B
- 651, // texelFetch_00U20D00D
- 653, // gl_MaxComputeWorkGroupSize
- 655, // gl_BaseVertex
- 656, // max_00D00D
- 658, // gl_LastFragData
- 660, // ceil_30B
- 662, // atomicMin_00E00E
- 664, // gl_MaxCombinedTextureImageUnits
- 666, // bitCount_10E
- 668, // texture_00S20B00B
- 670, // textureGather_00e20B00B
- 672, // gl_DepthRangeParameters
- 674, // distance_10B10B
- 676, // reflect_20B20B
- 678, // mod_10B00B
- 680, // uintBitsToFloat_10E
- 682, // textureGrad_00Z20B20B20B
- 684, // equal_10F10F
- 686, // cosh_00B
- 688, // bitfieldReverse_00D
- 690, // bitfieldReverse_00E
- 692, // max_20E20E
- 694, // matrixCompMult_70B70B
- 695, // bitfieldExtract_30E00D00D
- 697, // textureLod_00I10B00B
- 699, // greaterThanEqual_10D10D
- 701, // imageSize_01F
- 702, // texture_00e30B00B
- 704, // textureLodOffset_00Y20B00B20D
- 706, // log2_00B
- 708, // gl_LastFragColor
- 709, // abs_10D
- 711, // abs_10B
- 713, // acos_30B
- 715, // tanh_10B
- 717, // degrees_30B
- 719, // imageStore_01E20D30E
- 720, // dFdx_10B
- 723, // textureProjOffset_00I30B10D
- 725, // bitfieldReverse_30E
- 727, // bitfieldReverse_30D
- 729, // gl_ClipDistance
- 730, // inversesqrt_30B
- 732, // gl_LocalInvocationID
- 734, // Empty
- 734, // clamp_00B00B00B
- 736, // textureGather_00d10B
- 737, // frexp_20B20D
- 739, // intBitsToFloat_20D
- 741, // fract_00B
- 743, // gl_FragDepth
- 745, // min_30E00E
- 747, // exp_20B
- 749, // equal_20B20B
- 751, // textureProjLodOffset_00X20B00B10D
- 753, // acosh_00B
- 755, // log_10B
- 757, // textureVideoWEBGL_00y10B
- 759, // textureProjLodOffset_00S30B00B20D
- 761, // sinh_20B
- 763, // fma_10B10B10B
- 766, // reflect_30B30B
- 768, // outerProduct_30B20B
- 770, // texture_00U20B00B
- 772, // texture_00S20B
- 774, // outerProduct_20B10B
- 776, // mix_00E00E00F
- 778, // umulExtended_10E10E10E10E
- 780, // mix_00D00D00F
- 782, // textureGradOffset_00a20B10B10B10D
- 784, // notEqual_20F20F
- 786, // mod_30B30B
- 788, // bitfieldExtract_10D00D00D
- 790, // sign_30B
- 792, // sign_30D
- 794, // pow_00B00B
- 796, // mod_00B00B
- 798, // texture_00Y20B00B
- 800, // notEqual_30B30B
- 802, // roundEven_10B
- 804, // texture2DProjLodEXT_00I30B00B
- 805, // atanh_30B
- 807, // dFdy_20B
- 810, // textureProj_00Y30B
- 812, // bitCount_20D
- 814, // step_00B00B
- 816, // texelFetch_00L20D00D
- 818, // memoryBarrierBuffer_
- 820, // isinf_00B
- 822, // imageSize_00z
- 823, // distance_20B20B
- 825, // textureGrad_00U20B10B10B
- 827, // uaddCarry_30E30E30E
- 829, // mod_30B00B
- 831, // texture_00K20B00B
- 833, // gl_MaxCombinedImageUniforms
- 835, // atomicCompSwap_00D00D00D
- 837, // yuv_2_rgb_20B00H
- 838, // textureGather_00f20B00B
- 840, // greaterThan_20E20E
- 842, // textureGrad_00a20B10B10B
- 844, // textureOffset_00U20B10D00B
- 846, // intBitsToFloat_10D
- 848, // texture_00J20B00B
- 850, // refract_20B20B00B
- 852, // textureProjLod_00I30B00B
- 854, // refract_00B00B00B
- 856, // findLSB_10D
- 858, // findLSB_10E
- 860, // mix_10B10B10F
- 862, // mix_10B10B10B
- 864, // textureProj_00Y30B00B
- 866, // texture3D_00J20B
- 867, // gl_SecondaryFragDataEXT
- 868, // transpose_D0B
- 870, // log2_30B
- 872, // textureGrad_00J20B20B20B
- 874, // textureProjGrad_00d30B10B10B
- 876, // fract_30B
- 878, // gl_LocalInvocationIndex
- 880, // textureSize_00J00D
- 882, // textureGatherOffset_00I10B10D00D
- 884, // textureGather_00X10B00D
- 886, // texelFetchOffset_00U20D00D10D
- 888, // textureSize_00L00D
- 890, // textureSize_00e00D
- 892, // notEqual_20E20E
- 894, // textureLodOffset_00d20B00B10D
- 896, // inverse_A0B
- 898, // textureProjGrad_00X20B10B10B
- 900, // max_30E30E
- 902, // isnan_30B
- 904, // imulExtended_00D00D00D00D
- 906, // gl_in
- 907, // atan_20B20B
- 909, // usubBorrow_00E00E00E
- 911, // textureProjLodOffset_00J30B00B20D
- 913, // frexp_30B30D
- 915, // degrees_20B
- 917, // min_30E30E
- 919, // imageLoad_01B10D
- 920, // texture2DProj_00I30B00B
- 922, // textureCubeGradEXT_00K20B20B20B
- 923, // texture_00I10B
- 925, // min_00B00B
- 927, // gl_InstanceID
- 929, // texelFetch_00c20D00D
- 930, // gl_MaxVertexImageUniforms
- 932, // sqrt_00B
- 934, // normalize_20B
- 936, // gl_MaxFragmentAtomicCounterBuffers
- 938, // gl_WorkGroupID
- 940, // degrees_00B
- 942, // inverse_F0B
- 944, // min_20E00E
- 946, // textureProjLod_00R30B00B
- 948, // textureSize_00P
- 951, // textureGradOffset_00d20B10B10B10D
- 953, // textureGatherOffsets_00R10B10Dx4
- 956, // textureProjLodOffset_00R30B00B10D
- 958, // atan_00B
- 960, // atomicExchange_00D00D
- 962, // textureGatherOffset_00R10B10D00D
- 964, // gl_MaxGeometryAtomicCounters
- 965, // texture2D_00I10B00B
- 967, // textureProj_00X20B00B
- 969, // clamp_20D20D20D
- 971, // greaterThan_30E30E
- 973, // frexp_10B10D
- 975, // max_10E00E
- 977, // smoothstep_00B00B10B
- 979, // gl_GlobalInvocationID
- 981, // matrixCompMult_60B60B
- 982, // memoryBarrierShared_
- 984, // normalize_10B
- 986, // unpackSnorm2x16_00E
- 988, // imageLoad_00z10D
- 989, // lessThan_30D30D
- 991, // atan_00B00B
- 993, // bitfieldExtract_20D00D00D
- 995, // texture_00L20B00B
- 997, // notEqual_10B10B
- 999, // imageLoad_01G20D
- 1000, // bitfieldExtract_00E00D00D
- 1002, // textureGatherOffsets_00a20B10Dx400D
- 1005, // mix_10E10E10F
- 1007, // trunc_30B
- 1009, // matrixCompMult_E0BE0B
- 1010, // length_00B
- 1012, // any_20F
- 1014, // gl_PerVertex
- 1015, // textureProj_00X30B00B
- 1017, // gl_HelperInvocation
- 1019, // textureGather_00L20B
- 1021, // gl_ViewID_OVR
- 1022, // floor_10B
- 1024, // sin_10B
- 1026, // textureSize_00N00D
- 1027, // texelFetchOffset_00J20D00D20D
- 1029, // tan_00B
- 1031, // mod_20B20B
- 1033, // imageLoad_01J20D
- 1034, // gl_WorkGroupSize
- 1036, // asinh_30B
- 1038, // outerProduct_10B30B
- 1040, // textureCube_00K20B
- 1042, // textureSize_00c
- 1043, // textureSize_00b
- 1046, // cos_00B
- 1048, // min_20B20B
- 1050, // textureGradOffset_00f30B10B10B10D
- 1052, // max_20D20D
- 1054, // textureProj_00I30B
- 1056, // max_10D10D
- 1058, // textureOffset_00a20B10D00B
- 1060, // textureGather_00X10B
- 1062, // textureGatherOffsets_00L20B10Dx4
- 1065, // pow_30B30B
- 1067, // textureGather_00a20B
- 1069, // smoothstep_10B10B10B
- 1071, // textureProj_00O30B
- 1072, // textureGatherOffset_00d10B00B10D
- 1074, // refract_30B30B00B
- 1076, // bitfieldInsert_20E20E00D00D
- 1078, // floor_20B
- 1080, // equal_20E20E
- 1082, // mix_00B00B00B
- 1084, // imageSize_01B
- 1085, // greaterThanEqual_20B20B
- 1087, // uaddCarry_00E00E00E
- 1089, // sin_20B
- 1091, // textureSize_00Q
- 1092, // round_20B
- 1094, // matrixCompMult_90B90B
- 1095, // textureProjLod_00d30B00B
- 1097, // textureSize_00W
- 1098, // textureProjLod_00X20B00B
- 1100, // textureGatherOffsets_00I10B10Dx4
- 1103, // gl_MaxCombinedAtomicCounterBuffers
- 1105, // isnan_00B
- 1107, // umulExtended_30E30E30E30E
- 1109, // faceforward_30B30B30B
- 1111, // textureGradOffset_00Y20B20B20B20D
- 1113, // clamp_30E00E00E
- 1115, // asin_00B
- 1117, // ceil_00B
- 1119, // texture3D_00J20B00B
- 1120, // distance_00B00B
- 1122, // texture_00a20B
- 1124, // textureGatherOffset_00a20B10D
- 1126, // textureGrad_00f30B10B10B
- 1128, // texture2DProj_00I30B
- 1130, // modf_20B20B
- 1132, // textureGradOffset_00I10B10B10B10D
- 1134, // notEqual_30E30E
- 1136, // textureGather_00I10B
- 1138, // lessThanEqual_10E10E
- 1140, // inversesqrt_20B
- 1142, // textureLodOffset_00J20B00B20D
- 1144, // min_30D30D
- 1146, // textureOffset_00R10B10D00B
- 1148, // textureGrad_00e30B20B20B
- 1150, // atomicAdd_00E00E
- 1152, // gl_MaxGeometryInputComponents
- 1153, // findMSB_30E
- 1155, // findMSB_30D
- 1157, // textureGrad_00X10B10B10B
- 1159, // length_30B
- 1161, // greaterThanEqual_30E30E
- 1163, // fwidth_30B
- 1166, // textureGrad_00K20B20B20B
- 1168, // mix_20B20B20F
- 1170, // texelFetch_00S20D00D
- 1172, // textureGradOffset_00U20B10B10B10D
- 1174, // mix_20B20B20B
- 1176, // floatBitsToInt_10B
- 1178, // max_10B00B
- 1180, // textureGatherOffset_00L20B10D
- 1182, // textureLod_00a20B00B
- 1184, // any_10F
- 1186, // textureProjGradOffset_00d30B10B10B10D
- 1188, // textureProj_00N30B
- 1189, // gl_MaxProgramTexelOffset
- 1191, // exp2_30B
- 1193, // texelFetchOffset_00L20D00D10D
- 1195, // equal_30D30D
- 1197, // texture3DProj_00J30B00B
- 1198, // imageStore_01D20D30D
- 1199, // packSnorm2x16_10B
- 1201, // floatBitsToUint_30B
- 1203, // lessThanEqual_30D30D
- 1205, // gl_MaxGeometryImageUniforms
- 1206, // asinh_00B
- 1208, // textureOffset_00R10B10D
- 1210, // greaterThanEqual_10E10E
- 1212, // textureProjGradOffset_00I30B10B10B10D
- 1214, // textureGather_00Z20B
- 1216, // textureOffset_00X10B10D
- 1218, // cosh_30B
- 1220, // textureOffset_00d20B10D00B
- 1222, // texture_00R10B
- 1224, // textureOffset_00S20B20D00B
- 1226, // usubBorrow_30E30E30E
- 1228, // radians_00B
- 1230, // textureProjOffset_00R20B10D00B
- 1232, // ldexp_30B30D
- 1234, // max_30B00B
- 1236, // min_20D20D
- 1238, // textureGatherOffsets_00f20B00B10Dx4
- 1241, // step_10B10B
- 1243, // gl_MaxDualSourceDrawBuffersEXT
- 1244, // textureGatherOffsets_00L20B10Dx400D
- 1247, // step_30B30B
- 1249, // bitfieldReverse_10E
- 1251, // bitfieldReverse_10D
- 1253, // texture3DProj_00J30B
- 1254, // gl_FragDepthEXT
- 1255, // matrixCompMult_B0BB0B
- 1256, // lessThan_30B30B
- 1258, // cross_20B20B
- 1260, // all_10F
- 1262, // clamp_20B00B00B
- 1264, // tanh_20B
- 1266, // dFdx_00B
- 1269, // matrixCompMult_F0BF0B
- 1271, // textureProjOffset_00Y30B20D
- 1273, // abs_00D
- 1275, // abs_00B
- 1277, // textureLod_00R10B00B
- 1279, // step_20B20B
- 1281, // gl_MaxFragmentAtomicCounters
- 1283, // textureLodOffset_00U20B00B10D
- 1285, // textureProj_00R20B00B
- 1287, // faceforward_20B20B20B
- 1289, // imageSize_01E
- 1290, // acos_20B
- 1292, // texelFetch_00X10D00D
- 1294, // sinh_00B
- 1296, // imageSize_01A
- 1297, // texture2DLod_00I10B00B
- 1299, // texelFetch_00b10D00D
- 1302, // fma_20B20B20B
- 1305, // gl_MaxAtomicCounterBufferSize
- 1307, // max_20B20B
- 1309, // textureGatherOffset_00f20B00B10D
- 1311, // outerProduct_30B30B
- 1313, // lessThanEqual_20E20E
- 1315, // textureLod_00X10B00B
- 1317, // exp_30B
- 1319, // memoryBarrier_
- 1321, // imageSize_01D
- 1322, // step_00B30B
- 1324, // bitCount_10D
- 1326, // equal_30E30E
- 1328, // sign_00B
- 1330, // log_00B
- 1332, // mix_00F00F00F
- 1334, // textureLod_00Z20B00B
- 1336, // sign_00D
- 1338, // textureOffset_00Y20B20D
- 1340, // transpose_60B
- 1342, // findMSB_00D
- 1344, // gl_MaxGeometryTotalOutputComponents
- 1345, // acosh_30B
- 1347, // findMSB_00E
- 1349, // bitfieldExtract_20E00D00D
- 1351, // uintBitsToFloat_20E
- 1353, // unpackUnorm4x8_00E
- 1355, // texture2DProj_00M20B
- 1356, // texelFetchOffset_00X10D00D10D
- 1358, // mod_10B10B
- 1360, // texture_00d20B00B
- 1362, // notEqual_10D10D
- 1364, // texture2DProj_00M30B
- 1365, // textureSize_00V
- 1368, // packUnorm2x16_10B
- 1370, // faceforward_00B00B00B
- 1372, // umulExtended_20E20E20E20E
- 1374, // textureOffset_00X10B10D00B
- 1376, // cos_30B
- 1378, // findLSB_30D
- 1380, // findLSB_30E
- 1382, // bitCount_20E
- 1384, // gl_NumWorkGroups
- 1386, // equal_20D20D
- 1388, // textureProjOffset_00Y30B20D00B
- 1390, // textureGatherOffset_00U20B10D
- 1392, // faceforward_10B10B10B
- 1394, // mix_30D30D30F
- 1396, // gl_MaxComputeUniformComponents
- 1398, // textureGather_00R10B00D
- 1400, // imageStore_01H20D30E
- 1401, // textureSize_00Z00D
- 1403, // textureGather_00U20B
- 1405, // bitfieldExtract_30D00D00D
- 1407, // min_10D00D
- 1409, // texelFetch_00Q20D00D
- 1410, // max_20E00E
- 1412, // textureProj_00S30B
- 1414, // roundEven_00B
- 1416, // texture2DLodEXT_00I10B00B
- 1417, // dFdy_30B
- 1420, // atanh_20B
- 1422, // clamp_10E00E00E
- 1424, // imageStore_01C20D30B
- 1425, // clamp_20D00D00D
- 1427, // all_20F
- 1429, // isinf_10B
- 1431, // imageLoad_01C20D
- 1432, // imageSize_01J
- 1433, // imageSize_01K
- 1434, // imageSize_01H
- 1435, // imageSize_01I
- 1436, // packHalf2x16_10B
- 1438, // texture2DProj_00I20B00B
- 1440, // findLSB_00E
- 1442, // findLSB_00D
- 1444, // textureProjOffset_00X30B10D
- 1446, // imageSize_01C
- 1447, // greaterThanEqual_30B30B
- 1449, // textureSize_00U00D
- 1451, // textureGradOffset_00R10B10B10B10D
- 1453, // imageSize_01G
- 1454, // equal_30F30F
- 1456, // bitfieldExtract_00D00D00D
- 1458, // texture2DProjLodEXT_00I20B00B
- 1459, // notEqual_30F30F
- 1461, // gl_FrontFacing
- 1463, // gl_SecondaryFragColorEXT
- 1464, // inversesqrt_10B
- 1466, // gl_MaxComputeWorkGroupCount
- 1468, // acos_10B
- 1470, // abs_30D
- 1472, // gl_MaxFragmentUniformVectors
- 1474, // fract_20B
- 1476, // abs_30B
- 1478, // lessThan_10B10B
- 1480, // textureGatherOffset_00X10B10D
- 1482, // bitfieldInsert_10E10E00D00D
- 1484, // packSnorm4x8_30B
- 1486, // mix_10B10B00B
- 1488, // imageLoad_01E20D
- 1489, // clamp_30D30D30D
- 1491, // textureGather_00U20B00D
- 1493, // textureSize_00f00D
- 1495, // textureProj_00N20B00B
- 1496, // gl_FragData
- 1498, // textureProj_00d30B00B
- 1500, // clamp_20E00E00E
- 1502, // texture_00X10B
- 1504, // textureProj_00d30B
- 1506, // mix_30B30B30F
- 1508, // determinant_F0B
- 1509, // transpose_A0B
- 1511, // pow_20B20B
- 1513, // texture2DProjGradEXT_00I20B10B10B
- 1514, // gl_LastFragColorARM
- 1515, // textureGather_00Z20B00D
- 1517, // textureGather_00R10B
- 1519, // lessThanEqual_20D20D
- 1521, // textureLod_00S20B00B
- 1523, // textureProjLod_00Y30B00B
- 1525, // cosh_10B
- 1527, // sqrt_30B
- 1529, // gl_VertexID
- 1531, // sign_10D
- 1533, // textureProj_00M30B
- 1534, // exp_00B
- 1536, // min_00E00E
- 1538, // max_30D30D
- 1540, // umulExtended_00E00E00E00E
- 1542, // gl_MaxVertexAttribs
- 1544, // gl_BaseInstance
- 1545, // transpose_B0B
- 1547, // fwidth_20B
- 1550, // mix_20F20F20F
- 1552, // Empty
- 1552, // smoothstep_00B00B30B
- 1554, // textureSize_00M00D
- 1555, // log2_20B
- 1557, // ldexp_10B10D
- 1559, // min_10B00B
- 1561, // mix_30B30B00B
- 1563, // angle_BaseInstance
- 1564, // mix_10F10F10F
- 1566, // degrees_10B
- 1568, // gl_MaxTextureImageUnits
- 1570, // gl_Position
- 1573, // texture_00K20B
- 1575, // atomicCompSwap_00E00E00E
- 1577, // fma_30B30B30B
- 1580, // sinh_10B
- 1582, // atan_30B
- 1584, // textureGradOffset_00L20B10B10B10D
- 1586, // ceil_10B
- 1588, // textureSize_00S00D
- 1590, // textureGatherOffsets_00U20B10Dx4
- 1593, // textureProjLod_00I20B00B
- 1595, // greaterThanEqual_10B10B
- 1597, // textureGatherOffsets_00I10B10Dx400D
- 1600, // textureCube_00K20B00B
- 1602, // dot_20B20B
- 1604, // transpose_90B
- 1606, // not_30F
- 1608, // textureProjLodOffset_00I20B00B10D
- 1610, // notEqual_10F10F
- 1612, // textureProjGrad_00R20B10B10B
- 1614, // texture_00f30B
- 1616, // smoothstep_00B00B00B
- 1618, // textureProjLodOffset_00d30B00B10D
- 1620, // texelFetch_00R10D00D
- 1622, // cosh_20B
- 1624, // textureProjLodOffset_00I30B00B10D
- 1626, // normalize_30B
- 1628, // smoothstep_30B30B30B
- 1630, // bitfieldInsert_10D10D00D00D
- 1632, // clamp_20B20B20B
- 1634, // textureGrad_00L20B10B10B
- 1636, // textureGrad_00R10B10B10B
- 1638, // textureProjGrad_00I20B10B10B
- 1640, // textureGather_00e20B
- 1641, // texture2D_00M10B
- 1642, // min_00D00D
- 1644, // outerProduct_10B10B
- 1646, // lessThanEqual_10D10D
- 1648, // trunc_20B
- 1650, // gl_MaxVaryingVectors
- 1652, // textureProjOffset_00I30B10D00B
- 1654, // textureSize_00d00D
- 1656, // sin_00B
- 1658, // gl_MaxVertexUniformVectors
- 1660, // textureCubeLodEXT_00K20B00B
- 1661, // textureGather_00T20B00D
- 1663, // textureProj_00N20B
- 1664, // uaddCarry_10E10E10E
- 1666, // tan_10B
- 1668, // textureLodOffset_00L20B00B10D
- 1670, // atomicCounterIncrement_00G
- 1672, // ldexp_20B20D
- 1674, // greaterThanEqual_30D30D
- 1676, // notEqual_20B20B
- 1678, // imageLoad_01D20D
- 1679, // textureProjLodOffset_00X30B00B10D
- 1681, // isinf_20B
- 1683, // cos_10B
- 1685, // mix_30B30B30B
- 1687, // texture_00e30B
- 1689, // textureSize_00T00D
- 1691, // textureGatherOffset_00X10B10D00D
- 1693, // equal_10E10E
- 1695, // min_10E10E
- 1697, // textureProjGradOffset_00Y30B20B20B20D
- 1699, // textureGrad_00T20B20B20B
- 1701, // memoryBarrierImage_
- 1703, // textureProjOffset_00J30B20D
- 1705, // EmitVertex_
- 1706, // textureProjOffset_00d30B10D00B
- 1708, // round_10B
- 1710, // textureProjOffset_00d30B10D
- 1712, // notEqual_10E10E
- 1714, // textureProj_00R30B
- 1716, // matrixCompMult_50B50B
- 1718, // equal_20F20F
- 1720, // gl_MaxFragmentInputVectors
- 1722, // equal_30B30B
- 1724, // textureLod_00U20B00B
- 1726, // usubBorrow_10E10E10E
- 1728, // equal_10B10B
- 1730, // fma_00B00B00B
- 1733, // textureProjGradOffset_00I20B10B10B10D
- 1735, // texture2DProjLod_00I30B00B
- 1737, // isnan_10B
- 1739, // uaddCarry_20E20E20E
- 1741, // max_10B10B
- 1743, // atomicMax_00E00E
- 1745, // gl_PointSize
- 1747, // atomicMin_00D00D
- 1749, // textureSize_00X00D
- 1751, // greaterThan_10B10B
- 1753, // asin_10B
- 1755, // textureGather_00d10B00B
- 1757, // trunc_10B
- 1759, // gl_MaxComputeAtomicCounters
- 1761, // textureProj_00X30B
- 1763, // gl_MaxVertexAtomicCounters
- 1765, // length_20B
- 1767, // bitfieldInsert_30E30E00D00D
- 1769, // textureOffset_00S20B20D
- 1771, // textureProjOffset_00X20B10D
- 1773, // clamp_30D00D00D
- 1775, // clamp_10B00B00B
- 1777, // mix_20E20E20F
- 1779, // textureProj_00R20B
- 1781, // textureProj_00I20B00B
- 1783, // greaterThan_10E10E
- 1785, // imageLoad_01K20D
- 1786, // textureProjOffset_00R30B10D00B
- 1788, // dFdy_00B
- 1791, // min_30D00D
- 1793, // floatBitsToInt_00B
- 1795, // sign_10B
- 1797, // max_00E00E
- 1799, // texture_00a20B00B
- 1801, // texture_00M10B00B
- 1802, // smoothstep_20B20B20B
- 1804, // textureCubeLod_00K20B00B
- 1806, // textureOffset_00J20B20D
- 1808, // texelFetch_00J20D00D
- 1810, // textureProj_00M20B00B
- 1811, // floatBitsToUint_00B
- 1813, // textureProjGradOffset_00R30B10B10B10D
- 1815, // textureLod_00K20B00B
- 1817, // textureProjOffset_00X30B10D00B
- 1819, // cos_20B
- 1821, // exp2_00B
- 1823, // radians_30B
- 1825, // texture2DRectProj_00O20B
- 1826, // tan_20B
- 1828, // textureGather_00T20B
- 1830, // textureGather_00a20B00D
- 1832, // textureProjGradOffset_00J30B20B20B20D
- 1834, // asinh_10B
- 1836, // textureProjGrad_00X30B10B10B
- 1838, // floor_00B
- 1840, // gl_DrawID
- 1841, // textureGatherOffsets_00R10B10Dx400D
- 1844, // atomicOr_00D00D
- 1846, // texture3DLod_00J20B00B
+ 0, // textureSize_00s00D
+ 1, // textureProj_00R30B00B
+ 3, // imageStore_01G20D30D
+ 4, // texture_00N10B00B
+ 5, // clamp_10D00D00D
+ 7, // gl_PrimitiveID
+ 9, // texture_00R10B00B
+ 11, // modf_00B00B
+ 13, // gl_MaxAtomicCounterBindings
+ 15, // notEqual_20D20D
+ 17, // gl_MaxComputeImageUniforms
+ 19, // textureLod_00L20B00B
+ 21, // angle_BaseVertex
+ 22, // determinant_A0B
+ 23, // textureProjGrad_00I30B10B10B
+ 25, // tanh_30B
+ 27, // gl_Layer
+ 29, // textureOffset_00d20B10D
+ 31, // dFdx_30B
+ 34, // textureGatherOffsets_00U20B10Dx400D
+ 37, // clamp_00E00E00E
+ 39, // imageLoad_01E20D
+ 40, // transpose_50B
+ 42, // ldexp_00B00D
+ 44, // textureGather_00K20B00D
+ 46, // lessThanEqual_30B30B
+ 48, // greaterThanEqual_20D20D
+ 50, // min_20E20E
+ 52, // asin_20B
+ 54, // outerProduct_20B30B
+ 56, // bitfieldInsert_00D00D00D00D
+ 58, // textureProjGrad_00Y30B20B20B
+ 60, // roundEven_30B
+ 62, // texture_00l30B00B
+ 63, // acosh_20B
+ 65, // atanh_10B
+ 67, // mix_20B20B00B
+ 69, // clamp_10B10B10B
+ 71, // textureGrad_00I10B10B10B
+ 73, // textureGatherOffset_00L20B10D00D
+ 75, // bitCount_00D
+ 77, // step_00B20B
+ 79, // lessThan_30E30E
+ 81, // uintBitsToFloat_30E
+ 83, // imulExtended_30D30D30D30D
+ 85, // textureSize_00K00D
+ 87, // textureGatherOffsets_00X10B10Dx400D
+ 90, // imageStore_01B10D30E
+ 91, // transpose_70B
+ 93, // textureProjOffset_00S30B20D00B
+ 95, // textureProjLod_00X30B00B
+ 97, // textureSize_00Y00D
+ 99, // gl_MinProgramTexelOffset
+ 101, // texture_00d20B
+ 103, // textureProj_00J30B00B
+ 105, // atan_10B10B
+ 107, // max_20B00B
+ 109, // clamp_30B30B30B
+ 111, // EndPrimitive_
+ 112, // textureLod_00Y20B00B
+ 114, // textureLodOffset_00a20B00B10D
+ 116, // texelFetchOffset_00Y20D00D20D
+ 118, // texelFetch_00a20D00D
+ 120, // min_20D00D
+ 122, // imageLoad_01F20D
+ 123, // uintBitsToFloat_00E
+ 125, // lessThanEqual_20B20B
+ 127, // texelFetch_00N10D00D
+ 128, // atomicAdd_00D00D
+ 130, // gl_MaxGeometryOutputComponents
+ 131, // gl_MaxGeometryTextureImageUnits
+ 132, // unpackSnorm4x8_00E
+ 134, // bitfieldInsert_20D20D00D00D
+ 136, // gl_MaxVertexTextureImageUnits
+ 138, // texture_00Z20B
+ 140, // min_10D10D
+ 142, // mix_20D20D20F
+ 144, // mix_30F30F30F
+ 146, // tanh_00B
+ 148, // textureProjOffset_00J30B20D00B
+ 150, // all_30F
+ 152, // abs_20D
+ 154, // abs_20B
+ 156, // inversesqrt_00B
+ 158, // matrixCompMult_D0BD0B
+ 159, // gl_MaxClipDistances
+ 160, // lessThanEqual_10B10B
+ 162, // bitfieldReverse_20D
+ 164, // bitfieldReverse_20E
+ 166, // textureProjGrad_00S30B20B20B
+ 168, // equal_10D10D
+ 170, // max_30D00D
+ 172, // groupMemoryBarrier_
+ 174, // mix_00B00B00F
+ 176, // imageStore_01b20D30D
+ 177, // textureProjGradOffset_00R20B10B10B10D
+ 179, // imageLoad_01A10D
+ 180, // textureGather_00s30B00D
+ 181, // intBitsToFloat_30D
+ 183, // textureGatherOffsets_00X10B10Dx4
+ 186, // textureProj_00I20B
+ 188, // texelFetch_00I10D00D
+ 190, // textureGatherOffsets_00U20B10Dx4
+ 193, // min_30B30B
+ 195, // gl_MaxVertexAtomicCounterBuffers
+ 197, // textureLodOffset_00S20B00B20D
+ 199, // textureGatherOffset_00R10B10D
+ 201, // acos_00B
+ 203, // fract_10B
+ 205, // transpose_E0B
+ 207, // intBitsToFloat_00D
+ 209, // textureGradOffset_00J20B20B20B20D
+ 211, // memoryBarrierAtomicCounter_
+ 213, // texture2DGradEXT_00I10B10B10B
+ 214, // bitfieldInsert_00E00E00D00D
+ 216, // atomicXor_00D00D
+ 218, // greaterThan_20B20B
+ 220, // textureLodOffset_00I10B00B10D
+ 222, // texelFetch_00Y20D00D
+ 224, // texture2DProjGradEXT_00I30B10B10B
+ 225, // textureGrad_00d20B10B10B
+ 227, // textureProjOffset_00R30B10D
+ 229, // textureOffset_00U20B10D
+ 231, // atan_10B
+ 233, // modf_10B10B
+ 235, // min_30B00B
+ 237, // determinant_50B
+ 238, // lessThan_20B20B
+ 240, // atomicAnd_00D00D
+ 242, // gl_FragColor
+ 244, // exp_10B
+ 246, // textureProjOffset_00I20B10D00B
+ 248, // step_00B10B
+ 250, // bitCount_30D
+ 252, // mix_30E30E30F
+ 254, // unpackUnorm2x16_00E
+ 256, // rgb_2_yuv_20B00H
+ 257, // sqrt_20B
+ 259, // sign_20B
+ 261, // sign_20D
+ 263, // atanh_00B
+ 265, // textureGradOffset_00X10B10B10B10D
+ 267, // imageStore_01K20D30E
+ 268, // gl_DepthRange
+ 270, // imulExtended_10D10D10D10D
+ 272, // atan_20B
+ 274, // texture_00M10B
+ 275, // gl_MaxVertexOutputVectors
+ 277, // texture_00T20B
+ 279, // log2_10B
+ 281, // min_10B10B
+ 283, // gl_MaxImageUnits
+ 285, // pow_10B10B
+ 287, // findLSB_20E
+ 289, // findLSB_20D
+ 291, // texture_00Y20B
+ 293, // packUnorm4x8_30B
+ 295, // texture_00X10B00B
+ 297, // frexp_00B00D
+ 299, // texture2D_00I10B
+ 301, // not_10F
+ 303, // texelFetch_00P10D00D
+ 306, // lessThan_10E10E
+ 308, // ceil_20B
+ 310, // textureLodOffset_00R10B00B10D
+ 312, // clamp_10D10D10D
+ 314, // texelFetch_00M10D00D
+ 315, // texture_00O10B
+ 316, // transpose_F0B
+ 318, // textureOffset_00Y20B20D00B
+ 320, // atomicCounterDecrement_00G
+ 322, // textureGradOffset_00S20B20B20B20D
+ 324, // imageStore_01I20D30B
+ 325, // imageLoad_01c20D
+ 326, // atomicXor_00E00E
+ 328, // textureProjOffset_00R20B10D
+ 330, // gl_FragCoord
+ 332, // clamp_30E30E30E
+ 334, // textureProj_00N30B00B
+ 335, // gl_MaxProgramTexelOffset
+ 337, // textureSize_00R00D
+ 339, // gl_MaxFragmentImageUniforms
+ 341, // normalize_00B
+ 343, // gl_DepthRangeParameters
+ 345, // textureOffset_00I10B10D
+ 347, // atomicExchange_00E00E
+ 349, // textureProj_00I30B00B
+ 351, // acosh_10B
+ 353, // gl_MaxCombinedShaderOutputResources
+ 355, // atomicOr_00E00E
+ 357, // min_20B00B
+ 359, // textureProj_00M30B00B
+ 360, // imageLoad_01b20D
+ 361, // textureProj_00M20B
+ 362, // texture_00I10B00B
+ 364, // reflect_00B00B
+ 366, // mod_20B00B
+ 368, // lessThan_20D20D
+ 370, // reflect_10B10B
+ 372, // floatBitsToInt_20B
+ 374, // textureLod_00J20B00B
+ 376, // sqrt_10B
+ 378, // textureProjLod_00S30B00B
+ 380, // clamp_20E20E20E
+ 382, // atomicAnd_00E00E
+ 384, // max_20D00D
+ 386, // textureSize_00I00D
+ 388, // gl_MaxComputeAtomicCounterBuffers
+ 390, // gl_PrimitiveIDIn
+ 391, // texelFetchOffset_00R10D00D10D
+ 393, // isinf_30B
+ 395, // textureGatherOffset_00a20B10D00D
+ 397, // textureGatherOffset_00I10B10D
+ 399, // textureOffset_00L20B10D00B
+ 401, // textureLodOffset_00X10B00B10D
+ 403, // texture_00T20B00B
+ 405, // textureOffset_00L20B10D
+ 407, // lessThanEqual_30E30E
+ 409, // textureOffset_00J20B20D00B
+ 411, // min_10E00E
+ 413, // log_30B
+ 415, // imageStore_01J20D30D
+ 416, // atomicCounter_00G
+ 418, // textureProjOffset_00S30B20D
+ 420, // imageLoad_01I20D
+ 421, // round_00B
+ 423, // smoothstep_00B00B20B
+ 425, // imageLoad_01H20D
+ 426, // textureGather_00K20B
+ 428, // bitfieldInsert_30D30D00D00D
+ 430, // fwidth_10B
+ 433, // textureProjLod_00R20B00B
+ 435, // notEqual_30D30D
+ 437, // refract_10B10B00B
+ 439, // textureProjOffset_00I20B10D
+ 441, // greaterThan_30D30D
+ 443, // greaterThan_10D10D
+ 445, // texture_00U20B
+ 447, // textureSize_00a00D
+ 449, // bitfieldExtract_10E00D00D
+ 451, // gl_MaxDrawBuffers
+ 453, // textureGatherOffset_00U20B10D00D
+ 455, // floatBitsToUint_10B
+ 457, // textureProjLod_00J30B00B
+ 459, // texture2DRect_00O10B
+ 460, // imulExtended_20D20D20D20D
+ 462, // any_30F
+ 464, // distance_30B30B
+ 466, // greaterThan_20D20D
+ 468, // textureOffset_00a20B10D
+ 470, // greaterThan_30B30B
+ 472, // trunc_00B
+ 474, // texture_00Z20B00B
+ 476, // sinh_30B
+ 478, // length_10B
+ 480, // findMSB_10E
+ 482, // findMSB_10D
+ 484, // dot_00B00B
+ 486, // asinh_20B
+ 488, // dot_30B30B
+ 490, // bitCount_00E
+ 492, // tan_30B
+ 494, // textureLod_00T20B00B
+ 496, // imageStore_00z10D30B
+ 497, // usubBorrow_20E20E20E
+ 499, // textureProjGrad_00R30B10B10B
+ 501, // exp2_10B
+ 503, // textureProj_00O20B
+ 504, // textureProjOffset_00X20B10D00B
+ 506, // outerProduct_10B20B
+ 508, // gl_MaxGeometryAtomicCounterBuffers
+ 509, // textureProjGradOffset_00X30B10B10B10D
+ 511, // textureOffset_00I10B10D00B
+ 513, // clamp_30B00B00B
+ 515, // inverse_50B
+ 517, // lessThan_20E20E
+ 519, // dot_10B10B
+ 521, // textureProjLodOffset_00Y30B00B20D
+ 523, // unpackHalf2x16_00E
+ 525, // matrixCompMult_A0BA0B
+ 527, // texture2DProjLod_00I20B00B
+ 529, // texelFetch_00W20D00D
+ 530, // texture2DRectProj_00O30B
+ 531, // radians_20B
+ 533, // textureGrad_00S20B20B20B
+ 535, // max_10D00D
+ 537, // round_30B
+ 539, // gl_MaxComputeTextureImageUnits
+ 541, // clamp_00D00D00D
+ 543, // sin_30B
+ 545, // floor_30B
+ 547, // textureProj_00S30B00B
+ 549, // textureGrad_00Y20B20B20B
+ 551, // textureGrad_00x30B20B20B
+ 552, // textureGather_00L20B00D
+ 554, // textureProjGradOffset_00S30B20B20B20D
+ 556, // imageStore_01A10D30D
+ 557, // gl_MaxGeometryOutputVertices
+ 558, // texture_00J20B
+ 560, // gl_PointCoord
+ 562, // textureGatherOffsets_00a20B10Dx4
+ 565, // dFdx_20B
+ 568, // imageStore_01F20D30B
+ 569, // textureProj_00X20B
+ 571, // max_10E10E
+ 573, // max_30B30B
+ 575, // clamp_10E10E10E
+ 577, // texelFetchOffset_00S20D00D20D
+ 579, // texture_00N10B
+ 580, // texture_00L20B
+ 582, // barrier_
+ 584, // gl_MaxGeometryUniformComponents
+ 585, // greaterThanEqual_20E20E
+ 587, // lessThan_10D10D
+ 589, // texelFetchOffset_00a20D00D10D
+ 591, // textureProjGradOffset_00X20B10B10B10D
+ 593, // texture2DProj_00I20B
+ 595, // texture3DProjLod_00J30B00B
+ 596, // not_20F
+ 598, // textureGather_00k30B00D
+ 599, // findMSB_20D
+ 601, // findMSB_20E
+ 603, // texelFetchOffset_00I10D00D10D
+ 605, // textureGather_00I10B00D
+ 607, // texelFetch_00V10D00D
+ 610, // outerProduct_20B20B
+ 612, // mix_10D10D10F
+ 614, // atan_30B30B
+ 616, // floatBitsToUint_20B
+ 618, // bitCount_30E
+ 620, // textureProjLodOffset_00R20B00B10D
+ 622, // log_20B
+ 624, // textureGather_00l30B00B
+ 625, // asin_30B
+ 627, // textureGather_00f20B
+ 628, // modf_30B30B
+ 630, // texture_00y10B
+ 632, // isnan_20B
+ 634, // max_00B00B
+ 636, // roundEven_20B
+ 638, // fwidth_00B
+ 641, // textureProjGrad_00J30B20B20B
+ 643, // dFdy_10B
+ 646, // outerProduct_30B10B
+ 648, // floatBitsToInt_30B
+ 650, // textureProj_00J30B
+ 652, // texture_00s30B
+ 653, // gl_InvocationID
+ 654, // max_30E00E
+ 656, // exp2_20B
+ 658, // textureLod_00d20B00B
+ 660, // radians_10B
+ 662, // texelFetch_00U20D00D
+ 664, // gl_MaxComputeWorkGroupSize
+ 666, // max_00D00D
+ 668, // gl_LastFragData
+ 670, // ceil_30B
+ 672, // atomicMin_00E00E
+ 674, // gl_MaxCombinedTextureImageUnits
+ 676, // bitCount_10E
+ 678, // texture_00S20B00B
+ 680, // textureGather_00e20B00B
+ 682, // textureSize_00k00D
+ 683, // distance_10B10B
+ 685, // reflect_20B20B
+ 687, // mod_10B00B
+ 689, // uintBitsToFloat_10E
+ 691, // textureGrad_00Z20B20B20B
+ 693, // equal_10F10F
+ 695, // cosh_00B
+ 697, // bitfieldReverse_00D
+ 699, // bitfieldReverse_00E
+ 701, // max_20E20E
+ 703, // matrixCompMult_70B70B
+ 704, // bitfieldExtract_30E00D00D
+ 706, // textureLod_00I10B00B
+ 708, // greaterThanEqual_10D10D
+ 710, // imageSize_01F
+ 711, // textureLod_00k30B00B
+ 712, // texture_00e30B00B
+ 714, // textureLodOffset_00Y20B00B20D
+ 716, // log2_00B
+ 718, // gl_LastFragColor
+ 719, // abs_10D
+ 721, // abs_10B
+ 723, // acos_30B
+ 725, // tanh_10B
+ 727, // degrees_30B
+ 729, // imageStore_01E20D30E
+ 730, // dFdx_10B
+ 733, // textureProjOffset_00I30B10D
+ 735, // bitfieldReverse_30E
+ 737, // bitfieldReverse_30D
+ 739, // gl_ClipDistance
+ 740, // inversesqrt_30B
+ 742, // gl_LocalInvocationID
+ 744, // Empty
+ 744, // clamp_00B00B00B
+ 746, // textureGather_00d10B
+ 747, // frexp_20B20D
+ 749, // intBitsToFloat_20D
+ 751, // fract_00B
+ 753, // gl_FragDepth
+ 755, // min_30E00E
+ 757, // exp_20B
+ 759, // equal_20B20B
+ 761, // textureProjLodOffset_00X20B00B10D
+ 763, // acosh_00B
+ 765, // log_10B
+ 767, // textureVideoWEBGL_00y10B
+ 769, // textureProjLodOffset_00S30B00B20D
+ 771, // sinh_20B
+ 773, // fma_10B10B10B
+ 776, // reflect_30B30B
+ 778, // outerProduct_30B20B
+ 780, // texture_00U20B00B
+ 782, // texture_00S20B
+ 784, // outerProduct_20B10B
+ 786, // mix_00E00E00F
+ 788, // umulExtended_10E10E10E10E
+ 790, // mix_00D00D00F
+ 792, // imageStore_01a20D30B
+ 793, // gl_Position
+ 796, // textureGradOffset_00a20B10B10B10D
+ 798, // notEqual_20F20F
+ 800, // mod_30B30B
+ 802, // bitfieldExtract_10D00D00D
+ 804, // sign_30B
+ 806, // sign_30D
+ 808, // pow_00B00B
+ 810, // mod_00B00B
+ 812, // texture_00Y20B00B
+ 814, // notEqual_30B30B
+ 816, // roundEven_10B
+ 818, // texture2DProjLodEXT_00I30B00B
+ 819, // atanh_30B
+ 821, // dFdy_20B
+ 824, // textureProj_00Y30B
+ 826, // bitCount_20D
+ 828, // step_00B00B
+ 830, // texelFetch_00L20D00D
+ 832, // texture_00x30B00B
+ 833, // memoryBarrierBuffer_
+ 835, // isinf_00B
+ 837, // imageSize_00z
+ 838, // distance_20B20B
+ 840, // textureGrad_00U20B10B10B
+ 842, // uaddCarry_30E30E30E
+ 844, // mod_30B00B
+ 846, // texture_00K20B00B
+ 848, // gl_MaxCombinedImageUniforms
+ 850, // atomicCompSwap_00D00D00D
+ 852, // yuv_2_rgb_20B00H
+ 853, // textureGather_00f20B00B
+ 855, // greaterThan_20E20E
+ 857, // textureGrad_00a20B10B10B
+ 859, // textureOffset_00U20B10D00B
+ 861, // intBitsToFloat_10D
+ 863, // texture_00J20B00B
+ 865, // refract_20B20B00B
+ 867, // textureProjLod_00I30B00B
+ 869, // refract_00B00B00B
+ 871, // findLSB_10D
+ 873, // findLSB_10E
+ 875, // mix_10B10B10F
+ 877, // mix_10B10B10B
+ 879, // textureProj_00Y30B00B
+ 881, // texture3D_00J20B
+ 882, // gl_SecondaryFragDataEXT
+ 883, // transpose_D0B
+ 885, // log2_30B
+ 887, // textureGrad_00J20B20B20B
+ 889, // textureProjGrad_00d30B10B10B
+ 891, // fract_30B
+ 893, // gl_LocalInvocationIndex
+ 895, // textureSize_00J00D
+ 897, // textureGatherOffset_00I10B10D00D
+ 899, // textureGather_00X10B00D
+ 901, // texelFetchOffset_00U20D00D10D
+ 903, // textureSize_00L00D
+ 905, // textureSize_00e00D
+ 907, // notEqual_20E20E
+ 909, // textureLodOffset_00d20B00B10D
+ 911, // inverse_A0B
+ 913, // textureProjGrad_00X20B10B10B
+ 915, // max_30E30E
+ 917, // imageLoad_01J20D
+ 918, // isnan_30B
+ 920, // imulExtended_00D00D00D00D
+ 922, // gl_in
+ 923, // atan_20B20B
+ 925, // usubBorrow_00E00E00E
+ 927, // textureProjLodOffset_00J30B00B20D
+ 929, // frexp_30B30D
+ 931, // degrees_20B
+ 933, // min_30E30E
+ 935, // imageLoad_01B10D
+ 936, // texture2DProj_00I30B00B
+ 938, // textureCubeGradEXT_00K20B20B20B
+ 939, // texture_00I10B
+ 941, // min_00B00B
+ 943, // gl_InstanceID
+ 945, // texelFetch_00c20D00D
+ 946, // gl_MaxVertexImageUniforms
+ 948, // sqrt_00B
+ 950, // normalize_20B
+ 952, // gl_MaxFragmentAtomicCounterBuffers
+ 954, // gl_WorkGroupID
+ 956, // degrees_00B
+ 958, // inverse_F0B
+ 960, // min_20E00E
+ 962, // textureProjLod_00R30B00B
+ 964, // textureSize_00P
+ 967, // textureGradOffset_00d20B10B10B10D
+ 969, // textureGatherOffsets_00R10B10Dx4
+ 972, // textureProjLodOffset_00R30B00B10D
+ 974, // atan_00B
+ 976, // atomicExchange_00D00D
+ 978, // textureGatherOffset_00R10B10D00D
+ 980, // gl_MaxGeometryAtomicCounters
+ 981, // texture2D_00I10B00B
+ 983, // textureProj_00X20B00B
+ 985, // clamp_20D20D20D
+ 987, // greaterThan_30E30E
+ 989, // frexp_10B10D
+ 991, // texture_00x30B
+ 992, // max_10E00E
+ 994, // smoothstep_00B00B10B
+ 996, // gl_GlobalInvocationID
+ 998, // matrixCompMult_60B60B
+ 999, // memoryBarrierShared_
+ 1001, // normalize_10B
+ 1003, // unpackSnorm2x16_00E
+ 1005, // imageLoad_00z10D
+ 1006, // lessThan_30D30D
+ 1008, // atan_00B00B
+ 1010, // bitfieldExtract_20D00D00D
+ 1012, // texture_00L20B00B
+ 1014, // notEqual_10B10B
+ 1016, // imageLoad_01G20D
+ 1017, // Empty
+ 1017, // bitfieldExtract_00E00D00D
+ 1019, // textureGatherOffsets_00a20B10Dx400D
+ 1022, // mix_10E10E10F
+ 1024, // trunc_30B
+ 1026, // matrixCompMult_E0BE0B
+ 1027, // length_00B
+ 1029, // any_20F
+ 1031, // textureGather_00s30B
+ 1032, // gl_PerVertex
+ 1033, // textureProj_00X30B00B
+ 1035, // gl_HelperInvocation
+ 1037, // atomicMax_00D00D
+ 1039, // textureGather_00L20B
+ 1041, // gl_ViewID_OVR
+ 1042, // floor_10B
+ 1044, // sin_10B
+ 1046, // textureSize_00N00D
+ 1047, // texelFetchOffset_00J20D00D20D
+ 1049, // tan_00B
+ 1051, // mod_20B20B
+ 1053, // texture_00k30B
+ 1054, // textureGather_00x30B00D
+ 1055, // textureLod_00x30B00B
+ 1056, // asinh_30B
+ 1058, // textureGrad_00k30B20B20B
+ 1059, // outerProduct_10B30B
+ 1061, // textureCube_00K20B
+ 1063, // textureSize_00c
+ 1064, // textureSize_00b
+ 1067, // cos_00B
+ 1069, // min_20B20B
+ 1071, // textureGradOffset_00f30B10B10B10D
+ 1073, // max_20D20D
+ 1075, // textureProj_00I30B
+ 1077, // max_10D10D
+ 1079, // textureOffset_00a20B10D00B
+ 1081, // textureGather_00X10B
+ 1083, // textureGatherOffsets_00L20B10Dx4
+ 1086, // pow_30B30B
+ 1088, // textureGather_00a20B
+ 1090, // smoothstep_10B10B10B
+ 1092, // textureProj_00O30B
+ 1093, // textureGatherOffset_00d10B00B10D
+ 1095, // refract_30B30B00B
+ 1097, // bitfieldInsert_20E20E00D00D
+ 1099, // floor_20B
+ 1101, // equal_20E20E
+ 1103, // mix_00B00B00B
+ 1105, // imageSize_01B
+ 1106, // greaterThanEqual_20B20B
+ 1108, // uaddCarry_00E00E00E
+ 1110, // sin_20B
+ 1112, // textureSize_00Q
+ 1113, // round_20B
+ 1115, // matrixCompMult_90B90B
+ 1116, // textureProjLod_00d30B00B
+ 1118, // textureSize_00W
+ 1119, // textureProjLod_00X20B00B
+ 1121, // textureGatherOffsets_00I10B10Dx4
+ 1124, // gl_MaxCombinedAtomicCounterBuffers
+ 1126, // isnan_00B
+ 1128, // umulExtended_30E30E30E30E
+ 1130, // faceforward_30B30B30B
+ 1132, // textureGradOffset_00Y20B20B20B20D
+ 1134, // clamp_30E00E00E
+ 1136, // asin_00B
+ 1138, // ceil_00B
+ 1140, // texture3D_00J20B00B
+ 1141, // distance_00B00B
+ 1143, // texture_00a20B
+ 1145, // textureGatherOffset_00a20B10D
+ 1147, // textureGrad_00f30B10B10B
+ 1149, // texture2DProj_00I30B
+ 1151, // modf_20B20B
+ 1153, // textureGradOffset_00I10B10B10B10D
+ 1155, // notEqual_30E30E
+ 1157, // textureGrad_00s30B20B20B
+ 1158, // textureGather_00I10B
+ 1160, // lessThanEqual_10E10E
+ 1162, // inversesqrt_20B
+ 1164, // textureLodOffset_00J20B00B20D
+ 1166, // min_30D30D
+ 1168, // textureOffset_00R10B10D00B
+ 1170, // textureGrad_00e30B20B20B
+ 1172, // atomicAdd_00E00E
+ 1174, // gl_MaxGeometryInputComponents
+ 1175, // findMSB_30E
+ 1177, // findMSB_30D
+ 1179, // textureGrad_00X10B10B10B
+ 1181, // length_30B
+ 1183, // greaterThanEqual_30E30E
+ 1185, // fwidth_30B
+ 1188, // textureGrad_00K20B20B20B
+ 1190, // mix_20B20B20F
+ 1192, // texelFetch_00S20D00D
+ 1194, // textureGradOffset_00U20B10B10B10D
+ 1196, // mix_20B20B20B
+ 1198, // floatBitsToInt_10B
+ 1200, // max_10B00B
+ 1202, // textureGatherOffset_00L20B10D
+ 1204, // textureLod_00a20B00B
+ 1206, // any_10F
+ 1208, // textureProjGradOffset_00d30B10B10B10D
+ 1210, // textureProj_00N30B
+ 1211, // imageSize_01a
+ 1212, // exp2_30B
+ 1214, // texelFetchOffset_00L20D00D10D
+ 1216, // equal_30D30D
+ 1218, // texture3DProj_00J30B00B
+ 1219, // imageStore_01D20D30D
+ 1220, // packSnorm2x16_10B
+ 1222, // floatBitsToUint_30B
+ 1224, // lessThanEqual_30D30D
+ 1226, // textureLod_00s30B00B
+ 1227, // asinh_00B
+ 1229, // textureOffset_00R10B10D
+ 1231, // greaterThanEqual_10E10E
+ 1233, // textureProjGradOffset_00I30B10B10B10D
+ 1235, // textureGather_00Z20B
+ 1237, // textureOffset_00X10B10D
+ 1239, // cosh_30B
+ 1241, // textureOffset_00d20B10D00B
+ 1243, // texture_00R10B
+ 1245, // textureOffset_00S20B20D00B
+ 1247, // usubBorrow_30E30E30E
+ 1249, // radians_00B
+ 1251, // textureProjOffset_00R20B10D00B
+ 1253, // ldexp_30B30D
+ 1255, // max_30B00B
+ 1257, // min_20D20D
+ 1259, // textureGatherOffsets_00f20B00B10Dx4
+ 1262, // step_10B10B
+ 1264, // gl_MaxDualSourceDrawBuffersEXT
+ 1265, // textureGatherOffsets_00L20B10Dx400D
+ 1268, // step_30B30B
+ 1270, // bitfieldReverse_10E
+ 1272, // bitfieldReverse_10D
+ 1274, // texture3DProj_00J30B
+ 1275, // gl_FragDepthEXT
+ 1276, // matrixCompMult_B0BB0B
+ 1277, // lessThan_30B30B
+ 1279, // cross_20B20B
+ 1281, // all_10F
+ 1283, // clamp_20B00B00B
+ 1285, // tanh_20B
+ 1287, // dFdx_00B
+ 1290, // matrixCompMult_F0BF0B
+ 1292, // textureProjOffset_00Y30B20D
+ 1294, // abs_00D
+ 1296, // abs_00B
+ 1298, // textureLod_00R10B00B
+ 1300, // step_20B20B
+ 1302, // gl_MaxFragmentAtomicCounters
+ 1304, // textureLodOffset_00U20B00B10D
+ 1306, // textureProj_00R20B00B
+ 1308, // faceforward_20B20B20B
+ 1310, // textureSize_00l00D
+ 1311, // imageSize_01E
+ 1312, // textureSize_00x00D
+ 1313, // acos_20B
+ 1315, // texelFetch_00X10D00D
+ 1317, // sinh_00B
+ 1319, // imageSize_01A
+ 1320, // texture2DLod_00I10B00B
+ 1322, // texelFetch_00b10D00D
+ 1325, // fma_20B20B20B
+ 1328, // gl_MaxAtomicCounterBufferSize
+ 1330, // max_20B20B
+ 1332, // textureGatherOffset_00f20B00B10D
+ 1334, // outerProduct_30B30B
+ 1336, // lessThanEqual_20E20E
+ 1338, // textureLod_00X10B00B
+ 1340, // exp_30B
+ 1342, // gl_BaseVertex
+ 1343, // imageSize_01D
+ 1344, // step_00B30B
+ 1346, // bitCount_10D
+ 1348, // equal_30E30E
+ 1350, // sign_00B
+ 1352, // log_00B
+ 1354, // mix_00F00F00F
+ 1356, // textureLod_00Z20B00B
+ 1358, // sign_00D
+ 1360, // textureOffset_00Y20B20D
+ 1362, // transpose_60B
+ 1364, // findMSB_00D
+ 1366, // gl_MaxGeometryTotalOutputComponents
+ 1367, // acosh_30B
+ 1369, // findMSB_00E
+ 1371, // bitfieldExtract_20E00D00D
+ 1373, // uintBitsToFloat_20E
+ 1375, // unpackUnorm4x8_00E
+ 1377, // texture2DProj_00M20B
+ 1378, // texelFetchOffset_00X10D00D10D
+ 1380, // mod_10B10B
+ 1382, // texture_00d20B00B
+ 1384, // notEqual_10D10D
+ 1386, // texture2DProj_00M30B
+ 1387, // textureSize_00V
+ 1390, // packUnorm2x16_10B
+ 1392, // faceforward_00B00B00B
+ 1394, // umulExtended_20E20E20E20E
+ 1396, // textureOffset_00X10B10D00B
+ 1398, // cos_30B
+ 1400, // findLSB_30D
+ 1402, // findLSB_30E
+ 1404, // bitCount_20E
+ 1406, // gl_NumWorkGroups
+ 1408, // equal_20D20D
+ 1410, // textureProjOffset_00Y30B20D00B
+ 1412, // textureGatherOffset_00U20B10D
+ 1414, // faceforward_10B10B10B
+ 1416, // mix_30D30D30F
+ 1418, // gl_MaxComputeUniformComponents
+ 1420, // textureGather_00R10B00D
+ 1422, // imageStore_01H20D30E
+ 1423, // textureSize_00Z00D
+ 1425, // textureGather_00U20B
+ 1427, // bitfieldExtract_30D00D00D
+ 1429, // min_10D00D
+ 1431, // texelFetch_00Q20D00D
+ 1432, // max_20E00E
+ 1434, // textureProj_00S30B
+ 1436, // roundEven_00B
+ 1438, // texture2DLodEXT_00I10B00B
+ 1439, // dFdy_30B
+ 1442, // atanh_20B
+ 1444, // clamp_10E00E00E
+ 1446, // gl_MaxCombinedAtomicCounters
+ 1448, // imageStore_01C20D30B
+ 1449, // clamp_20D00D00D
+ 1451, // all_20F
+ 1453, // isinf_10B
+ 1455, // imageLoad_01C20D
+ 1456, // imageSize_01J
+ 1457, // imageSize_01K
+ 1458, // imageSize_01H
+ 1459, // imageSize_01I
+ 1460, // packHalf2x16_10B
+ 1462, // texture2DProj_00I20B00B
+ 1464, // findLSB_00E
+ 1466, // findLSB_00D
+ 1468, // textureProjOffset_00X30B10D
+ 1470, // imageSize_01C
+ 1471, // greaterThanEqual_30B30B
+ 1473, // textureSize_00U00D
+ 1475, // textureGradOffset_00R10B10B10B10D
+ 1477, // imageSize_01G
+ 1478, // equal_30F30F
+ 1480, // bitfieldExtract_00D00D00D
+ 1482, // texture2DProjLodEXT_00I20B00B
+ 1483, // notEqual_30F30F
+ 1485, // gl_FrontFacing
+ 1487, // gl_SecondaryFragColorEXT
+ 1488, // inversesqrt_10B
+ 1490, // gl_MaxComputeWorkGroupCount
+ 1492, // acos_10B
+ 1494, // abs_30D
+ 1496, // gl_MaxFragmentUniformVectors
+ 1498, // fract_20B
+ 1500, // abs_30B
+ 1502, // lessThan_10B10B
+ 1504, // textureGatherOffset_00X10B10D
+ 1506, // imageSize_01c
+ 1507, // bitfieldInsert_10E10E00D00D
+ 1509, // packSnorm4x8_30B
+ 1511, // mix_10B10B00B
+ 1513, // imageSize_01b
+ 1514, // clamp_30D30D30D
+ 1516, // textureGather_00U20B00D
+ 1518, // textureSize_00f00D
+ 1520, // textureProj_00N20B00B
+ 1521, // gl_FragData
+ 1523, // textureProj_00d30B00B
+ 1525, // clamp_20E00E00E
+ 1527, // texture_00X10B
+ 1529, // textureProj_00d30B
+ 1531, // mix_30B30B30F
+ 1533, // determinant_F0B
+ 1534, // transpose_A0B
+ 1536, // pow_20B20B
+ 1538, // texture2DProjGradEXT_00I20B10B10B
+ 1539, // gl_WorkGroupSize
+ 1541, // gl_LastFragColorARM
+ 1542, // textureGather_00Z20B00D
+ 1544, // textureGather_00R10B
+ 1546, // lessThanEqual_20D20D
+ 1548, // textureLod_00S20B00B
+ 1550, // textureProjLod_00Y30B00B
+ 1552, // cosh_10B
+ 1554, // sqrt_30B
+ 1556, // gl_VertexID
+ 1558, // sign_10D
+ 1560, // textureProj_00M30B
+ 1561, // exp_00B
+ 1563, // min_00E00E
+ 1565, // max_30D30D
+ 1567, // umulExtended_00E00E00E00E
+ 1569, // gl_MaxVertexAttribs
+ 1571, // gl_BaseInstance
+ 1572, // transpose_B0B
+ 1574, // fwidth_20B
+ 1577, // mix_20F20F20F
+ 1579, // Empty
+ 1579, // smoothstep_00B00B30B
+ 1581, // texture_00s30B00B
+ 1582, // textureSize_00M00D
+ 1583, // log2_20B
+ 1585, // ldexp_10B10D
+ 1587, // min_10B00B
+ 1589, // mix_30B30B00B
+ 1591, // angle_BaseInstance
+ 1592, // mix_10F10F10F
+ 1594, // degrees_10B
+ 1596, // gl_MaxTextureImageUnits
+ 1598, // texture_00k30B00B
+ 1599, // texture_00K20B
+ 1601, // atomicCompSwap_00E00E00E
+ 1603, // fma_30B30B30B
+ 1606, // sinh_10B
+ 1608, // atan_30B
+ 1610, // textureGradOffset_00L20B10B10B10D
+ 1612, // ceil_10B
+ 1614, // textureSize_00S00D
+ 1616, // textureProjLod_00I20B00B
+ 1618, // greaterThanEqual_10B10B
+ 1620, // textureGatherOffsets_00I10B10Dx400D
+ 1623, // textureCube_00K20B00B
+ 1625, // dot_20B20B
+ 1627, // transpose_90B
+ 1629, // gl_MaxGeometryImageUniforms
+ 1630, // not_30F
+ 1632, // memoryBarrier_
+ 1634, // textureProjLodOffset_00I20B00B10D
+ 1636, // notEqual_10F10F
+ 1638, // textureProjGrad_00R20B10B10B
+ 1640, // texture_00f30B
+ 1642, // smoothstep_00B00B00B
+ 1644, // textureProjLodOffset_00d30B00B10D
+ 1646, // texelFetch_00R10D00D
+ 1648, // cosh_20B
+ 1650, // textureProjLodOffset_00I30B00B10D
+ 1652, // normalize_30B
+ 1654, // smoothstep_30B30B30B
+ 1656, // bitfieldInsert_10D10D00D00D
+ 1658, // clamp_20B20B20B
+ 1660, // textureGrad_00L20B10B10B
+ 1662, // textureGrad_00R10B10B10B
+ 1664, // textureProjGrad_00I20B10B10B
+ 1666, // textureGather_00e20B
+ 1667, // textureGather_00k30B
+ 1668, // texture2D_00M10B
+ 1669, // min_00D00D
+ 1671, // outerProduct_10B10B
+ 1673, // lessThanEqual_10D10D
+ 1675, // trunc_20B
+ 1677, // gl_MaxVaryingVectors
+ 1679, // textureProjOffset_00I30B10D00B
+ 1681, // textureGather_00x30B
+ 1682, // textureSize_00d00D
+ 1684, // sin_00B
+ 1686, // gl_MaxVertexUniformVectors
+ 1688, // textureCubeLodEXT_00K20B00B
+ 1689, // textureGather_00T20B00D
+ 1691, // textureProj_00N20B
+ 1692, // uaddCarry_10E10E10E
+ 1694, // tan_10B
+ 1696, // textureLodOffset_00L20B00B10D
+ 1698, // atomicCounterIncrement_00G
+ 1700, // ldexp_20B20D
+ 1702, // greaterThanEqual_30D30D
+ 1704, // notEqual_20B20B
+ 1706, // imageLoad_01D20D
+ 1707, // textureProjLodOffset_00X30B00B10D
+ 1709, // isinf_20B
+ 1711, // cos_10B
+ 1713, // mix_30B30B30B
+ 1715, // texture_00e30B
+ 1717, // textureSize_00T00D
+ 1719, // textureGatherOffset_00X10B10D00D
+ 1721, // equal_10E10E
+ 1723, // min_10E10E
+ 1725, // textureProjGradOffset_00Y30B20B20B20D
+ 1727, // textureGrad_00T20B20B20B
+ 1729, // memoryBarrierImage_
+ 1731, // textureProjOffset_00J30B20D
+ 1733, // EmitVertex_
+ 1734, // textureProjOffset_00d30B10D00B
+ 1736, // round_10B
+ 1738, // textureGatherOffsets_00d10B00B10Dx4
+ 1741, // textureProjOffset_00d30B10D
+ 1743, // notEqual_10E10E
+ 1745, // imageStore_01c20D30E
+ 1746, // textureProj_00R30B
+ 1748, // matrixCompMult_50B50B
+ 1750, // equal_20F20F
+ 1752, // gl_MaxFragmentInputVectors
+ 1754, // equal_30B30B
+ 1756, // textureLod_00U20B00B
+ 1758, // usubBorrow_10E10E10E
+ 1760, // equal_10B10B
+ 1762, // fma_00B00B00B
+ 1765, // textureProjGradOffset_00I20B10B10B10D
+ 1767, // texture2DProjLod_00I30B00B
+ 1769, // isnan_10B
+ 1771, // uaddCarry_20E20E20E
+ 1773, // max_10B10B
+ 1775, // atomicMax_00E00E
+ 1777, // gl_PointSize
+ 1779, // atomicMin_00D00D
+ 1781, // textureSize_00X00D
+ 1783, // greaterThan_10B10B
+ 1785, // asin_10B
+ 1787, // textureGather_00d10B00B
+ 1789, // trunc_10B
+ 1791, // gl_MaxComputeAtomicCounters
+ 1793, // textureProj_00X30B
+ 1795, // gl_MaxVertexAtomicCounters
+ 1797, // length_20B
+ 1799, // bitfieldInsert_30E30E00D00D
+ 1801, // textureOffset_00S20B20D
+ 1803, // textureProjOffset_00X20B10D
+ 1805, // clamp_30D00D00D
+ 1807, // clamp_10B00B00B
+ 1809, // mix_20E20E20F
+ 1811, // textureProj_00R20B
+ 1813, // textureProj_00I20B00B
+ 1815, // greaterThan_10E10E
+ 1817, // imageLoad_01K20D
+ 1818, // textureProjOffset_00R30B10D00B
+ 1820, // dFdy_00B
+ 1823, // min_30D00D
+ 1825, // floatBitsToInt_00B
+ 1827, // sign_10B
+ 1829, // max_00E00E
+ 1831, // texture_00a20B00B
+ 1833, // texture_00M10B00B
+ 1834, // smoothstep_20B20B20B
+ 1836, // textureCubeLod_00K20B00B
+ 1838, // textureOffset_00J20B20D
+ 1840, // imageLoad_01a20D
+ 1841, // texelFetch_00J20D00D
+ 1843, // textureProj_00M20B00B
+ 1844, // floatBitsToUint_00B
+ 1846, // textureProjGradOffset_00R30B10B10B10D
+ 1848, // textureLod_00K20B00B
+ 1850, // textureProjOffset_00X30B10D00B
+ 1852, // cos_20B
+ 1854, // exp2_00B
+ 1856, // radians_30B
+ 1858, // texture2DRectProj_00O20B
+ 1859, // tan_20B
+ 1861, // textureGather_00T20B
+ 1863, // textureGather_00a20B00D
+ 1865, // textureProjGradOffset_00J30B20B20B20D
+ 1867, // asinh_10B
+ 1869, // textureProjGrad_00X30B10B10B
+ 1871, // floor_00B
+ 1873, // gl_DrawID
+ 1874, // textureGatherOffsets_00R10B10Dx400D
+ 1877, // atomicOr_00D00D
+ 1879, // texture3DLod_00J20B00B
};
using Ext = TExtension;
@@ -14440,13 +14934,13 @@ constexpr UnmangledEntry unmangled[] = {
{"dFdx", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
{"memoryBarrierShared", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::COMPUTE},
{"texture3DLod", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
- {"textureLod", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
+ {"textureLod", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
{"faceforward", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
{"abs", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
{"max", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
{"unpackSnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
{"log2", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
- {"textureGrad", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
+ {"textureGrad", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
{"barrier", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::COMPUTE},
{"texture2DProj", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::FRAGMENT},
{"atomicCounterDecrement", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
@@ -14469,7 +14963,6 @@ constexpr UnmangledEntry unmangled[] = {
{"unpackHalf2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
{"matrixCompMult", Ext::UNDEFINED, Ext::UNDEFINED, 300, -1, Shader::ALL},
{"pow", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
- {"atomicExchange", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
{"texture2DProjLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
{"ldexp", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
{"floatBitsToUint", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
@@ -14519,6 +15012,7 @@ constexpr UnmangledEntry unmangled[] = {
{"sqrt", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
{"mix", Ext::UNDEFINED, Ext::UNDEFINED, 310, 450, Shader::ALL},
{"sin", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
+ {"atomicExchange", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
{"textureGradOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
{"atan", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
{"unpackUnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 400, Shader::ALL},
@@ -15038,7 +15532,7 @@ namespace
{
uint16_t GetNextRuleIndex(uint32_t nameHash)
{
- if (nameHash == 970 - 1)
+ if (nameHash == 1003 - 1)
return ArraySize(BuiltInArray::kRules);
return BuiltInArray::kMangledOffsets[nameHash + 1];
}
@@ -15050,7 +15544,7 @@ const TSymbol *TSymbolTable::findBuiltIn(const ImmutableString &name, int shader
return nullptr;
uint32_t nameHash = name.mangledNameHash();
- if (nameHash >= 970)
+ if (nameHash >= 1003)
return nullptr;
const char *actualName = BuiltInArray::kMangledNames[nameHash];
diff --git a/chromium/third_party/angle/src/compiler/translator/SymbolTable_autogen.cpp b/chromium/third_party/angle/src/compiler/translator/SymbolTable_autogen.cpp
index 26be983b07f..56cd754693f 100644
--- a/chromium/third_party/angle/src/compiler/translator/SymbolTable_autogen.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/SymbolTable_autogen.cpp
@@ -971,6 +971,19 @@ constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMSArray1;
constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_Sampler2DMSArray1;
constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_ISampler2DMSArray1;
constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMSArray1;
+constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCubeArray1_Float4_Float1;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1;
+constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1;
constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1;
constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1;
constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMS1_Int2_Int1;
@@ -1307,12 +1320,6 @@ constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3;
constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCube1_Float3_Int1;
constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCube1_Float3_Int1;
constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3_Int1;
-constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4;
-constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4;
-constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4;
-constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1;
-constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1;
-constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1;
constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DRect1_Float3;
constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2DRect1_Float3;
constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2DRect1_Float3;
@@ -1325,7 +1332,6 @@ constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_F
constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1;
constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3;
constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1;
-constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1;
constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DRectShadow1_Float2_Float1;
constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2_Int1;
constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2_Int1;
@@ -1481,12 +1487,12 @@ constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage2DArray1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageCube1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageCube1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageCube1;
-constexpr const TSymbolUniqueId BuiltInId::imageSize_Image1D1;
-constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage1D1;
-constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage1D1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageCubeArray1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageCubeArray1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageCubeArray1;
+constexpr const TSymbolUniqueId BuiltInId::imageSize_Image1D1;
+constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage1D1;
+constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage1D1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageRect1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageRect1;
constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageRect1;
@@ -2084,12 +2090,12 @@ constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage2DArray1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageCube1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageCube1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageCube1_Int3;
-constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageBuffer1_Int1;
-constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageBuffer1_Int1;
-constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageBuffer1_Int1;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageCubeArray1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageCubeArray1_Int3;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageCubeArray1_Int3;
+constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageBuffer1_Int1;
+constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageBuffer1_Int1;
+constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageBuffer1_Int1;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image1D1_Int1;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage1D1_Int1;
constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage1D1_Int1;
@@ -2117,12 +2123,12 @@ constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage2DArray1_Int3_UInt4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageCube1_Int3_Float4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageCube1_Int3_Int4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageCube1_Int3_UInt4;
-constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageBuffer1_Int1_Float4;
-constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageBuffer1_Int1_Int4;
-constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageBuffer1_Int1_UInt4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageCubeArray1_Int3_Float4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageCubeArray1_Int3_Int4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4;
+constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageBuffer1_Int1_Float4;
+constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageBuffer1_Int1_Int4;
+constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageBuffer1_Int1_UInt4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_Image1D1_Int1_Float4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage1D1_Int1_Int4;
constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage1D1_Int1_UInt4;
@@ -2267,7 +2273,7 @@ constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutBlock;
constexpr const TSymbolUniqueId BuiltInId::gl_PositionGS;
constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVR;
-const int TSymbolTable::kLastBuiltInId = 2322;
+const int TSymbolTable::kLastBuiltInId = 2328;
namespace BuiltInName
{
@@ -12754,6 +12760,120 @@ constexpr const TFunction textureSizeExt_00c(
StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
EOpCallBuiltInFunction,
false);
+constexpr const TFunction texture_00k30B(BuiltInId::texture_SamplerCubeArray1_Float4,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00B,
+ 2,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00s30B(BuiltInId::texture_ISamplerCubeArray1_Float4,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00B,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00x30B(BuiltInId::texture_USamplerCubeArray1_Float4,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00B,
+ 2,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00k30B00B(
+ BuiltInId::texture_SamplerCubeArray1_Float4_Float1,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00B,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00s30B00B(
+ BuiltInId::texture_ISamplerCubeArray1_Float4_Float1,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00B,
+ 3,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction texture_00x30B00B(
+ BuiltInId::texture_USamplerCubeArray1_Float4_Float1,
+ BuiltInName::texture,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00B,
+ 3,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00k30B(
+ BuiltInId::textureGather_SamplerCubeArray1_Float4,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00B,
+ 2,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00s30B(
+ BuiltInId::textureGather_ISamplerCubeArray1_Float4,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00B,
+ 2,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00x30B(
+ BuiltInId::textureGather_USamplerCubeArray1_Float4,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00B,
+ 2,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00k30B00D(
+ BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00k30B00D,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00s30B00D(
+ BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00s30B00D,
+ 3,
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00x30B00D(
+ BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00x30B00D,
+ 3,
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
+constexpr const TFunction textureGather_00l30B00B(
+ BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1,
+ BuiltInName::textureGather,
+ TExtension::UNDEFINED,
+ BuiltInParameters::p00l30B00B,
+ 3,
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+ EOpCallBuiltInFunction,
+ false);
constexpr const TFunction texelFetch_00P10D00D(
BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1,
BuiltInName::texelFetch,
@@ -15425,60 +15545,6 @@ constexpr const TFunction textureGather_00Z20B00D(
StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction textureGather_00k30B(
- BuiltInId::textureGather_SamplerCubeArray1_Float4,
- BuiltInName::textureGather,
- TExtension::UNDEFINED,
- BuiltInParameters::p00k30B00B,
- 2,
- StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
- EOpCallBuiltInFunction,
- false);
-constexpr const TFunction textureGather_00s30B(
- BuiltInId::textureGather_ISamplerCubeArray1_Float4,
- BuiltInName::textureGather,
- TExtension::UNDEFINED,
- BuiltInParameters::p00s30B00B,
- 2,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
- EOpCallBuiltInFunction,
- false);
-constexpr const TFunction textureGather_00x30B(
- BuiltInId::textureGather_USamplerCubeArray1_Float4,
- BuiltInName::textureGather,
- TExtension::UNDEFINED,
- BuiltInParameters::p00x30B00B,
- 2,
- StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
- EOpCallBuiltInFunction,
- false);
-constexpr const TFunction textureGather_00k30B00D(
- BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1,
- BuiltInName::textureGather,
- TExtension::UNDEFINED,
- BuiltInParameters::p00k30B00D,
- 3,
- StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
- EOpCallBuiltInFunction,
- false);
-constexpr const TFunction textureGather_00s30B00D(
- BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1,
- BuiltInName::textureGather,
- TExtension::UNDEFINED,
- BuiltInParameters::p00s30B00D,
- 3,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
- EOpCallBuiltInFunction,
- false);
-constexpr const TFunction textureGather_00x30B00D(
- BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1,
- BuiltInName::textureGather,
- TExtension::UNDEFINED,
- BuiltInParameters::p00x30B00D,
- 3,
- StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
- EOpCallBuiltInFunction,
- false);
constexpr const TFunction textureGather_00O20B(
BuiltInId::textureGather_Sampler2DRect1_Float3,
BuiltInName::textureGather,
@@ -15587,15 +15653,6 @@ constexpr const TFunction textureGather_00e20B00B(
StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction textureGather_00l30B00B(
- BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1,
- BuiltInName::textureGather,
- TExtension::UNDEFINED,
- BuiltInParameters::p00l30B00B,
- 3,
- StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
- EOpCallBuiltInFunction,
- false);
constexpr const TFunction textureGather_00n10B00B(
BuiltInId::textureGather_Sampler2DRectShadow1_Float2_Float1,
BuiltInName::textureGather,
@@ -16850,52 +16907,52 @@ constexpr const TFunction imageSize_01K(BuiltInId::imageSize_UImageCube1,
StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageSize_01L(BuiltInId::imageSize_Image1D1,
+constexpr const TFunction imageSize_01a(BuiltInId::imageSize_ImageCubeArray1,
BuiltInName::imageSize,
TExtension::UNDEFINED,
- BuiltInParameters::p01L00D00E00E,
+ BuiltInParameters::p01a20D00E00E,
1,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageSize_01M(BuiltInId::imageSize_IImage1D1,
+constexpr const TFunction imageSize_01b(BuiltInId::imageSize_IImageCubeArray1,
BuiltInName::imageSize,
TExtension::UNDEFINED,
- BuiltInParameters::p01M00D00D00D,
+ BuiltInParameters::p01b20D00D00D,
1,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageSize_01N(BuiltInId::imageSize_UImage1D1,
+constexpr const TFunction imageSize_01c(BuiltInId::imageSize_UImageCubeArray1,
BuiltInName::imageSize,
TExtension::UNDEFINED,
- BuiltInParameters::p01N00D30E,
+ BuiltInParameters::p01c20D30E,
1,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageSize_01a(BuiltInId::imageSize_ImageCubeArray1,
+constexpr const TFunction imageSize_01L(BuiltInId::imageSize_Image1D1,
BuiltInName::imageSize,
TExtension::UNDEFINED,
- BuiltInParameters::p01a20D00E00E,
+ BuiltInParameters::p01L00D00E00E,
1,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageSize_01b(BuiltInId::imageSize_IImageCubeArray1,
+constexpr const TFunction imageSize_01M(BuiltInId::imageSize_IImage1D1,
BuiltInName::imageSize,
TExtension::UNDEFINED,
- BuiltInParameters::p01b20D00D00D,
+ BuiltInParameters::p01M00D00D00D,
1,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageSize_01c(BuiltInId::imageSize_UImageCubeArray1,
+constexpr const TFunction imageSize_01N(BuiltInId::imageSize_UImage1D1,
BuiltInName::imageSize,
TExtension::UNDEFINED,
- BuiltInParameters::p01c20D30E,
+ BuiltInParameters::p01N00D30E,
1,
- StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
false);
constexpr const TFunction imageSize_01d(BuiltInId::imageSize_ImageRect1,
@@ -22219,54 +22276,54 @@ constexpr const TFunction imageLoad_01K20D(
StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageLoad_01g00D(
- BuiltInId::imageLoad_ImageBuffer1_Int1,
+constexpr const TFunction imageLoad_01a20D(
+ BuiltInId::imageLoad_ImageCubeArray1_Int3,
BuiltInName::imageLoad,
TExtension::UNDEFINED,
- BuiltInParameters::p01g00D30B,
+ BuiltInParameters::p01a20D00E00E,
2,
StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageLoad_01h00D(BuiltInId::imageLoad_IImageBuffer1_Int1,
+constexpr const TFunction imageLoad_01b20D(BuiltInId::imageLoad_IImageCubeArray1_Int3,
BuiltInName::imageLoad,
TExtension::UNDEFINED,
- BuiltInParameters::p01h00D00E00E,
+ BuiltInParameters::p01b20D00D00D,
2,
StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageLoad_01i00D(
- BuiltInId::imageLoad_UImageBuffer1_Int1,
+constexpr const TFunction imageLoad_01c20D(
+ BuiltInId::imageLoad_UImageCubeArray1_Int3,
BuiltInName::imageLoad,
TExtension::UNDEFINED,
- BuiltInParameters::p01i00D00D00D,
+ BuiltInParameters::p01c20D30E,
2,
StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageLoad_01a20D(
- BuiltInId::imageLoad_ImageCubeArray1_Int3,
+constexpr const TFunction imageLoad_01g00D(
+ BuiltInId::imageLoad_ImageBuffer1_Int1,
BuiltInName::imageLoad,
TExtension::UNDEFINED,
- BuiltInParameters::p01a20D00E00E,
+ BuiltInParameters::p01g00D30B,
2,
StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageLoad_01b20D(BuiltInId::imageLoad_IImageCubeArray1_Int3,
+constexpr const TFunction imageLoad_01h00D(BuiltInId::imageLoad_IImageBuffer1_Int1,
BuiltInName::imageLoad,
TExtension::UNDEFINED,
- BuiltInParameters::p01b20D00D00D,
+ BuiltInParameters::p01h00D00E00E,
2,
StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageLoad_01c20D(
- BuiltInId::imageLoad_UImageCubeArray1_Int3,
+constexpr const TFunction imageLoad_01i00D(
+ BuiltInId::imageLoad_UImageBuffer1_Int1,
BuiltInName::imageLoad,
TExtension::UNDEFINED,
- BuiltInParameters::p01c20D30E,
+ BuiltInParameters::p01i00D00D00D,
2,
StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
@@ -22511,56 +22568,56 @@ constexpr const TFunction imageStore_01K20D30E(
StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageStore_01g00D30B(
- BuiltInId::imageStore_ImageBuffer1_Int1_Float4,
+constexpr const TFunction imageStore_01a20D30B(
+ BuiltInId::imageStore_ImageCubeArray1_Int3_Float4,
BuiltInName::imageStore,
TExtension::UNDEFINED,
- BuiltInParameters::p01g00D30B,
+ BuiltInParameters::p01a20D30B,
3,
- StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
+ StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageStore_01h00D30D(
- BuiltInId::imageStore_IImageBuffer1_Int1_Int4,
+constexpr const TFunction imageStore_01b20D30D(
+ BuiltInId::imageStore_IImageCubeArray1_Int3_Int4,
BuiltInName::imageStore,
TExtension::UNDEFINED,
- BuiltInParameters::p01h00D30D,
+ BuiltInParameters::p01b20D30D,
3,
- StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
+ StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageStore_01i00D30E(
- BuiltInId::imageStore_UImageBuffer1_Int1_UInt4,
+constexpr const TFunction imageStore_01c20D30E(
+ BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4,
BuiltInName::imageStore,
TExtension::UNDEFINED,
- BuiltInParameters::p01i00D30E,
+ BuiltInParameters::p01c20D30E,
3,
- StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
+ StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageStore_01a20D30B(
- BuiltInId::imageStore_ImageCubeArray1_Int3_Float4,
+constexpr const TFunction imageStore_01g00D30B(
+ BuiltInId::imageStore_ImageBuffer1_Int1_Float4,
BuiltInName::imageStore,
TExtension::UNDEFINED,
- BuiltInParameters::p01a20D30B,
+ BuiltInParameters::p01g00D30B,
3,
StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageStore_01b20D30D(
- BuiltInId::imageStore_IImageCubeArray1_Int3_Int4,
+constexpr const TFunction imageStore_01h00D30D(
+ BuiltInId::imageStore_IImageBuffer1_Int1_Int4,
BuiltInName::imageStore,
TExtension::UNDEFINED,
- BuiltInParameters::p01b20D30D,
+ BuiltInParameters::p01h00D30D,
3,
StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
false);
-constexpr const TFunction imageStore_01c20D30E(
- BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4,
+constexpr const TFunction imageStore_01i00D30E(
+ BuiltInId::imageStore_UImageBuffer1_Int1_UInt4,
BuiltInName::imageStore,
TExtension::UNDEFINED,
- BuiltInParameters::p01c20D30E,
+ BuiltInParameters::p01i00D30E,
3,
StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
EOpCallBuiltInFunction,
@@ -23305,8 +23362,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01R10D00D00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01K20D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01K20D),
- Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00X10B00B),
- Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00X10B00B),
+ Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00g10B00D00B),
Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
&BuiltInVariable::kgl_InvocationID),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01R10D00D00D),
@@ -23473,12 +23529,14 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01R10D00D00E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01R10D00D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00o10B00B00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00x30B00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00x30B00D),
Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_10B00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01F20D00E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01F20D00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B30B),
Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00k30B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01O10D00E00E),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_00B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_00B),
@@ -23550,8 +23608,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01T10D00D00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters),
- Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
- Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
+ Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
+ Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_10F),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_10F),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D),
@@ -23594,6 +23652,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounters),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00x00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00x00D),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00S30B00B),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00S30B00B),
@@ -23704,8 +23763,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::GEOMETRY, 0>(&EmitStreamVertex_00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00Y30B20D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00Y30B20D),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30E),
- Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30E),
+ Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureOffset_00n20B10D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_30B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01b20D00E),
@@ -23893,6 +23951,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01h00D00E),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_30C30D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00o00B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00x30B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_20B20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_20B20B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_10B00B),
@@ -23920,6 +23979,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_00B00B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_00B00B00F),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_00B00B00F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00s30B00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00s30B00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00I20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00I20B),
@@ -24009,6 +24069,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01C20D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01C20D00E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01F20D00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01a20D30B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01a20D30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00d30B00B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00d30B00B),
@@ -24107,6 +24168,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00U20D00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00D00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_00D00D),
+ Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&round_20C),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMin_00E00E),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMin_00E00E),
Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGradOffset_00v10B10B10B10D),
@@ -24154,6 +24216,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B20B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00s30B00B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureLod_00s30B00B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01C20D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01C20D00E),
@@ -24226,8 +24289,10 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_00C00C00C),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01N00D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01N00D00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00x30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E00E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10E00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01c20D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01c20D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00U20B10B10B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00U20B10B10B),
@@ -24343,7 +24408,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01Z10D00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters),
- Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&round_20C),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00s30B),
Rule::Get<Spec::GLSL, 150, Shader::GEOMETRY, 0>(&EndPrimitive_),
Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
&EndPrimitive_),
@@ -24393,8 +24458,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01J),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01K),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01K),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01H),
- Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01H),
+ Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00t00B00D00B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01I),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01I),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packHalf2x16_10B),
@@ -24407,7 +24471,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01C),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01C),
- Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00r00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01A),
+ Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01A),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01F),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01F),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01G),
@@ -24437,8 +24502,10 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_20B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01c),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01c),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01R10D00D30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01a),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01a),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01f),
Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
@@ -24450,6 +24517,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01J20D00D),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth),
Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00x30B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00x30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_30B30B30F),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_30B30B30F),
@@ -24586,6 +24654,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00U20B00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_00B),
Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_00B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01a20D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01a20D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_00B),
Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_00B),
@@ -24703,7 +24772,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAnd_00D00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_10B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_10B),
- Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureOffset_00n20B10D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30E),
+ Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30E),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackUnorm2x16_00E),
@@ -24910,6 +24980,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00t10B00B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01c20D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01c20D00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00k00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00k00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_20B20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_20B20B),
@@ -24946,6 +25017,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_30B30B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_30B30B),
Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_30B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00s30B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00s30B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01X10D00E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01X10D00D),
@@ -25055,6 +25127,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthCoarse_00B),
Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyCoarse_20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00o30B00B00B00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01b20D30D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01b20D30D),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00g30B00B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_00E00D00D),
@@ -25074,6 +25147,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_20B20B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01h00D00E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01h00D00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00k30B20B20B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGrad_00k30B20B20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00o10B00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01A10D00E),
@@ -25158,7 +25232,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01W20D00D00D),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00R20B10D00B),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00R20B10D00B),
- Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00t00B00D00B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01H),
+ Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01H),
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00i20B00D00B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture3DProj_00J30B),
Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3DProj_00J30B),
@@ -25182,13 +25257,13 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00R20B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_20B),
- Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01A),
- Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01A),
+ Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00r00D),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_20B20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_20B20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_20E20E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThan_20E20E),
- Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00g10B00D00B),
+ Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00X10B00B),
+ Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00X10B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30F30F),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_30F30F),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sign_00C),
@@ -25265,6 +25340,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packSnorm4x8_30B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01b),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01b),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D30D30D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30D30D30D),
@@ -25293,6 +25369,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01g00D00E),
Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00v30B),
Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00O20B10B10B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00s30B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_20B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&dot_30C30C),
@@ -25317,6 +25394,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_10D10D00D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01N00D00D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01L00D00D00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00k30B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00k30B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00J20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00J20B),
@@ -25409,6 +25487,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00a20B00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01S10D00D30D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_00C00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00s00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00s00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01P10D00E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01I20D00D),
@@ -25443,6 +25522,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_20B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01U20D00D00E00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00l30B00B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&texture_00l30B00B),
Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture1DProjLod_00g10B00B),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_10B),
@@ -25555,6 +25635,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00R00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_10B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_10B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01b20D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01b20D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01Z10D00E00E),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00L20B10D00B),
@@ -25636,6 +25717,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_30B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&round_30C),
Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&anyInvocation_00F),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00x30B20B20B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGrad_00x30B20B20B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01D20D00E00E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00o30B00B),
@@ -25651,6 +25733,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01N00D00E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01N00D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01a20D00D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00k30B00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00k30B00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_20D),
@@ -25668,6 +25751,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01C20D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01C20D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01C20D00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00l30B00B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00l30B00B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_10B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_10B),
@@ -25702,6 +25786,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01I20D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01M00D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01M00D00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00k30B00B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureLod_00k30B00B),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01E20D00D),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00Y20B00B20D),
@@ -25817,6 +25902,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
&TableBase::m_gl_MaxGeometryAtomicCounters),
Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureOffset_00f30B10D),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01c20D30E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01c20D30E),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01a20D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01a20D00E),
@@ -25851,6 +25937,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20E00E),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20E00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00x30B00B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureLod_00x30B00B),
Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00j),
Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00n),
@@ -25908,6 +25995,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00O10D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01C20D00D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01C20D00E),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00s30B20B20B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGrad_00s30B20B20B),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00I10B),
@@ -25964,6 +26052,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_20B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_20B),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_00C00C30C),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00l00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00l00D),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00o00B00B),
Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00I10B10D00B),
@@ -26071,6 +26160,7 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00Z20B),
Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_10B),
Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_10B),
+ Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00k30B00B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00K20B),
Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00K20B),
Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_10B),
@@ -26147,8 +26237,8 @@ constexpr SymbolRule kRules[] = {
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_00D),
Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_00E),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_00E),
- Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
- Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
+ Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
+ Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01X10D00D00D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_30C30D),
Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_10C10C10C),
@@ -26378,7 +26468,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageAtomicOr(01R10D00D00E",
"imageAtomicOr(01R10D00D00D",
"imageLoad(01K20D",
- "textureLod(00X10B00B",
+ "textureProjOffset(00g10B00D00B",
"gl_InvocationID",
"imageAtomicAnd(01R10D00D00D",
"imageAtomicAdd(01E20D00E",
@@ -26492,6 +26582,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageAtomicMin(01F20D00E",
"imageAtomicMin(01F20D00D",
"outerProduct(10B30B",
+ "texture(00k30B",
"imageAtomicCompSwap(01O10D00E00E",
"cos(00B",
"imageAtomicXor(01F20D00E",
@@ -26539,7 +26630,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageAtomicExchange(01T10D00D00E",
"imageAtomicExchange(01T10D00D00D",
"gl_MaxVertexAtomicCounters",
- "textureProjOffset(00X20B10D",
+ "mix(20B20B20B",
"any(10F",
"textureProjGradOffset(00d30B10B10B10D",
"imageLoad(01X10D",
@@ -26635,7 +26726,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureSize(00a00D",
"EmitStreamVertex(00D",
"textureProjOffset(00Y30B20D",
- "bitCount(30E",
+ "textureOffset(00n20B10D",
"atan(30B",
"imageAtomicMax(01b20D00E",
"imageAtomicMax(01b20D00D",
@@ -26763,6 +26854,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageAtomicXor(01h00D00E",
"ldexp(30C30D",
"texture(00o00B",
+ "texture(00x30B00B",
"lessThanEqual(20B20B",
"min(10B00B",
"textureQueryLod(00f10B",
@@ -26913,6 +27005,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"floatBitsToInt(20B",
"texelFetch(00U20D00D",
"max(00D00D",
+ "round(20C",
"atomicMin(00E00E",
"textureGradOffset(00v10B10B10B10D",
"textureGrad(00n20B10B10B",
@@ -26996,6 +27089,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"clamp(00C00C00C",
"imageAtomicXor(01N00D00D",
"imageAtomicXor(01N00D00E",
+ "texture(00x30B",
"max(10E00E",
"imageLoad(01c20D",
"textureGrad(00U20B10B10B",
@@ -27075,7 +27169,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureProjGradOffset(00X20B10B10B10D",
"imageAtomicMax(01Z10D00D",
"gl_MaxComputeAtomicCounters",
- "round(20C",
+ "texture(00s30B",
"EndPrimitive(",
"step(00B30B",
"round(20B",
@@ -27106,7 +27200,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"all(20F",
"imageSize(01J",
"imageSize(01K",
- "imageSize(01H",
+ "textureOffset(00t00B00D00B",
"imageSize(01I",
"packHalf2x16(10B",
"textureProj(00I20B00B",
@@ -27114,7 +27208,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageSize(01M",
"imageSize(01B",
"imageSize(01C",
- "texelFetch(00r00D",
+ "imageSize(01A",
"imageSize(01F",
"imageSize(01G",
"imageSize(01D",
@@ -27320,7 +27414,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"min(30B00B",
"atomicAnd(00D00D",
"exp(10B",
- "textureOffset(00n20B10D",
+ "bitCount(30E",
"bitCount(30D",
"unpackUnorm2x16(00E",
"sqrt(20B",
@@ -27633,7 +27727,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageAtomicMax(01W20D00D00E",
"imageAtomicMax(01W20D00D00D",
"textureProjOffset(00R20B10D00B",
- "textureOffset(00t00B00D00B",
+ "imageSize(01H",
"textureOffset(00i20B00D00B",
"texture3DProj(00J30B",
"matrixCompMult(B0BB0B",
@@ -27648,10 +27742,10 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageAtomicXor(01i00D00E",
"textureProj(00R20B00B",
"acos(20B",
- "imageSize(01A",
+ "texelFetch(00r00D",
"max(20B20B",
"lessThan(20E20E",
- "textureProjOffset(00g10B00D00B",
+ "textureLod(00X10B00B",
"equal(30F30F",
"sign(00C",
"cosh(00B",
@@ -27726,6 +27820,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"imageAtomicMax(01g00D00E",
"textureProj(00v30B",
"textureProjGrad(00O20B10B10B",
+ "texture(00s30B00B",
"log2(20B",
"dot(30C30C",
"fwidthCoarse(10B",
@@ -28257,6 +28352,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureProjOffset(00g30B00D",
"texture(00Z20B",
"degrees(10B",
+ "texture(00k30B00B",
"texture(00K20B",
"sinh(10B",
"texture(00m20B",
@@ -28303,7 +28399,7 @@ constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
"textureProj(00X30B",
"findMSB(00D",
"findMSB(00E",
- "mix(20B20B20B",
+ "textureProjOffset(00X20B10D",
"imageAtomicCompSwap(01X10D00D00D",
"frexp(30C30D",
"mix(10C10C10C",
@@ -28521,1956 +28617,1962 @@ constexpr uint16_t kMangledOffsets[] = {
267, // imageAtomicOr_01R10D00D00E
268, // imageAtomicOr_01R10D00D00D
269, // imageLoad_01K20D
- 271, // textureLod_00X10B00B
- 273, // gl_InvocationID
- 274, // imageAtomicAnd_01R10D00D00D
- 275, // imageAtomicAdd_01E20D00E
- 276, // radians_10B
- 278, // textureGatherOffset_00n10B00B10D
- 279, // noise2_10B
- 280, // textureQueryLod_00a10B
- 281, // textureGather_00e20B00B
- 283, // distance_10B10B
- 285, // textureGrad_00Z20B20B20B
- 287, // sign_00B
- 289, // bitfieldReverse_00D
- 291, // bitfieldReverse_00E
- 293, // bitfieldExtract_30E00D00D
- 295, // textureLod_00I10B00B
- 297, // greaterThanEqual_10D10D
- 299, // imageAtomicCompSwap_01I20D00E00E
- 300, // degrees_30B
- 302, // inversesqrt_30B
- 304, // inversesqrt_30C
- 305, // imageAtomicMin_01I20D00D
- 306, // textureGather_00v20B00D
- 307, // intBitsToFloat_20D
- 309, // exp_20B
- 311, // imageAtomicMax_01A10D00E
- 312, // imageAtomicMax_01A10D00D
- 313, // acosh_00B
- 315, // log_10B
- 317, // textureProjLodOffset_00S30B00B20D
- 319, // textureGather_00L20B
- 321, // textureProj_00n30B
- 322, // textureQueryLod_00i00B
- 323, // texture_00p20B
- 324, // outerProduct_30B20B
- 326, // texture_00S20B
- 328, // atomicXor_00D00D
- 330, // texelFetch_00Y20D00D
- 332, // imageAtomicOr_01P10D00D
- 333, // imageAtomicOr_01P10D00E
- 334, // bitfieldExtract_10D00D00D
- 336, // sign_30B
- 338, // sign_30C
- 339, // sign_30D
- 341, // texture_00Y20B00B
- 343, // dFdy_20B
- 346, // textureProj_00Y30B
- 348, // textureOffset_00X10B10D00B
- 350, // memoryBarrierBuffer_
- 352, // isinf_00B
- 354, // isinf_00C
- 355, // clamp_20D00D00D
- 357, // texture2DProj_00I20B00B
- 359, // mod_30B00B
- 361, // imageAtomicAnd_01A10D00E
- 362, // textureGather_00f20B00B
- 364, // textureProj_00m30B
- 365, // greaterThan_20E20E
- 367, // textureProjLod_00I30B00B
- 369, // refract_00B00B00B
- 371, // gl_MaxGeometryImageUniforms
- 372, // imageAtomicMin_01X10D00D
- 373, // imageAtomicMin_01X10D00E
- 374, // noise4_20B
- 375, // textureSize_00e00D
- 377, // imageStore_01N00D30E
- 378, // gl_NumWorkGroups
- 380, // texelFetch_00a20D00D
- 382, // step_00C10C
- 383, // frexp_30B30D
- 385, // imageAtomicMin_01Y10D00E
- 386, // texture_00t00B00B
- 387, // min_30C00C
- 388, // imageAtomicCompSwap_01X10D00E00E
- 389, // texture_00I10B
- 391, // gl_InstanceID
- 393, // normalize_20B
- 395, // normalize_20C
- 396, // imageAtomicCompSwap_01H20D00D00D
- 397, // inverse_F0B
- 399, // frexp_20C20D
- 400, // atan_00B
- 402, // textureGatherOffset_00R10B10D00D
- 404, // imageAtomicMin_01h00D00E
- 405, // imageAtomicMin_01h00D00D
- 406, // greaterThan_30E30E
- 408, // imageAtomicAdd_01N00D00D
- 409, // imageAtomicAdd_01N00D00E
- 410, // texelFetchOffset_00p10D00D00D
- 411, // imageAtomicAnd_01J20D00D
- 412, // imageAtomicAnd_01J20D00E
- 413, // gl_DepthRange
- 415, // imageAtomicMax_01S10D00D00D
- 416, // textureProj_00o30B
- 417, // imageAtomicAdd_01I20D00E
- 418, // bitfieldExtract_20D00D00D
- 420, // texture_00L20B00B
- 422, // imageAtomicOr_01L00D00E
- 423, // imageAtomicOr_01L00D00D
- 424, // mix_30D30D30F
- 426, // gl_MaxComputeUniformComponents
- 428, // imageLoad_01h00D
- 429, // imageAtomicCompSwap_01E20D00E00E
- 430, // textureProjOffset_00O30B10D
- 431, // floor_10B
- 433, // floor_10C
- 434, // imageAtomicMax_01R10D00D00E
- 435, // imageAtomicMax_01R10D00D00D
- 436, // textureProjLodOffset_00o10B00B00D
- 437, // textureGather_00x30B00D
+ 271, // textureProjOffset_00g10B00D00B
+ 272, // gl_InvocationID
+ 273, // imageAtomicAnd_01R10D00D00D
+ 274, // imageAtomicAdd_01E20D00E
+ 275, // radians_10B
+ 277, // textureGatherOffset_00n10B00B10D
+ 278, // noise2_10B
+ 279, // textureQueryLod_00a10B
+ 280, // textureGather_00e20B00B
+ 282, // distance_10B10B
+ 284, // textureGrad_00Z20B20B20B
+ 286, // sign_00B
+ 288, // bitfieldReverse_00D
+ 290, // bitfieldReverse_00E
+ 292, // bitfieldExtract_30E00D00D
+ 294, // textureLod_00I10B00B
+ 296, // greaterThanEqual_10D10D
+ 298, // imageAtomicCompSwap_01I20D00E00E
+ 299, // degrees_30B
+ 301, // inversesqrt_30B
+ 303, // inversesqrt_30C
+ 304, // imageAtomicMin_01I20D00D
+ 305, // textureGather_00v20B00D
+ 306, // intBitsToFloat_20D
+ 308, // exp_20B
+ 310, // imageAtomicMax_01A10D00E
+ 311, // imageAtomicMax_01A10D00D
+ 312, // acosh_00B
+ 314, // log_10B
+ 316, // textureProjLodOffset_00S30B00B20D
+ 318, // textureGather_00L20B
+ 320, // textureProj_00n30B
+ 321, // textureQueryLod_00i00B
+ 322, // texture_00p20B
+ 323, // outerProduct_30B20B
+ 325, // texture_00S20B
+ 327, // atomicXor_00D00D
+ 329, // texelFetch_00Y20D00D
+ 331, // imageAtomicOr_01P10D00D
+ 332, // imageAtomicOr_01P10D00E
+ 333, // bitfieldExtract_10D00D00D
+ 335, // sign_30B
+ 337, // sign_30C
+ 338, // sign_30D
+ 340, // texture_00Y20B00B
+ 342, // dFdy_20B
+ 345, // textureProj_00Y30B
+ 347, // textureOffset_00X10B10D00B
+ 349, // memoryBarrierBuffer_
+ 351, // isinf_00B
+ 353, // isinf_00C
+ 354, // clamp_20D00D00D
+ 356, // texture2DProj_00I20B00B
+ 358, // mod_30B00B
+ 360, // imageAtomicAnd_01A10D00E
+ 361, // textureGather_00f20B00B
+ 363, // textureProj_00m30B
+ 364, // greaterThan_20E20E
+ 366, // textureProjLod_00I30B00B
+ 368, // refract_00B00B00B
+ 370, // gl_MaxGeometryImageUniforms
+ 371, // imageAtomicMin_01X10D00D
+ 372, // imageAtomicMin_01X10D00E
+ 373, // noise4_20B
+ 374, // textureSize_00e00D
+ 376, // imageStore_01N00D30E
+ 377, // gl_NumWorkGroups
+ 379, // texelFetch_00a20D00D
+ 381, // step_00C10C
+ 382, // frexp_30B30D
+ 384, // imageAtomicMin_01Y10D00E
+ 385, // texture_00t00B00B
+ 386, // min_30C00C
+ 387, // imageAtomicCompSwap_01X10D00E00E
+ 388, // texture_00I10B
+ 390, // gl_InstanceID
+ 392, // normalize_20B
+ 394, // normalize_20C
+ 395, // imageAtomicCompSwap_01H20D00D00D
+ 396, // inverse_F0B
+ 398, // frexp_20C20D
+ 399, // atan_00B
+ 401, // textureGatherOffset_00R10B10D00D
+ 403, // imageAtomicMin_01h00D00E
+ 404, // imageAtomicMin_01h00D00D
+ 405, // greaterThan_30E30E
+ 407, // imageAtomicAdd_01N00D00D
+ 408, // imageAtomicAdd_01N00D00E
+ 409, // texelFetchOffset_00p10D00D00D
+ 410, // imageAtomicAnd_01J20D00D
+ 411, // imageAtomicAnd_01J20D00E
+ 412, // gl_DepthRange
+ 414, // imageAtomicMax_01S10D00D00D
+ 415, // textureProj_00o30B
+ 416, // imageAtomicAdd_01I20D00E
+ 417, // bitfieldExtract_20D00D00D
+ 419, // texture_00L20B00B
+ 421, // imageAtomicOr_01L00D00E
+ 422, // imageAtomicOr_01L00D00D
+ 423, // mix_30D30D30F
+ 425, // gl_MaxComputeUniformComponents
+ 427, // imageLoad_01h00D
+ 428, // imageAtomicCompSwap_01E20D00E00E
+ 429, // textureProjOffset_00O30B10D
+ 430, // floor_10B
+ 432, // floor_10C
+ 433, // imageAtomicMax_01R10D00D00E
+ 434, // imageAtomicMax_01R10D00D00D
+ 435, // textureProjLodOffset_00o10B00B00D
+ 436, // textureGather_00x30B00D
438, // interpolateAtSample_10B00D
439, // imageAtomicMin_01F20D00E
440, // imageAtomicMin_01F20D00D
441, // outerProduct_10B30B
- 443, // imageAtomicCompSwap_01O10D00E00E
- 444, // cos_00B
- 446, // imageAtomicXor_01F20D00E
- 447, // imageAtomicXor_01B10D00E
- 448, // frexp_00C00D
- 449, // atomicCounterCompSwap_00G00E00E
- 450, // textureOffset_00a20B10D00B
- 452, // imageAtomicCompSwap_01b20D00E00E
- 453, // textureGather_00X10B
- 455, // imageLoad_01T10D00D
- 456, // textureOffset_00R10B10D00B
- 458, // textureGatherOffset_00d10B00B10D
- 460, // gl_MaxFragmentImageUniforms
- 462, // textureSize_00i00D
- 463, // equal_20E20E
- 465, // uaddCarry_00E00E00E
- 467, // textureQueryLod_00T20B
- 468, // textureCube_00K20B
- 470, // imageAtomicMax_01U20D00D00E
- 471, // imageAtomicMax_01U20D00D00D
- 472, // imageAtomicAnd_01K20D00D
- 473, // matrixCompMult_90B90B
- 474, // textureGatherOffsets_00I10B10Dx4
- 477, // textureGradOffset_00p10B00B00B00D
- 478, // textureProjLodOffset_00g30B00B00D
- 479, // clamp_30E00E00E
- 481, // asin_00B
- 483, // textureProjOffset_00J30B20D00B
- 485, // texelFetch_00w00D
- 486, // notEqual_30E30E
- 488, // imageAtomicOr_01K20D00D
- 489, // imageAtomicOr_01K20D00E
- 490, // lessThanEqual_10E10E
- 492, // inversesqrt_20C
- 493, // inversesqrt_20B
- 495, // textureLod_00i20B00B
- 496, // textureOffset_00u10B00D00B
- 497, // reflect_00C00C
- 498, // atomicAdd_00E00E
- 500, // intBitsToFloat_30D
- 502, // textureProjGradOffset_00v20B10B10B10D
- 503, // textureGrad_00X10B10B10B
- 505, // greaterThanEqual_30E30E
- 507, // mix_20B20B20F
- 509, // imageAtomicExchange_01T10D00D00E
- 510, // imageAtomicExchange_01T10D00D00D
- 511, // gl_MaxVertexAtomicCounters
- 513, // textureProjOffset_00X20B10D
- 515, // any_10F
- 517, // textureProjGradOffset_00d30B10B10B10D
- 519, // imageLoad_01X10D
- 520, // textureProjOffset_00I30B10D
- 522, // textureOffset_00X10B10D
- 524, // texture_00R10B
- 526, // imageAtomicXor_01R10D00D00E
- 527, // imageStore_01M00D30D
- 528, // radians_00B
- 530, // textureGatherOffsets_00f20B00B10Dx4
- 533, // step_10B10B
- 535, // gl_MaxDualSourceDrawBuffersEXT
- 536, // imageAtomicAdd_01Y10D00D
- 537, // imageAtomicAdd_01Y10D00E
- 538, // bitfieldReverse_10E
- 540, // bitfieldReverse_10D
- 542, // imageStore_01g00D30B
- 543, // textureProjGradOffset_00q20B10B10B10D
- 544, // imageAtomicExchange_01S10D00D00E
- 545, // atomicXor_00E00E
- 547, // mix_00C00C00F
- 548, // textureLodOffset_00g00B00B00D
- 549, // greaterThan_30B30B
- 551, // gl_MaxFragmentAtomicCounters
- 553, // faceforward_20B20B20B
- 555, // textureSize_00x00D
- 556, // textureProj_00S30B00B
- 558, // fma_20B20B20B
- 561, // textureProjLod_00o10B00B
- 562, // imageAtomicMin_01J20D00E
- 563, // outerProduct_30B30B
- 565, // exp_30B
- 567, // bitCount_10E
- 569, // bitCount_10D
- 571, // log_00B
- 573, // mix_00F00F00F
- 575, // imageAtomicCompSwap_01M00D00D00D
- 576, // imageAtomicAdd_01Q10D00E
- 577, // acosh_30B
- 579, // imageAtomicOr_01Y10D00E
- 580, // imageAtomicOr_01Y10D00D
- 581, // textureGradOffset_00X10B10B10B10D
- 583, // texelFetchOffset_00X10D00D10D
- 585, // packUnorm2x16_10B
- 587, // texture_00h20B00B
- 588, // umulExtended_20E20E20E20E
- 590, // texture_00m20B00B
- 591, // textureProjGradOffset_00g30B00B00B00D
- 592, // textureProj_00o30B00B
- 593, // imageAtomicCompSwap_01T10D00D00E00E
- 594, // textureCubeLod_00K20B00B
- 596, // textureSize_00L00D
- 598, // imageAtomicXor_01L00D00E
- 599, // imageAtomicCompSwap_01Q10D00D00D
- 600, // max_20E00E
- 602, // textureProj_00S30B
- 604, // dFdy_30B
- 607, // isinf_10C
- 608, // isinf_10B
- 610, // gl_MaxVertexTextureImageUnits
- 612, // greaterThanEqual_30B30B
- 614, // texture2DProjLodEXT_00I20B00B
- 615, // gl_FrontFacing
- 617, // textureProjOffset_00t10B00D00B
- 618, // acos_10B
- 620, // textureCube_00K20B00B
- 622, // lessThan_10B10B
- 624, // imageAtomicCompSwap_01B10D00E00E
- 625, // gl_MaxComputeAtomicCounterBuffers
- 627, // textureSize_00f00D
- 629, // texelFetchOffset_00h10D00D00D
- 630, // mod_20C00C
- 631, // imageAtomicAnd_01g00D00D
- 632, // gl_LastFragColorARM
- 633, // textureGatherOffsets_00q10B10Dx4
- 634, // lessThanEqual_20D20D
- 636, // textureQueryLod_00k20B
- 637, // imageAtomicAdd_01B10D00E
- 638, // textureProjLod_00Y30B00B
- 640, // gl_SecondaryFragColorEXT
- 641, // imageAtomicAnd_01U20D00D00D
- 642, // imageAtomicAnd_01U20D00D00E
- 643, // gl_BaseInstance
- 644, // transpose_B0B
- 646, // imageAtomicXor_01b20D00E
- 647, // mix_20F20F20F
- 649, // smoothstep_00B00B30B
- 651, // imageAtomicExchange_01M00D00B
- 652, // imageAtomicExchange_01M00D00D
- 653, // imageAtomicExchange_01M00D00E
- 654, // textureQueryLod_00d10B
- 655, // texelFetch_00N10D00D
- 656, // textureSize_00a00D
- 658, // EmitStreamVertex_00D
- 659, // textureProjOffset_00Y30B20D
- 661, // bitCount_30E
- 663, // atan_30B
- 665, // imageAtomicMax_01b20D00E
- 666, // imageAtomicMax_01b20D00D
- 667, // ceil_10B
- 669, // textureSize_00S00D
- 671, // imageAtomicExchange_01S10D00D00B
- 672, // atomicCounterDecrement_00G
- 674, // ceil_30B
- 676, // imageAtomicAnd_01Q10D00D
- 677, // imageAtomicAnd_01Q10D00E
- 678, // imageAtomicAnd_01c20D00E
- 679, // imageAtomicAnd_01c20D00D
- 680, // textureSize_00t00D
- 681, // texture_00f30B
- 683, // imageSamples_01R
- 684, // texelFetch_00R10D00D
- 686, // sign_20B
- 688, // smoothstep_30B30B30B
- 690, // imageAtomicExchange_01T10D00D00B
- 691, // textureGrad_00R10B10B10B
- 693, // min_00D00D
- 695, // textureProj_00t10B00B
- 696, // imageAtomicAdd_01V20D00D00E
- 697, // ldexp_20B20D
- 699, // greaterThanEqual_30D30D
- 701, // imageLoad_01D20D
- 703, // findLSB_10E
- 705, // texture_00Z20B00B
- 707, // imageAtomicXor_01S10D00D00E
- 708, // imageAtomicXor_01S10D00D00D
- 709, // cos_10B
- 711, // texelFetch_00v10D
- 712, // texture_00e30B
- 714, // textureSize_00T00D
- 716, // imageAtomicAnd_01g00D00E
- 717, // textureSize_00u00D
- 718, // textureProjGradOffset_00Y30B20B20B20D
- 720, // noise3_30B
- 721, // textureGrad_00T20B20B20B
- 723, // texture1DProj_00g10B00B
- 724, // textureProjOffset_00d30B10D00B
- 726, // imageAtomicMin_01B10D00D
- 727, // imageAtomicMin_01B10D00E
- 728, // imageAtomicXor_01U20D00D00D
- 729, // imageAtomicXor_01U20D00D00E
- 730, // imageAtomicAdd_01h00D00D
- 731, // imageAtomicAdd_01h00D00E
- 732, // matrixCompMult_50B50B
- 734, // equal_30B30B
- 736, // imageAtomicExchange_01E20D00B
- 737, // textureLod_00U20B00B
- 739, // imageAtomicXor_01I20D00E
- 740, // imageAtomicXor_01I20D00D
- 741, // textureOffset_00h10B00D
- 742, // textureLod_00p10B00B
- 743, // max_20C20C
- 744, // max_10B10B
- 746, // gl_PointSize
- 748, // imageAtomicCompSwap_01F20D00E00E
- 749, // asin_10B
- 751, // sinh_00B
- 753, // imageAtomicAdd_01g00D00D
- 754, // imageAtomicCompSwap_01h00D00E00E
- 755, // textureOffset_00S20B20D
- 757, // fma_20C20C20C
- 758, // textureProj_00R20B
- 760, // greaterThan_10E10E
- 762, // imageAtomicAnd_01M00D00E
- 763, // imageAtomicAdd_01B10D00D
- 764, // imageAtomicAnd_01M00D00D
- 765, // textureGatherOffsets_00n10B00B10Dx4
- 766, // EmitVertex_
- 768, // smoothstep_20B20B20B
- 770, // textureSamples_00b
- 771, // textureOffset_00J20B20D
- 773, // texelFetch_00J20D00D
- 775, // imageAtomicExchange_01V20D00D00E
- 776, // imageAtomicExchange_01V20D00D00B
- 777, // imageAtomicCompSwap_01Y10D00E00E
- 778, // gl_ViewID_OVR
- 779, // radians_30B
- 781, // fract_30B
- 783, // imageAtomicMin_01H20D00E
- 784, // uaddCarry_20E20E20E
- 786, // textureProjGrad_00X30B10B10B
- 788, // textureSamples_00P
- 789, // textureProjOffset_00v20B10D
- 790, // shadow2D_00d20B00B
- 791, // texelFetchOffset_00o00D00D00D
- 792, // textureSamples_00V
- 793, // textureSamples_00W
- 794, // textureProjGrad_00q30B10B10B
- 795, // textureGatherOffset_00O10B10D
- 796, // clamp_10D00D00D
- 798, // gl_MaxComputeImageUniforms
- 800, // textureLod_00L20B00B
- 802, // imageAtomicExchange_01A10D00B
- 803, // imageAtomicCompSwap_01V20D00D00D00D
- 804, // imageAtomicExchange_01A10D00E
- 805, // imageAtomicExchange_01A10D00D
- 806, // imageAtomicXor_01b20D00D
- 807, // texture_00n20B
- 808, // ldexp_20C20D
- 809, // clamp_00E00E00E
- 811, // length_20B
- 813, // ldexp_00B00D
- 815, // bitfieldInsert_00D00D00D00D
- 817, // textureProjGrad_00Y30B20B20B
- 819, // imageAtomicAdd_01W20D00D00E
- 820, // roundEven_30B
- 822, // roundEven_30C
- 823, // acosh_20B
- 825, // atanh_10B
- 827, // length_20C
- 828, // clamp_10B10B10B
- 830, // textureGatherOffset_00L20B10D00D
- 832, // bitCount_00D
- 834, // bitCount_00E
- 836, // floatBitsToInt_30B
- 838, // max_20B00B
- 840, // imageAtomicAdd_00z10D00D
- 841, // texelFetchOffset_00Y20D00D20D
- 843, // atomicExchange_00E00E
- 845, // imageAtomicXor_01h00D00D
- 846, // imageAtomicXor_01h00D00E
- 847, // ldexp_30C30D
- 848, // texture_00o00B
- 849, // lessThanEqual_20B20B
- 851, // min_10B00B
- 853, // textureQueryLod_00f10B
- 854, // smoothstep_10C10C10C
- 855, // imageAtomicAnd_01L00D00D
- 856, // imageAtomicAnd_01L00D00E
- 857, // mix_30F30F30F
- 859, // imageAtomicMax_01T10D00D00E
- 860, // imageAtomicMax_01T10D00D00D
- 861, // textureGatherOffsets_00O10B10Dx400D
- 862, // abs_20D
- 864, // abs_20C
- 865, // abs_20B
- 867, // lessThanEqual_10B10B
- 869, // min_30E30E
- 871, // imageAtomicOr_01a20D00D
- 872, // mix_00B00B00B
- 874, // mix_00B00B00F
- 876, // textureGather_00s30B00D
- 877, // textureProj_00I20B
- 879, // textureLodOffset_00p10B00B00D
- 880, // gl_MaxVertexAtomicCounterBuffers
- 882, // unpackDouble2x32_00C
- 883, // acos_00B
- 885, // textureGradOffset_00J20B20B20B20D
- 887, // fma_00C00C00C
- 888, // texture2DGradEXT_00I10B10B10B
- 889, // imageAtomicCompSwap_01G20D00D00D
- 890, // imageAtomicAnd_01I20D00D
- 891, // texture2DProjGradEXT_00I30B10B10B
- 892, // fma_30B30B30B
- 895, // imageAtomicAdd_01L00D00D
- 896, // texture_00i20B00B
- 897, // gl_MaxComputeWorkGroupCount
- 899, // clamp_20C00C00C
- 900, // imageAtomicMax_01X10D00E
- 901, // imageLoad_01i00D
- 902, // mix_30E30E30F
- 904, // gl_FragColor
- 906, // imageAtomicMin_01G20D00D
- 907, // imageAtomicMin_01G20D00E
- 908, // imageAtomicExchange_01S10D00D00D
- 909, // atan_20B
- 911, // interpolateAtSample_30B00D
- 912, // dFdxCoarse_30B
- 913, // texture_00M10B
- 914, // min_10B10B
- 916, // textureLodOffset_00h10B00B00D
- 917, // EndStreamPrimitive_00D
- 918, // pow_10B10B
- 920, // texture_00Y20B
- 922, // imageAtomicXor_01P10D00D
- 923, // texture_00X10B00B
- 925, // frexp_00B00D
- 927, // texture2D_00I10B
- 929, // imageLoad_01O10D
- 930, // ceil_20C
- 931, // ceil_20B
- 933, // imageAtomicMin_01b20D00E
- 934, // imageAtomicMin_01b20D00D
- 935, // imageAtomicMax_01P10D00D
- 936, // imageAtomicMax_01P10D00E
- 937, // imageAtomicExchange_01P10D00B
- 938, // textureProjOffset_00R20B10D
- 940, // imageStore_01V20D00D30D
- 941, // subpassLoad_01m00D
- 942, // textureOffset_00I10B10D
- 944, // min_20B00B
- 946, // reflect_00B00B
- 948, // noise4_10B
- 949, // sqrt_10C
- 950, // sqrt_10B
- 952, // clamp_20E20E20E
- 954, // textureGradOffset_00g00B00B00B00D
- 955, // textureGather_00q20B
- 956, // noise3_00B
- 957, // imageAtomicOr_01G20D00D
- 958, // imageAtomicOr_01G20D00E
- 959, // imageAtomicMin_01C20D00D
- 960, // imageAtomicMin_01C20D00E
- 961, // imageAtomicAnd_01F20D00E
- 962, // imageStore_01a20D30B
- 963, // textureProjLod_00d30B00B
- 965, // imageLoad_01H20D
- 967, // textureProjGradOffset_00I20B10B10B10D
- 969, // interpolateAtSample_20B00D
- 970, // reflect_10B10B
- 972, // refract_10B10B00B
- 974, // imageAtomicMax_01h00D00D
- 975, // mix_20C20C20F
- 976, // imageAtomicExchange_01X10D00D
- 977, // imageAtomicExchange_01X10D00E
- 978, // mix_20C20C20C
- 979, // textureOffset_00v10B10D
- 980, // imageAtomicExchange_01Q10D00E
- 981, // imageAtomicExchange_01Q10D00D
- 982, // imageAtomicMin_01P10D00D
- 983, // sinh_30B
- 985, // textureSize_00m00D
- 986, // imageAtomicMin_01N00D00E
- 987, // imageAtomicMin_01N00D00D
- 988, // textureQueryLod_00e20B
- 989, // asinh_20B
- 991, // imageAtomicAdd_01C20D00D
- 992, // imageAtomicCompSwap_01I20D00D00D
- 993, // textureProj_00O20B
- 995, // imageAtomicCompSwap_01M00D00E00E
- 996, // frexp_10B10D
- 998, // inverse_50B
- 1000, // dot_10B10B
- 1002, // noise2_00B
- 1003, // textureProjGradOffset_00o10B00B00B00D
- 1004, // radians_20B
- 1006, // atomicCompSwap_00E00E00E
- 1008, // textureGrad_00I00B00B00B
- 1009, // textureGrad_00Y20B20B20B
- 1011, // imageAtomicCompSwap_01Z10D00D00D
- 1012, // gl_MaxVertexUniformVectors
- 1014, // imageAtomicExchange_01W20D00D00B
- 1015, // textureOffset_00o00B00D00B
- 1016, // imageAtomicExchange_01W20D00D00E
- 1017, // imageAtomicExchange_01W20D00D00D
- 1018, // ftransform_
- 1019, // textureProj_00X20B
- 1021, // textureProjOffset_00n30B10D
- 1022, // imageAtomicOr_01W20D00D00E
- 1023, // imageAtomicOr_01W20D00D00D
- 1024, // greaterThanEqual_20E20E
- 1026, // textureProj_00M20B
- 1027, // texture3DProjLod_00J30B00B
- 1029, // isinf_30C
- 1030, // imageAtomicAdd_01Z10D00E
- 1031, // imageAtomicAdd_01Z10D00D
- 1032, // mix_10D10D10F
- 1034, // textureProjGrad_00g10B00B00B
- 1035, // log_20B
- 1037, // imageAtomicMax_01D20D00E
- 1038, // imageAtomicMax_01D20D00D
- 1039, // textureOffset_00h10B00D00B
- 1040, // modf_30B30B
- 1042, // roundEven_20C
- 1043, // roundEven_20B
- 1045, // outerProduct_30B10B
- 1047, // textureProj_00J30B
- 1049, // imageAtomicOr_01F20D00E
- 1050, // imageAtomicOr_01F20D00D
- 1051, // textureLodOffset_00t00B00B00D
- 1052, // floatBitsToInt_20B
- 1054, // texelFetch_00U20D00D
- 1056, // max_00D00D
- 1058, // atomicMin_00E00E
- 1060, // textureGradOffset_00v10B10B10B10D
- 1061, // textureGrad_00n20B10B10B
- 1062, // imageLoad_01S10D00D
- 1063, // textureGatherOffsets_00a20B10Dx4
- 1066, // max_20E20E
- 1068, // imageAtomicCompSwap_01F20D00D00D
- 1069, // abs_10D
- 1071, // abs_10B
- 1073, // abs_10C
- 1074, // gl_FragDepthEXT
- 1075, // imageAtomicAdd_01V20D00D00D
- 1076, // gl_ClipDistance
- 1077, // modf_30C30C
- 1078, // imageAtomicMin_01T10D00D00E
- 1079, // imageAtomicMin_01T10D00D00D
- 1080, // textureGrad_00i20B00B00B
- 1081, // textureProj_00g10B
- 1082, // equal_20B20B
- 1084, // textureProjLodOffset_00X20B00B10D
- 1086, // max_30C00C
- 1087, // texture_00U20B00B
- 1089, // textureProj_00I30B
- 1091, // mix_00E00E00F
- 1093, // imageAtomicCompSwap_01h00D00D00D
- 1094, // mix_00D00D00F
- 1096, // textureProjOffset_00q20B10D
- 1097, // texture_00i20B
- 1098, // textureGradOffset_00a20B10B10B10D
- 1100, // smoothstep_00B00B20B
- 1102, // textureLod_00s30B00B
- 1103, // imageAtomicOr_01C20D00D
- 1104, // imageAtomicOr_01C20D00E
- 1105, // imageAtomicXor_01g00D00E
- 1106, // notEqual_30B30B
- 1108, // textureGatherOffset_00f20B00B10D
- 1110, // imageAtomicAnd_01N00D00D
- 1111, // imageAtomicAnd_01N00D00E
- 1112, // imageSize_00z
- 1114, // mod_10C10C
- 1115, // imageAtomicXor_01g00D00D
- 1116, // faceforward_00C00C00C
- 1117, // textureGrad_00a20B10B10B
- 1119, // dFdxCoarse_00B
- 1120, // imageAtomicMin_01a20D00D
- 1121, // texture_00J20B00B
- 1123, // refract_20B20B00B
- 1125, // ceil_30C
- 1126, // gl_MaxGeometryOutputComponents
- 1127, // noise1_30B
- 1128, // log2_30B
- 1130, // textureProjGrad_00d30B10B10B
- 1132, // mod_20C20C
- 1133, // fract_30C
- 1134, // texelFetch_00t00D00D
- 1135, // imageAtomicXor_01L00D00D
- 1136, // max_30E30E
- 1138, // gl_MaxFragmentAtomicCounterBuffers
- 1140, // gl_in
- 1141, // noise4_00B
- 1142, // distance_10C10C
- 1143, // textureProjLodOffset_00J30B00B20D
- 1145, // imageLoad_01B10D
- 1147, // imageAtomicMax_01H20D00E
- 1148, // imageAtomicMax_01H20D00D
- 1149, // imageStore_01h00D30D
- 1150, // imageAtomicExchange_01O10D00D
- 1151, // texelFetch_00c20D00D
- 1153, // sqrt_00B
- 1155, // sqrt_00C
- 1156, // textureProjLod_00R30B00B
- 1158, // noise3_10B
- 1159, // texelFetch_00q10D
- 1160, // imageAtomicAnd_01F20D00D
- 1161, // textureLod_00m20B00B
- 1162, // textureProjOffset_00m30B00D00B
- 1163, // textureProjGrad_00v30B10B10B
- 1164, // clamp_20D20D20D
- 1166, // imageAtomicMin_01P10D00E
- 1167, // imageAtomicAdd_01C20D00E
- 1168, // clamp_00C00C00C
- 1169, // imageAtomicXor_01N00D00D
- 1170, // imageAtomicXor_01N00D00E
- 1171, // max_10E00E
- 1173, // imageLoad_01c20D
- 1174, // textureGrad_00U20B10B10B
- 1176, // imageLoad_00z10D
- 1178, // clamp_30C00C00C
- 1179, // textureGatherOffsets_00a20B10Dx400D
- 1182, // sinh_20B
- 1184, // matrixCompMult_E0BE0B
- 1185, // fwidthFine_00B
- 1186, // gl_PerVertex
- 1187, // textureGradOffset_00m20B00B00B00D
- 1188, // imageAtomicMin_01K20D00E
- 1189, // textureQueryLevels_00p
- 1190, // gl_WorkGroupSize
- 1192, // asinh_30B
- 1194, // cross_20C20C
- 1195, // textureGather_00a20B
- 1197, // textureProjGradOffset_00O20B10B10B10D
- 1198, // pow_30B30B
- 1200, // imageAtomicCompSwap_01G20D00E00E
- 1201, // smoothstep_10B10B10B
- 1203, // textureProj_00O30B
- 1205, // textureQueryLod_00R10B
- 1206, // imageAtomicAdd_01R10D00D00D
- 1207, // imageAtomicAdd_01R10D00D00E
- 1208, // imageAtomicExchange_01E20D00D
- 1209, // imageAtomicMin_01Q10D00E
- 1210, // imageAtomicMin_01Q10D00D
- 1211, // imageAtomicExchange_01E20D00E
- 1212, // isnan_00B
- 1214, // isnan_00C
- 1215, // imulExtended_10D10D10D10D
- 1217, // textureProjGrad_00o10B00B00B
- 1218, // imageAtomicMax_01i00D00D
- 1219, // imageAtomicMax_01i00D00E
- 1220, // refract_10C10C00B
- 1221, // min_00E00E
- 1223, // imageStore_01T10D00D30E
- 1224, // texture2DProj_00I30B
- 1226, // textureGradOffset_00I10B10B10B10D
- 1228, // textureLodOffset_00J20B00B20D
- 1230, // notEqual_20B20B
- 1232, // atomicCompSwap_00D00D00D
- 1234, // Empty
- 1234, // textureOffset_00i20B00D
- 1235, // dFdyFine_00B
- 1236, // textureLod_00a20B00B
- 1238, // textureProj_00N30B
- 1239, // refract_30C30C00B
- 1240, // equal_30D30D
- 1242, // imageStore_01D20D30D
- 1244, // packSnorm2x16_10B
- 1246, // floatBitsToUint_30B
- 1248, // textureOffset_00R10B10D
- 1250, // textureProjGrad_00q20B10B10B
- 1251, // textureProjGradOffset_00R20B10B10B10D
- 1253, // ldexp_30B30D
- 1255, // max_30B00B
- 1257, // atomicCounterOr_00G00E
- 1258, // imageAtomicMin_01i00D00E
- 1259, // step_30B30B
- 1261, // textureProj_00I30B00B
- 1263, // imageAtomicExchange_01D20D00E
- 1264, // textureOffset_00g00B00D00B
- 1265, // imageAtomicExchange_01D20D00B
- 1266, // imageAtomicMin_01g00D00E
- 1267, // imageAtomicMax_01c20D00D
- 1268, // abs_00D
- 1270, // abs_00C
- 1271, // abs_00B
- 1273, // textureLod_00R10B00B
- 1275, // dFdxCoarse_10B
- 1276, // texture1D_00g00B
- 1277, // frexp_10C10D
- 1278, // imageAtomicAdd_01g00D00E
- 1279, // texture2DLod_00I10B00B
- 1281, // textureProjGradOffset_00X20B10B10B10D
- 1283, // imageAtomicMax_01Z10D00D
- 1284, // gl_MaxComputeAtomicCounters
- 1286, // round_20C
- 1287, // EndPrimitive_
- 1289, // step_00B30B
- 1291, // round_20B
- 1293, // equal_30E30E
- 1295, // imageAtomicCompSwap_01R10D00D00E00E
- 1296, // step_00C20C
- 1297, // dot_00C00C
- 1298, // max_30C30C
- 1299, // atomicOr_00D00D
- 1301, // texture2DProj_00M20B
- 1302, // notEqual_10D10D
- 1304, // imageAtomicExchange_01Z10D00D
- 1305, // textureSize_00V
- 1308, // imageAtomicAnd_01h00D00D
- 1309, // min_20C00C
- 1310, // imageAtomicAdd_01G20D00E
- 1311, // imageAtomicAdd_01G20D00D
- 1312, // findLSB_30D
- 1314, // findLSB_30E
- 1316, // textureProj_00X20B00B
- 1318, // shadow2D_00d20B
- 1319, // textureGatherOffset_00U20B10D
- 1321, // imageAtomicExchange_01Z10D00E
- 1322, // faceforward_10B10B10B
- 1324, // imageAtomicAnd_01h00D00E
- 1325, // min_10D00D
- 1327, // imageAtomicCompSwap_01J20D00D00D
- 1328, // all_20F
- 1330, // imageSize_01J
- 1332, // imageSize_01K
- 1334, // imageSize_01H
- 1336, // imageSize_01I
- 1338, // packHalf2x16_10B
- 1340, // textureProj_00I20B00B
- 1342, // imageSize_01L
- 1343, // imageSize_01M
- 1344, // imageSize_01B
- 1346, // imageSize_01C
- 1348, // texelFetch_00r00D
- 1349, // imageSize_01F
- 1351, // imageSize_01G
- 1353, // imageSize_01D
- 1355, // imageSize_01E
- 1357, // imageAtomicExchange_01L00D00B
- 1358, // imageAtomicExchange_01L00D00E
- 1359, // texelFetch_00X10D00D
- 1361, // notEqual_30F30F
- 1363, // imageSize_01R
- 1364, // imageSize_01S
- 1365, // imageSize_01P
- 1366, // imageSize_01Q
- 1367, // imageSize_01V
- 1368, // textureQueryLod_00g00B
- 1369, // imageSize_01T
- 1370, // imageSize_01U
- 1371, // imageSize_01h
- 1372, // imageSize_01i
- 1373, // fract_20C
- 1374, // fract_20B
- 1376, // textureGatherOffset_00X10B10D
- 1378, // imageSize_01c
- 1379, // imageStore_01R10D00D30B
- 1380, // imageSize_01a
- 1381, // imageSize_01f
- 1382, // texture2DProjGradEXT_00I20B10B10B
- 1383, // imageSize_01d
- 1384, // textureLod_00S20B00B
- 1386, // step_30C30C
- 1387, // imageAtomicMin_01J20D00D
- 1388, // gl_FragDepth
- 1390, // textureGather_00x30B
- 1391, // mix_30B30B30F
- 1393, // mix_30B30B30B
- 1395, // textureGather_00Z20B00D
- 1397, // imageAtomicAnd_01Z10D00E
- 1398, // imageAtomicAnd_01Z10D00D
- 1399, // imageStore_01E20D30E
- 1401, // sqrt_30C
- 1402, // sqrt_30B
- 1404, // exp_00B
- 1406, // max_30D30D
- 1408, // gl_MaxGeometryTextureImageUnits
- 1409, // interpolateAtCentroid_10B
- 1410, // texture_00q10B
- 1411, // textureSize_00M00D
- 1412, // textureSamples_00c
- 1413, // angle_BaseInstance
- 1414, // mix_10F10F10F
- 1416, // textureGradOffset_00U20B10B10B10D
- 1418, // gl_Position
- 1421, // textureGradOffset_00O10B10B10B10D
- 1422, // textureProj_00M30B
- 1423, // textureGradOffset_00L20B10B10B10D
- 1425, // imageAtomicExchange_01V20D00D00D
- 1426, // imageAtomicExchange_01J20D00B
- 1427, // imageAtomicExchange_01J20D00E
- 1428, // imageAtomicExchange_01J20D00D
- 1429, // textureQueryLod_00l20B
- 1430, // imageAtomicOr_01M00D00E
- 1431, // dot_20B20B
- 1433, // textureProjGrad_00v20B10B10B
- 1434, // textureProjLod_00S30B00B
- 1436, // textureProjGrad_00R20B10B10B
- 1438, // imageAtomicAnd_01i00D00E
- 1439, // imageAtomicAnd_01i00D00D
- 1440, // imageAtomicMax_00z10D00E
- 1441, // imageAtomicMax_00z10D00D
- 1442, // normalize_30C
- 1443, // normalize_30B
- 1445, // textureOffset_00O10B10D
- 1446, // textureProjGrad_00I20B10B10B
- 1448, // textureGather_00e20B
- 1449, // imageAtomicMax_01V20D00D00E
- 1450, // texture2D_00M10B
- 1451, // imageAtomicAdd_01a20D00E
- 1452, // fwidthFine_30B
- 1453, // textureGather_00K20B00D
- 1455, // textureCubeLodEXT_00K20B00B
- 1456, // textureGather_00T20B00D
- 1458, // textureProj_00N20B
- 1459, // textureQueryLod_00I10B
- 1460, // imageAtomicCompSwap_01A10D00E00E
- 1461, // dFdyFine_10B
- 1462, // modf_10C10C
- 1463, // imageAtomicMax_01E20D00D
- 1464, // imageAtomicMax_01E20D00E
- 1465, // textureProjLodOffset_00X30B00B10D
- 1467, // imageStore_01W20D00D30E
- 1468, // textureProjLod_00m30B00B
- 1469, // textureProjOffset_00g30B00D00B
- 1470, // texelFetchOffset_00U20D00D10D
- 1472, // imageAtomicCompSwap_00z10D00E00E
- 1473, // imageAtomicMin_01D20D00E
- 1474, // textureProjGradOffset_00q30B10B10B10D
- 1475, // textureGradOffset_00d20B10B10B10D
- 1477, // fwidthCoarse_20B
- 1478, // imageAtomicCompSwap_01N00D00E00E
- 1479, // textureProjOffset_00d30B10D
- 1481, // imageAtomicOr_01T10D00D00E
- 1482, // imageAtomicOr_01T10D00D00D
- 1483, // equal_20F20F
- 1485, // mix_20C20C00C
- 1486, // usubBorrow_10E10E10E
- 1488, // equal_10B10B
- 1490, // textureLodOffset_00U20B00B10D
- 1492, // isnan_10C
- 1493, // isnan_10B
- 1495, // imageAtomicMin_01H20D00D
- 1496, // imageAtomicXor_01A10D00D
- 1497, // imageAtomicXor_01A10D00E
- 1498, // imageAtomicCompSwap_01C20D00D00D
- 1499, // textureGrad_00R00B00B00B
- 1500, // atomicMin_00D00D
- 1502, // textureSize_00X00D
- 1504, // greaterThan_10B10B
- 1506, // mix_00C00C00C
- 1507, // noise1_20B
- 1508, // clamp_30D00D00D
- 1510, // mix_20E20E20F
- 1512, // floatBitsToInt_10B
- 1514, // textureProjOffset_00R30B10D00B
- 1516, // textureGather_00U20B00D
- 1518, // floatBitsToInt_00B
- 1520, // imageLoad_01a20D
- 1521, // floatBitsToUint_00B
- 1523, // min_30C30C
- 1524, // textureSamples_00Q
- 1525, // textureGradOffset_00i20B00B00B00D
- 1526, // imageAtomicXor_00z10D00D
- 1527, // texture2DRectProj_00O20B
- 1528, // modf_20C20C
- 1529, // tan_20B
- 1531, // floor_00C
- 1532, // floor_00B
- 1534, // imageAtomicMax_01O10D00E
- 1535, // imageAtomicMax_01O10D00D
- 1536, // mod_30C30C
- 1537, // gl_DrawID
- 1538, // textureOffset_00t00B00D
- 1539, // texture3DLod_00J20B00B
- 1541, // imageLoad_01Q10D
- 1542, // texture_00R10B00B
- 1544, // imageStore_01Y10D30D
- 1545, // modf_00B00B
- 1547, // notEqual_20D20D
- 1549, // imageAtomicExchange_01R10D00D00E
- 1550, // imageAtomicExchange_01R10D00D00D
- 1551, // ldexp_10C10D
- 1552, // imageAtomicExchange_01F20D00E
- 1553, // determinant_A0B
- 1554, // imageAtomicExchange_01i00D00D
- 1555, // textureLodOffset_00i20B00B00D
- 1556, // imageAtomicExchange_01i00D00B
- 1557, // shadow1DLod_00m20B00B
- 1558, // imageAtomicOr_01I20D00E
- 1559, // distance_00C00C
- 1560, // isnan_30B
- 1562, // textureProjOffset_00o30B00D
- 1563, // lessThanEqual_30D30D
- 1565, // textureProj_00M30B00B
- 1566, // texture2DProj_00M30B
- 1567, // atomicCounterMax_00G00E
- 1568, // atomicCounterExchange_00G00E
- 1569, // textureGrad_00I10B10B10B
- 1571, // step_00B20B
- 1573, // texture2DProjLod_00I20B00B
- 1575, // step_00C30C
- 1576, // yuv_2_rgb_20B00H
- 1577, // texelFetch_00b10D00D
- 1580, // textureProj_00J30B00B
- 1582, // textureGather_00R10B
- 1584, // imageAtomicCompSwap_01c20D00D00D
- 1585, // imageAtomicOr_01V20D00D00D
- 1586, // imageAtomicOr_01V20D00D00E
- 1587, // imageAtomicExchange_01P10D00D
- 1588, // imageLoad_01L00D
- 1589, // min_10D10D
- 1591, // all_30F
- 1593, // imageAtomicExchange_01P10D00E
- 1594, // imageAtomicAnd_01S10D00D00E
- 1595, // imageAtomicAnd_01S10D00D00D
- 1596, // angle_BaseVertex
- 1597, // bitfieldReverse_20D
- 1599, // bitfieldReverse_20E
- 1601, // imageAtomicExchange_01I20D00D
- 1602, // imageAtomicExchange_01I20D00E
- 1603, // imageAtomicExchange_01I20D00B
- 1604, // imageAtomicExchange_01c20D00E
- 1605, // gl_MaxGeometryInputComponents
- 1606, // textureGatherOffsets_00X10B10Dx4
- 1609, // texture_00u20B
- 1610, // textureGather_00v20B
- 1611, // fract_10B
- 1613, // fract_10C
- 1614, // textureGatherOffset_00O10B10D00D
- 1615, // textureQueryLod_00K20B
- 1616, // textureLodOffset_00I10B00B10D
- 1618, // imageAtomicCompSwap_01S10D00D00E00E
- 1619, // imageAtomicXor_01c20D00E
- 1620, // imageAtomicXor_01c20D00D
- 1621, // textureOffset_00U20B10D
- 1623, // min_30B00B
- 1625, // atomicAnd_00D00D
- 1627, // exp_10B
- 1629, // textureOffset_00n20B10D
- 1630, // bitCount_30D
- 1632, // unpackUnorm2x16_00E
- 1634, // sqrt_20B
- 1636, // sqrt_20C
- 1637, // textureGrad_00L20B10B10B
- 1639, // interpolateAtCentroid_00B
- 1640, // textureSize_00o00D
- 1641, // gl_MaxImageUnits
- 1643, // textureProjGrad_00o30B00B00B
- 1644, // imageAtomicOr_01Q10D00D
- 1645, // packUnorm4x8_30B
- 1647, // imageAtomicMax_01Q10D00E
- 1648, // texelFetch_00P10D00D
- 1651, // imageAtomicCompSwap_01i00D00D00D
- 1652, // textureGatherOffsets_00d10B00B10Dx4
- 1655, // texture_00O10B
- 1657, // imageAtomicMin_01M00D00D
- 1658, // imageAtomicMin_01M00D00E
- 1659, // texture_00e30B00B
- 1661, // imageAtomicMin_01O10D00E
- 1662, // imageAtomicMin_01O10D00D
- 1663, // gl_FragCoord
- 1665, // imageAtomicMax_01Q10D00D
- 1666, // imageAtomicMax_01X10D00D
- 1667, // textureGrad_00u10B00B00B
- 1668, // fwidthFine_20B
- 1669, // textureQueryLod_00o00B
- 1670, // imageAtomicAnd_01E20D00E
- 1671, // imageAtomicAnd_01E20D00D
- 1672, // normalize_00B
- 1674, // normalize_00C
- 1675, // clamp_10C00C00C
- 1676, // imageAtomicOr_01A10D00E
- 1677, // imageAtomicOr_01A10D00D
- 1678, // imageAtomicCompSwap_01Q10D00E00E
- 1679, // atomicMax_00D00D
- 1681, // textureProjGrad_00m30B00B00B
- 1682, // imageAtomicAnd_01R10D00D00E
- 1683, // floatBitsToUint_10B
- 1685, // textureLod_00J20B00B
- 1687, // textureGrad_00O10B10B10B
- 1688, // dFdyFine_20B
- 1689, // imageLoad_01W20D00D
- 1690, // textureSize_00I00D
- 1692, // gl_MaxComputeWorkGroupSize
- 1694, // texelFetchOffset_00R10D00D10D
- 1696, // dFdxFine_10B
- 1697, // imageAtomicExchange_01D20D00D
- 1698, // textureLodOffset_00X10B00B10D
- 1700, // texture_00T20B00B
- 1702, // log_30B
- 1704, // notEqual_20F20F
- 1706, // allInvocationsEqual_00F
- 1707, // imageAtomicMax_01K20D00D
- 1708, // imageAtomicMax_01K20D00E
- 1709, // dFdyCoarse_30B
- 1710, // textureProjLod_00R20B00B
- 1712, // notEqual_30D30D
- 1714, // fwidthCoarse_30B
- 1715, // textureProjOffset_00I20B10D
- 1717, // textureQueryLevels_00l
- 1718, // textureQueryLevels_00m
- 1719, // textureQueryLevels_00o
- 1720, // textureQueryLevels_00h
- 1721, // textureQueryLevels_00i
- 1722, // textureQueryLevels_00k
- 1723, // textureQueryLevels_00d
- 1724, // textureQueryLevels_00e
- 1725, // textureQueryLevels_00f
- 1726, // textureQueryLevels_00g
- 1727, // gl_MaxDrawBuffers
- 1729, // textureQueryLevels_00a
- 1730, // atomicCounterMin_00G00E
- 1731, // textureGradOffset_00u10B00B00B00D
- 1732, // gl_MaxCombinedTextureImageUnits
- 1734, // textureQueryLevels_00x
- 1735, // textureQueryLevels_00t
- 1736, // textureQueryLevels_00u
- 1737, // imageAtomicMin_01K20D00D
- 1738, // imulExtended_20D20D20D20D
- 1740, // any_30F
- 1742, // distance_30B30B
- 1744, // textureQueryLevels_00s
- 1745, // textureQueryLevels_00L
- 1746, // textureQueryLevels_00I
- 1747, // textureQueryLevels_00J
- 1748, // textureQueryLevels_00K
- 1749, // imageAtomicExchange_01L00D00D
- 1750, // texture3D_00J20B00B
- 1752, // texture1DLod_00g00B00B
- 1753, // textureQueryLevels_00X
- 1754, // textureQueryLevels_00Y
- 1755, // textureQueryLevels_00Z
- 1756, // dot_30B30B
- 1758, // textureQueryLevels_00T
- 1759, // textureQueryLevels_00U
- 1760, // textureQueryLevels_00R
- 1761, // textureQueryLevels_00S
- 1762, // gl_MaxTextureImageUnits
- 1764, // usubBorrow_20E20E20E
- 1766, // textureProj_00t30B00B
- 1767, // shadow1DProj_00m30B00B
- 1768, // clamp_30B00B00B
- 1770, // textureGatherOffsets_00O10B10Dx4
- 1771, // texture2DRectProj_00O30B
- 1772, // max_10D00D
- 1774, // textureGradOffset_00n20B10B10B10D
- 1775, // clamp_00D00D00D
- 1777, // floor_30B
- 1779, // floor_30C
- 1780, // imageStore_01P10D30D
- 1781, // textureProjGradOffset_00S30B20B20B20D
- 1783, // reflect_30C30C
- 1784, // gl_PointCoord
- 1786, // imageAtomicOr_01D20D00E
- 1787, // textureGatherOffset_00v10B10D
- 1788, // imageAtomicOr_01D20D00D
- 1789, // imageStore_01F20D30B
- 1791, // packDouble2x32_10E
- 1792, // clamp_10B00B00B
- 1794, // texelFetchOffset_00S20D00D20D
- 1796, // lessThan_10D10D
- 1798, // textureSize_00g00D
- 1799, // textureGatherOffset_00U20B10D00D
- 1801, // textureGatherOffset_00q10B10D00D
- 1802, // textureGather_00I10B00D
- 1804, // texture1DProjLod_00g30B00B
- 1805, // texelFetch_00V10D00D
- 1808, // imageAtomicExchange_01h00D00E
- 1809, // imageAtomicExchange_01h00D00D
- 1810, // atan_30B30B
- 1812, // imageAtomicExchange_01h00D00B
- 1813, // imageAtomicMax_01a20D00D
- 1814, // imageAtomicMax_01a20D00E
- 1815, // textureProjLod_00g30B00B
- 1816, // max_00B00B
- 1818, // imageAtomicOr_01J20D00E
- 1819, // imageAtomicOr_01J20D00D
- 1820, // imageAtomicMax_01F20D00E
- 1821, // imageAtomicMax_01F20D00D
- 1822, // exp2_20B
- 1824, // smoothstep_30C30C30C
- 1825, // imageAtomicExchange_00z10D00B
- 1826, // imageAtomicExchange_00z10D00E
- 1827, // imageAtomicExchange_00z10D00D
- 1828, // textureProj_00q20B
- 1829, // textureProjLod_00t10B00B
- 1830, // imageAtomicMin_01c20D00D
- 1831, // imageAtomicMin_01c20D00E
- 1832, // textureSize_00k00D
- 1833, // reflect_20B20B
- 1835, // imageAtomicXor_01V20D00D00E
- 1836, // imageAtomicXor_01V20D00D00D
- 1837, // equal_10F10F
- 1839, // acos_30B
- 1841, // textureVideoWEBGL_00y10B
- 1843, // dFdx_10B
- 1846, // bitfieldReverse_30E
- 1848, // bitfieldReverse_30D
- 1850, // imageAtomicOr_01Z10D00D
- 1851, // imageAtomicOr_01Z10D00E
- 1852, // texture1DProj_00g30B
- 1853, // textureGatherOffsets_00v10B10Dx400D
- 1854, // fract_00C
- 1855, // fract_00B
- 1857, // min_30E00E
- 1859, // gl_MinProgramTexelOffset
- 1861, // imageAtomicOr_01Q10D00E
- 1862, // interpolateAtOffset_20B10B
- 1863, // imageAtomicOr_01c20D00D
- 1864, // imageAtomicOr_01c20D00E
- 1865, // reflect_30B30B
- 1867, // interpolateAtCentroid_30B
- 1868, // textureGather_00s30B
- 1869, // imageAtomicXor_01X10D00E
- 1870, // imageAtomicXor_01X10D00D
- 1871, // memoryBarrier_
- 1873, // texture1D_00g00B00B
- 1874, // pow_00B00B
- 1876, // mod_00B00B
- 1878, // faceforward_30C30C30C
- 1879, // imageAtomicExchange_01K20D00D
- 1880, // roundEven_10B
- 1882, // roundEven_10C
- 1883, // atanh_30B
- 1885, // textureLod_00K20B00B
- 1887, // bitCount_20D
- 1889, // bitCount_20E
- 1891, // texelFetch_00L20D00D
- 1893, // dFdxFine_00B
- 1894, // imageAtomicAnd_01K20D00E
- 1895, // distance_20B20B
- 1897, // textureGradOffset_00q10B10B10B10D
- 1898, // uaddCarry_30E30E30E
- 1900, // textureSize_00U00D
- 1902, // textureProjOffset_00o10B00D00B
- 1903, // gl_MaxCombinedImageUniforms
- 1905, // atomicCounterXor_00G00E
- 1906, // imageAtomicOr_01g00D00D
- 1907, // imageAtomicOr_01g00D00E
- 1908, // gl_GlobalInvocationID
- 1910, // gl_LocalInvocationIndex
- 1912, // gl_VertexID
- 1914, // imageAtomicMin_01L00D00E
- 1915, // smoothstep_20C20C20C
- 1916, // imageAtomicCompSwap_01U20D00D00D00D
- 1917, // atomicOr_00E00E
- 1919, // mix_10B10B10F
- 1921, // reflect_10C10C
- 1922, // mix_10B10B10B
- 1924, // textureProj_00Y30B00B
- 1926, // imageAtomicMax_01I20D00D
- 1927, // imageAtomicMax_01I20D00E
- 1928, // frexp_20B20D
- 1930, // textureGatherOffset_00I10B10D00D
- 1932, // notEqual_20E20E
- 1934, // textureLodOffset_00d20B00B10D
- 1936, // inverse_A0B
- 1938, // textureProjGrad_00X20B10B10B
- 1940, // imageLoad_01J20D
- 1942, // textureSize_00Y00D
- 1944, // atan_20B20B
- 1946, // usubBorrow_00E00E00E
- 1948, // imageAtomicXor_01M00D00E
- 1949, // textureGatherOffsets_00L20B10Dx400D
- 1952, // dFdyFine_30B
- 1953, // textureQueryLod_00s20B
- 1954, // texture_00v10B
- 1955, // textureGatherOffsets_00U20B10Dx4
- 1958, // subpassLoad_01n00D
- 1959, // imageAtomicCompSwap_01c20D00E00E
- 1960, // textureProjLodOffset_00g10B00B00D
- 1961, // step_10C10C
- 1962, // textureQueryLod_00x20B
- 1963, // fma_10B10B10B
- 1966, // smoothstep_00B00B10B
- 1968, // imageAtomicCompSwap_01a20D00D00D
- 1969, // imageSize_01N
- 1970, // textureLod_00u10B00B
- 1971, // textureProjGradOffset_00m30B00B00B00D
- 1972, // fwidthCoarse_00B
- 1973, // dFdyCoarse_20B
- 1974, // textureProjGradOffset_00o30B00B00B00D
- 1975, // imageStore_01b20D30D
- 1976, // textureProj_00g30B00B
- 1977, // bitfieldExtract_00E00D00D
- 1979, // distance_30C30C
- 1980, // any_20F
- 1982, // gl_HelperInvocation
- 1984, // textureLod_00g00B00B
- 1985, // sin_10B
- 1987, // gl_MaxClipDistances
- 1988, // textureSize_00N00D
- 1989, // mod_20B20B
- 1991, // imageAtomicOr_01h00D00E
- 1992, // imageAtomicOr_01h00D00D
- 1993, // textureGrad_00k30B20B20B
- 1994, // textureProjOffset_00o10B00D
- 1995, // imageAtomicMin_01A10D00E
- 1996, // imageAtomicMin_01A10D00D
- 1997, // textureGradOffset_00f30B10B10B10D
- 1999, // max_20D20D
- 2001, // max_10D10D
- 2003, // textureGradOffset_00t00B00B00B00D
- 2004, // refract_30B30B00B
- 2006, // floor_20C
- 2007, // floor_20B
- 2009, // texelFetchOffset_00t00D00D00D
- 2010, // imageAtomicOr_01a20D00E
- 2011, // matrixCompMult_F0BF0B
- 2013, // umulExtended_10E10E10E10E
- 2015, // texture_00d20B00B
- 2017, // gl_MaxCombinedAtomicCounterBuffers
- 2019, // umulExtended_30E30E30E30E
- 2021, // textureGradOffset_00Y20B20B20B20D
- 2023, // textureGatherOffset_00a20B10D
- 2025, // textureGrad_00f30B10B10B
- 2027, // atomicCounterSubtract_00G00E
- 2028, // imageAtomicXor_01C20D00E
- 2029, // modf_20B20B
- 2031, // imageAtomicAnd_01Y10D00D
- 2032, // imageAtomicAnd_01Y10D00E
- 2033, // imageAtomicAdd_01i00D00E
- 2034, // imageAtomicAdd_01i00D00D
- 2035, // noise1_00B
- 2036, // imageLoad_01M00D
- 2037, // imageAtomicCompSwap_01L00D00E00E
- 2038, // texture_00y10B
- 2040, // length_30C
- 2041, // length_30B
- 2043, // imageStore_01B10D30E
- 2045, // mod_30B30B
- 2047, // mix_10C10C10F
- 2048, // imageAtomicMin_00z10D00E
- 2049, // imageAtomicMin_00z10D00D
- 2050, // imageStore_01I20D30B
- 2052, // exp2_30B
- 2054, // allInvocations_00F
- 2055, // max_20C00C
- 2056, // texture3DProj_00J30B00B
- 2058, // imageAtomicAdd_01K20D00E
- 2059, // imageAtomicAdd_01K20D00D
- 2060, // textureProjLod_00X30B00B
- 2062, // textureProjGradOffset_00I30B10B10B10D
- 2064, // imageAtomicAdd_01W20D00D00D
- 2065, // cosh_30B
- 2067, // textureProj_00q30B
- 2068, // textureOffset_00S20B20D00B
- 2070, // usubBorrow_30E30E30E
- 2072, // imageAtomicMax_01W20D00D00E
- 2073, // imageAtomicMax_01W20D00D00D
- 2074, // textureProjOffset_00R20B10D00B
- 2076, // textureOffset_00t00B00D00B
- 2077, // textureOffset_00i20B00D00B
- 2078, // texture3DProj_00J30B
- 2080, // matrixCompMult_B0BB0B
- 2081, // lessThan_30B30B
- 2083, // cross_20B20B
- 2085, // imageSize_01O
- 2086, // textureGrad_00q10B10B10B
- 2087, // clamp_20B00B00B
- 2089, // dFdx_00B
- 2092, // findLSB_00D
- 2094, // textureProjLodOffset_00o30B00B00D
- 2095, // imageAtomicXor_01i00D00E
- 2096, // textureProj_00R20B00B
- 2098, // acos_20B
- 2100, // imageSize_01A
- 2102, // max_20B20B
- 2104, // lessThan_20E20E
- 2106, // textureProjOffset_00g10B00D00B
- 2107, // equal_30F30F
- 2109, // sign_00C
- 2110, // cosh_00B
- 2112, // bitfieldExtract_00D00D00D
- 2114, // imageAtomicMin_01E20D00D
- 2115, // imageAtomicMin_01E20D00E
- 2116, // textureLod_00Z20B00B
- 2118, // sign_00D
- 2120, // textureOffset_00Y20B20D
- 2122, // imageAtomicXor_01Q10D00D
- 2123, // imageAtomicXor_01Q10D00E
- 2124, // transpose_60B
- 2126, // imageStore_01G20D30D
- 2128, // imageAtomicAdd_01O10D00D
- 2129, // imageAtomicAdd_01O10D00E
- 2130, // faceforward_00B00B00B
- 2132, // imageLoad_01Z10D
- 2133, // imageAtomicOr_01O10D00E
- 2134, // imageAtomicOr_01O10D00D
- 2135, // imageAtomicAdd_01b20D00D
- 2136, // interpolateAtCentroid_20B
- 2137, // textureProjLodOffset_00R30B00B10D
- 2139, // textureGrad_00h10B00B00B
- 2140, // imageAtomicExchange_01U20D00D00B
- 2141, // texture1DProj_00g30B00B
- 2142, // textureQueryLod_00h00B
- 2143, // imageAtomicExchange_01U20D00D00E
- 2144, // modf_00C00C
- 2145, // textureProjLod_00t30B00B
- 2146, // textureOffset_00o00B00D
- 2147, // imageAtomicExchange_01U20D00D00D
- 2148, // imageStore_01H20D30E
- 2150, // textureGather_00U20B
- 2152, // texelFetch_00Q20D00D
- 2154, // roundEven_00C
- 2155, // roundEven_00B
- 2157, // texelFetchOffset_00O10D10D
- 2158, // atanh_20B
- 2160, // clamp_10E00E00E
- 2162, // dFdxFine_30B
- 2163, // imageAtomicAdd_01L00D00E
- 2164, // textureQueryLod_00J20B
- 2165, // textureProjOffset_00X30B10D
- 2167, // gl_MaxFragmentUniformVectors
- 2169, // texture2DProjLod_00I30B00B
- 2171, // interpolateAtOffset_10B10B
- 2172, // max_10C10C
- 2173, // texelFetch_00g00D00D
- 2174, // abs_30B
- 2176, // bitfieldInsert_10E10E00D00D
- 2178, // packSnorm4x8_30B
- 2180, // mix_10B10B00B
- 2182, // imageSize_01b
- 2183, // clamp_30D30D30D
- 2185, // textureGatherOffsets_00L20B10Dx4
- 2188, // imageAtomicMax_01c20D00E
- 2189, // mod_10C00C
- 2190, // imageAtomicMax_01G20D00D
- 2191, // imageAtomicMax_01G20D00E
- 2192, // determinant_F0B
- 2193, // transpose_A0B
- 2195, // pow_20B20B
- 2197, // imageSize_01g
- 2198, // imageAtomicMax_01B10D00D
- 2199, // imageAtomicMax_01B10D00E
- 2200, // imageAtomicExchange_01G20D00B
- 2201, // imageSize_01e
- 2202, // imageAtomicExchange_01G20D00D
- 2203, // imageAtomicExchange_01G20D00E
- 2204, // imageLoad_01Y10D
- 2205, // imageAtomicMax_01g00D00D
- 2206, // imageAtomicMax_01g00D00E
- 2207, // textureProj_00v30B
- 2208, // textureProjGrad_00O20B10B10B
- 2209, // log2_20B
- 2211, // dot_30C30C
- 2212, // fwidthCoarse_10B
- 2213, // textureProjOffset_00I20B10D00B
- 2215, // imageAtomicAnd_01T10D00D00D
- 2216, // imageAtomicAnd_01T10D00D00E
- 2217, // notEqual_10F10F
- 2219, // smoothstep_00B00B00B
- 2221, // textureProjLodOffset_00d30B00B10D
- 2223, // imageAtomicAnd_01P10D00E
- 2224, // imageAtomicAnd_01P10D00D
- 2225, // textureProjLodOffset_00I30B00B10D
- 2227, // gl_MaxCombinedAtomicCounters
- 2229, // bitfieldInsert_10D10D00D00D
- 2231, // imageAtomicCompSwap_01N00D00D00D
- 2232, // imageAtomicCompSwap_01L00D00D00D
- 2233, // textureGather_00k30B
- 2234, // texture_00J20B
- 2236, // lessThanEqual_10D10D
- 2238, // textureProjOffset_00o30B00D00B
- 2239, // gl_MaxVaryingVectors
- 2241, // textureSize_00d00D
- 2243, // sin_00B
- 2245, // uaddCarry_10E10E10E
- 2247, // mix_10C10C00C
- 2248, // atomicCounterIncrement_00G
- 2250, // imageAtomicAdd_01J20D00D
- 2251, // imageAtomicAdd_01J20D00E
- 2252, // imageAtomicCompSwap_01S10D00D00D00D
- 2253, // imageStore_01Q10D30E
- 2254, // textureProj_00o10B00B
- 2255, // imageAtomicAdd_01U20D00D00D
- 2256, // imageAtomicAdd_01U20D00D00E
- 2257, // textureProjOffset_00m30B00D
- 2258, // imageAtomicExchange_01Y10D00B
- 2259, // equal_10E10E
- 2261, // imageAtomicExchange_01Y10D00E
- 2262, // imageAtomicExchange_01Y10D00D
- 2263, // imageAtomicExchange_01O10D00B
- 2264, // imageAtomicExchange_01O10D00E
- 2265, // textureProjOffset_00J30B20D
- 2267, // imageSize_01W
- 2268, // imageAtomicXor_01D20D00E
- 2269, // notEqual_10E10E
- 2271, // min_10C10C
- 2272, // textureProjGrad_00t10B00B00B
- 2273, // imageAtomicExchange_01N00D00B
- 2274, // textureGather_00q20B00D
- 2275, // imageAtomicExchange_01N00D00E
- 2276, // imageAtomicExchange_01N00D00D
- 2277, // textureGatherOffsets_00q10B10Dx400D
- 2278, // imageAtomicCompSwap_01O10D00D00D
- 2279, // shadow1DProjLod_00m30B00B
- 2280, // imageAtomicMin_01i00D00D
- 2281, // texture_00u20B00B
- 2282, // textureLodOffset_00R10B00B10D
- 2284, // trunc_10B
- 2286, // trunc_10C
- 2287, // imageAtomicAdd_01S10D00D00D
- 2288, // texelFetch_00u10D00D
- 2289, // dot_20C20C
- 2290, // gl_DepthRangeParameters
- 2292, // noise4_30B
- 2293, // textureGather_00f20B
- 2294, // noise1_10B
- 2295, // textureProjGrad_00g30B00B00B
- 2296, // shadow2DProj_00d30B
- 2297, // textureProj_00d30B00B
- 2299, // sign_10B
- 2301, // max_00E00E
- 2303, // texture_00a20B00B
- 2305, // textureProj_00o10B
- 2306, // refract_20C20C00B
- 2307, // textureProj_00M20B00B
- 2308, // imageLoad_01A10D
- 2310, // textureProjOffset_00X30B10D00B
- 2312, // exp2_00B
- 2314, // imageAtomicExchange_01H20D00B
- 2315, // texelFetchOffset_00u10D00D00D
- 2316, // imageAtomicCompSwap_01H20D00E00E
- 2317, // imageAtomicExchange_01H20D00E
- 2318, // imageAtomicExchange_01H20D00D
- 2319, // textureGatherOffset_00q10B10D
- 2320, // textureGather_00a20B00D
- 2322, // imageStore_01S10D00D30D
- 2323, // ldexp_00C00D
- 2324, // textureSize_00s00D
- 2325, // imageAtomicXor_01P10D00E
- 2326, // imageAtomicOr_01I20D00D
- 2327, // texture_00N10B00B
- 2328, // gl_PrimitiveID
- 2330, // imageAtomicCompSwap_01Y10D00D00D
- 2331, // textureProjGrad_00I30B10B10B
- 2333, // gl_Layer
- 2335, // textureOffset_00d20B10D
- 2337, // dFdx_30B
- 2340, // textureGatherOffsets_00U20B10Dx400D
- 2343, // imageAtomicMin_01V20D00D00D
- 2344, // imageAtomicMin_01V20D00D00E
- 2345, // gl_LastFragColor
- 2346, // textureProjGradOffset_00t30B00B00B00D
- 2347, // min_20E20E
- 2349, // asin_20B
- 2351, // imageAtomicCompSwap_01U20D00D00E00E
- 2352, // texture_00l30B00B
- 2353, // texture1DProjLod_00g10B00B
- 2354, // fwidth_10B
- 2357, // dFdy_00B
- 2360, // shadow2DLod_00d20B00B
- 2361, // texture1DProj_00g10B
- 2362, // lessThan_30E30E
- 2364, // imulExtended_30D30D30D30D
- 2366, // transpose_70B
- 2368, // imulExtended_00D00D00D00D
- 2370, // imageAtomicAdd_01F20D00D
- 2371, // imageAtomicAdd_01F20D00E
- 2372, // texture_00S20B00B
- 2374, // textureLod_00Y20B00B
- 2376, // imageAtomicExchange_01c20D00D
- 2377, // faceforward_10C10C10C
- 2378, // imageStore_01Z10D30E
- 2379, // textureQueryLod_00u00B
- 2380, // imageAtomicExchange_01c20D00B
- 2381, // min_20D00D
- 2383, // imageAtomicCompSwap_01P10D00D00D
- 2384, // uintBitsToFloat_00E
- 2386, // dFdxFine_20B
- 2387, // imageAtomicMin_01L00D00D
- 2388, // imageAtomicExchange_01g00D00D
- 2389, // bitfieldInsert_20D20D00D00D
- 2391, // mix_30B30B00B
- 2393, // textureQueryLod_00U10B
- 2394, // tanh_00B
- 2396, // subpassLoad_01o00D
- 2397, // imageAtomicMax_01N00D00E
- 2398, // imageAtomicMax_01N00D00D
- 2399, // max_10C00C
- 2400, // matrixCompMult_D0BD0B
- 2401, // imageAtomicXor_01M00D00D
- 2402, // imageAtomicAnd_01X10D00E
- 2403, // shadow2DProjLod_00d30B00B
- 2404, // imageAtomicAnd_01X10D00D
- 2405, // min_30B30B
- 2407, // reflect_20C20C
- 2408, // texelFetch_00h10D00D
- 2409, // memoryBarrierAtomicCounter_
- 2411, // bitfieldInsert_00E00E00D00D
- 2413, // imageAtomicAdd_01b20D00E
- 2414, // imageAtomicMin_01a20D00E
- 2415, // textureGrad_00d20B10B10B
- 2417, // atan_10B
- 2419, // imageAtomicCompSwap_01g00D00D00D
- 2420, // clamp_30C30C30C
- 2421, // textureProj_00v20B
- 2422, // step_00B10B
- 2424, // textureProjLod_00I20B00B
- 2426, // rgb_2_yuv_20B00H
- 2427, // imageLoad_01P10D
- 2428, // texture_00T20B
- 2430, // log2_10B
- 2432, // imageAtomicAnd_01D20D00D
- 2433, // imageAtomicAnd_01D20D00E
- 2434, // findLSB_20E
- 2436, // findLSB_20D
- 2438, // imageAtomicCompSwap_01B10D00D00D
- 2439, // imageAtomicOr_01X10D00D
- 2440, // imageAtomicOr_01X10D00E
- 2441, // noise2_30B
- 2442, // imageAtomicOr_01U20D00D00E
- 2443, // greaterThanEqual_10B10B
- 2445, // clamp_10D10D10D
- 2447, // texelFetch_00M10D00D
- 2448, // textureQueryLod_00Y20B
- 2449, // transpose_F0B
- 2451, // textureOffset_00Y20B20D00B
- 2453, // textureGradOffset_00S20B20B20B20D
- 2455, // imageAtomicOr_01U20D00D00D
- 2456, // clamp_30E30E30E
- 2458, // textureSize_00R00D
- 2460, // acosh_10B
- 2462, // imageLoad_01b20D
- 2463, // imageAtomicCompSwap_01Z10D00E00E
- 2464, // textureOffset_00L20B10D00B
- 2466, // mod_20B00B
- 2468, // imageLoad_01U20D00D
- 2469, // textureProjLod_00J30B00B
- 2471, // subpassLoad_01k
- 2472, // transpose_90B
- 2474, // mix_30C30C00C
- 2475, // subpassLoad_01l
- 2476, // atomicAnd_00E00E
- 2478, // max_20D00D
- 2480, // texelFetchOffset_00I10D00D10D
- 2482, // imageAtomicMin_01Z10D00D
- 2483, // imageAtomicMin_01Z10D00E
- 2484, // imageAtomicCompSwap_01i00D00E00E
- 2485, // imageAtomicCompSwap_01K20D00D00D
- 2486, // textureQueryLod_00L10B
- 2487, // imageStore_01J20D30D
- 2489, // atomicCounter_00G
- 2491, // textureGrad_00m20B00B00B
- 2492, // noise3_20B
- 2493, // bitfieldInsert_30D30D00D00D
- 2495, // min_10C00C
- 2496, // greaterThan_10D10D
- 2498, // bitfieldExtract_10E00D00D
- 2500, // textureGradOffset_00h10B00B00B00D
- 2501, // imageAtomicMax_01V20D00D00D
- 2502, // texture2D_00I10B00B
- 2504, // greaterThan_20D20D
- 2506, // imageAtomicAnd_01W20D00D00D
- 2507, // imageAtomicAnd_01W20D00D00E
- 2508, // textureProjLodOffset_00t10B00B00D
- 2509, // textureProjOffset_00O20B10D
- 2510, // trunc_00B
- 2512, // length_10C
- 2513, // length_10B
- 2515, // imageLoad_01R10D00D
- 2516, // imageAtomicAdd_01H20D00D
- 2517, // imageAtomicAdd_01H20D00E
- 2518, // subpassLoad_01j
- 2519, // dot_00B00B
- 2521, // tan_30B
- 2523, // textureLod_00T20B00B
- 2525, // textureProjGrad_00R30B10B10B
- 2527, // exp2_10B
- 2529, // textureProjOffset_00X20B10D00B
- 2531, // textureProjGradOffset_00X30B10B10B10D
- 2533, // imageAtomicAnd_01B10D00D
- 2534, // imageStore_01U20D00D30B
- 2535, // matrixCompMult_A0BA0B
- 2537, // textureGrad_00S20B20B20B
- 2539, // round_30B
- 2541, // round_30C
- 2542, // anyInvocation_00F
- 2543, // textureGrad_00x30B20B20B
- 2544, // imageAtomicCompSwap_01D20D00E00E
- 2545, // textureProjLod_00o30B00B
- 2546, // smoothstep_00C00C10C
- 2547, // interpolateAtSample_00B00D
- 2548, // dFdx_20B
- 2551, // texture_00L20B
- 2553, // barrier_
- 2555, // imageAtomicOr_01N00D00E
- 2556, // imageAtomicOr_01N00D00D
- 2557, // imageAtomicAdd_01a20D00D
- 2558, // textureGather_00k30B00D
- 2559, // findMSB_20D
- 2561, // textureGatherOffset_00L20B10D
- 2563, // imageAtomicMin_01S10D00D00D
- 2564, // imageAtomicMin_01S10D00D00E
- 2565, // textureProjOffset_00S30B20D00B
- 2567, // imageAtomicAdd_01D20D00D
- 2568, // normalize_10C
- 2569, // unpackSnorm4x8_00E
- 2571, // imageLoad_01C20D
- 2573, // imageAtomicMax_01C20D00D
- 2574, // imageAtomicMax_01C20D00E
- 2575, // textureGather_00l30B00B
- 2576, // normalize_10B
- 2578, // asin_30B
- 2580, // isnan_20B
- 2582, // isnan_20C
- 2583, // fwidth_00B
- 2586, // dFdy_10B
- 2589, // imageAtomicAdd_01P10D00E
- 2590, // imageAtomicAdd_01P10D00D
- 2591, // max_30E00E
- 2593, // textureLod_00d20B00B
- 2595, // textureOffset_00q10B10D
- 2596, // imageAtomicAdd_01c20D00E
- 2597, // imageAtomicAdd_01c20D00D
- 2598, // mod_10B00B
- 2600, // texture_00g00B00B
- 2601, // uintBitsToFloat_10E
- 2603, // textureProjOffset_00t30B00D
- 2604, // matrixCompMult_70B70B
- 2605, // imageAtomicAdd_01I20D00D
- 2606, // imageAtomicMax_01M00D00D
- 2607, // imageAtomicMax_01M00D00E
- 2608, // textureLod_00k30B00B
- 2609, // imageAtomicAdd_01E20D00D
- 2610, // textureLodOffset_00Y20B00B20D
- 2612, // refract_00C00C00B
- 2613, // log2_00B
- 2615, // tanh_10B
- 2617, // imageAtomicMin_01I20D00E
- 2618, // textureLod_00h10B00B
- 2619, // textureGather_00O20B00D
- 2620, // gl_LocalInvocationID
- 2622, // clamp_00B00B00B
- 2624, // textureGather_00d10B
- 2625, // gl_MaxGeometryAtomicCounterBuffers
- 2626, // textureOffset_00p10B00D00B
- 2627, // clamp_10C10C10C
- 2628, // imageAtomicXor_01B10D00D
- 2629, // outerProduct_20B10B
- 2631, // textureProjOffset_00t10B00D
- 2632, // isinf_20C
- 2633, // textureGrad_00e30B20B20B
- 2635, // textureSize_00J00D
- 2637, // textureQueryLod_00Z20B
- 2638, // dot_10C10C
- 2639, // imageAtomicXor_01K20D00E
- 2640, // imageAtomicXor_01K20D00D
- 2641, // textureProjGrad_00n30B10B10B
- 2642, // imageAtomicMin_01U20D00D00E
- 2643, // imageAtomicMin_01U20D00D00D
- 2644, // imageAtomicAdd_01Q10D00D
- 2645, // texture2DProjLodEXT_00I30B00B
- 2646, // imageAtomicXor_01T10D00D00D
- 2647, // imageAtomicXor_01T10D00D00E
- 2648, // imageAtomicAnd_01b20D00D
- 2649, // step_00B00B
- 2651, // texture2DLodEXT_00I10B00B
- 2652, // texture_00K20B00B
- 2654, // textureProjGradOffset_00n30B10B10B10D
- 2655, // textureGrad_00J20B20B20B
- 2657, // imageAtomicCompSwap_01V20D00D00E00E
- 2658, // textureOffset_00U20B10D00B
- 2660, // intBitsToFloat_10D
- 2662, // min_20C20C
- 2663, // findLSB_10D
- 2665, // textureProjLodOffset_00Y30B00B20D
- 2667, // imageAtomicMax_01h00D00E
- 2668, // texture3D_00J20B
- 2670, // gl_SecondaryFragDataEXT
- 2671, // imageAtomicAdd_01X10D00E
- 2672, // faceforward_20C20C20C
- 2673, // imageAtomicAnd_01O10D00E
- 2674, // imageAtomicAdd_01X10D00D
- 2675, // imageAtomicXor_01W20D00D00D
- 2676, // imageAtomicXor_01W20D00D00E
- 2677, // textureGather_00n10B00B
- 2678, // imageAtomicXor_01Z10D00E
- 2679, // imageAtomicXor_01Z10D00D
- 2680, // textureGather_00X10B00D
- 2682, // imageAtomicMax_01L00D00E
- 2683, // imageAtomicMax_01L00D00D
- 2684, // imageAtomicXor_01G20D00E
- 2685, // imageAtomicXor_01G20D00D
- 2686, // textureOffset_00a20B10D
- 2688, // imageAtomicExchange_01X10D00B
- 2689, // textureGatherOffsets_00v10B10Dx4
- 2690, // texture2DProj_00I30B00B
- 2692, // textureQueryLod_00X10B
- 2693, // imageAtomicAnd_01I20D00E
- 2694, // textureCubeGradEXT_00K20B20B20B
- 2695, // min_00B00B
- 2697, // textureGradOffset_00o00B00B00B00D
- 2698, // imageAtomicExchange_01Q10D00B
- 2699, // mix_30C30C30F
- 2700, // mix_30C30C30C
- 2701, // gl_WorkGroupID
- 2703, // degrees_00B
- 2705, // imageAtomicMax_01J20D00E
- 2706, // imageAtomicMax_01J20D00D
- 2707, // imageAtomicMin_01D20D00D
- 2708, // textureGatherOffsets_00R10B10Dx4
- 2711, // atomicExchange_00D00D
- 2713, // textureOffset_00m20B00D00B
- 2714, // gl_MaxGeometryAtomicCounters
- 2715, // textureOffset_00f30B10D
- 2716, // imageStore_01c20D30E
- 2717, // imageAtomicExchange_01a20D00D
- 2718, // imageAtomicExchange_01a20D00E
- 2719, // imageAtomicExchange_01a20D00B
- 2720, // matrixCompMult_60B60B
- 2721, // imageAtomicCompSwap_00z10D00D00D
- 2722, // textureProj_00t30B
- 2723, // textureProjGradOffset_00t10B00B00B00D
- 2724, // unpackSnorm2x16_00E
- 2726, // lessThan_30D30D
- 2728, // atan_00B00B
- 2730, // textureQueryLod_00S20B
- 2731, // notEqual_10B10B
- 2733, // imageLoad_01G20D
- 2735, // trunc_30B
- 2737, // trunc_30C
- 2738, // length_00B
- 2740, // length_00C
- 2741, // imageAtomicAnd_01H20D00D
- 2742, // imageAtomicAnd_01H20D00E
- 2743, // textureProj_00X30B00B
- 2745, // imageAtomicCompSwap_01C20D00E00E
- 2746, // tan_00B
- 2748, // min_20E00E
- 2750, // textureLod_00x30B00B
- 2751, // textureSize_00j
- 2752, // textureSize_00n
- 2753, // imageAtomicXor_01F20D00D
- 2754, // textureSize_00c
- 2756, // textureSize_00b
- 2759, // min_20B20B
- 2761, // textureSize_00q
- 2762, // textureSize_00r
- 2763, // textureSize_00w
- 2764, // textureSize_00v
- 2765, // bitfieldInsert_20E20E00D00D
- 2767, // gl_MaxProgramTexelOffset
- 2769, // textureSize_00O
- 2770, // imageAtomicAnd_01a20D00E
- 2771, // imageAtomicMin_01g00D00D
- 2772, // trunc_00C
- 2773, // imageAtomicAnd_01a20D00D
- 2774, // textureSize_00Q
- 2776, // textureSize_00P
- 2779, // imageAtomicAdd_01M00D00E
- 2780, // imageAtomicAdd_01M00D00D
- 2781, // textureSize_00W
- 2783, // textureProjLod_00X20B00B
- 2785, // smoothstep_00C00C00C
- 2786, // atomicCounterAnd_00G00E
- 2787, // faceforward_30B30B30B
- 2789, // distance_20C20C
- 2790, // atomicCounterAdd_00G00E
- 2791, // imageStore_01O10D30B
- 2792, // texture_00X10B
- 2794, // ceil_00C
- 2795, // ceil_00B
- 2797, // distance_00B00B
- 2799, // texelFetch_00O10D
- 2800, // imageAtomicExchange_01C20D00D
- 2801, // imageAtomicExchange_01C20D00E
- 2802, // textureGrad_00s30B20B20B
- 2803, // textureGather_00I10B
- 2805, // imageAtomicExchange_01C20D00B
- 2806, // min_30D30D
- 2808, // imageAtomicExchange_01Z10D00B
- 2809, // findMSB_30E
- 2811, // findMSB_30D
- 2813, // textureGradOffset_00R10B10B10B10D
- 2815, // fwidth_30B
- 2818, // textureGrad_00K20B20B20B
- 2820, // texelFetch_00S20D00D
- 2822, // max_10B00B
- 2824, // textureProjGradOffset_00R30B10B10B10D
- 2826, // texelFetchOffset_00L20D00D10D
- 2828, // isnan_30C
- 2829, // transpose_50B
- 2831, // greaterThanEqual_20D20D
- 2833, // asinh_00B
- 2835, // gl_PrimitiveIDIn
- 2836, // textureGather_00Z20B
- 2838, // textureGrad_00p10B00B00B
- 2839, // textureProjOffset_00v30B10D
- 2840, // greaterThan_20B20B
- 2842, // min_20D20D
- 2844, // texelFetchOffset_00g00D00D00D
- 2845, // imageAtomicCompSwap_01g00D00E00E
- 2846, // imageAtomicMin_01W20D00D00E
- 2847, // imageAtomicMin_01W20D00D00D
- 2848, // imageAtomicXor_01O10D00D
- 2849, // imageAtomicXor_01O10D00E
- 2850, // tanh_20B
- 2852, // textureProj_00m30B00B
- 2853, // sin_20B
- 2855, // smoothstep_00C00C30C
- 2856, // textureSize_00l00D
- 2857, // textureLod_00o00B00B
- 2858, // textureOffset_00I10B10D00B
- 2860, // imageAtomicAnd_00z10D00D
- 2861, // imageAtomicAnd_00z10D00E
- 2862, // imageAtomicCompSwap_01W20D00D00D00D
- 2863, // gl_MaxAtomicCounterBufferSize
- 2865, // textureOffset_00J20B20D00B
- 2867, // lessThanEqual_20E20E
- 2869, // gl_BaseVertex
- 2870, // textureOffset_00g00B00D
- 2871, // textureProj_00g30B
- 2872, // gl_MaxGeometryTotalOutputComponents
- 2873, // bitfieldInsert_30E30E00D00D
- 2875, // bitfieldExtract_20E00D00D
- 2877, // uintBitsToFloat_20E
- 2879, // unpackUnorm4x8_00E
- 2881, // imageAtomicExchange_01K20D00E
- 2882, // mod_10B10B
- 2884, // imageAtomicExchange_01K20D00B
- 2885, // imageAtomicAnd_01B10D00E
- 2886, // imageAtomicXor_01i00D00D
- 2887, // gl_MaxVertexImageUniforms
- 2889, // equal_20D20D
- 2891, // mix_10E10E10F
- 2893, // textureGather_00R10B00D
- 2895, // textureSize_00Z00D
- 2897, // bitfieldExtract_30D00D00D
- 2899, // imageAtomicXor_01J20D00D
- 2900, // imageAtomicXor_01J20D00E
- 2901, // intBitsToFloat_00D
- 2903, // textureLodOffset_00m20B00B00D
- 2904, // findLSB_00E
- 2906, // texelFetch_00p10D00D
- 2907, // textureGather_00d10B00B
- 2909, // shadow2DProj_00d30B00B
- 2910, // imageAtomicAdd_01T10D00D00D
- 2911, // imageAtomicAdd_01T10D00D00E
- 2912, // inversesqrt_10B
- 2914, // inversesqrt_10C
- 2915, // abs_30D
- 2917, // transpose_D0B
- 2919, // abs_30C
- 2920, // textureProjGrad_00O30B10B10B
- 2921, // Empty
- 2921, // imageLoad_01E20D
- 2923, // textureProj_00N20B00B
- 2924, // gl_FragData
- 2926, // dFdxCoarse_20B
- 2927, // clamp_20E00E00E
- 2929, // textureProj_00d30B
- 2931, // gl_MaxVertexOutputVectors
- 2933, // imageAtomicOr_01i00D00D
- 2934, // imageAtomicOr_01i00D00E
- 2935, // shadow1D_00m20B
- 2936, // textureOffset_00u10B00D
- 2937, // cosh_10B
- 2939, // sign_10C
- 2940, // imageAtomicAnd_01G20D00E
- 2941, // imageAtomicAnd_01G20D00D
- 2942, // sign_10D
- 2944, // umulExtended_00E00E00E00E
- 2946, // gl_MaxVertexAttribs
- 2948, // Empty
- 2948, // texture_00a20B
- 2950, // imageAtomicExchange_01g00D00B
- 2951, // imageAtomicExchange_01B10D00B
- 2952, // ldexp_10B10D
- 2954, // imageAtomicExchange_01B10D00D
- 2955, // imageAtomicExchange_01B10D00E
- 2956, // textureProjOffset_00g30B00D
- 2957, // texture_00Z20B
- 2959, // degrees_10B
- 2961, // texture_00K20B
- 2963, // sinh_10B
- 2965, // texture_00m20B
- 2966, // imageAtomicXor_01C20D00D
- 2967, // textureGatherOffsets_00I10B10Dx400D
- 2970, // not_30F
- 2972, // textureProjLodOffset_00I20B00B10D
- 2974, // textureGather_00K20B
- 2976, // textureGatherOffset_00R10B10D
- 2978, // memoryBarrierShared_
- 2980, // clamp_20B20B20B
- 2982, // texelFetch_00W20D00D
- 2984, // textureProjLod_00g10B00B
- 2985, // trunc_20C
- 2986, // trunc_20B
- 2988, // textureProjOffset_00I30B10D00B
- 2990, // max_00C00C
- 2991, // tan_10B
- 2993, // texture_00g00B
- 2994, // textureLodOffset_00L20B00B10D
- 2996, // textureLodOffset_00u10B00B00D
- 2997, // imageAtomicOr_01B10D00D
- 2998, // imageAtomicOr_01B10D00E
- 2999, // isinf_20B
- 3001, // dFdyCoarse_10B
- 3002, // textureGatherOffset_00X10B10D00D
- 3004, // min_10E10E
- 3006, // memoryBarrierImage_
- 3008, // round_10B
- 3010, // round_10C
- 3011, // textureProjLodOffset_00m30B00B00D
- 3012, // textureProjGradOffset_00g10B00B00B00D
- 3013, // textureProj_00R30B
- 3015, // shadow1DProj_00m30B
- 3016, // texture_00f30B00B
- 3017, // fma_00B00B00B
- 3020, // imageStore_01X10D30B
- 3021, // imageAtomicOr_01b20D00E
- 3022, // imageAtomicOr_01b20D00D
- 3023, // textureGatherOffset_00v10B10D00D
- 3024, // atomicMax_00E00E
- 3026, // textureQueryLod_00t00B
- 3027, // textureProjOffset_00R30B10D
- 3029, // textureProj_00X30B
- 3031, // findMSB_00D
- 3033, // findMSB_00E
- 3035, // mix_20B20B20B
- 3037, // imageAtomicCompSwap_01X10D00D00D
- 3038, // frexp_30C30D
- 3039, // mix_10C10C10C
- 3040, // min_30D00D
- 3042, // imageAtomicCompSwap_01K20D00E00E
- 3043, // texture_00M10B00B
- 3044, // fwidth_20B
- 3047, // imageAtomicOr_01S10D00D00D
- 3048, // imageAtomicOr_01S10D00D00E
- 3049, // mod_30C00C
- 3050, // imageAtomicAdd_01A10D00D
- 3051, // imageAtomicAdd_01A10D00E
- 3052, // texture_00o00B00B
- 3053, // imageAtomicOr_01H20D00E
- 3054, // imageAtomicOr_01H20D00D
- 3055, // cos_20B
- 3057, // gl_MaxGeometryUniformComponents
- 3058, // textureGather_00T20B
- 3060, // textureProjGradOffset_00J30B20B20B20D
- 3062, // asinh_10B
- 3064, // texelFetchOffset_00v10D10D
- 3065, // imageAtomicXor_01E20D00E
- 3066, // imageAtomicXor_01E20D00D
- 3067, // textureGatherOffsets_00R10B10Dx400D
+ 443, // texture_00k30B
+ 444, // imageAtomicCompSwap_01O10D00E00E
+ 445, // cos_00B
+ 447, // imageAtomicXor_01F20D00E
+ 448, // imageAtomicXor_01B10D00E
+ 449, // frexp_00C00D
+ 450, // atomicCounterCompSwap_00G00E00E
+ 451, // textureOffset_00a20B10D00B
+ 453, // imageAtomicCompSwap_01b20D00E00E
+ 454, // textureGather_00X10B
+ 456, // imageLoad_01T10D00D
+ 457, // textureOffset_00R10B10D00B
+ 459, // textureGatherOffset_00d10B00B10D
+ 461, // gl_MaxFragmentImageUniforms
+ 463, // textureSize_00i00D
+ 464, // equal_20E20E
+ 466, // uaddCarry_00E00E00E
+ 468, // textureQueryLod_00T20B
+ 469, // textureCube_00K20B
+ 471, // imageAtomicMax_01U20D00D00E
+ 472, // imageAtomicMax_01U20D00D00D
+ 473, // imageAtomicAnd_01K20D00D
+ 474, // matrixCompMult_90B90B
+ 475, // textureGatherOffsets_00I10B10Dx4
+ 478, // textureGradOffset_00p10B00B00B00D
+ 479, // textureProjLodOffset_00g30B00B00D
+ 480, // clamp_30E00E00E
+ 482, // asin_00B
+ 484, // textureProjOffset_00J30B20D00B
+ 486, // texelFetch_00w00D
+ 487, // notEqual_30E30E
+ 489, // imageAtomicOr_01K20D00D
+ 490, // imageAtomicOr_01K20D00E
+ 491, // lessThanEqual_10E10E
+ 493, // inversesqrt_20C
+ 494, // inversesqrt_20B
+ 496, // textureLod_00i20B00B
+ 497, // textureOffset_00u10B00D00B
+ 498, // reflect_00C00C
+ 499, // atomicAdd_00E00E
+ 501, // intBitsToFloat_30D
+ 503, // textureProjGradOffset_00v20B10B10B10D
+ 504, // textureGrad_00X10B10B10B
+ 506, // greaterThanEqual_30E30E
+ 508, // mix_20B20B20F
+ 510, // imageAtomicExchange_01T10D00D00E
+ 511, // imageAtomicExchange_01T10D00D00D
+ 512, // gl_MaxVertexAtomicCounters
+ 514, // mix_20B20B20B
+ 516, // any_10F
+ 518, // textureProjGradOffset_00d30B10B10B10D
+ 520, // imageLoad_01X10D
+ 521, // textureProjOffset_00I30B10D
+ 523, // textureOffset_00X10B10D
+ 525, // texture_00R10B
+ 527, // imageAtomicXor_01R10D00D00E
+ 528, // imageStore_01M00D30D
+ 529, // radians_00B
+ 531, // textureGatherOffsets_00f20B00B10Dx4
+ 534, // step_10B10B
+ 536, // gl_MaxDualSourceDrawBuffersEXT
+ 537, // imageAtomicAdd_01Y10D00D
+ 538, // imageAtomicAdd_01Y10D00E
+ 539, // bitfieldReverse_10E
+ 541, // bitfieldReverse_10D
+ 543, // imageStore_01g00D30B
+ 544, // textureProjGradOffset_00q20B10B10B10D
+ 545, // imageAtomicExchange_01S10D00D00E
+ 546, // atomicXor_00E00E
+ 548, // mix_00C00C00F
+ 549, // textureLodOffset_00g00B00B00D
+ 550, // greaterThan_30B30B
+ 552, // gl_MaxFragmentAtomicCounters
+ 554, // faceforward_20B20B20B
+ 556, // textureSize_00x00D
+ 558, // textureProj_00S30B00B
+ 560, // fma_20B20B20B
+ 563, // textureProjLod_00o10B00B
+ 564, // imageAtomicMin_01J20D00E
+ 565, // outerProduct_30B30B
+ 567, // exp_30B
+ 569, // bitCount_10E
+ 571, // bitCount_10D
+ 573, // log_00B
+ 575, // mix_00F00F00F
+ 577, // imageAtomicCompSwap_01M00D00D00D
+ 578, // imageAtomicAdd_01Q10D00E
+ 579, // acosh_30B
+ 581, // imageAtomicOr_01Y10D00E
+ 582, // imageAtomicOr_01Y10D00D
+ 583, // textureGradOffset_00X10B10B10B10D
+ 585, // texelFetchOffset_00X10D00D10D
+ 587, // packUnorm2x16_10B
+ 589, // texture_00h20B00B
+ 590, // umulExtended_20E20E20E20E
+ 592, // texture_00m20B00B
+ 593, // textureProjGradOffset_00g30B00B00B00D
+ 594, // textureProj_00o30B00B
+ 595, // imageAtomicCompSwap_01T10D00D00E00E
+ 596, // textureCubeLod_00K20B00B
+ 598, // textureSize_00L00D
+ 600, // imageAtomicXor_01L00D00E
+ 601, // imageAtomicCompSwap_01Q10D00D00D
+ 602, // max_20E00E
+ 604, // textureProj_00S30B
+ 606, // dFdy_30B
+ 609, // isinf_10C
+ 610, // isinf_10B
+ 612, // gl_MaxVertexTextureImageUnits
+ 614, // greaterThanEqual_30B30B
+ 616, // texture2DProjLodEXT_00I20B00B
+ 617, // gl_FrontFacing
+ 619, // textureProjOffset_00t10B00D00B
+ 620, // acos_10B
+ 622, // textureCube_00K20B00B
+ 624, // lessThan_10B10B
+ 626, // imageAtomicCompSwap_01B10D00E00E
+ 627, // gl_MaxComputeAtomicCounterBuffers
+ 629, // textureSize_00f00D
+ 631, // texelFetchOffset_00h10D00D00D
+ 632, // mod_20C00C
+ 633, // imageAtomicAnd_01g00D00D
+ 634, // gl_LastFragColorARM
+ 635, // textureGatherOffsets_00q10B10Dx4
+ 636, // lessThanEqual_20D20D
+ 638, // textureQueryLod_00k20B
+ 639, // imageAtomicAdd_01B10D00E
+ 640, // textureProjLod_00Y30B00B
+ 642, // gl_SecondaryFragColorEXT
+ 643, // imageAtomicAnd_01U20D00D00D
+ 644, // imageAtomicAnd_01U20D00D00E
+ 645, // gl_BaseInstance
+ 646, // transpose_B0B
+ 648, // imageAtomicXor_01b20D00E
+ 649, // mix_20F20F20F
+ 651, // smoothstep_00B00B30B
+ 653, // imageAtomicExchange_01M00D00B
+ 654, // imageAtomicExchange_01M00D00D
+ 655, // imageAtomicExchange_01M00D00E
+ 656, // textureQueryLod_00d10B
+ 657, // texelFetch_00N10D00D
+ 658, // textureSize_00a00D
+ 660, // EmitStreamVertex_00D
+ 661, // textureProjOffset_00Y30B20D
+ 663, // textureOffset_00n20B10D
+ 664, // atan_30B
+ 666, // imageAtomicMax_01b20D00E
+ 667, // imageAtomicMax_01b20D00D
+ 668, // ceil_10B
+ 670, // textureSize_00S00D
+ 672, // imageAtomicExchange_01S10D00D00B
+ 673, // atomicCounterDecrement_00G
+ 675, // ceil_30B
+ 677, // imageAtomicAnd_01Q10D00D
+ 678, // imageAtomicAnd_01Q10D00E
+ 679, // imageAtomicAnd_01c20D00E
+ 680, // imageAtomicAnd_01c20D00D
+ 681, // textureSize_00t00D
+ 682, // texture_00f30B
+ 684, // imageSamples_01R
+ 685, // texelFetch_00R10D00D
+ 687, // sign_20B
+ 689, // smoothstep_30B30B30B
+ 691, // imageAtomicExchange_01T10D00D00B
+ 692, // textureGrad_00R10B10B10B
+ 694, // min_00D00D
+ 696, // textureProj_00t10B00B
+ 697, // imageAtomicAdd_01V20D00D00E
+ 698, // ldexp_20B20D
+ 700, // greaterThanEqual_30D30D
+ 702, // imageLoad_01D20D
+ 704, // findLSB_10E
+ 706, // texture_00Z20B00B
+ 708, // imageAtomicXor_01S10D00D00E
+ 709, // imageAtomicXor_01S10D00D00D
+ 710, // cos_10B
+ 712, // texelFetch_00v10D
+ 713, // texture_00e30B
+ 715, // textureSize_00T00D
+ 717, // imageAtomicAnd_01g00D00E
+ 718, // textureSize_00u00D
+ 719, // textureProjGradOffset_00Y30B20B20B20D
+ 721, // noise3_30B
+ 722, // textureGrad_00T20B20B20B
+ 724, // texture1DProj_00g10B00B
+ 725, // textureProjOffset_00d30B10D00B
+ 727, // imageAtomicMin_01B10D00D
+ 728, // imageAtomicMin_01B10D00E
+ 729, // imageAtomicXor_01U20D00D00D
+ 730, // imageAtomicXor_01U20D00D00E
+ 731, // imageAtomicAdd_01h00D00D
+ 732, // imageAtomicAdd_01h00D00E
+ 733, // matrixCompMult_50B50B
+ 735, // equal_30B30B
+ 737, // imageAtomicExchange_01E20D00B
+ 738, // textureLod_00U20B00B
+ 740, // imageAtomicXor_01I20D00E
+ 741, // imageAtomicXor_01I20D00D
+ 742, // textureOffset_00h10B00D
+ 743, // textureLod_00p10B00B
+ 744, // max_20C20C
+ 745, // max_10B10B
+ 747, // gl_PointSize
+ 749, // imageAtomicCompSwap_01F20D00E00E
+ 750, // asin_10B
+ 752, // sinh_00B
+ 754, // imageAtomicAdd_01g00D00D
+ 755, // imageAtomicCompSwap_01h00D00E00E
+ 756, // textureOffset_00S20B20D
+ 758, // fma_20C20C20C
+ 759, // textureProj_00R20B
+ 761, // greaterThan_10E10E
+ 763, // imageAtomicAnd_01M00D00E
+ 764, // imageAtomicAdd_01B10D00D
+ 765, // imageAtomicAnd_01M00D00D
+ 766, // textureGatherOffsets_00n10B00B10Dx4
+ 767, // EmitVertex_
+ 769, // smoothstep_20B20B20B
+ 771, // textureSamples_00b
+ 772, // textureOffset_00J20B20D
+ 774, // texelFetch_00J20D00D
+ 776, // imageAtomicExchange_01V20D00D00E
+ 777, // imageAtomicExchange_01V20D00D00B
+ 778, // imageAtomicCompSwap_01Y10D00E00E
+ 779, // gl_ViewID_OVR
+ 780, // radians_30B
+ 782, // fract_30B
+ 784, // imageAtomicMin_01H20D00E
+ 785, // uaddCarry_20E20E20E
+ 787, // textureProjGrad_00X30B10B10B
+ 789, // textureSamples_00P
+ 790, // textureProjOffset_00v20B10D
+ 791, // shadow2D_00d20B00B
+ 792, // texelFetchOffset_00o00D00D00D
+ 793, // textureSamples_00V
+ 794, // textureSamples_00W
+ 795, // textureProjGrad_00q30B10B10B
+ 796, // textureGatherOffset_00O10B10D
+ 797, // clamp_10D00D00D
+ 799, // gl_MaxComputeImageUniforms
+ 801, // textureLod_00L20B00B
+ 803, // imageAtomicExchange_01A10D00B
+ 804, // imageAtomicCompSwap_01V20D00D00D00D
+ 805, // imageAtomicExchange_01A10D00E
+ 806, // imageAtomicExchange_01A10D00D
+ 807, // imageAtomicXor_01b20D00D
+ 808, // texture_00n20B
+ 809, // ldexp_20C20D
+ 810, // clamp_00E00E00E
+ 812, // length_20B
+ 814, // ldexp_00B00D
+ 816, // bitfieldInsert_00D00D00D00D
+ 818, // textureProjGrad_00Y30B20B20B
+ 820, // imageAtomicAdd_01W20D00D00E
+ 821, // roundEven_30B
+ 823, // roundEven_30C
+ 824, // acosh_20B
+ 826, // atanh_10B
+ 828, // length_20C
+ 829, // clamp_10B10B10B
+ 831, // textureGatherOffset_00L20B10D00D
+ 833, // bitCount_00D
+ 835, // bitCount_00E
+ 837, // floatBitsToInt_30B
+ 839, // max_20B00B
+ 841, // imageAtomicAdd_00z10D00D
+ 842, // texelFetchOffset_00Y20D00D20D
+ 844, // atomicExchange_00E00E
+ 846, // imageAtomicXor_01h00D00D
+ 847, // imageAtomicXor_01h00D00E
+ 848, // ldexp_30C30D
+ 849, // texture_00o00B
+ 850, // texture_00x30B00B
+ 851, // lessThanEqual_20B20B
+ 853, // min_10B00B
+ 855, // textureQueryLod_00f10B
+ 856, // smoothstep_10C10C10C
+ 857, // imageAtomicAnd_01L00D00D
+ 858, // imageAtomicAnd_01L00D00E
+ 859, // mix_30F30F30F
+ 861, // imageAtomicMax_01T10D00D00E
+ 862, // imageAtomicMax_01T10D00D00D
+ 863, // textureGatherOffsets_00O10B10Dx400D
+ 864, // abs_20D
+ 866, // abs_20C
+ 867, // abs_20B
+ 869, // lessThanEqual_10B10B
+ 871, // min_30E30E
+ 873, // imageAtomicOr_01a20D00D
+ 874, // mix_00B00B00B
+ 876, // mix_00B00B00F
+ 878, // textureGather_00s30B00D
+ 880, // textureProj_00I20B
+ 882, // textureLodOffset_00p10B00B00D
+ 883, // gl_MaxVertexAtomicCounterBuffers
+ 885, // unpackDouble2x32_00C
+ 886, // acos_00B
+ 888, // textureGradOffset_00J20B20B20B20D
+ 890, // fma_00C00C00C
+ 891, // texture2DGradEXT_00I10B10B10B
+ 892, // imageAtomicCompSwap_01G20D00D00D
+ 893, // imageAtomicAnd_01I20D00D
+ 894, // texture2DProjGradEXT_00I30B10B10B
+ 895, // fma_30B30B30B
+ 898, // imageAtomicAdd_01L00D00D
+ 899, // texture_00i20B00B
+ 900, // gl_MaxComputeWorkGroupCount
+ 902, // clamp_20C00C00C
+ 903, // imageAtomicMax_01X10D00E
+ 904, // imageLoad_01i00D
+ 905, // mix_30E30E30F
+ 907, // gl_FragColor
+ 909, // imageAtomicMin_01G20D00D
+ 910, // imageAtomicMin_01G20D00E
+ 911, // imageAtomicExchange_01S10D00D00D
+ 912, // atan_20B
+ 914, // interpolateAtSample_30B00D
+ 915, // dFdxCoarse_30B
+ 916, // texture_00M10B
+ 917, // min_10B10B
+ 919, // textureLodOffset_00h10B00B00D
+ 920, // EndStreamPrimitive_00D
+ 921, // pow_10B10B
+ 923, // texture_00Y20B
+ 925, // imageAtomicXor_01P10D00D
+ 926, // texture_00X10B00B
+ 928, // frexp_00B00D
+ 930, // texture2D_00I10B
+ 932, // imageLoad_01O10D
+ 933, // ceil_20C
+ 934, // ceil_20B
+ 936, // imageAtomicMin_01b20D00E
+ 937, // imageAtomicMin_01b20D00D
+ 938, // imageAtomicMax_01P10D00D
+ 939, // imageAtomicMax_01P10D00E
+ 940, // imageAtomicExchange_01P10D00B
+ 941, // textureProjOffset_00R20B10D
+ 943, // imageStore_01V20D00D30D
+ 944, // subpassLoad_01m00D
+ 945, // textureOffset_00I10B10D
+ 947, // min_20B00B
+ 949, // reflect_00B00B
+ 951, // noise4_10B
+ 952, // sqrt_10C
+ 953, // sqrt_10B
+ 955, // clamp_20E20E20E
+ 957, // textureGradOffset_00g00B00B00B00D
+ 958, // textureGather_00q20B
+ 959, // noise3_00B
+ 960, // imageAtomicOr_01G20D00D
+ 961, // imageAtomicOr_01G20D00E
+ 962, // imageAtomicMin_01C20D00D
+ 963, // imageAtomicMin_01C20D00E
+ 964, // imageAtomicAnd_01F20D00E
+ 965, // imageStore_01a20D30B
+ 967, // textureProjLod_00d30B00B
+ 969, // imageLoad_01H20D
+ 971, // textureProjGradOffset_00I20B10B10B10D
+ 973, // interpolateAtSample_20B00D
+ 974, // reflect_10B10B
+ 976, // refract_10B10B00B
+ 978, // imageAtomicMax_01h00D00D
+ 979, // mix_20C20C20F
+ 980, // imageAtomicExchange_01X10D00D
+ 981, // imageAtomicExchange_01X10D00E
+ 982, // mix_20C20C20C
+ 983, // textureOffset_00v10B10D
+ 984, // imageAtomicExchange_01Q10D00E
+ 985, // imageAtomicExchange_01Q10D00D
+ 986, // imageAtomicMin_01P10D00D
+ 987, // sinh_30B
+ 989, // textureSize_00m00D
+ 990, // imageAtomicMin_01N00D00E
+ 991, // imageAtomicMin_01N00D00D
+ 992, // textureQueryLod_00e20B
+ 993, // asinh_20B
+ 995, // imageAtomicAdd_01C20D00D
+ 996, // imageAtomicCompSwap_01I20D00D00D
+ 997, // textureProj_00O20B
+ 999, // imageAtomicCompSwap_01M00D00E00E
+ 1000, // frexp_10B10D
+ 1002, // inverse_50B
+ 1004, // dot_10B10B
+ 1006, // noise2_00B
+ 1007, // textureProjGradOffset_00o10B00B00B00D
+ 1008, // radians_20B
+ 1010, // atomicCompSwap_00E00E00E
+ 1012, // textureGrad_00I00B00B00B
+ 1013, // textureGrad_00Y20B20B20B
+ 1015, // imageAtomicCompSwap_01Z10D00D00D
+ 1016, // gl_MaxVertexUniformVectors
+ 1018, // imageAtomicExchange_01W20D00D00B
+ 1019, // textureOffset_00o00B00D00B
+ 1020, // imageAtomicExchange_01W20D00D00E
+ 1021, // imageAtomicExchange_01W20D00D00D
+ 1022, // ftransform_
+ 1023, // textureProj_00X20B
+ 1025, // textureProjOffset_00n30B10D
+ 1026, // imageAtomicOr_01W20D00D00E
+ 1027, // imageAtomicOr_01W20D00D00D
+ 1028, // greaterThanEqual_20E20E
+ 1030, // textureProj_00M20B
+ 1031, // texture3DProjLod_00J30B00B
+ 1033, // isinf_30C
+ 1034, // imageAtomicAdd_01Z10D00E
+ 1035, // imageAtomicAdd_01Z10D00D
+ 1036, // mix_10D10D10F
+ 1038, // textureProjGrad_00g10B00B00B
+ 1039, // log_20B
+ 1041, // imageAtomicMax_01D20D00E
+ 1042, // imageAtomicMax_01D20D00D
+ 1043, // textureOffset_00h10B00D00B
+ 1044, // modf_30B30B
+ 1046, // roundEven_20C
+ 1047, // roundEven_20B
+ 1049, // outerProduct_30B10B
+ 1051, // textureProj_00J30B
+ 1053, // imageAtomicOr_01F20D00E
+ 1054, // imageAtomicOr_01F20D00D
+ 1055, // textureLodOffset_00t00B00B00D
+ 1056, // floatBitsToInt_20B
+ 1058, // texelFetch_00U20D00D
+ 1060, // max_00D00D
+ 1062, // round_20C
+ 1063, // atomicMin_00E00E
+ 1065, // textureGradOffset_00v10B10B10B10D
+ 1066, // textureGrad_00n20B10B10B
+ 1067, // imageLoad_01S10D00D
+ 1068, // textureGatherOffsets_00a20B10Dx4
+ 1071, // max_20E20E
+ 1073, // imageAtomicCompSwap_01F20D00D00D
+ 1074, // abs_10D
+ 1076, // abs_10B
+ 1078, // abs_10C
+ 1079, // gl_FragDepthEXT
+ 1080, // imageAtomicAdd_01V20D00D00D
+ 1081, // gl_ClipDistance
+ 1082, // modf_30C30C
+ 1083, // imageAtomicMin_01T10D00D00E
+ 1084, // imageAtomicMin_01T10D00D00D
+ 1085, // textureGrad_00i20B00B00B
+ 1086, // textureProj_00g10B
+ 1087, // equal_20B20B
+ 1089, // textureProjLodOffset_00X20B00B10D
+ 1091, // max_30C00C
+ 1092, // texture_00U20B00B
+ 1094, // textureProj_00I30B
+ 1096, // mix_00E00E00F
+ 1098, // imageAtomicCompSwap_01h00D00D00D
+ 1099, // mix_00D00D00F
+ 1101, // textureProjOffset_00q20B10D
+ 1102, // texture_00i20B
+ 1103, // textureGradOffset_00a20B10B10B10D
+ 1105, // smoothstep_00B00B20B
+ 1107, // textureLod_00s30B00B
+ 1109, // imageAtomicOr_01C20D00D
+ 1110, // imageAtomicOr_01C20D00E
+ 1111, // imageAtomicXor_01g00D00E
+ 1112, // notEqual_30B30B
+ 1114, // textureGatherOffset_00f20B00B10D
+ 1116, // imageAtomicAnd_01N00D00D
+ 1117, // imageAtomicAnd_01N00D00E
+ 1118, // imageSize_00z
+ 1120, // mod_10C10C
+ 1121, // imageAtomicXor_01g00D00D
+ 1122, // faceforward_00C00C00C
+ 1123, // textureGrad_00a20B10B10B
+ 1125, // dFdxCoarse_00B
+ 1126, // imageAtomicMin_01a20D00D
+ 1127, // texture_00J20B00B
+ 1129, // refract_20B20B00B
+ 1131, // ceil_30C
+ 1132, // gl_MaxGeometryOutputComponents
+ 1133, // noise1_30B
+ 1134, // log2_30B
+ 1136, // textureProjGrad_00d30B10B10B
+ 1138, // mod_20C20C
+ 1139, // fract_30C
+ 1140, // texelFetch_00t00D00D
+ 1141, // imageAtomicXor_01L00D00D
+ 1142, // max_30E30E
+ 1144, // gl_MaxFragmentAtomicCounterBuffers
+ 1146, // gl_in
+ 1147, // noise4_00B
+ 1148, // distance_10C10C
+ 1149, // textureProjLodOffset_00J30B00B20D
+ 1151, // imageLoad_01B10D
+ 1153, // imageAtomicMax_01H20D00E
+ 1154, // imageAtomicMax_01H20D00D
+ 1155, // imageStore_01h00D30D
+ 1156, // imageAtomicExchange_01O10D00D
+ 1157, // texelFetch_00c20D00D
+ 1159, // sqrt_00B
+ 1161, // sqrt_00C
+ 1162, // textureProjLod_00R30B00B
+ 1164, // noise3_10B
+ 1165, // texelFetch_00q10D
+ 1166, // imageAtomicAnd_01F20D00D
+ 1167, // textureLod_00m20B00B
+ 1168, // textureProjOffset_00m30B00D00B
+ 1169, // textureProjGrad_00v30B10B10B
+ 1170, // clamp_20D20D20D
+ 1172, // imageAtomicMin_01P10D00E
+ 1173, // imageAtomicAdd_01C20D00E
+ 1174, // clamp_00C00C00C
+ 1175, // imageAtomicXor_01N00D00D
+ 1176, // imageAtomicXor_01N00D00E
+ 1177, // texture_00x30B
+ 1178, // max_10E00E
+ 1180, // imageLoad_01c20D
+ 1182, // textureGrad_00U20B10B10B
+ 1184, // imageLoad_00z10D
+ 1186, // clamp_30C00C00C
+ 1187, // textureGatherOffsets_00a20B10Dx400D
+ 1190, // sinh_20B
+ 1192, // matrixCompMult_E0BE0B
+ 1193, // fwidthFine_00B
+ 1194, // gl_PerVertex
+ 1195, // textureGradOffset_00m20B00B00B00D
+ 1196, // imageAtomicMin_01K20D00E
+ 1197, // textureQueryLevels_00p
+ 1198, // gl_WorkGroupSize
+ 1200, // asinh_30B
+ 1202, // cross_20C20C
+ 1203, // textureGather_00a20B
+ 1205, // textureProjGradOffset_00O20B10B10B10D
+ 1206, // pow_30B30B
+ 1208, // imageAtomicCompSwap_01G20D00E00E
+ 1209, // smoothstep_10B10B10B
+ 1211, // textureProj_00O30B
+ 1213, // textureQueryLod_00R10B
+ 1214, // imageAtomicAdd_01R10D00D00D
+ 1215, // imageAtomicAdd_01R10D00D00E
+ 1216, // imageAtomicExchange_01E20D00D
+ 1217, // imageAtomicMin_01Q10D00E
+ 1218, // imageAtomicMin_01Q10D00D
+ 1219, // imageAtomicExchange_01E20D00E
+ 1220, // isnan_00B
+ 1222, // isnan_00C
+ 1223, // imulExtended_10D10D10D10D
+ 1225, // textureProjGrad_00o10B00B00B
+ 1226, // imageAtomicMax_01i00D00D
+ 1227, // imageAtomicMax_01i00D00E
+ 1228, // refract_10C10C00B
+ 1229, // min_00E00E
+ 1231, // imageStore_01T10D00D30E
+ 1232, // texture2DProj_00I30B
+ 1234, // textureGradOffset_00I10B10B10B10D
+ 1236, // textureLodOffset_00J20B00B20D
+ 1238, // notEqual_20B20B
+ 1240, // atomicCompSwap_00D00D00D
+ 1242, // Empty
+ 1242, // textureOffset_00i20B00D
+ 1243, // dFdyFine_00B
+ 1244, // textureLod_00a20B00B
+ 1246, // textureProj_00N30B
+ 1247, // refract_30C30C00B
+ 1248, // equal_30D30D
+ 1250, // imageStore_01D20D30D
+ 1252, // packSnorm2x16_10B
+ 1254, // floatBitsToUint_30B
+ 1256, // textureOffset_00R10B10D
+ 1258, // textureProjGrad_00q20B10B10B
+ 1259, // textureProjGradOffset_00R20B10B10B10D
+ 1261, // ldexp_30B30D
+ 1263, // max_30B00B
+ 1265, // atomicCounterOr_00G00E
+ 1266, // imageAtomicMin_01i00D00E
+ 1267, // step_30B30B
+ 1269, // textureProj_00I30B00B
+ 1271, // imageAtomicExchange_01D20D00E
+ 1272, // textureOffset_00g00B00D00B
+ 1273, // imageAtomicExchange_01D20D00B
+ 1274, // imageAtomicMin_01g00D00E
+ 1275, // imageAtomicMax_01c20D00D
+ 1276, // abs_00D
+ 1278, // abs_00C
+ 1279, // abs_00B
+ 1281, // textureLod_00R10B00B
+ 1283, // dFdxCoarse_10B
+ 1284, // texture1D_00g00B
+ 1285, // frexp_10C10D
+ 1286, // imageAtomicAdd_01g00D00E
+ 1287, // texture2DLod_00I10B00B
+ 1289, // textureProjGradOffset_00X20B10B10B10D
+ 1291, // imageAtomicMax_01Z10D00D
+ 1292, // gl_MaxComputeAtomicCounters
+ 1294, // texture_00s30B
+ 1295, // EndPrimitive_
+ 1297, // step_00B30B
+ 1299, // round_20B
+ 1301, // equal_30E30E
+ 1303, // imageAtomicCompSwap_01R10D00D00E00E
+ 1304, // step_00C20C
+ 1305, // dot_00C00C
+ 1306, // max_30C30C
+ 1307, // atomicOr_00D00D
+ 1309, // texture2DProj_00M20B
+ 1310, // notEqual_10D10D
+ 1312, // imageAtomicExchange_01Z10D00D
+ 1313, // textureSize_00V
+ 1316, // imageAtomicAnd_01h00D00D
+ 1317, // min_20C00C
+ 1318, // imageAtomicAdd_01G20D00E
+ 1319, // imageAtomicAdd_01G20D00D
+ 1320, // findLSB_30D
+ 1322, // findLSB_30E
+ 1324, // textureProj_00X20B00B
+ 1326, // shadow2D_00d20B
+ 1327, // textureGatherOffset_00U20B10D
+ 1329, // imageAtomicExchange_01Z10D00E
+ 1330, // faceforward_10B10B10B
+ 1332, // imageAtomicAnd_01h00D00E
+ 1333, // min_10D00D
+ 1335, // imageAtomicCompSwap_01J20D00D00D
+ 1336, // all_20F
+ 1338, // imageSize_01J
+ 1340, // imageSize_01K
+ 1342, // textureOffset_00t00B00D00B
+ 1343, // imageSize_01I
+ 1345, // packHalf2x16_10B
+ 1347, // textureProj_00I20B00B
+ 1349, // imageSize_01L
+ 1350, // imageSize_01M
+ 1351, // imageSize_01B
+ 1353, // imageSize_01C
+ 1355, // imageSize_01A
+ 1357, // imageSize_01F
+ 1359, // imageSize_01G
+ 1361, // imageSize_01D
+ 1363, // imageSize_01E
+ 1365, // imageAtomicExchange_01L00D00B
+ 1366, // imageAtomicExchange_01L00D00E
+ 1367, // texelFetch_00X10D00D
+ 1369, // notEqual_30F30F
+ 1371, // imageSize_01R
+ 1372, // imageSize_01S
+ 1373, // imageSize_01P
+ 1374, // imageSize_01Q
+ 1375, // imageSize_01V
+ 1376, // textureQueryLod_00g00B
+ 1377, // imageSize_01T
+ 1378, // imageSize_01U
+ 1379, // imageSize_01h
+ 1380, // imageSize_01i
+ 1381, // fract_20C
+ 1382, // fract_20B
+ 1384, // textureGatherOffset_00X10B10D
+ 1386, // imageSize_01c
+ 1388, // imageStore_01R10D00D30B
+ 1389, // imageSize_01a
+ 1391, // imageSize_01f
+ 1392, // texture2DProjGradEXT_00I20B10B10B
+ 1393, // imageSize_01d
+ 1394, // textureLod_00S20B00B
+ 1396, // step_30C30C
+ 1397, // imageAtomicMin_01J20D00D
+ 1398, // gl_FragDepth
+ 1400, // textureGather_00x30B
+ 1402, // mix_30B30B30F
+ 1404, // mix_30B30B30B
+ 1406, // textureGather_00Z20B00D
+ 1408, // imageAtomicAnd_01Z10D00E
+ 1409, // imageAtomicAnd_01Z10D00D
+ 1410, // imageStore_01E20D30E
+ 1412, // sqrt_30C
+ 1413, // sqrt_30B
+ 1415, // exp_00B
+ 1417, // max_30D30D
+ 1419, // gl_MaxGeometryTextureImageUnits
+ 1420, // interpolateAtCentroid_10B
+ 1421, // texture_00q10B
+ 1422, // textureSize_00M00D
+ 1423, // textureSamples_00c
+ 1424, // angle_BaseInstance
+ 1425, // mix_10F10F10F
+ 1427, // textureGradOffset_00U20B10B10B10D
+ 1429, // gl_Position
+ 1432, // textureGradOffset_00O10B10B10B10D
+ 1433, // textureProj_00M30B
+ 1434, // textureGradOffset_00L20B10B10B10D
+ 1436, // imageAtomicExchange_01V20D00D00D
+ 1437, // imageAtomicExchange_01J20D00B
+ 1438, // imageAtomicExchange_01J20D00E
+ 1439, // imageAtomicExchange_01J20D00D
+ 1440, // textureQueryLod_00l20B
+ 1441, // imageAtomicOr_01M00D00E
+ 1442, // dot_20B20B
+ 1444, // textureProjGrad_00v20B10B10B
+ 1445, // textureProjLod_00S30B00B
+ 1447, // textureProjGrad_00R20B10B10B
+ 1449, // imageAtomicAnd_01i00D00E
+ 1450, // imageAtomicAnd_01i00D00D
+ 1451, // imageAtomicMax_00z10D00E
+ 1452, // imageAtomicMax_00z10D00D
+ 1453, // normalize_30C
+ 1454, // normalize_30B
+ 1456, // textureOffset_00O10B10D
+ 1457, // textureProjGrad_00I20B10B10B
+ 1459, // textureGather_00e20B
+ 1460, // imageAtomicMax_01V20D00D00E
+ 1461, // texture2D_00M10B
+ 1462, // imageAtomicAdd_01a20D00E
+ 1463, // fwidthFine_30B
+ 1464, // textureGather_00K20B00D
+ 1466, // textureCubeLodEXT_00K20B00B
+ 1467, // textureGather_00T20B00D
+ 1469, // textureProj_00N20B
+ 1470, // textureQueryLod_00I10B
+ 1471, // imageAtomicCompSwap_01A10D00E00E
+ 1472, // dFdyFine_10B
+ 1473, // modf_10C10C
+ 1474, // imageAtomicMax_01E20D00D
+ 1475, // imageAtomicMax_01E20D00E
+ 1476, // textureProjLodOffset_00X30B00B10D
+ 1478, // imageStore_01W20D00D30E
+ 1479, // textureProjLod_00m30B00B
+ 1480, // textureProjOffset_00g30B00D00B
+ 1481, // texelFetchOffset_00U20D00D10D
+ 1483, // imageAtomicCompSwap_00z10D00E00E
+ 1484, // imageAtomicMin_01D20D00E
+ 1485, // textureProjGradOffset_00q30B10B10B10D
+ 1486, // textureGradOffset_00d20B10B10B10D
+ 1488, // fwidthCoarse_20B
+ 1489, // imageAtomicCompSwap_01N00D00E00E
+ 1490, // textureProjOffset_00d30B10D
+ 1492, // imageAtomicOr_01T10D00D00E
+ 1493, // imageAtomicOr_01T10D00D00D
+ 1494, // equal_20F20F
+ 1496, // mix_20C20C00C
+ 1497, // usubBorrow_10E10E10E
+ 1499, // equal_10B10B
+ 1501, // textureLodOffset_00U20B00B10D
+ 1503, // isnan_10C
+ 1504, // isnan_10B
+ 1506, // imageAtomicMin_01H20D00D
+ 1507, // imageAtomicXor_01A10D00D
+ 1508, // imageAtomicXor_01A10D00E
+ 1509, // imageAtomicCompSwap_01C20D00D00D
+ 1510, // textureGrad_00R00B00B00B
+ 1511, // atomicMin_00D00D
+ 1513, // textureSize_00X00D
+ 1515, // greaterThan_10B10B
+ 1517, // mix_00C00C00C
+ 1518, // noise1_20B
+ 1519, // clamp_30D00D00D
+ 1521, // mix_20E20E20F
+ 1523, // floatBitsToInt_10B
+ 1525, // textureProjOffset_00R30B10D00B
+ 1527, // textureGather_00U20B00D
+ 1529, // floatBitsToInt_00B
+ 1531, // imageLoad_01a20D
+ 1533, // floatBitsToUint_00B
+ 1535, // min_30C30C
+ 1536, // textureSamples_00Q
+ 1537, // textureGradOffset_00i20B00B00B00D
+ 1538, // imageAtomicXor_00z10D00D
+ 1539, // texture2DRectProj_00O20B
+ 1540, // modf_20C20C
+ 1541, // tan_20B
+ 1543, // floor_00C
+ 1544, // floor_00B
+ 1546, // imageAtomicMax_01O10D00E
+ 1547, // imageAtomicMax_01O10D00D
+ 1548, // mod_30C30C
+ 1549, // gl_DrawID
+ 1550, // textureOffset_00t00B00D
+ 1551, // texture3DLod_00J20B00B
+ 1553, // imageLoad_01Q10D
+ 1554, // texture_00R10B00B
+ 1556, // imageStore_01Y10D30D
+ 1557, // modf_00B00B
+ 1559, // notEqual_20D20D
+ 1561, // imageAtomicExchange_01R10D00D00E
+ 1562, // imageAtomicExchange_01R10D00D00D
+ 1563, // ldexp_10C10D
+ 1564, // imageAtomicExchange_01F20D00E
+ 1565, // determinant_A0B
+ 1566, // imageAtomicExchange_01i00D00D
+ 1567, // textureLodOffset_00i20B00B00D
+ 1568, // imageAtomicExchange_01i00D00B
+ 1569, // shadow1DLod_00m20B00B
+ 1570, // imageAtomicOr_01I20D00E
+ 1571, // distance_00C00C
+ 1572, // isnan_30B
+ 1574, // textureProjOffset_00o30B00D
+ 1575, // lessThanEqual_30D30D
+ 1577, // textureProj_00M30B00B
+ 1578, // texture2DProj_00M30B
+ 1579, // atomicCounterMax_00G00E
+ 1580, // atomicCounterExchange_00G00E
+ 1581, // textureGrad_00I10B10B10B
+ 1583, // step_00B20B
+ 1585, // texture2DProjLod_00I20B00B
+ 1587, // step_00C30C
+ 1588, // yuv_2_rgb_20B00H
+ 1589, // texelFetch_00b10D00D
+ 1592, // textureProj_00J30B00B
+ 1594, // textureGather_00R10B
+ 1596, // imageAtomicCompSwap_01c20D00D00D
+ 1597, // imageAtomicOr_01V20D00D00D
+ 1598, // imageAtomicOr_01V20D00D00E
+ 1599, // imageAtomicExchange_01P10D00D
+ 1600, // imageLoad_01L00D
+ 1601, // min_10D10D
+ 1603, // all_30F
+ 1605, // imageAtomicExchange_01P10D00E
+ 1606, // imageAtomicAnd_01S10D00D00E
+ 1607, // imageAtomicAnd_01S10D00D00D
+ 1608, // angle_BaseVertex
+ 1609, // bitfieldReverse_20D
+ 1611, // bitfieldReverse_20E
+ 1613, // imageAtomicExchange_01I20D00D
+ 1614, // imageAtomicExchange_01I20D00E
+ 1615, // imageAtomicExchange_01I20D00B
+ 1616, // imageAtomicExchange_01c20D00E
+ 1617, // gl_MaxGeometryInputComponents
+ 1618, // textureGatherOffsets_00X10B10Dx4
+ 1621, // texture_00u20B
+ 1622, // textureGather_00v20B
+ 1623, // fract_10B
+ 1625, // fract_10C
+ 1626, // textureGatherOffset_00O10B10D00D
+ 1627, // textureQueryLod_00K20B
+ 1628, // textureLodOffset_00I10B00B10D
+ 1630, // imageAtomicCompSwap_01S10D00D00E00E
+ 1631, // imageAtomicXor_01c20D00E
+ 1632, // imageAtomicXor_01c20D00D
+ 1633, // textureOffset_00U20B10D
+ 1635, // min_30B00B
+ 1637, // atomicAnd_00D00D
+ 1639, // exp_10B
+ 1641, // bitCount_30E
+ 1643, // bitCount_30D
+ 1645, // unpackUnorm2x16_00E
+ 1647, // sqrt_20B
+ 1649, // sqrt_20C
+ 1650, // textureGrad_00L20B10B10B
+ 1652, // interpolateAtCentroid_00B
+ 1653, // textureSize_00o00D
+ 1654, // gl_MaxImageUnits
+ 1656, // textureProjGrad_00o30B00B00B
+ 1657, // imageAtomicOr_01Q10D00D
+ 1658, // packUnorm4x8_30B
+ 1660, // imageAtomicMax_01Q10D00E
+ 1661, // texelFetch_00P10D00D
+ 1664, // imageAtomicCompSwap_01i00D00D00D
+ 1665, // textureGatherOffsets_00d10B00B10Dx4
+ 1668, // texture_00O10B
+ 1670, // imageAtomicMin_01M00D00D
+ 1671, // imageAtomicMin_01M00D00E
+ 1672, // texture_00e30B00B
+ 1674, // imageAtomicMin_01O10D00E
+ 1675, // imageAtomicMin_01O10D00D
+ 1676, // gl_FragCoord
+ 1678, // imageAtomicMax_01Q10D00D
+ 1679, // imageAtomicMax_01X10D00D
+ 1680, // textureGrad_00u10B00B00B
+ 1681, // fwidthFine_20B
+ 1682, // textureQueryLod_00o00B
+ 1683, // imageAtomicAnd_01E20D00E
+ 1684, // imageAtomicAnd_01E20D00D
+ 1685, // normalize_00B
+ 1687, // normalize_00C
+ 1688, // clamp_10C00C00C
+ 1689, // imageAtomicOr_01A10D00E
+ 1690, // imageAtomicOr_01A10D00D
+ 1691, // imageAtomicCompSwap_01Q10D00E00E
+ 1692, // atomicMax_00D00D
+ 1694, // textureProjGrad_00m30B00B00B
+ 1695, // imageAtomicAnd_01R10D00D00E
+ 1696, // floatBitsToUint_10B
+ 1698, // textureLod_00J20B00B
+ 1700, // textureGrad_00O10B10B10B
+ 1701, // dFdyFine_20B
+ 1702, // imageLoad_01W20D00D
+ 1703, // textureSize_00I00D
+ 1705, // gl_MaxComputeWorkGroupSize
+ 1707, // texelFetchOffset_00R10D00D10D
+ 1709, // dFdxFine_10B
+ 1710, // imageAtomicExchange_01D20D00D
+ 1711, // textureLodOffset_00X10B00B10D
+ 1713, // texture_00T20B00B
+ 1715, // log_30B
+ 1717, // notEqual_20F20F
+ 1719, // allInvocationsEqual_00F
+ 1720, // imageAtomicMax_01K20D00D
+ 1721, // imageAtomicMax_01K20D00E
+ 1722, // dFdyCoarse_30B
+ 1723, // textureProjLod_00R20B00B
+ 1725, // notEqual_30D30D
+ 1727, // fwidthCoarse_30B
+ 1728, // textureProjOffset_00I20B10D
+ 1730, // textureQueryLevels_00l
+ 1731, // textureQueryLevels_00m
+ 1732, // textureQueryLevels_00o
+ 1733, // textureQueryLevels_00h
+ 1734, // textureQueryLevels_00i
+ 1735, // textureQueryLevels_00k
+ 1736, // textureQueryLevels_00d
+ 1737, // textureQueryLevels_00e
+ 1738, // textureQueryLevels_00f
+ 1739, // textureQueryLevels_00g
+ 1740, // gl_MaxDrawBuffers
+ 1742, // textureQueryLevels_00a
+ 1743, // atomicCounterMin_00G00E
+ 1744, // textureGradOffset_00u10B00B00B00D
+ 1745, // gl_MaxCombinedTextureImageUnits
+ 1747, // textureQueryLevels_00x
+ 1748, // textureQueryLevels_00t
+ 1749, // textureQueryLevels_00u
+ 1750, // imageAtomicMin_01K20D00D
+ 1751, // imulExtended_20D20D20D20D
+ 1753, // any_30F
+ 1755, // distance_30B30B
+ 1757, // textureQueryLevels_00s
+ 1758, // textureQueryLevels_00L
+ 1759, // textureQueryLevels_00I
+ 1760, // textureQueryLevels_00J
+ 1761, // textureQueryLevels_00K
+ 1762, // imageAtomicExchange_01L00D00D
+ 1763, // texture3D_00J20B00B
+ 1765, // texture1DLod_00g00B00B
+ 1766, // textureQueryLevels_00X
+ 1767, // textureQueryLevels_00Y
+ 1768, // textureQueryLevels_00Z
+ 1769, // dot_30B30B
+ 1771, // textureQueryLevels_00T
+ 1772, // textureQueryLevels_00U
+ 1773, // textureQueryLevels_00R
+ 1774, // textureQueryLevels_00S
+ 1775, // gl_MaxTextureImageUnits
+ 1777, // usubBorrow_20E20E20E
+ 1779, // textureProj_00t30B00B
+ 1780, // shadow1DProj_00m30B00B
+ 1781, // clamp_30B00B00B
+ 1783, // textureGatherOffsets_00O10B10Dx4
+ 1784, // texture2DRectProj_00O30B
+ 1785, // max_10D00D
+ 1787, // textureGradOffset_00n20B10B10B10D
+ 1788, // clamp_00D00D00D
+ 1790, // floor_30B
+ 1792, // floor_30C
+ 1793, // imageStore_01P10D30D
+ 1794, // textureProjGradOffset_00S30B20B20B20D
+ 1796, // reflect_30C30C
+ 1797, // gl_PointCoord
+ 1799, // imageAtomicOr_01D20D00E
+ 1800, // textureGatherOffset_00v10B10D
+ 1801, // imageAtomicOr_01D20D00D
+ 1802, // imageStore_01F20D30B
+ 1804, // packDouble2x32_10E
+ 1805, // clamp_10B00B00B
+ 1807, // texelFetchOffset_00S20D00D20D
+ 1809, // lessThan_10D10D
+ 1811, // textureSize_00g00D
+ 1812, // textureGatherOffset_00U20B10D00D
+ 1814, // textureGatherOffset_00q10B10D00D
+ 1815, // textureGather_00I10B00D
+ 1817, // texture1DProjLod_00g30B00B
+ 1818, // texelFetch_00V10D00D
+ 1821, // imageAtomicExchange_01h00D00E
+ 1822, // imageAtomicExchange_01h00D00D
+ 1823, // atan_30B30B
+ 1825, // imageAtomicExchange_01h00D00B
+ 1826, // imageAtomicMax_01a20D00D
+ 1827, // imageAtomicMax_01a20D00E
+ 1828, // textureProjLod_00g30B00B
+ 1829, // max_00B00B
+ 1831, // imageAtomicOr_01J20D00E
+ 1832, // imageAtomicOr_01J20D00D
+ 1833, // imageAtomicMax_01F20D00E
+ 1834, // imageAtomicMax_01F20D00D
+ 1835, // exp2_20B
+ 1837, // smoothstep_30C30C30C
+ 1838, // imageAtomicExchange_00z10D00B
+ 1839, // imageAtomicExchange_00z10D00E
+ 1840, // imageAtomicExchange_00z10D00D
+ 1841, // textureProj_00q20B
+ 1842, // textureProjLod_00t10B00B
+ 1843, // imageAtomicMin_01c20D00D
+ 1844, // imageAtomicMin_01c20D00E
+ 1845, // textureSize_00k00D
+ 1847, // reflect_20B20B
+ 1849, // imageAtomicXor_01V20D00D00E
+ 1850, // imageAtomicXor_01V20D00D00D
+ 1851, // equal_10F10F
+ 1853, // acos_30B
+ 1855, // textureVideoWEBGL_00y10B
+ 1857, // dFdx_10B
+ 1860, // bitfieldReverse_30E
+ 1862, // bitfieldReverse_30D
+ 1864, // imageAtomicOr_01Z10D00D
+ 1865, // imageAtomicOr_01Z10D00E
+ 1866, // texture1DProj_00g30B
+ 1867, // textureGatherOffsets_00v10B10Dx400D
+ 1868, // fract_00C
+ 1869, // fract_00B
+ 1871, // min_30E00E
+ 1873, // gl_MinProgramTexelOffset
+ 1875, // imageAtomicOr_01Q10D00E
+ 1876, // interpolateAtOffset_20B10B
+ 1877, // imageAtomicOr_01c20D00D
+ 1878, // imageAtomicOr_01c20D00E
+ 1879, // reflect_30B30B
+ 1881, // interpolateAtCentroid_30B
+ 1882, // textureGather_00s30B
+ 1884, // imageAtomicXor_01X10D00E
+ 1885, // imageAtomicXor_01X10D00D
+ 1886, // memoryBarrier_
+ 1888, // texture1D_00g00B00B
+ 1889, // pow_00B00B
+ 1891, // mod_00B00B
+ 1893, // faceforward_30C30C30C
+ 1894, // imageAtomicExchange_01K20D00D
+ 1895, // roundEven_10B
+ 1897, // roundEven_10C
+ 1898, // atanh_30B
+ 1900, // textureLod_00K20B00B
+ 1902, // bitCount_20D
+ 1904, // bitCount_20E
+ 1906, // texelFetch_00L20D00D
+ 1908, // dFdxFine_00B
+ 1909, // imageAtomicAnd_01K20D00E
+ 1910, // distance_20B20B
+ 1912, // textureGradOffset_00q10B10B10B10D
+ 1913, // uaddCarry_30E30E30E
+ 1915, // textureSize_00U00D
+ 1917, // textureProjOffset_00o10B00D00B
+ 1918, // gl_MaxCombinedImageUniforms
+ 1920, // atomicCounterXor_00G00E
+ 1921, // imageAtomicOr_01g00D00D
+ 1922, // imageAtomicOr_01g00D00E
+ 1923, // gl_GlobalInvocationID
+ 1925, // gl_LocalInvocationIndex
+ 1927, // gl_VertexID
+ 1929, // imageAtomicMin_01L00D00E
+ 1930, // smoothstep_20C20C20C
+ 1931, // imageAtomicCompSwap_01U20D00D00D00D
+ 1932, // atomicOr_00E00E
+ 1934, // mix_10B10B10F
+ 1936, // reflect_10C10C
+ 1937, // mix_10B10B10B
+ 1939, // textureProj_00Y30B00B
+ 1941, // imageAtomicMax_01I20D00D
+ 1942, // imageAtomicMax_01I20D00E
+ 1943, // frexp_20B20D
+ 1945, // textureGatherOffset_00I10B10D00D
+ 1947, // notEqual_20E20E
+ 1949, // textureLodOffset_00d20B00B10D
+ 1951, // inverse_A0B
+ 1953, // textureProjGrad_00X20B10B10B
+ 1955, // imageLoad_01J20D
+ 1957, // textureSize_00Y00D
+ 1959, // atan_20B20B
+ 1961, // usubBorrow_00E00E00E
+ 1963, // imageAtomicXor_01M00D00E
+ 1964, // textureGatherOffsets_00L20B10Dx400D
+ 1967, // dFdyFine_30B
+ 1968, // textureQueryLod_00s20B
+ 1969, // texture_00v10B
+ 1970, // textureGatherOffsets_00U20B10Dx4
+ 1973, // subpassLoad_01n00D
+ 1974, // imageAtomicCompSwap_01c20D00E00E
+ 1975, // textureProjLodOffset_00g10B00B00D
+ 1976, // step_10C10C
+ 1977, // textureQueryLod_00x20B
+ 1978, // fma_10B10B10B
+ 1981, // smoothstep_00B00B10B
+ 1983, // imageAtomicCompSwap_01a20D00D00D
+ 1984, // imageSize_01N
+ 1985, // textureLod_00u10B00B
+ 1986, // textureProjGradOffset_00m30B00B00B00D
+ 1987, // fwidthCoarse_00B
+ 1988, // dFdyCoarse_20B
+ 1989, // textureProjGradOffset_00o30B00B00B00D
+ 1990, // imageStore_01b20D30D
+ 1992, // textureProj_00g30B00B
+ 1993, // bitfieldExtract_00E00D00D
+ 1995, // distance_30C30C
+ 1996, // any_20F
+ 1998, // gl_HelperInvocation
+ 2000, // textureLod_00g00B00B
+ 2001, // sin_10B
+ 2003, // gl_MaxClipDistances
+ 2004, // textureSize_00N00D
+ 2005, // mod_20B20B
+ 2007, // imageAtomicOr_01h00D00E
+ 2008, // imageAtomicOr_01h00D00D
+ 2009, // textureGrad_00k30B20B20B
+ 2011, // textureProjOffset_00o10B00D
+ 2012, // imageAtomicMin_01A10D00E
+ 2013, // imageAtomicMin_01A10D00D
+ 2014, // textureGradOffset_00f30B10B10B10D
+ 2016, // max_20D20D
+ 2018, // max_10D10D
+ 2020, // textureGradOffset_00t00B00B00B00D
+ 2021, // refract_30B30B00B
+ 2023, // floor_20C
+ 2024, // floor_20B
+ 2026, // texelFetchOffset_00t00D00D00D
+ 2027, // imageAtomicOr_01a20D00E
+ 2028, // matrixCompMult_F0BF0B
+ 2030, // umulExtended_10E10E10E10E
+ 2032, // texture_00d20B00B
+ 2034, // gl_MaxCombinedAtomicCounterBuffers
+ 2036, // umulExtended_30E30E30E30E
+ 2038, // textureGradOffset_00Y20B20B20B20D
+ 2040, // textureGatherOffset_00a20B10D
+ 2042, // textureGrad_00f30B10B10B
+ 2044, // atomicCounterSubtract_00G00E
+ 2045, // imageAtomicXor_01C20D00E
+ 2046, // modf_20B20B
+ 2048, // imageAtomicAnd_01Y10D00D
+ 2049, // imageAtomicAnd_01Y10D00E
+ 2050, // imageAtomicAdd_01i00D00E
+ 2051, // imageAtomicAdd_01i00D00D
+ 2052, // noise1_00B
+ 2053, // imageLoad_01M00D
+ 2054, // imageAtomicCompSwap_01L00D00E00E
+ 2055, // texture_00y10B
+ 2057, // length_30C
+ 2058, // length_30B
+ 2060, // imageStore_01B10D30E
+ 2062, // mod_30B30B
+ 2064, // mix_10C10C10F
+ 2065, // imageAtomicMin_00z10D00E
+ 2066, // imageAtomicMin_00z10D00D
+ 2067, // imageStore_01I20D30B
+ 2069, // exp2_30B
+ 2071, // allInvocations_00F
+ 2072, // max_20C00C
+ 2073, // texture3DProj_00J30B00B
+ 2075, // imageAtomicAdd_01K20D00E
+ 2076, // imageAtomicAdd_01K20D00D
+ 2077, // textureProjLod_00X30B00B
+ 2079, // textureProjGradOffset_00I30B10B10B10D
+ 2081, // imageAtomicAdd_01W20D00D00D
+ 2082, // cosh_30B
+ 2084, // textureProj_00q30B
+ 2085, // textureOffset_00S20B20D00B
+ 2087, // usubBorrow_30E30E30E
+ 2089, // imageAtomicMax_01W20D00D00E
+ 2090, // imageAtomicMax_01W20D00D00D
+ 2091, // textureProjOffset_00R20B10D00B
+ 2093, // imageSize_01H
+ 2095, // textureOffset_00i20B00D00B
+ 2096, // texture3DProj_00J30B
+ 2098, // matrixCompMult_B0BB0B
+ 2099, // lessThan_30B30B
+ 2101, // cross_20B20B
+ 2103, // imageSize_01O
+ 2104, // textureGrad_00q10B10B10B
+ 2105, // clamp_20B00B00B
+ 2107, // dFdx_00B
+ 2110, // findLSB_00D
+ 2112, // textureProjLodOffset_00o30B00B00D
+ 2113, // imageAtomicXor_01i00D00E
+ 2114, // textureProj_00R20B00B
+ 2116, // acos_20B
+ 2118, // texelFetch_00r00D
+ 2119, // max_20B20B
+ 2121, // lessThan_20E20E
+ 2123, // textureLod_00X10B00B
+ 2125, // equal_30F30F
+ 2127, // sign_00C
+ 2128, // cosh_00B
+ 2130, // bitfieldExtract_00D00D00D
+ 2132, // imageAtomicMin_01E20D00D
+ 2133, // imageAtomicMin_01E20D00E
+ 2134, // textureLod_00Z20B00B
+ 2136, // sign_00D
+ 2138, // textureOffset_00Y20B20D
+ 2140, // imageAtomicXor_01Q10D00D
+ 2141, // imageAtomicXor_01Q10D00E
+ 2142, // transpose_60B
+ 2144, // imageStore_01G20D30D
+ 2146, // imageAtomicAdd_01O10D00D
+ 2147, // imageAtomicAdd_01O10D00E
+ 2148, // faceforward_00B00B00B
+ 2150, // imageLoad_01Z10D
+ 2151, // imageAtomicOr_01O10D00E
+ 2152, // imageAtomicOr_01O10D00D
+ 2153, // imageAtomicAdd_01b20D00D
+ 2154, // interpolateAtCentroid_20B
+ 2155, // textureProjLodOffset_00R30B00B10D
+ 2157, // textureGrad_00h10B00B00B
+ 2158, // imageAtomicExchange_01U20D00D00B
+ 2159, // texture1DProj_00g30B00B
+ 2160, // textureQueryLod_00h00B
+ 2161, // imageAtomicExchange_01U20D00D00E
+ 2162, // modf_00C00C
+ 2163, // textureProjLod_00t30B00B
+ 2164, // textureOffset_00o00B00D
+ 2165, // imageAtomicExchange_01U20D00D00D
+ 2166, // imageStore_01H20D30E
+ 2168, // textureGather_00U20B
+ 2170, // texelFetch_00Q20D00D
+ 2172, // roundEven_00C
+ 2173, // roundEven_00B
+ 2175, // texelFetchOffset_00O10D10D
+ 2176, // atanh_20B
+ 2178, // clamp_10E00E00E
+ 2180, // dFdxFine_30B
+ 2181, // imageAtomicAdd_01L00D00E
+ 2182, // textureQueryLod_00J20B
+ 2183, // textureProjOffset_00X30B10D
+ 2185, // gl_MaxFragmentUniformVectors
+ 2187, // texture2DProjLod_00I30B00B
+ 2189, // interpolateAtOffset_10B10B
+ 2190, // max_10C10C
+ 2191, // texelFetch_00g00D00D
+ 2192, // abs_30B
+ 2194, // bitfieldInsert_10E10E00D00D
+ 2196, // packSnorm4x8_30B
+ 2198, // mix_10B10B00B
+ 2200, // imageSize_01b
+ 2202, // clamp_30D30D30D
+ 2204, // textureGatherOffsets_00L20B10Dx4
+ 2207, // imageAtomicMax_01c20D00E
+ 2208, // mod_10C00C
+ 2209, // imageAtomicMax_01G20D00D
+ 2210, // imageAtomicMax_01G20D00E
+ 2211, // determinant_F0B
+ 2212, // transpose_A0B
+ 2214, // pow_20B20B
+ 2216, // imageSize_01g
+ 2217, // imageAtomicMax_01B10D00D
+ 2218, // imageAtomicMax_01B10D00E
+ 2219, // imageAtomicExchange_01G20D00B
+ 2220, // imageSize_01e
+ 2221, // imageAtomicExchange_01G20D00D
+ 2222, // imageAtomicExchange_01G20D00E
+ 2223, // imageLoad_01Y10D
+ 2224, // imageAtomicMax_01g00D00D
+ 2225, // imageAtomicMax_01g00D00E
+ 2226, // textureProj_00v30B
+ 2227, // textureProjGrad_00O20B10B10B
+ 2228, // texture_00s30B00B
+ 2229, // log2_20B
+ 2231, // dot_30C30C
+ 2232, // fwidthCoarse_10B
+ 2233, // textureProjOffset_00I20B10D00B
+ 2235, // imageAtomicAnd_01T10D00D00D
+ 2236, // imageAtomicAnd_01T10D00D00E
+ 2237, // notEqual_10F10F
+ 2239, // smoothstep_00B00B00B
+ 2241, // textureProjLodOffset_00d30B00B10D
+ 2243, // imageAtomicAnd_01P10D00E
+ 2244, // imageAtomicAnd_01P10D00D
+ 2245, // textureProjLodOffset_00I30B00B10D
+ 2247, // gl_MaxCombinedAtomicCounters
+ 2249, // bitfieldInsert_10D10D00D00D
+ 2251, // imageAtomicCompSwap_01N00D00D00D
+ 2252, // imageAtomicCompSwap_01L00D00D00D
+ 2253, // textureGather_00k30B
+ 2255, // texture_00J20B
+ 2257, // lessThanEqual_10D10D
+ 2259, // textureProjOffset_00o30B00D00B
+ 2260, // gl_MaxVaryingVectors
+ 2262, // textureSize_00d00D
+ 2264, // sin_00B
+ 2266, // uaddCarry_10E10E10E
+ 2268, // mix_10C10C00C
+ 2269, // atomicCounterIncrement_00G
+ 2271, // imageAtomicAdd_01J20D00D
+ 2272, // imageAtomicAdd_01J20D00E
+ 2273, // imageAtomicCompSwap_01S10D00D00D00D
+ 2274, // imageStore_01Q10D30E
+ 2275, // textureProj_00o10B00B
+ 2276, // imageAtomicAdd_01U20D00D00D
+ 2277, // imageAtomicAdd_01U20D00D00E
+ 2278, // textureProjOffset_00m30B00D
+ 2279, // imageAtomicExchange_01Y10D00B
+ 2280, // equal_10E10E
+ 2282, // imageAtomicExchange_01Y10D00E
+ 2283, // imageAtomicExchange_01Y10D00D
+ 2284, // imageAtomicExchange_01O10D00B
+ 2285, // imageAtomicExchange_01O10D00E
+ 2286, // textureProjOffset_00J30B20D
+ 2288, // imageSize_01W
+ 2289, // imageAtomicXor_01D20D00E
+ 2290, // notEqual_10E10E
+ 2292, // min_10C10C
+ 2293, // textureProjGrad_00t10B00B00B
+ 2294, // imageAtomicExchange_01N00D00B
+ 2295, // textureGather_00q20B00D
+ 2296, // imageAtomicExchange_01N00D00E
+ 2297, // imageAtomicExchange_01N00D00D
+ 2298, // textureGatherOffsets_00q10B10Dx400D
+ 2299, // imageAtomicCompSwap_01O10D00D00D
+ 2300, // shadow1DProjLod_00m30B00B
+ 2301, // imageAtomicMin_01i00D00D
+ 2302, // texture_00u20B00B
+ 2303, // textureLodOffset_00R10B00B10D
+ 2305, // trunc_10B
+ 2307, // trunc_10C
+ 2308, // imageAtomicAdd_01S10D00D00D
+ 2309, // texelFetch_00u10D00D
+ 2310, // dot_20C20C
+ 2311, // gl_DepthRangeParameters
+ 2313, // noise4_30B
+ 2314, // textureGather_00f20B
+ 2315, // noise1_10B
+ 2316, // textureProjGrad_00g30B00B00B
+ 2317, // shadow2DProj_00d30B
+ 2318, // textureProj_00d30B00B
+ 2320, // sign_10B
+ 2322, // max_00E00E
+ 2324, // texture_00a20B00B
+ 2326, // textureProj_00o10B
+ 2327, // refract_20C20C00B
+ 2328, // textureProj_00M20B00B
+ 2329, // imageLoad_01A10D
+ 2331, // textureProjOffset_00X30B10D00B
+ 2333, // exp2_00B
+ 2335, // imageAtomicExchange_01H20D00B
+ 2336, // texelFetchOffset_00u10D00D00D
+ 2337, // imageAtomicCompSwap_01H20D00E00E
+ 2338, // imageAtomicExchange_01H20D00E
+ 2339, // imageAtomicExchange_01H20D00D
+ 2340, // textureGatherOffset_00q10B10D
+ 2341, // textureGather_00a20B00D
+ 2343, // imageStore_01S10D00D30D
+ 2344, // ldexp_00C00D
+ 2345, // textureSize_00s00D
+ 2347, // imageAtomicXor_01P10D00E
+ 2348, // imageAtomicOr_01I20D00D
+ 2349, // texture_00N10B00B
+ 2350, // gl_PrimitiveID
+ 2352, // imageAtomicCompSwap_01Y10D00D00D
+ 2353, // textureProjGrad_00I30B10B10B
+ 2355, // gl_Layer
+ 2357, // textureOffset_00d20B10D
+ 2359, // dFdx_30B
+ 2362, // textureGatherOffsets_00U20B10Dx400D
+ 2365, // imageAtomicMin_01V20D00D00D
+ 2366, // imageAtomicMin_01V20D00D00E
+ 2367, // gl_LastFragColor
+ 2368, // textureProjGradOffset_00t30B00B00B00D
+ 2369, // min_20E20E
+ 2371, // asin_20B
+ 2373, // imageAtomicCompSwap_01U20D00D00E00E
+ 2374, // texture_00l30B00B
+ 2376, // texture1DProjLod_00g10B00B
+ 2377, // fwidth_10B
+ 2380, // dFdy_00B
+ 2383, // shadow2DLod_00d20B00B
+ 2384, // texture1DProj_00g10B
+ 2385, // lessThan_30E30E
+ 2387, // imulExtended_30D30D30D30D
+ 2389, // transpose_70B
+ 2391, // imulExtended_00D00D00D00D
+ 2393, // imageAtomicAdd_01F20D00D
+ 2394, // imageAtomicAdd_01F20D00E
+ 2395, // texture_00S20B00B
+ 2397, // textureLod_00Y20B00B
+ 2399, // imageAtomicExchange_01c20D00D
+ 2400, // faceforward_10C10C10C
+ 2401, // imageStore_01Z10D30E
+ 2402, // textureQueryLod_00u00B
+ 2403, // imageAtomicExchange_01c20D00B
+ 2404, // min_20D00D
+ 2406, // imageAtomicCompSwap_01P10D00D00D
+ 2407, // uintBitsToFloat_00E
+ 2409, // dFdxFine_20B
+ 2410, // imageAtomicMin_01L00D00D
+ 2411, // imageAtomicExchange_01g00D00D
+ 2412, // bitfieldInsert_20D20D00D00D
+ 2414, // mix_30B30B00B
+ 2416, // textureQueryLod_00U10B
+ 2417, // tanh_00B
+ 2419, // subpassLoad_01o00D
+ 2420, // imageAtomicMax_01N00D00E
+ 2421, // imageAtomicMax_01N00D00D
+ 2422, // max_10C00C
+ 2423, // matrixCompMult_D0BD0B
+ 2424, // imageAtomicXor_01M00D00D
+ 2425, // imageAtomicAnd_01X10D00E
+ 2426, // shadow2DProjLod_00d30B00B
+ 2427, // imageAtomicAnd_01X10D00D
+ 2428, // min_30B30B
+ 2430, // reflect_20C20C
+ 2431, // texelFetch_00h10D00D
+ 2432, // memoryBarrierAtomicCounter_
+ 2434, // bitfieldInsert_00E00E00D00D
+ 2436, // imageAtomicAdd_01b20D00E
+ 2437, // imageAtomicMin_01a20D00E
+ 2438, // textureGrad_00d20B10B10B
+ 2440, // atan_10B
+ 2442, // imageAtomicCompSwap_01g00D00D00D
+ 2443, // clamp_30C30C30C
+ 2444, // textureProj_00v20B
+ 2445, // step_00B10B
+ 2447, // textureProjLod_00I20B00B
+ 2449, // rgb_2_yuv_20B00H
+ 2450, // imageLoad_01P10D
+ 2451, // texture_00T20B
+ 2453, // log2_10B
+ 2455, // imageAtomicAnd_01D20D00D
+ 2456, // imageAtomicAnd_01D20D00E
+ 2457, // findLSB_20E
+ 2459, // findLSB_20D
+ 2461, // imageAtomicCompSwap_01B10D00D00D
+ 2462, // imageAtomicOr_01X10D00D
+ 2463, // imageAtomicOr_01X10D00E
+ 2464, // noise2_30B
+ 2465, // imageAtomicOr_01U20D00D00E
+ 2466, // greaterThanEqual_10B10B
+ 2468, // clamp_10D10D10D
+ 2470, // texelFetch_00M10D00D
+ 2471, // textureQueryLod_00Y20B
+ 2472, // transpose_F0B
+ 2474, // textureOffset_00Y20B20D00B
+ 2476, // textureGradOffset_00S20B20B20B20D
+ 2478, // imageAtomicOr_01U20D00D00D
+ 2479, // clamp_30E30E30E
+ 2481, // textureSize_00R00D
+ 2483, // acosh_10B
+ 2485, // imageLoad_01b20D
+ 2487, // imageAtomicCompSwap_01Z10D00E00E
+ 2488, // textureOffset_00L20B10D00B
+ 2490, // mod_20B00B
+ 2492, // imageLoad_01U20D00D
+ 2493, // textureProjLod_00J30B00B
+ 2495, // subpassLoad_01k
+ 2496, // transpose_90B
+ 2498, // mix_30C30C00C
+ 2499, // subpassLoad_01l
+ 2500, // atomicAnd_00E00E
+ 2502, // max_20D00D
+ 2504, // texelFetchOffset_00I10D00D10D
+ 2506, // imageAtomicMin_01Z10D00D
+ 2507, // imageAtomicMin_01Z10D00E
+ 2508, // imageAtomicCompSwap_01i00D00E00E
+ 2509, // imageAtomicCompSwap_01K20D00D00D
+ 2510, // textureQueryLod_00L10B
+ 2511, // imageStore_01J20D30D
+ 2513, // atomicCounter_00G
+ 2515, // textureGrad_00m20B00B00B
+ 2516, // noise3_20B
+ 2517, // bitfieldInsert_30D30D00D00D
+ 2519, // min_10C00C
+ 2520, // greaterThan_10D10D
+ 2522, // bitfieldExtract_10E00D00D
+ 2524, // textureGradOffset_00h10B00B00B00D
+ 2525, // imageAtomicMax_01V20D00D00D
+ 2526, // texture2D_00I10B00B
+ 2528, // greaterThan_20D20D
+ 2530, // imageAtomicAnd_01W20D00D00D
+ 2531, // imageAtomicAnd_01W20D00D00E
+ 2532, // textureProjLodOffset_00t10B00B00D
+ 2533, // textureProjOffset_00O20B10D
+ 2534, // trunc_00B
+ 2536, // length_10C
+ 2537, // length_10B
+ 2539, // imageLoad_01R10D00D
+ 2540, // imageAtomicAdd_01H20D00D
+ 2541, // imageAtomicAdd_01H20D00E
+ 2542, // subpassLoad_01j
+ 2543, // dot_00B00B
+ 2545, // tan_30B
+ 2547, // textureLod_00T20B00B
+ 2549, // textureProjGrad_00R30B10B10B
+ 2551, // exp2_10B
+ 2553, // textureProjOffset_00X20B10D00B
+ 2555, // textureProjGradOffset_00X30B10B10B10D
+ 2557, // imageAtomicAnd_01B10D00D
+ 2558, // imageStore_01U20D00D30B
+ 2559, // matrixCompMult_A0BA0B
+ 2561, // textureGrad_00S20B20B20B
+ 2563, // round_30B
+ 2565, // round_30C
+ 2566, // anyInvocation_00F
+ 2567, // textureGrad_00x30B20B20B
+ 2569, // imageAtomicCompSwap_01D20D00E00E
+ 2570, // textureProjLod_00o30B00B
+ 2571, // smoothstep_00C00C10C
+ 2572, // interpolateAtSample_00B00D
+ 2573, // dFdx_20B
+ 2576, // texture_00L20B
+ 2578, // barrier_
+ 2580, // imageAtomicOr_01N00D00E
+ 2581, // imageAtomicOr_01N00D00D
+ 2582, // imageAtomicAdd_01a20D00D
+ 2583, // textureGather_00k30B00D
+ 2585, // findMSB_20D
+ 2587, // textureGatherOffset_00L20B10D
+ 2589, // imageAtomicMin_01S10D00D00D
+ 2590, // imageAtomicMin_01S10D00D00E
+ 2591, // textureProjOffset_00S30B20D00B
+ 2593, // imageAtomicAdd_01D20D00D
+ 2594, // normalize_10C
+ 2595, // unpackSnorm4x8_00E
+ 2597, // imageLoad_01C20D
+ 2599, // imageAtomicMax_01C20D00D
+ 2600, // imageAtomicMax_01C20D00E
+ 2601, // textureGather_00l30B00B
+ 2603, // normalize_10B
+ 2605, // asin_30B
+ 2607, // isnan_20B
+ 2609, // isnan_20C
+ 2610, // fwidth_00B
+ 2613, // dFdy_10B
+ 2616, // imageAtomicAdd_01P10D00E
+ 2617, // imageAtomicAdd_01P10D00D
+ 2618, // max_30E00E
+ 2620, // textureLod_00d20B00B
+ 2622, // textureOffset_00q10B10D
+ 2623, // imageAtomicAdd_01c20D00E
+ 2624, // imageAtomicAdd_01c20D00D
+ 2625, // mod_10B00B
+ 2627, // texture_00g00B00B
+ 2628, // uintBitsToFloat_10E
+ 2630, // textureProjOffset_00t30B00D
+ 2631, // matrixCompMult_70B70B
+ 2632, // imageAtomicAdd_01I20D00D
+ 2633, // imageAtomicMax_01M00D00D
+ 2634, // imageAtomicMax_01M00D00E
+ 2635, // textureLod_00k30B00B
+ 2637, // imageAtomicAdd_01E20D00D
+ 2638, // textureLodOffset_00Y20B00B20D
+ 2640, // refract_00C00C00B
+ 2641, // log2_00B
+ 2643, // tanh_10B
+ 2645, // imageAtomicMin_01I20D00E
+ 2646, // textureLod_00h10B00B
+ 2647, // textureGather_00O20B00D
+ 2648, // gl_LocalInvocationID
+ 2650, // clamp_00B00B00B
+ 2652, // textureGather_00d10B
+ 2653, // gl_MaxGeometryAtomicCounterBuffers
+ 2654, // textureOffset_00p10B00D00B
+ 2655, // clamp_10C10C10C
+ 2656, // imageAtomicXor_01B10D00D
+ 2657, // outerProduct_20B10B
+ 2659, // textureProjOffset_00t10B00D
+ 2660, // isinf_20C
+ 2661, // textureGrad_00e30B20B20B
+ 2663, // textureSize_00J00D
+ 2665, // textureQueryLod_00Z20B
+ 2666, // dot_10C10C
+ 2667, // imageAtomicXor_01K20D00E
+ 2668, // imageAtomicXor_01K20D00D
+ 2669, // textureProjGrad_00n30B10B10B
+ 2670, // imageAtomicMin_01U20D00D00E
+ 2671, // imageAtomicMin_01U20D00D00D
+ 2672, // imageAtomicAdd_01Q10D00D
+ 2673, // texture2DProjLodEXT_00I30B00B
+ 2674, // imageAtomicXor_01T10D00D00D
+ 2675, // imageAtomicXor_01T10D00D00E
+ 2676, // imageAtomicAnd_01b20D00D
+ 2677, // step_00B00B
+ 2679, // texture2DLodEXT_00I10B00B
+ 2680, // texture_00K20B00B
+ 2682, // textureProjGradOffset_00n30B10B10B10D
+ 2683, // textureGrad_00J20B20B20B
+ 2685, // imageAtomicCompSwap_01V20D00D00E00E
+ 2686, // textureOffset_00U20B10D00B
+ 2688, // intBitsToFloat_10D
+ 2690, // min_20C20C
+ 2691, // findLSB_10D
+ 2693, // textureProjLodOffset_00Y30B00B20D
+ 2695, // imageAtomicMax_01h00D00E
+ 2696, // texture3D_00J20B
+ 2698, // gl_SecondaryFragDataEXT
+ 2699, // imageAtomicAdd_01X10D00E
+ 2700, // faceforward_20C20C20C
+ 2701, // imageAtomicAnd_01O10D00E
+ 2702, // imageAtomicAdd_01X10D00D
+ 2703, // imageAtomicXor_01W20D00D00D
+ 2704, // imageAtomicXor_01W20D00D00E
+ 2705, // textureGather_00n10B00B
+ 2706, // imageAtomicXor_01Z10D00E
+ 2707, // imageAtomicXor_01Z10D00D
+ 2708, // textureGather_00X10B00D
+ 2710, // imageAtomicMax_01L00D00E
+ 2711, // imageAtomicMax_01L00D00D
+ 2712, // imageAtomicXor_01G20D00E
+ 2713, // imageAtomicXor_01G20D00D
+ 2714, // textureOffset_00a20B10D
+ 2716, // imageAtomicExchange_01X10D00B
+ 2717, // textureGatherOffsets_00v10B10Dx4
+ 2718, // texture2DProj_00I30B00B
+ 2720, // textureQueryLod_00X10B
+ 2721, // imageAtomicAnd_01I20D00E
+ 2722, // textureCubeGradEXT_00K20B20B20B
+ 2723, // min_00B00B
+ 2725, // textureGradOffset_00o00B00B00B00D
+ 2726, // imageAtomicExchange_01Q10D00B
+ 2727, // mix_30C30C30F
+ 2728, // mix_30C30C30C
+ 2729, // gl_WorkGroupID
+ 2731, // degrees_00B
+ 2733, // imageAtomicMax_01J20D00E
+ 2734, // imageAtomicMax_01J20D00D
+ 2735, // imageAtomicMin_01D20D00D
+ 2736, // textureGatherOffsets_00R10B10Dx4
+ 2739, // atomicExchange_00D00D
+ 2741, // textureOffset_00m20B00D00B
+ 2742, // gl_MaxGeometryAtomicCounters
+ 2743, // textureOffset_00f30B10D
+ 2744, // imageStore_01c20D30E
+ 2746, // imageAtomicExchange_01a20D00D
+ 2747, // imageAtomicExchange_01a20D00E
+ 2748, // imageAtomicExchange_01a20D00B
+ 2749, // matrixCompMult_60B60B
+ 2750, // imageAtomicCompSwap_00z10D00D00D
+ 2751, // textureProj_00t30B
+ 2752, // textureProjGradOffset_00t10B00B00B00D
+ 2753, // unpackSnorm2x16_00E
+ 2755, // lessThan_30D30D
+ 2757, // atan_00B00B
+ 2759, // textureQueryLod_00S20B
+ 2760, // notEqual_10B10B
+ 2762, // imageLoad_01G20D
+ 2764, // trunc_30B
+ 2766, // trunc_30C
+ 2767, // length_00B
+ 2769, // length_00C
+ 2770, // imageAtomicAnd_01H20D00D
+ 2771, // imageAtomicAnd_01H20D00E
+ 2772, // textureProj_00X30B00B
+ 2774, // imageAtomicCompSwap_01C20D00E00E
+ 2775, // tan_00B
+ 2777, // min_20E00E
+ 2779, // textureLod_00x30B00B
+ 2781, // textureSize_00j
+ 2782, // textureSize_00n
+ 2783, // imageAtomicXor_01F20D00D
+ 2784, // textureSize_00c
+ 2786, // textureSize_00b
+ 2789, // min_20B20B
+ 2791, // textureSize_00q
+ 2792, // textureSize_00r
+ 2793, // textureSize_00w
+ 2794, // textureSize_00v
+ 2795, // bitfieldInsert_20E20E00D00D
+ 2797, // gl_MaxProgramTexelOffset
+ 2799, // textureSize_00O
+ 2800, // imageAtomicAnd_01a20D00E
+ 2801, // imageAtomicMin_01g00D00D
+ 2802, // trunc_00C
+ 2803, // imageAtomicAnd_01a20D00D
+ 2804, // textureSize_00Q
+ 2806, // textureSize_00P
+ 2809, // imageAtomicAdd_01M00D00E
+ 2810, // imageAtomicAdd_01M00D00D
+ 2811, // textureSize_00W
+ 2813, // textureProjLod_00X20B00B
+ 2815, // smoothstep_00C00C00C
+ 2816, // atomicCounterAnd_00G00E
+ 2817, // faceforward_30B30B30B
+ 2819, // distance_20C20C
+ 2820, // atomicCounterAdd_00G00E
+ 2821, // imageStore_01O10D30B
+ 2822, // texture_00X10B
+ 2824, // ceil_00C
+ 2825, // ceil_00B
+ 2827, // distance_00B00B
+ 2829, // texelFetch_00O10D
+ 2830, // imageAtomicExchange_01C20D00D
+ 2831, // imageAtomicExchange_01C20D00E
+ 2832, // textureGrad_00s30B20B20B
+ 2834, // textureGather_00I10B
+ 2836, // imageAtomicExchange_01C20D00B
+ 2837, // min_30D30D
+ 2839, // imageAtomicExchange_01Z10D00B
+ 2840, // findMSB_30E
+ 2842, // findMSB_30D
+ 2844, // textureGradOffset_00R10B10B10B10D
+ 2846, // fwidth_30B
+ 2849, // textureGrad_00K20B20B20B
+ 2851, // texelFetch_00S20D00D
+ 2853, // max_10B00B
+ 2855, // textureProjGradOffset_00R30B10B10B10D
+ 2857, // texelFetchOffset_00L20D00D10D
+ 2859, // isnan_30C
+ 2860, // transpose_50B
+ 2862, // greaterThanEqual_20D20D
+ 2864, // asinh_00B
+ 2866, // gl_PrimitiveIDIn
+ 2867, // textureGather_00Z20B
+ 2869, // textureGrad_00p10B00B00B
+ 2870, // textureProjOffset_00v30B10D
+ 2871, // greaterThan_20B20B
+ 2873, // min_20D20D
+ 2875, // texelFetchOffset_00g00D00D00D
+ 2876, // imageAtomicCompSwap_01g00D00E00E
+ 2877, // imageAtomicMin_01W20D00D00E
+ 2878, // imageAtomicMin_01W20D00D00D
+ 2879, // imageAtomicXor_01O10D00D
+ 2880, // imageAtomicXor_01O10D00E
+ 2881, // tanh_20B
+ 2883, // textureProj_00m30B00B
+ 2884, // sin_20B
+ 2886, // smoothstep_00C00C30C
+ 2887, // textureSize_00l00D
+ 2889, // textureLod_00o00B00B
+ 2890, // textureOffset_00I10B10D00B
+ 2892, // imageAtomicAnd_00z10D00D
+ 2893, // imageAtomicAnd_00z10D00E
+ 2894, // imageAtomicCompSwap_01W20D00D00D00D
+ 2895, // gl_MaxAtomicCounterBufferSize
+ 2897, // textureOffset_00J20B20D00B
+ 2899, // lessThanEqual_20E20E
+ 2901, // gl_BaseVertex
+ 2902, // textureOffset_00g00B00D
+ 2903, // textureProj_00g30B
+ 2904, // gl_MaxGeometryTotalOutputComponents
+ 2905, // bitfieldInsert_30E30E00D00D
+ 2907, // bitfieldExtract_20E00D00D
+ 2909, // uintBitsToFloat_20E
+ 2911, // unpackUnorm4x8_00E
+ 2913, // imageAtomicExchange_01K20D00E
+ 2914, // mod_10B10B
+ 2916, // imageAtomicExchange_01K20D00B
+ 2917, // imageAtomicAnd_01B10D00E
+ 2918, // imageAtomicXor_01i00D00D
+ 2919, // gl_MaxVertexImageUniforms
+ 2921, // equal_20D20D
+ 2923, // mix_10E10E10F
+ 2925, // textureGather_00R10B00D
+ 2927, // textureSize_00Z00D
+ 2929, // bitfieldExtract_30D00D00D
+ 2931, // imageAtomicXor_01J20D00D
+ 2932, // imageAtomicXor_01J20D00E
+ 2933, // intBitsToFloat_00D
+ 2935, // textureLodOffset_00m20B00B00D
+ 2936, // findLSB_00E
+ 2938, // texelFetch_00p10D00D
+ 2939, // textureGather_00d10B00B
+ 2941, // shadow2DProj_00d30B00B
+ 2942, // imageAtomicAdd_01T10D00D00D
+ 2943, // imageAtomicAdd_01T10D00D00E
+ 2944, // inversesqrt_10B
+ 2946, // inversesqrt_10C
+ 2947, // abs_30D
+ 2949, // transpose_D0B
+ 2951, // abs_30C
+ 2952, // textureProjGrad_00O30B10B10B
+ 2953, // Empty
+ 2953, // imageLoad_01E20D
+ 2955, // textureProj_00N20B00B
+ 2956, // gl_FragData
+ 2958, // dFdxCoarse_20B
+ 2959, // clamp_20E00E00E
+ 2961, // textureProj_00d30B
+ 2963, // gl_MaxVertexOutputVectors
+ 2965, // imageAtomicOr_01i00D00D
+ 2966, // imageAtomicOr_01i00D00E
+ 2967, // shadow1D_00m20B
+ 2968, // textureOffset_00u10B00D
+ 2969, // cosh_10B
+ 2971, // sign_10C
+ 2972, // imageAtomicAnd_01G20D00E
+ 2973, // imageAtomicAnd_01G20D00D
+ 2974, // sign_10D
+ 2976, // umulExtended_00E00E00E00E
+ 2978, // gl_MaxVertexAttribs
+ 2980, // Empty
+ 2980, // texture_00a20B
+ 2982, // imageAtomicExchange_01g00D00B
+ 2983, // imageAtomicExchange_01B10D00B
+ 2984, // ldexp_10B10D
+ 2986, // imageAtomicExchange_01B10D00D
+ 2987, // imageAtomicExchange_01B10D00E
+ 2988, // textureProjOffset_00g30B00D
+ 2989, // texture_00Z20B
+ 2991, // degrees_10B
+ 2993, // texture_00k30B00B
+ 2994, // texture_00K20B
+ 2996, // sinh_10B
+ 2998, // texture_00m20B
+ 2999, // imageAtomicXor_01C20D00D
+ 3000, // textureGatherOffsets_00I10B10Dx400D
+ 3003, // not_30F
+ 3005, // textureProjLodOffset_00I20B00B10D
+ 3007, // textureGather_00K20B
+ 3009, // textureGatherOffset_00R10B10D
+ 3011, // memoryBarrierShared_
+ 3013, // clamp_20B20B20B
+ 3015, // texelFetch_00W20D00D
+ 3017, // textureProjLod_00g10B00B
+ 3018, // trunc_20C
+ 3019, // trunc_20B
+ 3021, // textureProjOffset_00I30B10D00B
+ 3023, // max_00C00C
+ 3024, // tan_10B
+ 3026, // texture_00g00B
+ 3027, // textureLodOffset_00L20B00B10D
+ 3029, // textureLodOffset_00u10B00B00D
+ 3030, // imageAtomicOr_01B10D00D
+ 3031, // imageAtomicOr_01B10D00E
+ 3032, // isinf_20B
+ 3034, // dFdyCoarse_10B
+ 3035, // textureGatherOffset_00X10B10D00D
+ 3037, // min_10E10E
+ 3039, // memoryBarrierImage_
+ 3041, // round_10B
+ 3043, // round_10C
+ 3044, // textureProjLodOffset_00m30B00B00D
+ 3045, // textureProjGradOffset_00g10B00B00B00D
+ 3046, // textureProj_00R30B
+ 3048, // shadow1DProj_00m30B
+ 3049, // texture_00f30B00B
+ 3050, // fma_00B00B00B
+ 3053, // imageStore_01X10D30B
+ 3054, // imageAtomicOr_01b20D00E
+ 3055, // imageAtomicOr_01b20D00D
+ 3056, // textureGatherOffset_00v10B10D00D
+ 3057, // atomicMax_00E00E
+ 3059, // textureQueryLod_00t00B
+ 3060, // textureProjOffset_00R30B10D
+ 3062, // textureProj_00X30B
+ 3064, // findMSB_00D
+ 3066, // findMSB_00E
+ 3068, // textureProjOffset_00X20B10D
+ 3070, // imageAtomicCompSwap_01X10D00D00D
+ 3071, // frexp_30C30D
+ 3072, // mix_10C10C10C
+ 3073, // min_30D00D
+ 3075, // imageAtomicCompSwap_01K20D00E00E
+ 3076, // texture_00M10B00B
+ 3077, // fwidth_20B
+ 3080, // imageAtomicOr_01S10D00D00D
+ 3081, // imageAtomicOr_01S10D00D00E
+ 3082, // mod_30C00C
+ 3083, // imageAtomicAdd_01A10D00D
+ 3084, // imageAtomicAdd_01A10D00E
+ 3085, // texture_00o00B00B
+ 3086, // imageAtomicOr_01H20D00E
+ 3087, // imageAtomicOr_01H20D00D
+ 3088, // cos_20B
+ 3090, // gl_MaxGeometryUniformComponents
+ 3091, // textureGather_00T20B
+ 3093, // textureProjGradOffset_00J30B20B20B20D
+ 3095, // asinh_10B
+ 3097, // texelFetchOffset_00v10D10D
+ 3098, // imageAtomicXor_01E20D00E
+ 3099, // imageAtomicXor_01E20D00D
+ 3100, // textureGatherOffsets_00R10B10Dx400D
};
using Ext = TExtension;
@@ -30541,7 +30643,7 @@ constexpr UnmangledEntry unmangled[] = {
{"dFdx", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
{"memoryBarrierShared", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::COMPUTE},
{"shadow2DProj", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
- {"textureLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
+ {"textureLod", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
{"faceforward", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
{"abs", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
{"allInvocations", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
@@ -30550,7 +30652,7 @@ constexpr UnmangledEntry unmangled[] = {
{"atomicCounterAnd", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
{"unpackSnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
{"log2", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
- {"textureGrad", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
+ {"textureGrad", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
{"barrier", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::COMPUTE},
{"texture2DProj", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::FRAGMENT},
{"atomicCounterDecrement", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
@@ -30576,7 +30678,6 @@ constexpr UnmangledEntry unmangled[] = {
{"unpackHalf2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
{"matrixCompMult", Ext::UNDEFINED, Ext::UNDEFINED, 300, -1, Shader::ALL},
{"pow", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
- {"atomicExchange", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
{"texture2DProjLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
{"ldexp", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
{"floatBitsToUint", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
@@ -30650,6 +30751,7 @@ constexpr UnmangledEntry unmangled[] = {
{"shadow2D", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
{"anyInvocation", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
{"shadow2DLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
+ {"atomicExchange", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
{"imageAtomicMin", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
{"allInvocationsEqual", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
{"textureGradOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::ALL},
@@ -31181,7 +31283,7 @@ namespace
{
uint16_t GetNextRuleIndex(uint32_t nameHash)
{
- if (nameHash == 2140 - 1)
+ if (nameHash == 2146 - 1)
return ArraySize(BuiltInArray::kRules);
return BuiltInArray::kMangledOffsets[nameHash + 1];
}
@@ -31193,7 +31295,7 @@ const TSymbol *TSymbolTable::findBuiltIn(const ImmutableString &name, int shader
return nullptr;
uint32_t nameHash = name.mangledNameHash();
- if (nameHash >= 2140)
+ if (nameHash >= 2146)
return nullptr;
const char *actualName = BuiltInArray::kMangledNames[nameHash];
diff --git a/chromium/third_party/angle/src/compiler/translator/SymbolUniqueId.h b/chromium/third_party/angle/src/compiler/translator/SymbolUniqueId.h
index 12330bfc37e..7e0312d0549 100644
--- a/chromium/third_party/angle/src/compiler/translator/SymbolUniqueId.h
+++ b/chromium/third_party/angle/src/compiler/translator/SymbolUniqueId.h
@@ -37,7 +37,7 @@ class TSymbolUniqueId
int mId;
};
-enum class SymbolType
+enum class SymbolType : uint8_t
{
BuiltIn,
UserDefined,
@@ -45,7 +45,7 @@ enum class SymbolType
Empty // Meaning symbol without a name.
};
-enum class SymbolClass
+enum class SymbolClass : uint8_t
{
Function,
Variable,
diff --git a/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.cpp b/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.cpp
index 054b2231ade..ee15ec6aa19 100644
--- a/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.cpp
@@ -254,6 +254,8 @@ void TranslatorGLSL::writeVersion(TIntermNode *root)
void TranslatorGLSL::writeExtensionBehavior(TIntermNode *root, ShCompileOptions compileOptions)
{
+ bool usesTextureCubeMapArray = false;
+
TInfoSinkBase &sink = getInfoSink().obj;
const TExtensionBehavior &extBehavior = getExtensionBehavior();
for (const auto &iter : extBehavior)
@@ -305,6 +307,13 @@ void TranslatorGLSL::writeExtensionBehavior(TIntermNode *root, ShCompileOptions
sink << "#extension GL_ARB_texture_multisample : " << GetBehaviorString(iter.second)
<< "\n";
}
+
+ if ((iter.first == TExtension::OES_texture_cube_map_array ||
+ iter.first == TExtension::EXT_texture_cube_map_array) &&
+ (iter.second == EBhRequire || iter.second == EBhEnable))
+ {
+ usesTextureCubeMapArray = true;
+ }
}
// GLSL ES 3 explicit location qualifiers need to use an extension before GLSL 330
@@ -326,6 +335,20 @@ void TranslatorGLSL::writeExtensionBehavior(TIntermNode *root, ShCompileOptions
sink << "#extension GL_EXT_gpu_shader5 : enable\n";
}
+ if (usesTextureCubeMapArray)
+ {
+ if (getOutputType() >= SH_GLSL_COMPATIBILITY_OUTPUT &&
+ getOutputType() < SH_GLSL_400_CORE_OUTPUT)
+ {
+ sink << "#extension GL_ARB_texture_cube_map_array : enable\n";
+ }
+ else if (getOutputType() == SH_ESSL_OUTPUT && getShaderVersion() < 320)
+ {
+ sink << "#extension GL_OES_texture_cube_map_array : enable\n";
+ sink << "#extension GL_EXT_texture_cube_map_array : enable\n";
+ }
+ }
+
TExtensionGLSL extensionGLSL(getOutputType());
root->traverse(&extensionGLSL);
diff --git a/chromium/third_party/angle/src/compiler/translator/TranslatorMetal.cpp b/chromium/third_party/angle/src/compiler/translator/TranslatorMetal.cpp
index 43539be87cc..7846090b90c 100644
--- a/chromium/third_party/angle/src/compiler/translator/TranslatorMetal.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/TranslatorMetal.cpp
@@ -35,7 +35,7 @@ namespace
ANGLE_NO_DISCARD bool AppendVertexShaderPositionYCorrectionToMain(TCompiler *compiler,
TIntermBlock *root,
TSymbolTable *symbolTable,
- TIntermBinary *negViewportYScale)
+ TIntermSwizzle *negFlipY)
{
// Create a symbol reference to "gl_Position"
const TVariable *position = BuiltInVariable::gl_Position();
@@ -46,8 +46,8 @@ ANGLE_NO_DISCARD bool AppendVertexShaderPositionYCorrectionToMain(TCompiler *com
swizzleOffsetY.push_back(1);
TIntermSwizzle *positionY = new TIntermSwizzle(positionRef, swizzleOffsetY);
- // Create the expression "gl_Position.y * negViewportScaleY"
- TIntermBinary *inverseY = new TIntermBinary(EOpMul, positionY->deepCopy(), negViewportYScale);
+ // Create the expression "gl_Position.y * negFlipY"
+ TIntermBinary *inverseY = new TIntermBinary(EOpMul, positionY->deepCopy(), negFlipY);
// Create the assignment "gl_Position.y = gl_Position.y * negViewportScaleY
TIntermTyped *positionYLHS = positionY->deepCopy();
@@ -81,11 +81,10 @@ bool TranslatorMetal::translate(TIntermBlock *root,
if (getShaderType() == GL_VERTEX_SHADER)
{
- auto negViewportYScale = getDriverUniformNegViewportYScaleRef(driverUniforms);
+ auto negFlipY = getDriverUniformNegFlipYRef(driverUniforms);
// Append gl_Position.y correction to main
- if (!AppendVertexShaderPositionYCorrectionToMain(this, root, &getSymbolTable(),
- negViewportYScale))
+ if (!AppendVertexShaderPositionYCorrectionToMain(this, root, &getSymbolTable(), negFlipY))
{
return false;
}
diff --git a/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.cpp b/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.cpp
index 87bb6218600..5b3570cb095 100644
--- a/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.cpp
@@ -174,9 +174,9 @@ constexpr ImmutableString kLineRasterEmulationSpecConstVarName =
ImmutableString("ANGLELineRasterEmulation");
constexpr const char kViewport[] = "viewport";
-constexpr const char kHalfRenderAreaHeight[] = "halfRenderAreaHeight";
-constexpr const char kViewportYScale[] = "viewportYScale";
-constexpr const char kNegViewportYScale[] = "negViewportYScale";
+constexpr const char kHalfRenderArea[] = "halfRenderArea";
+constexpr const char kFlipXY[] = "flipXY";
+constexpr const char kNegFlipXY[] = "negFlipXY";
constexpr const char kClipDistancesEnabled[] = "clipDistancesEnabled";
constexpr const char kXfbActiveUnpaused[] = "xfbActiveUnpaused";
constexpr const char kXfbVerticesPerDraw[] = "xfbVerticesPerDraw";
@@ -184,12 +184,13 @@ constexpr const char kXfbBufferOffsets[] = "xfbBufferOffsets";
constexpr const char kAcbBufferOffsets[] = "acbBufferOffsets";
constexpr const char kDepthRange[] = "depthRange";
constexpr const char kPreRotation[] = "preRotation";
+constexpr const char kFragRotation[] = "fragRotation";
-constexpr size_t kNumGraphicsDriverUniforms = 11;
+constexpr size_t kNumGraphicsDriverUniforms = 12;
constexpr std::array<const char *, kNumGraphicsDriverUniforms> kGraphicsDriverUniformNames = {
- {kViewport, kHalfRenderAreaHeight, kViewportYScale, kNegViewportYScale, kClipDistancesEnabled,
- kXfbActiveUnpaused, kXfbVerticesPerDraw, kXfbBufferOffsets, kAcbBufferOffsets, kDepthRange,
- kPreRotation}};
+ {kViewport, kHalfRenderArea, kFlipXY, kNegFlipXY, kClipDistancesEnabled, kXfbActiveUnpaused,
+ kXfbVerticesPerDraw, kXfbBufferOffsets, kAcbBufferOffsets, kDepthRange, kPreRotation,
+ kFragRotation}};
constexpr size_t kNumComputeDriverUniforms = 1;
constexpr std::array<const char *, kNumComputeDriverUniforms> kComputeDriverUniformNames = {
@@ -221,22 +222,23 @@ TIntermBinary *CreateDriverUniformRef(const TVariable *driverUniforms, const cha
return new TIntermBinary(EOpIndexDirectInterfaceBlock, angleUniformsRef, indexRef);
}
-// Replaces a builtin variable with a version that corrects the Y coordinate.
-ANGLE_NO_DISCARD bool FlipBuiltinVariable(TCompiler *compiler,
- TIntermBlock *root,
- TIntermSequence *insertSequence,
- TIntermTyped *viewportYScale,
- TSymbolTable *symbolTable,
- const TVariable *builtin,
- const ImmutableString &flippedVariableName,
- TIntermTyped *pivot)
+// Replaces a builtin variable with a version that is rotated and corrects the X and Y coordinates.
+ANGLE_NO_DISCARD bool RotateAndFlipBuiltinVariable(TCompiler *compiler,
+ TIntermBlock *root,
+ TIntermSequence *insertSequence,
+ TIntermTyped *flipXY,
+ TSymbolTable *symbolTable,
+ const TVariable *builtin,
+ const ImmutableString &flippedVariableName,
+ TIntermTyped *pivot,
+ TIntermTyped *fragRotation)
{
// Create a symbol reference to 'builtin'.
TIntermSymbol *builtinRef = new TIntermSymbol(builtin);
- // Create a swizzle to "builtin.y"
- TVector<int> swizzleOffsetY = {1};
- TIntermSwizzle *builtinY = new TIntermSwizzle(builtinRef, swizzleOffsetY);
+ // Create a swizzle to "builtin.xy"
+ TVector<int> swizzleOffsetXY = {0, 1};
+ TIntermSwizzle *builtinXY = new TIntermSwizzle(builtinRef, swizzleOffsetXY);
// Create a symbol reference to our new variable that will hold the modified builtin.
const TType *type = StaticType::GetForVec<EbtFloat>(
@@ -252,10 +254,14 @@ ANGLE_NO_DISCARD bool FlipBuiltinVariable(TCompiler *compiler,
return false;
}
- // Create the expression "(builtin.y - pivot) * viewportYScale + pivot
- TIntermBinary *removePivot = new TIntermBinary(EOpSub, builtinY, pivot);
- TIntermBinary *inverseY = new TIntermBinary(EOpMul, removePivot, viewportYScale);
- TIntermBinary *plusPivot = new TIntermBinary(EOpAdd, inverseY, pivot->deepCopy());
+ // Create the expression "(builtin.xy * fragRotation)"
+ TIntermBinary *rotatedXY =
+ new TIntermBinary(EOpMatrixTimesVector, fragRotation->deepCopy(), builtinXY->deepCopy());
+
+ // Create the expression "(builtin.xy - pivot) * flipXY + pivot
+ TIntermBinary *removePivot = new TIntermBinary(EOpSub, rotatedXY, pivot);
+ TIntermBinary *inverseXY = new TIntermBinary(EOpMul, removePivot, flipXY);
+ TIntermBinary *plusPivot = new TIntermBinary(EOpAdd, inverseXY, pivot->deepCopy());
// Create the corrected variable and copy the value of the original builtin.
TIntermSequence *sequence = new TIntermSequence();
@@ -263,9 +269,10 @@ ANGLE_NO_DISCARD bool FlipBuiltinVariable(TCompiler *compiler,
TIntermAggregate *aggregate = TIntermAggregate::CreateConstructor(builtin->getType(), sequence);
TIntermBinary *assignment = new TIntermBinary(EOpInitialize, flippedBuiltinRef, aggregate);
- // Create an assignment to the replaced variable's y.
- TIntermSwizzle *correctedY = new TIntermSwizzle(flippedBuiltinRef->deepCopy(), swizzleOffsetY);
- TIntermBinary *assignToY = new TIntermBinary(EOpAssign, correctedY, plusPivot);
+ // Create an assignment to the replaced variable's .xy.
+ TIntermSwizzle *correctedXY =
+ new TIntermSwizzle(flippedBuiltinRef->deepCopy(), swizzleOffsetXY);
+ TIntermBinary *assignToY = new TIntermBinary(EOpAssign, correctedXY, plusPivot);
// Add this assigment at the beginning of the main function
insertSequence->insert(insertSequence->begin(), assignToY);
@@ -415,17 +422,18 @@ const TVariable *AddGraphicsDriverUniformsToShader(TIntermBlock *root, TSymbolTa
const std::array<TType *, kNumGraphicsDriverUniforms> kDriverUniformTypes = {{
new TType(EbtFloat, 4),
- new TType(EbtFloat),
- new TType(EbtFloat),
- new TType(EbtFloat),
+ new TType(EbtFloat, 2),
+ new TType(EbtFloat, 2),
+ new TType(EbtFloat, 2),
new TType(EbtUInt), // uint clipDistancesEnabled; // 32 bits for 32 clip distances max
new TType(EbtUInt),
new TType(EbtUInt),
- // NOTE: There's a vec2 gap here that can be used in the future
+ // NOTE: There's a vec3 gap here that can be used in the future
new TType(EbtInt, 4),
new TType(EbtUInt, 4),
emulatedDepthRangeType,
new TType(EbtFloat, 2, 2),
+ new TType(EbtFloat, 2, 2),
}};
for (size_t uniformIndex = 0; uniformIndex < kNumGraphicsDriverUniforms; ++uniformIndex)
@@ -575,10 +583,12 @@ ANGLE_NO_DISCARD bool InsertFragCoordCorrection(TCompiler *compiler,
TSymbolTable *symbolTable,
const TVariable *driverUniforms)
{
- TIntermBinary *viewportYScale = CreateDriverUniformRef(driverUniforms, kViewportYScale);
- TIntermBinary *pivot = CreateDriverUniformRef(driverUniforms, kHalfRenderAreaHeight);
- return FlipBuiltinVariable(compiler, root, insertSequence, viewportYScale, symbolTable,
- BuiltInVariable::gl_FragCoord(), kFlippedFragCoordName, pivot);
+ TIntermBinary *flipXY = CreateDriverUniformRef(driverUniforms, kFlipXY);
+ TIntermBinary *pivot = CreateDriverUniformRef(driverUniforms, kHalfRenderArea);
+ TIntermBinary *fragRotation = CreateDriverUniformRef(driverUniforms, kFragRotation);
+ return RotateAndFlipBuiltinVariable(compiler, root, insertSequence, flipXY, symbolTable,
+ BuiltInVariable::gl_FragCoord(), kFlippedFragCoordName,
+ pivot, fragRotation);
}
// This block adds OpenGL line segment rasterization emulation behind a specialization constant
@@ -964,12 +974,12 @@ bool TranslatorVulkan::translateImpl(TIntermBlock *root,
if (usesPointCoord)
{
- TIntermBinary *viewportYScale =
- CreateDriverUniformRef(driverUniforms, kNegViewportYScale);
+ TIntermBinary *flipXY = CreateDriverUniformRef(driverUniforms, kNegFlipXY);
TIntermConstantUnion *pivot = CreateFloatNode(0.5f);
- if (!FlipBuiltinVariable(this, root, GetMainSequence(root), viewportYScale,
- &getSymbolTable(), BuiltInVariable::gl_PointCoord(),
- kFlippedPointCoordName, pivot))
+ TIntermBinary *fragRotation = CreateDriverUniformRef(driverUniforms, kFragRotation);
+ if (!RotateAndFlipBuiltinVariable(this, root, GetMainSequence(root), flipXY,
+ &getSymbolTable(), BuiltInVariable::gl_PointCoord(),
+ kFlippedPointCoordName, pivot, fragRotation))
{
return false;
}
@@ -985,8 +995,10 @@ bool TranslatorVulkan::translateImpl(TIntermBlock *root,
}
{
- TIntermBinary *viewportYScale = CreateDriverUniformRef(driverUniforms, kViewportYScale);
- if (!RewriteDfdy(this, root, getSymbolTable(), getShaderVersion(), viewportYScale))
+ TIntermBinary *flipXY = CreateDriverUniformRef(driverUniforms, kFlipXY);
+ TIntermBinary *fragRotation = CreateDriverUniformRef(driverUniforms, kFragRotation);
+ if (!RewriteDfdy(this, root, getSymbolTable(), getShaderVersion(), flipXY,
+ fragRotation))
{
return false;
}
@@ -1104,10 +1116,13 @@ bool TranslatorVulkan::shouldFlattenPragmaStdglInvariantAll()
return false;
}
-TIntermBinary *TranslatorVulkan::getDriverUniformNegViewportYScaleRef(
- const TVariable *driverUniforms) const
+TIntermSwizzle *TranslatorVulkan::getDriverUniformNegFlipYRef(const TVariable *driverUniforms) const
{
- return CreateDriverUniformRef(driverUniforms, kNegViewportYScale);
+ // Create a swizzle to "negFlipXY.y"
+ TIntermBinary *negFlipXY = CreateDriverUniformRef(driverUniforms, kNegFlipXY);
+ TVector<int> swizzleOffsetY = {1};
+ TIntermSwizzle *negFlipY = new TIntermSwizzle(negFlipXY, swizzleOffsetY);
+ return negFlipY;
}
TIntermBinary *TranslatorVulkan::getDriverUniformDepthRangeReservedFieldRef(
diff --git a/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.h b/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.h
index 6b3c71aff3f..8458a490226 100644
--- a/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.h
+++ b/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.h
@@ -30,7 +30,7 @@ class TranslatorVulkan : public TCompiler
PerformanceDiagnostics *perfDiagnostics) override;
bool shouldFlattenPragmaStdglInvariantAll() override;
- TIntermBinary *getDriverUniformNegViewportYScaleRef(const TVariable *driverUniforms) const;
+ TIntermSwizzle *getDriverUniformNegFlipYRef(const TVariable *driverUniforms) const;
TIntermBinary *getDriverUniformDepthRangeReservedFieldRef(
const TVariable *driverUniforms) const;
// Subclass can call this method to transform the AST before writing the final output.
diff --git a/chromium/third_party/angle/src/compiler/translator/Types.cpp b/chromium/third_party/angle/src/compiler/translator/Types.cpp
index d5431c386cd..2a5bf1dd9b0 100644
--- a/chromium/third_party/angle/src/compiler/translator/Types.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/Types.cpp
@@ -54,6 +54,8 @@ const char *getBasicString(TBasicType t)
return "sampler2DMS";
case EbtSampler2DMSArray:
return "sampler2DMSArray";
+ case EbtSamplerCubeArray:
+ return "samplerCubeArray";
case EbtISampler2D:
return "isampler2D";
case EbtISampler3D:
@@ -66,6 +68,8 @@ const char *getBasicString(TBasicType t)
return "isampler2DMS";
case EbtISampler2DMSArray:
return "isampler2DMSArray";
+ case EbtISamplerCubeArray:
+ return "isamplerCubeArray";
case EbtUSampler2D:
return "usampler2D";
case EbtUSampler3D:
@@ -78,12 +82,16 @@ const char *getBasicString(TBasicType t)
return "usampler2DMS";
case EbtUSampler2DMSArray:
return "usampler2DMSArray";
+ case EbtUSamplerCubeArray:
+ return "usamplerCubeArray";
case EbtSampler2DShadow:
return "sampler2DShadow";
case EbtSamplerCubeShadow:
return "samplerCubeShadow";
case EbtSampler2DArrayShadow:
return "sampler2DArrayShadow";
+ case EbtSamplerCubeArrayShadow:
+ return "samplerCubeArrayShadow";
case EbtStruct:
return "structure";
case EbtInterfaceBlock:
@@ -112,6 +120,12 @@ const char *getBasicString(TBasicType t)
return "iimageCube";
case EbtUImageCube:
return "uimageCube";
+ case EbtImageCubeArray:
+ return "imageCubeArray";
+ case EbtIImageCubeArray:
+ return "iimageCubeArray";
+ case EbtUImageCubeArray:
+ return "uimageCubeArray";
case EbtAtomicCounter:
return "atomic_uint";
case EbtSamplerVideoWEBGL:
diff --git a/chromium/third_party/angle/src/compiler/translator/builtin_function_declarations.txt b/chromium/third_party/angle/src/compiler/translator/builtin_function_declarations.txt
index 891757569bb..e353cf29095 100644
--- a/chromium/third_party/angle/src/compiler/translator/builtin_function_declarations.txt
+++ b/chromium/third_party/angle/src/compiler/translator/builtin_function_declarations.txt
@@ -649,6 +649,23 @@ GROUP BEGIN TextureSizeMSArrayExt
ivec3 textureSize(gsampler2DMSArray);
GROUP END TextureSizeMSArrayExt
+// These functions are part of OES/EXT_texture_cube_map.
+// There's no way to mark alternative extensions for builtins, so these are marked with none.
+// TODO(anglebug.com/4589)
+GROUP BEGIN OES_cube_map_array
+ DEFAULT METADATA {"essl_level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
+ ivec3 textureSize(gsamplerCubeArray, int);
+ ivec3 textureSize(samplerCubeArrayShadow, int);
+ gvec4 texture(gsamplerCubeArray, vec4);
+ gvec4 texture(gsamplerCubeArray, vec4, float);
+ float texture(samplerCubeArrayShadow, vec4, float);
+ gvec4 textureLod(gsamplerCubeArray, vec4, float);
+ gvec4 textureGrad(gsamplerCubeArray, vec4, vec3, vec3);
+ gvec4 textureGather(gsamplerCubeArray, vec4);
+ gvec4 textureGather(gsamplerCubeArray, vec4, int);
+ vec4 textureGather(samplerCubeArrayShadow, vec4, float);
+GROUP END OES_cube_map_array
+
GROUP BEGIN TexelFetchMS
DEFAULT METADATA {"essl_level": "ESSL3_1_BUILTINS", "glsl_level": "GLSL1_5_BUILTINS", "op": "CallBuiltInFunction"}
gvec4 texelFetch(gsampler2DMS, ivec2, int);
@@ -1001,6 +1018,13 @@ GROUP BEGIN Image {"queryFunction": true}
void imageStore(gimage3D, ivec3, gvec4);
void imageStore(gimage2DArray, ivec3, gvec4);
void imageStore(gimageCube, ivec3, gvec4);
+
+ // These functions are part of OES/EXT_texture_cube_map.
+ // There's no way to mark alternative extensions for builtins, so these are marked with none.
+ // TODO(anglebug.com/4589)
+ DEFAULT METADATA {"essl_level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
+ gvec4 imageStore(gimageCubeArray, ivec3, gvec4);
+
DEFAULT METADATA {"glsl_level": "GLSL4_2_BUILTINS", "op": "CallBuiltInFunction"}
void imageStore(writeonly IMAGE_PARAMS, gvec4);
GROUP END Store
@@ -1010,6 +1034,13 @@ GROUP BEGIN Image {"queryFunction": true}
gvec4 imageLoad(gimage3D, ivec3);
gvec4 imageLoad(gimage2DArray, ivec3);
gvec4 imageLoad(gimageCube, ivec3);
+
+ // These functions are part of OES/EXT_texture_cube_map.
+ // There's no way to mark alternative extensions for builtins, so these are marked with none.
+ // TODO(anglebug.com/4589)
+ DEFAULT METADATA {"essl_level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
+ gvec4 imageLoad(gimageCubeArray, ivec3);
+
DEFAULT METADATA {"glsl_level": "GLSL4_2_BUILTINS", "op": "CallBuiltInFunction"}
gvec4 imageLoad(readonly IMAGE_PARAMS);
GROUP END Load
@@ -1018,6 +1049,13 @@ GROUP BEGIN Image {"queryFunction": true}
ivec3 imageSize(gimage3D);
ivec3 imageSize(gimage2DArray);
ivec2 imageSize(gimageCube);
+
+ // These functions are part of OES/EXT_texture_cube_map.
+ // There's no way to mark alternative extensions for builtins, so these are marked with none.
+ // TODO(anglebug.com/4589)
+ DEFAULT METADATA {"essl_level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
+ ivec3 imageSize(gimageCubeArray);
+
DEFAULT METADATA {"glsl_level": "GLSL4_3_BUILTINS", "op": "CallBuiltInFunction"}
int imageSize(readonly writeonly gimage1D);
ivec2 imageSize(readonly writeonly gimage2D);
diff --git a/chromium/third_party/angle/src/compiler/translator/glslang.l b/chromium/third_party/angle/src/compiler/translator/glslang.l
index a77728b21b6..e1b2e2c14f1 100644
--- a/chromium/third_party/angle/src/compiler/translator/glslang.l
+++ b/chromium/third_party/angle/src/compiler/translator/glslang.l
@@ -108,6 +108,7 @@ static int ES3_reserved_ES3_1_extension_ES3_2_keyword(TParseContext *context, TE
static int ES3_reserved_ES3_extension(TParseContext *context, TExtension extension, int token);
static int ES3_reserved_ES3_extension_ES3_1_keyword(TParseContext *context, TExtension extension, int token);
static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword(TParseContext *context, TExtension extension, int token);
+static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(TParseContext *context, TExtension extension1, TExtension extension2, int token1, int token2);
static int WEBGL_video_texture_extension(TParseContext *context, int token);
static int uint_constant(TParseContext *context);
static int int_constant(TParseContext *context);
@@ -231,6 +232,10 @@ O [0-7]
"sampler2DMSArray" { return ES3_reserved_ES3_1_extension_ES3_2_keyword(context, TExtension::OES_texture_storage_multisample_2d_array, SAMPLER2DMSARRAY); }
"isampler2DMSArray" { return ES3_reserved_ES3_1_extension_ES3_2_keyword(context, TExtension::OES_texture_storage_multisample_2d_array, ISAMPLER2DMSARRAY); }
"usampler2DMSArray" { return ES3_reserved_ES3_1_extension_ES3_2_keyword(context, TExtension::OES_texture_storage_multisample_2d_array, USAMPLER2DMSARRAY); }
+"samplerCubeArray" { return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(context, TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array, SAMPLERCUBEARRAYOES, SAMPLERCUBEARRAYEXT); }
+"samplerCubeArrayShadow" { return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(context, TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array, SAMPLERCUBEARRAYSHADOWOES, SAMPLERCUBEARRAYSHADOWEXT); }
+"isamplerCubeArray" { return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(context, TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array, ISAMPLERCUBEARRAYOES, ISAMPLERCUBEARRAYEXT); }
+"usamplerCubeArray" { return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(context, TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array, USAMPLERCUBEARRAYOES, USAMPLERCUBEARRAYEXT); }
"samplerVideoWEBGL" { return WEBGL_video_texture_extension(context, SAMPLERVIDEOWEBGL); }
"struct" { return STRUCT; }
@@ -253,6 +258,9 @@ O [0-7]
"iimageCube" { return ES3_reserved_ES3_1_keyword(context, IIMAGECUBE); }
"uimageCube" { return ES3_reserved_ES3_1_keyword(context, UIMAGECUBE); }
"imageCube" { return ES3_reserved_ES3_1_keyword(context, IMAGECUBE); }
+"imageCubeArray" { return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(context, TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array, IMAGECUBEARRAYOES, IMAGECUBEARRAYEXT); }
+"iimageCubeArray" { return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(context, TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array, IIMAGECUBEARRAYOES, IIMAGECUBEARRAYEXT); }
+"uimageCubeArray" { return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(context, TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array, UIMAGECUBEARRAYOES, UIMAGECUBEARRAYEXT); }
"readonly" { return ES3_reserved_ES3_1_keyword(context, READONLY); }
"writeonly" { return ES3_reserved_ES3_1_keyword(context, WRITEONLY); }
"coherent" { return ES3_reserved_ES3_1_keyword(context, COHERENT); }
@@ -711,6 +719,31 @@ static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword(TParseContext *context,
return check_type(yyscanner);
}
+static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(TParseContext *context, TExtension extension1, TExtension extension2, int token1, int token2)
+{
+ struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
+ yyscan_t yyscanner = (yyscan_t) context->getScanner();
+
+ // A keyword in GLSL ES 3.20 or GLSL ES 3.10 with enabled extension.
+ if (is_extension_enabled_or_is_core(context, 310, extension1, 320))
+ {
+ return token1;
+ }
+ else if (is_extension_enabled_or_is_core(context, 310, extension2, 320))
+ {
+ return token2;
+ }
+
+ // A reserved word in GLSL ES 3.10
+ if (context->getShaderVersion() == 310)
+ {
+ return reserved_word(yyscanner);
+ }
+
+ yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
+ return check_type(yyscanner);
+}
+
int uint_constant(TParseContext *context)
{
struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
diff --git a/chromium/third_party/angle/src/compiler/translator/glslang.y b/chromium/third_party/angle/src/compiler/translator/glslang.y
index 8a0c52fbb0a..bddbf613ed6 100644
--- a/chromium/third_party/angle/src/compiler/translator/glslang.y
+++ b/chromium/third_party/angle/src/compiler/translator/glslang.y
@@ -173,9 +173,13 @@ extern void yyerror(YYLTYPE* yylloc, TParseContext* context, void *scanner, cons
%token <lex> SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS
%token <lex> SAMPLER2DMSARRAY ISAMPLER2DMSARRAY USAMPLER2DMSARRAY
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW SAMPLERCUBESHADOW SAMPLER2DARRAYSHADOW SAMPLERVIDEOWEBGL
+%token <lex> SAMPLERCUBEARRAYOES SAMPLERCUBEARRAYSHADOWOES ISAMPLERCUBEARRAYOES USAMPLERCUBEARRAYOES
+%token <lex> SAMPLERCUBEARRAYEXT SAMPLERCUBEARRAYSHADOWEXT ISAMPLERCUBEARRAYEXT USAMPLERCUBEARRAYEXT
%token <lex> SAMPLEREXTERNAL2DY2YEXT
%token <lex> IMAGE2D IIMAGE2D UIMAGE2D IMAGE3D IIMAGE3D UIMAGE3D IMAGE2DARRAY IIMAGE2DARRAY UIMAGE2DARRAY
%token <lex> IMAGECUBE IIMAGECUBE UIMAGECUBE
+%token <lex> IMAGECUBEARRAYOES IIMAGECUBEARRAYOES UIMAGECUBEARRAYOES
+%token <lex> IMAGECUBEARRAYEXT IIMAGECUBEARRAYEXT UIMAGECUBEARRAYEXT
%token <lex> ATOMICUINT
%token <lex> LAYOUT
%token <lex> YUVCSCSTANDARDEXT YUVCSCSTANDARDEXTCONSTANT
@@ -1102,6 +1106,22 @@ type_specifier_nonarray
| SAMPLER2DMSARRAY {
$$.initialize(EbtSampler2DMSArray, @1);
}
+ | SAMPLERCUBEARRAYOES {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::OES_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__samplerCubeArray");
+ }
+ $$.initialize(EbtSamplerCubeArray, @1);
+ }
+ | SAMPLERCUBEARRAYEXT {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::EXT_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__samplerCubeArray");
+ }
+ $$.initialize(EbtSamplerCubeArray, @1);
+ }
| ISAMPLER2D {
$$.initialize(EbtISampler2D, @1);
}
@@ -1120,6 +1140,22 @@ type_specifier_nonarray
| ISAMPLER2DMSARRAY {
$$.initialize(EbtISampler2DMSArray, @1);
}
+ | ISAMPLERCUBEARRAYOES {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::OES_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__isamplerCubeArray");
+ }
+ $$.initialize(EbtISamplerCubeArray, @1);
+ }
+ | ISAMPLERCUBEARRAYEXT {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::EXT_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__isamplerCubeArray");
+ }
+ $$.initialize(EbtISamplerCubeArray, @1);
+ }
| USAMPLER2D {
$$.initialize(EbtUSampler2D, @1);
}
@@ -1138,6 +1174,22 @@ type_specifier_nonarray
| USAMPLER2DMSARRAY {
$$.initialize(EbtUSampler2DMSArray, @1);
}
+ | USAMPLERCUBEARRAYOES {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::OES_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__usamplerCubeArray");
+ }
+ $$.initialize(EbtUSamplerCubeArray, @1);
+ }
+ | USAMPLERCUBEARRAYEXT {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::EXT_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__usamplerCubeArray");
+ }
+ $$.initialize(EbtUSamplerCubeArray, @1);
+ }
| SAMPLER2DSHADOW {
$$.initialize(EbtSampler2DShadow, @1);
}
@@ -1147,6 +1199,22 @@ type_specifier_nonarray
| SAMPLER2DARRAYSHADOW {
$$.initialize(EbtSampler2DArrayShadow, @1);
}
+ | SAMPLERCUBEARRAYSHADOWOES {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::OES_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__samplerCubeArrayShadow");
+ }
+ $$.initialize(EbtSamplerCubeArrayShadow, @1);
+ }
+ | SAMPLERCUBEARRAYSHADOWEXT {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::EXT_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__samplerCubeArrayShadow");
+ }
+ $$.initialize(EbtSamplerCubeArrayShadow, @1);
+ }
| SAMPLERVIDEOWEBGL {
if (!context->checkCanUseExtension(@1, TExtension::WEBGL_video_texture))
{
@@ -1214,6 +1282,54 @@ type_specifier_nonarray
| UIMAGECUBE {
$$.initialize(EbtUImageCube, @1);
}
+ | IMAGECUBEARRAYOES {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::OES_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__imageCubeArray");
+ }
+ $$.initialize(EbtImageCubeArray, @1);
+ }
+ | IMAGECUBEARRAYEXT {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::EXT_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__imageCubeArray");
+ }
+ $$.initialize(EbtImageCubeArray, @1);
+ }
+ | IIMAGECUBEARRAYOES {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::OES_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__iimageCubeArray");
+ }
+ $$.initialize(EbtIImageCubeArray, @1);
+ }
+ | IIMAGECUBEARRAYEXT {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::EXT_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__iimageCubeArray");
+ }
+ $$.initialize(EbtIImageCubeArray, @1);
+ }
+ | UIMAGECUBEARRAYOES {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::OES_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__uimageCubeArray");
+ }
+ $$.initialize(EbtUImageCubeArray, @1);
+ }
+ | UIMAGECUBEARRAYEXT {
+ if (context->getShaderVersion() < 320
+ && !context->checkCanUseExtension(@1, TExtension::EXT_texture_cube_map_array))
+ {
+ context->error(@1, "unsupported type", "__uimageCubeArray");
+ }
+ $$.initialize(EbtUImageCubeArray, @1);
+ }
| ATOMICUINT {
$$.initialize(EbtAtomicCounter, @1);
}
diff --git a/chromium/third_party/angle/src/compiler/translator/glslang_lex_autogen.cpp b/chromium/third_party/angle/src/compiler/translator/glslang_lex_autogen.cpp
index c6ef03e7cb2..ac4990522f3 100644
--- a/chromium/third_party/angle/src/compiler/translator/glslang_lex_autogen.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/glslang_lex_autogen.cpp
@@ -414,8 +414,8 @@ static void yynoreturn yy_fatal_error(const char *msg, yyscan_t yyscanner);
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 249
-#define YY_END_OF_BUFFER 250
+#define YY_NUM_RULES 256
+#define YY_END_OF_BUFFER 257
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -423,71 +423,72 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[902] = {
- 0, 0, 0, 0, 0, 250, 248, 247, 247, 231, 237, 242, 226, 227, 235, 234, 223,
- 232, 230, 236, 189, 189, 224, 220, 238, 225, 239, 243, 186, 228, 229, 241, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 221, 240, 222, 233, 246, 245, 249, 244, 217, 203, 222, 211, 206, 201,
- 209, 199, 210, 200, 195, 202, 194, 188, 189, 0, 192, 0, 229, 221, 228, 218, 214,
- 216, 215, 219, 186, 207, 213, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
-
- 186, 186, 186, 186, 13, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 16, 186, 186, 25, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 208, 212, 244, 0, 198, 194, 0, 197, 191, 0, 193,
- 187, 204, 205, 186, 186, 146, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 14, 186,
-
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 30, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 26, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 0, 195, 0, 194, 196, 190, 186, 186, 186,
- 186, 33, 186, 186, 186, 19, 183, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 17, 149, 186, 186, 186, 186, 22, 186, 186, 153, 164, 186, 186, 186, 186,
-
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 161, 4, 38, 39, 40, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 152, 34, 186, 186, 31, 186, 186, 186, 186, 186, 186, 186,
- 50, 51, 52, 32, 186, 186, 186, 186, 186, 186, 186, 186, 11, 186, 56, 57, 58,
- 186, 147, 186, 186, 7, 186, 186, 186, 186, 173, 174, 175, 186, 35, 186, 165, 29,
- 176, 177, 178, 2, 170, 171, 172, 186, 186, 186, 27, 168, 186, 186, 186,
-
- 186, 186, 53, 54, 55, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 114,
- 186, 186, 186, 186, 186, 186, 186, 186, 162, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 148, 186, 186, 185, 59, 60, 61, 186, 186, 15, 186, 186, 186, 119,
- 186, 186, 9, 186, 186, 117, 186, 186, 186, 163, 158, 120, 186, 186, 186, 186, 186,
- 186, 154, 186, 186, 186, 186, 186, 89, 41, 44, 46, 45, 42, 48, 47, 49, 43,
- 186, 186, 186, 186, 169, 145, 186, 186, 156, 186, 186, 186, 37, 115, 28,
-
- 182, 23, 157, 88, 186, 167, 18, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 20, 36, 186, 186, 186, 186, 186, 186, 121, 94, 100,
- 186, 186, 186, 186, 186, 91, 93, 3, 186, 186, 186, 186, 112, 186, 186, 186, 186,
- 186, 186, 186, 150, 186, 186, 186, 186, 186, 8, 186, 186, 10, 186, 186, 186, 186,
- 186, 186, 21, 108, 12, 159, 122, 95, 102, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 155, 186, 186, 186, 106, 113, 109, 186, 186, 186,
-
- 186, 186, 186, 186, 186, 151, 123, 96, 101, 186, 186, 166, 186, 110, 186, 186, 186,
- 186, 6, 186, 186, 186, 186, 186, 186, 186, 186, 186, 105, 160, 1, 186, 186, 186,
- 186, 186, 186, 184, 186, 118, 5, 179, 62, 65, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 107, 186, 186, 186, 186, 186, 186, 103, 186, 186,
- 186, 186, 186, 136, 70, 71, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 116, 186, 186, 186, 104, 138, 75, 76, 186, 186, 186,
-
- 186, 111, 186, 186, 186, 186, 186, 186, 186, 131, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 69, 186, 186, 186, 186, 63, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 132, 124, 186, 97, 186, 186, 186, 74, 186,
- 186, 72, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 133, 186, 186, 79, 186, 186, 77, 186, 186, 125, 98, 186, 127, 186, 128, 186, 186,
- 186, 186, 186, 186, 24, 186, 186, 186, 186, 67, 186, 66, 142, 186, 186,
-
- 186, 126, 99, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 140, 143,
- 186, 134, 186, 68, 186, 186, 186, 186, 186, 186, 186, 186, 186, 141, 144, 186, 186,
- 186, 186, 137, 73, 186, 186, 186, 180, 186, 186, 186, 80, 186, 186, 186, 139, 78,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 84, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 85, 186, 186, 186, 186, 81, 186, 87, 86, 90, 186, 129, 130, 92, 186,
- 186, 186, 64, 186, 186, 186, 181, 186, 135, 82, 186, 186, 186, 186, 83,
-
- 0};
+static const flex_int16_t yy_accept[938] = {
+ 0, 0, 0, 0, 0, 257, 255, 254, 254, 238, 244, 249, 233, 234, 242, 241, 230, 239, 237,
+ 243, 196, 196, 231, 227, 245, 232, 246, 250, 193, 235, 236, 248, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 228, 247, 229,
+ 240, 253, 252, 256, 251, 224, 210, 229, 218, 213, 208, 216, 206, 217, 207, 202, 209, 201, 195,
+ 196, 0, 199, 0, 236, 228, 235, 225, 221, 223, 222, 226, 193, 214, 220, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 193,
+
+ 193, 193, 193, 193, 13, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 16,
+ 193, 193, 25, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 215, 219, 251, 0, 205, 201, 0, 204, 198, 0, 200, 194, 211, 212, 193, 193, 153, 193, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 14, 193,
+
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 30, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 26, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 0, 202, 0, 201, 203, 197, 193, 193, 193, 193, 33, 193, 193, 193, 19, 190, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 17, 156, 193, 193, 193, 193, 22, 193, 193, 160,
+ 171, 193, 193, 193, 193,
+
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 168, 4, 38, 39, 40, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 159, 34, 193, 193, 31, 193, 193, 193, 193, 193, 193, 193, 50, 51, 52, 32, 193, 193,
+ 193, 193, 193, 193, 193, 193, 11, 193, 56, 57, 58, 193, 154, 193, 193, 7, 193, 193, 193,
+ 193, 180, 181, 182, 193, 35, 193, 172, 29, 183, 184, 185, 2, 177, 178, 179, 193, 193, 193,
+ 27, 175, 193, 193, 193,
+
+ 193, 193, 53, 54, 55, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 121, 193, 193,
+ 193, 193, 193, 193, 193, 193, 169, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 155,
+ 193, 193, 192, 59, 60, 61, 193, 193, 15, 193, 193, 193, 126, 193, 193, 9, 193, 193, 124,
+ 193, 193, 193, 170, 165, 127, 193, 193, 193, 193, 193, 193, 161, 193, 193, 193, 193, 193, 93,
+ 41, 44, 46, 45, 42, 48, 47, 49, 43, 193, 193, 193, 193, 176, 152, 193, 193, 163, 193,
+ 193, 193, 37, 122, 28,
+
+ 189, 23, 164, 92, 193, 174, 18, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 20, 36, 193, 193, 193, 193, 193, 193, 128, 98, 104, 193, 193, 193, 193,
+ 193, 95, 97, 3, 193, 193, 193, 193, 119, 193, 193, 193, 193, 193, 193, 193, 157, 193, 193,
+ 193, 193, 193, 8, 193, 193, 10, 193, 193, 193, 193, 193, 193, 21, 115, 12, 166, 129, 99,
+ 106, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 162, 193, 193, 193, 113,
+ 120, 116, 193, 193, 193,
+
+ 193, 193, 193, 193, 193, 158, 130, 100, 105, 193, 193, 173, 193, 117, 193, 193, 193, 193, 6,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 109, 167, 1, 193, 193, 193, 193, 193, 193, 191,
+ 193, 125, 5, 186, 62, 65, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 114, 193, 193, 193, 193, 193, 193, 107, 193, 193, 193, 193, 193, 193, 143, 70, 71, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 123, 193, 193, 193, 108,
+ 145, 75, 76, 193, 193,
+
+ 193, 193, 118, 193, 193, 193, 193, 193, 193, 193, 193, 138, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 69, 193, 193, 193, 193, 63, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 139, 193, 131, 193, 101, 193, 193, 193, 193, 74, 193,
+ 193, 72, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 140,
+ 193, 193, 193, 79, 193, 193, 77, 193, 193, 132, 102, 193, 193, 134, 193, 135, 193, 193, 193,
+ 193, 193, 193, 193, 193,
+
+ 24, 193, 193, 193, 193, 67, 193, 66, 149, 193, 193, 193, 193, 133, 103, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 110, 193, 193, 193, 147, 150, 193, 193, 141, 193, 68,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 148, 151, 193, 193, 193, 111, 193, 193,
+ 144, 73, 193, 193, 193, 193, 187, 193, 193, 193, 80, 193, 193, 193, 193, 112, 146, 78, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 84, 193, 87, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 85, 89,
+
+ 193, 193, 193, 193, 193, 81, 193, 91, 86, 90, 94, 193, 136, 137, 96, 193, 193, 193, 193,
+ 64, 193, 193, 193, 188, 193, 193, 142, 82, 193, 193, 193, 193, 88, 193, 193, 83, 0};
static const YY_CHAR yy_ec[256] = {
0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
@@ -511,148 +512,152 @@ static const YY_CHAR yy_meta[82] = {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
6, 6, 6, 7, 6, 6, 6, 6, 1, 1, 1, 6, 4, 4, 4, 4, 3, 5, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 1, 1, 1, 1};
-static const flex_int16_t yy_base[908] = {
- 0, 0, 0, 81, 0, 1155, 1156, 1156, 1156, 1126, 135, 159, 1156, 1156, 1125,
- 156, 1156, 155, 153, 1124, 175, 166, 1122, 1156, 175, 1122, 153, 1156, 0, 1156,
- 1156, 157, 1096, 148, 158, 168, 178, 141, 175, 1081, 187, 193, 154, 159, 161,
- 1075, 199, 1088, 208, 185, 215, 220, 117, 1073, 1156, 178, 1156, 1156, 1156, 1156,
- 1156, 0, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 240, 1156, 248,
- 241, 259, 317, 1156, 0, 1156, 1156, 1156, 1116, 1156, 1156, 1156, 1115, 0, 1156,
- 1156, 1072, 1070, 1075, 224, 1072, 1080, 1078, 1078, 1065, 1068,
-
- 1079, 231, 1073, 1061, 1058, 1071, 1058, 1055, 1055, 1061, 192, 236, 1055, 1065, 1051,
- 1057, 1060, 1061, 0, 1053, 1063, 241, 1062, 1043, 1056, 1037, 227, 1041, 1054, 1045,
- 253, 1038, 254, 1050, 1052, 248, 1041, 257, 1028, 1037, 274, 287, 1041, 1037, 1039,
- 1028, 1031, 279, 260, 292, 1040, 1028, 1040, 150, 1033, 1032, 1020, 1156, 1156, 0,
- 341, 1156, 312, 357, 1156, 1156, 367, 377, 357, 1156, 1156, 1038, 1029, 0, 1025,
- 1020, 1024, 1033, 1027, 1029, 345, 1013, 1013, 1024, 1016, 279, 1026, 1023, 1023, 1021,
- 1018, 1010, 1016, 1003, 1001, 1013, 999, 1015, 0, 1012,
-
- 1000, 1007, 1004, 1008, 1009, 1002, 999, 988, 987, 1000, 1003, 991, 1002, 998, 986,
- 992, 983, 387, 988, 991, 982, 989, 978, 982, 973, 987, 986, 977, 983, 340,
- 967, 970, 968, 967, 977, 967, 962, 960, 962, 972, 958, 960, 957, 968, 967,
- 970, 952, 350, 960, 956, 954, 963, 942, 401, 960, 962, 951, 943, 980, 422,
- 432, 442, 454, 1156, 1156, 947, 938, 948, 947, 0, 945, 949, 404, 0, 0,
- 937, 935, 935, 936, 931, 939, 928, 945, 934, 407, 0, 0, 928, 938, 937,
- 937, 0, 922, 413, 0, 0, 924, 416, 931, 932,
-
- 923, 917, 916, 917, 916, 916, 393, 462, 911, 0, 0, 907, 906, 905, 907,
- 908, 913, 907, 903, 916, 911, 911, 909, 908, 902, 896, 898, 897, 901, 906,
- 892, 895, 890, 898, 903, 891, 888, 900, 891, 0, 0, 897, 893, 0, 885,
- 885, 890, 881, 888, 465, 885, 0, 0, 0, 0, 875, 887, 886, 873, 874,
- 883, 884, 884, 0, 869, 0, 0, 0, 870, 0, 878, 869, 0, 868, 869,
- 863, 873, 0, 0, 0, 864, 0, 860, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 870, 469, 869, 0, 0, 867, 863, 860,
-
- 908, 907, 0, 0, 0, 850, 475, 478, 481, 855, 851, 856, 847, 845, 858,
- 843, 0, 843, 856, 845, 841, 847, 842, 849, 849, 0, 846, 843, 847, 831,
- 829, 832, 838, 844, 839, 838, 826, 0, 828, 829, 0, 0, 0, 0, 826,
- 829, 0, 823, 833, 824, 0, 834, 814, 0, 823, 818, 0, 811, 811, 824,
- 0, 826, 0, 487, 845, 844, 843, 804, 803, 0, 820, 819, 814, 855, 846,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 814, 801, 798, 0,
- 0, 803, 350, 0, 800, 807, 806, 0, 792, 0,
-
- 0, 0, 0, 0, 789, 0, 0, 788, 799, 490, 792, 798, 797, 794, 789,
- 786, 808, 792, 777, 777, 790, 775, 787, 0, 0, 780, 809, 808, 807, 768,
- 767, 478, 481, 0, 779, 782, 780, 769, 765, 780, 0, 0, 776, 773, 772,
- 762, 0, 761, 751, 768, 754, 498, 762, 765, 0, 788, 787, 786, 747, 746,
- 0, 760, 747, 0, 757, 750, 742, 743, 749, 752, 0, 0, 0, 0, 778,
- 777, 0, 748, 751, 736, 743, 734, 741, 742, 742, 741, 727, 509, 738, 738,
- 0, 739, 728, 727, 0, 0, 0, 758, 757, 756,
-
- 717, 716, 712, 724, 719, 0, 753, 752, 0, 723, 726, 0, 518, 0, 704,
- 725, 743, 711, 0, 707, 706, 715, 715, 703, 717, 701, 715, 710, 0, 0,
- 0, 733, 732, 731, 692, 691, 690, 0, 690, 0, 0, 486, 497, 718, 700,
- 703, 686, 699, 697, 685, 684, 693, 693, 716, 715, 714, 675, 674, 0, 679,
- 669, 672, 673, 672, 682, 0, 685, 681, 683, 679, 666, 703, 507, 0, 674,
- 677, 667, 668, 660, 667, 658, 683, 667, 663, 665, 663, 663, 662, 661, 0,
- 649, 648, 658, 0, 684, 512, 0, 655, 658, 655,
-
- 640, 0, 656, 655, 639, 631, 639, 629, 637, 0, 634, 633, 658, 642, 640,
- 640, 633, 623, 626, 640, 624, 661, 635, 636, 633, 630, 644, 617, 618, 630,
- 629, 613, 612, 611, 636, 620, 618, 618, 621, 616, 597, 596, 0, 628, 596,
- 626, 594, 598, 597, 634, 608, 605, 0, 609, 599, 600, 584, 586, 570, 118,
- 177, 173, 196, 239, 254, 279, 276, 290, 0, 299, 341, 396, 372, 409, 0,
- 419, 420, 0, 0, 449, 0, 450, 0, 464, 478, 476, 475, 479, 484, 0,
- 479, 489, 481, 489, 516, 493, 0, 0, 507, 508,
-
- 528, 0, 0, 510, 511, 497, 496, 499, 512, 504, 517, 518, 497, 498, 506,
- 0, 0, 522, 534, 504, 536, 526, 520, 508, 526, 520, 553, 510, 511, 519,
- 0, 0, 554, 536, 534, 535, 0, 0, 539, 528, 534, 0, 535, 521, 544,
- 0, 532, 559, 564, 0, 0, 548, 555, 540, 538, 539, 531, 548, 555, 556,
- 0, 554, 538, 578, 575, 539, 572, 600, 544, 545, 0, 562, 564, 565, 556,
- 0, 581, 0, 0, 0, 591, 0, 0, 0, 559, 560, 554, 0, 580, 556,
- 557, 0, 615, 0, 0, 584, 599, 587, 592, 0,
-
- 1156, 635, 640, 645, 650, 653, 656};
-
-static const flex_int16_t yy_def[908] = {
- 0, 901, 1, 901, 3, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 902, 901, 901, 901, 901, 901, 901, 903, 901, 901, 901, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 901, 901, 901, 901, 901, 901, 901, 904, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 905, 901, 906, 20, 902, 901, 901, 907, 901, 901, 901, 901, 901,
- 901, 901, 901, 903, 901, 901, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 901, 901, 904, 901, 901, 906, 901, 901, 901, 901, 901,
- 907, 901, 901, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 901, 901, 901, 901, 901, 901, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 0, 901, 901, 901, 901, 901, 901};
-
-static const flex_int16_t yy_nxt[1238] = {
+static const flex_int16_t yy_base[944] = {
+ 0, 0, 0, 81, 0, 1191, 1192, 1192, 1192, 1162, 135, 159, 1192, 1192, 1161,
+ 156, 1192, 155, 153, 1160, 175, 166, 1158, 1192, 175, 1158, 153, 1192, 0, 1192,
+ 1192, 157, 1132, 148, 158, 168, 178, 141, 175, 1117, 187, 193, 154, 159, 161,
+ 1111, 199, 1124, 208, 185, 215, 220, 117, 1109, 1192, 178, 1192, 1192, 1192, 1192,
+ 1192, 0, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 240, 1192, 248,
+ 241, 259, 317, 1192, 0, 1192, 1192, 1192, 1152, 1192, 1192, 1192, 1151, 0, 1192,
+ 1192, 1108, 1106, 1111, 224, 1108, 1116, 1114, 1114, 1101, 1104,
+
+ 1115, 231, 1109, 1097, 1094, 1107, 1094, 1091, 1091, 1097, 192, 236, 1091, 1101, 1087,
+ 1093, 1096, 1097, 0, 1089, 1099, 241, 1098, 1079, 1092, 1073, 227, 1077, 1090, 1081,
+ 253, 1074, 254, 1086, 1088, 248, 1077, 257, 1064, 1073, 274, 287, 1077, 1073, 1075,
+ 1064, 1067, 279, 260, 292, 1076, 1064, 1076, 150, 1069, 1068, 1056, 1192, 1192, 0,
+ 341, 1192, 312, 357, 1192, 1192, 367, 377, 357, 1192, 1192, 1074, 1065, 0, 1061,
+ 1056, 1060, 1069, 1063, 1065, 345, 1049, 1049, 1060, 1052, 279, 1062, 1059, 1059, 1057,
+ 1054, 1046, 1052, 1039, 1037, 1049, 1035, 1051, 0, 1048,
+
+ 1036, 1043, 1040, 1044, 1045, 1038, 1035, 1024, 1023, 1036, 1039, 1027, 1038, 1034, 1022,
+ 1028, 1019, 387, 1024, 1027, 1018, 1025, 1014, 1018, 1009, 1023, 1022, 1013, 1019, 340,
+ 1003, 1006, 1004, 1003, 1013, 1003, 998, 996, 998, 1008, 994, 996, 993, 1004, 1003,
+ 1006, 988, 350, 996, 992, 990, 999, 978, 401, 996, 998, 987, 979, 1016, 422,
+ 432, 442, 454, 1192, 1192, 983, 974, 984, 983, 0, 981, 985, 404, 0, 0,
+ 973, 971, 971, 972, 967, 975, 964, 981, 970, 407, 0, 0, 964, 974, 973,
+ 973, 0, 958, 413, 0, 0, 960, 416, 967, 968,
+
+ 959, 953, 952, 953, 952, 952, 393, 462, 947, 0, 0, 943, 942, 941, 943,
+ 944, 949, 943, 939, 952, 947, 947, 945, 944, 938, 932, 934, 933, 937, 942,
+ 928, 931, 926, 934, 939, 927, 924, 936, 927, 0, 0, 933, 929, 0, 921,
+ 921, 926, 917, 924, 465, 921, 0, 0, 0, 0, 911, 923, 922, 909, 910,
+ 919, 920, 920, 0, 905, 0, 0, 0, 906, 0, 914, 905, 0, 904, 905,
+ 899, 909, 0, 0, 0, 900, 0, 896, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 906, 469, 905, 0, 0, 903, 899, 896,
+
+ 944, 943, 0, 0, 0, 886, 475, 478, 481, 891, 887, 892, 883, 881, 894,
+ 879, 0, 879, 892, 881, 877, 883, 878, 885, 885, 0, 882, 879, 883, 867,
+ 865, 868, 874, 880, 875, 874, 862, 0, 864, 865, 0, 0, 0, 0, 862,
+ 865, 0, 859, 869, 860, 0, 870, 850, 0, 859, 854, 0, 847, 847, 860,
+ 0, 862, 0, 487, 881, 880, 879, 840, 839, 0, 856, 855, 850, 891, 882,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 837, 850, 837, 834, 0,
+ 0, 839, 350, 0, 836, 843, 842, 0, 828, 0,
+
+ 0, 0, 0, 0, 825, 0, 0, 824, 835, 490, 828, 834, 833, 830, 825,
+ 822, 844, 828, 813, 813, 826, 811, 823, 0, 0, 816, 845, 844, 843, 804,
+ 803, 478, 481, 0, 815, 818, 816, 805, 801, 816, 0, 0, 812, 809, 808,
+ 798, 0, 797, 787, 804, 790, 498, 798, 801, 0, 824, 823, 822, 783, 782,
+ 0, 796, 783, 0, 793, 786, 778, 779, 785, 788, 0, 0, 0, 0, 814,
+ 813, 0, 784, 787, 772, 779, 770, 777, 778, 778, 777, 763, 509, 774, 774,
+ 0, 775, 764, 763, 0, 0, 0, 794, 793, 792,
+
+ 753, 752, 748, 760, 755, 0, 789, 788, 0, 759, 762, 0, 518, 0, 740,
+ 761, 779, 747, 0, 743, 742, 751, 751, 739, 753, 737, 751, 746, 772, 0,
+ 0, 768, 767, 766, 727, 726, 725, 0, 725, 0, 0, 486, 497, 753, 735,
+ 738, 721, 734, 732, 720, 719, 728, 728, 751, 750, 749, 710, 709, 0, 714,
+ 704, 707, 708, 707, 717, 743, 719, 715, 717, 713, 700, 699, 736, 507, 0,
+ 707, 710, 700, 701, 693, 700, 691, 716, 700, 696, 698, 696, 696, 695, 694,
+ 0, 682, 681, 691, 717, 716, 512, 0, 687, 690,
+
+ 687, 672, 0, 688, 687, 671, 670, 662, 670, 660, 668, 0, 665, 664, 663,
+ 688, 672, 670, 670, 663, 653, 656, 670, 654, 691, 665, 666, 663, 660, 514,
+ 648, 649, 661, 660, 644, 643, 642, 641, 666, 650, 648, 648, 651, 646, 627,
+ 626, 0, 632, 657, 625, 655, 619, 636, 608, 607, 644, 133, 176, 213, 212,
+ 242, 266, 269, 298, 297, 297, 353, 356, 359, 398, 427, 423, 463, 435, 442,
+ 0, 463, 477, 479, 522, 499, 498, 527, 490, 491, 0, 0, 507, 501, 0,
+ 502, 0, 488, 511, 512, 498, 497, 500, 501, 502,
+
+ 0, 496, 506, 498, 506, 533, 510, 0, 0, 509, 525, 526, 546, 0, 0,
+ 528, 529, 530, 516, 515, 518, 519, 532, 524, 515, 538, 539, 0, 518, 519,
+ 527, 0, 0, 528, 544, 556, 526, 558, 548, 542, 530, 551, 549, 543, 576,
+ 533, 534, 535, 543, 0, 0, 544, 579, 561, 0, 559, 560, 0, 0, 564,
+ 565, 554, 560, 0, 561, 547, 570, 0, 549, 559, 586, 591, 0, 0, 0,
+ 575, 576, 583, 568, 566, 567, 559, 560, 577, 584, 585, 0, 583, 598, 568,
+ 608, 605, 569, 570, 603, 631, 575, 576, 0, 0,
+
+ 593, 595, 596, 587, 594, 0, 613, 0, 0, 0, 0, 623, 0, 0, 0,
+ 591, 592, 586, 607, 0, 613, 589, 590, 0, 608, 649, 0, 0, 600, 619,
+ 595, 635, 0, 623, 628, 0, 1192, 671, 676, 681, 686, 689, 692};
+
+static const flex_int16_t yy_def[944] = {
+ 0, 937, 1, 937, 3, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 938, 937, 937, 937, 937, 937, 937, 939, 937, 937, 937, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 937, 937, 937, 937, 937, 937, 937, 940, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 941, 937, 942, 20, 938, 937, 937, 943, 937, 937, 937, 937, 937,
+ 937, 937, 937, 939, 937, 937, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 937, 937, 940, 937, 937, 942, 937, 937, 937, 937, 937,
+ 943, 937, 937, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 937, 937, 937, 937, 937, 937, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
+ 939, 939, 0, 937, 937, 937, 937, 937, 937};
+
+static const flex_int16_t yy_nxt[1274] = {
0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, 21,
21, 21, 21, 21, 21, 21, 22, 23, 24, 25, 26, 27, 28, 28, 28, 28, 28, 28, 28,
28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 30, 31, 32, 33, 34, 35,
@@ -664,83 +669,85 @@ static const flex_int16_t yy_nxt[1238] = {
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 58, 58, 58, 61, 61, 61, 61, 61,
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
61, 58, 58, 58, 58, 63, 64, 65, 68, 70, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 72, 155, 74, 81, 86, 87, 71, 69, 89, 156, 66, 74, 795, 75, 75, 75, 75, 75, 75,
+ 72, 155, 74, 81, 86, 87, 71, 69, 89, 156, 66, 74, 797, 75, 75, 75, 75, 75, 75,
75, 75, 76, 76, 82,
77, 83, 84, 92, 107, 158, 108, 126, 90, 77, 78, 255, 128, 256, 130, 109, 129, 93, 94,
- 78, 127, 99, 79, 77, 95, 100, 96, 131, 110, 97, 98, 101, 77, 796, 102, 103, 111, 78,
- 112, 104, 116, 113, 144, 797, 105, 145, 78, 114, 117, 79, 106, 119, 133, 146, 120, 195, 159,
- 121, 122, 118, 147, 137, 123, 124, 798, 125, 196, 134, 138, 139, 135, 74, 140, 152, 161, 162,
- 148, 153, 141, 142, 149, 143, 164, 165, 150, 166, 154, 151, 901, 197, 175, 184, 216, 77, 176,
- 185, 186, 161, 162, 799,
-
- 217, 229, 198, 78, 207, 164, 165, 208, 209, 224, 233, 210, 166, 211, 221, 901, 77, 230, 231,
- 800, 222, 248, 225, 234, 226, 801, 167, 237, 167, 249, 78, 168, 168, 168, 168, 168, 168, 168,
- 168, 168, 168, 239, 238, 246, 247, 250, 164, 165, 280, 281, 260, 802, 260, 251, 240, 261, 261,
- 261, 261, 261, 261, 261, 261, 261, 261, 803, 262, 804, 262, 164, 165, 263, 263, 263, 263, 263,
+ 78, 127, 99, 79, 77, 95, 100, 96, 131, 110, 97, 98, 101, 77, 798, 102, 103, 111, 78,
+ 112, 104, 116, 113, 144, 799, 105, 145, 78, 114, 117, 79, 106, 119, 133, 146, 120, 195, 159,
+ 121, 122, 118, 147, 137, 123, 124, 800, 125, 196, 134, 138, 139, 135, 74, 140, 152, 161, 162,
+ 148, 153, 141, 142, 149, 143, 164, 165, 150, 166, 154, 151, 937, 197, 175, 184, 216, 77, 176,
+ 185, 186, 161, 162, 801,
+
+ 217, 229, 198, 78, 207, 164, 165, 208, 209, 224, 233, 210, 166, 211, 221, 937, 77, 230, 231,
+ 802, 222, 248, 225, 234, 226, 803, 167, 237, 167, 249, 78, 168, 168, 168, 168, 168, 168, 168,
+ 168, 168, 168, 239, 238, 246, 247, 250, 164, 165, 280, 281, 260, 804, 260, 251, 240, 261, 261,
+ 261, 261, 261, 261, 261, 261, 261, 261, 805, 262, 806, 262, 164, 165, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168,
- 168, 265, 274, 312, 313, 314, 326, 547, 345, 805, 327, 548, 264, 401, 402, 275, 346, 352, 353,
- 354, 366, 367, 368, 378, 379, 380, 806, 807, 265, 386, 387, 388, 390, 391, 392, 264, 261, 261,
+ 168, 265, 274, 312, 313, 314, 326, 547, 345, 807, 327, 548, 264, 401, 402, 275, 346, 352, 353,
+ 354, 366, 367, 368, 378, 379, 380, 808, 809, 265, 386, 387, 388, 390, 391, 392, 264, 261, 261,
261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 263,
- 263, 263, 263, 263, 263, 263, 263, 263, 263, 808, 162, 263, 263, 263, 263, 263, 263, 263, 263,
- 263, 263, 403, 404, 405, 442, 443, 444, 465, 466, 467, 809, 810, 165, 162, 477, 478, 479, 480,
+ 263, 263, 263, 263, 263, 263, 263, 263, 263, 810, 162, 263, 263, 263, 263, 263, 263, 263, 263,
+ 263, 263, 403, 404, 405, 442, 443, 444, 465, 466, 467, 811, 812, 165, 162, 477, 478, 479, 480,
481, 482, 483, 484, 485,
- 468, 469, 527, 528, 529, 556, 557, 558, 580, 811, 812, 582, 165, 598, 599, 600, 679, 813, 530,
- 531, 581, 559, 560, 583, 632, 633, 634, 681, 680, 601, 602, 814, 603, 654, 655, 656, 682, 712,
- 683, 684, 635, 636, 734, 604, 815, 816, 713, 817, 714, 657, 658, 735, 818, 736, 819, 820, 821,
+ 468, 469, 527, 528, 529, 556, 557, 558, 580, 813, 814, 582, 165, 598, 599, 600, 680, 815, 530,
+ 531, 581, 559, 560, 583, 632, 633, 634, 682, 681, 601, 602, 816, 603, 654, 655, 656, 683, 715,
+ 684, 685, 635, 636, 738, 604, 770, 817, 716, 818, 717, 657, 658, 739, 819, 740, 820, 821, 771,
822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840,
841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859,
860, 861, 862, 863, 864,
865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883,
- 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 76, 76,
- 794, 793, 792, 76, 88, 88, 88, 88, 88, 160, 160, 160, 160, 160, 72, 791, 72, 163, 790,
- 163, 169, 169, 169, 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775,
- 774, 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756,
- 755, 754, 753, 752, 751,
-
- 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 733, 732, 731, 730, 729,
- 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 711, 710, 709, 708, 707,
- 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688,
- 687, 686, 685, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
- 662, 661, 660, 659, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639,
- 638, 637, 631, 630, 629,
-
- 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610,
- 609, 608, 607, 606, 605, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584,
- 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561,
- 555, 554, 553, 552, 551, 550, 549, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535,
- 534, 533, 532, 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511,
- 510, 509, 508, 507, 506,
-
- 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
- 486, 476, 475, 474, 473, 472, 471, 470, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454,
- 453, 452, 451, 450, 449, 448, 447, 446, 445, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432,
- 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413,
- 412, 411, 410, 409, 408, 407, 406, 400, 399, 398, 397, 396, 395, 394, 393, 389, 385, 384, 383,
- 382, 381, 377, 376, 375,
-
- 374, 373, 372, 371, 370, 369, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 351, 350,
- 349, 348, 347, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329,
- 328, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 311, 310, 309, 308, 307, 306, 305,
- 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286,
- 285, 284, 283, 282, 279, 278, 277, 276, 273, 272, 271, 270, 269, 268, 267, 266, 259, 258, 257,
- 254, 253, 252, 245, 244,
-
- 243, 242, 241, 236, 235, 232, 228, 227, 223, 220, 219, 218, 215, 214, 213, 212, 206, 205, 204,
- 203, 202, 201, 200, 199, 194, 193, 192, 191, 190, 189, 188, 187, 183, 182, 181, 180, 179, 178,
- 177, 174, 173, 172, 171, 170, 157, 136, 132, 115, 91, 85, 80, 73, 67, 62, 901, 5, 901,
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 901,
-
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901};
-
-static const flex_int16_t yy_chk[1238] = {
+ 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902,
+ 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
+ 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 76, 76, 796, 795,
+ 794, 76, 88, 88, 88, 88, 88, 160, 160, 160, 160, 160, 72, 793, 72, 163, 792, 163, 169,
+ 169, 169, 791, 790, 789,
+
+ 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, 769, 768,
+ 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749,
+ 748, 747, 746, 745, 744, 743, 742, 741, 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727,
+ 726, 725, 724, 723, 722, 721, 720, 719, 718, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705,
+ 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686,
+ 679, 678, 677, 676, 675,
+
+ 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, 653, 652, 651,
+ 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 631, 630, 629, 628, 627,
+ 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, 608,
+ 607, 606, 605, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 579, 578,
+ 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 555, 554,
+ 553, 552, 551, 550, 549,
+
+ 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 526, 525, 524, 523,
+ 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504,
+ 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 476,
+ 475, 474, 473, 472, 471, 470, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, 452,
+ 451, 450, 449, 448, 447, 446, 445, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 430,
+ 429, 428, 427, 426, 425,
+
+ 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, 406,
+ 400, 399, 398, 397, 396, 395, 394, 393, 389, 385, 384, 383, 382, 381, 377, 376, 375, 374, 373,
+ 372, 371, 370, 369, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 351, 350, 349, 348,
+ 347, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 325,
+ 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 311, 310, 309, 308, 307, 306, 305, 304, 303,
+ 302, 301, 300, 299, 298,
+
+ 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 279, 278, 277,
+ 276, 273, 272, 271, 270, 269, 268, 267, 266, 259, 258, 257, 254, 253, 252, 245, 244, 243, 242,
+ 241, 236, 235, 232, 228, 227, 223, 220, 219, 218, 215, 214, 213, 212, 206, 205, 204, 203, 202,
+ 201, 200, 199, 194, 193, 192, 191, 190, 189, 188, 187, 183, 182, 181, 180, 179, 178, 177, 174,
+ 173, 172, 171, 170, 157, 136, 132, 115, 91, 85, 80, 73, 67, 62, 937, 5, 937, 937, 937,
+ 937, 937, 937, 937, 937,
+
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937};
+
+static const flex_int16_t yy_chk[1274] = {
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -752,92 +759,95 @@ static const flex_int16_t yy_chk[1238] = {
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 10, 10, 11, 15, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 52, 21, 24, 26, 26, 17, 15, 31, 52, 11, 20, 760, 20, 20, 20, 20, 20, 20,
+ 18, 52, 21, 24, 26, 26, 17, 15, 31, 52, 11, 20, 757, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 24,
21, 24, 24, 33, 37, 55, 37, 42, 31, 20, 21, 154, 43, 154, 44, 37, 43, 33, 33,
- 20, 42, 35, 20, 21, 34, 35, 34, 44, 38, 34, 34, 35, 20, 761, 35, 36, 38, 21,
- 38, 36, 40, 38, 49, 762, 36, 49, 20, 38, 40, 20, 36, 41, 46, 49, 41, 111, 55,
- 41, 41, 40, 49, 48, 41, 41, 763, 41, 111, 46, 48, 48, 46, 76, 48, 51, 72, 72,
+ 20, 42, 35, 20, 21, 34, 35, 34, 44, 38, 34, 34, 35, 20, 758, 35, 36, 38, 21,
+ 38, 36, 40, 38, 49, 759, 36, 49, 20, 38, 40, 20, 36, 41, 46, 49, 41, 111, 55,
+ 41, 41, 40, 49, 48, 41, 41, 760, 41, 111, 46, 48, 48, 46, 76, 48, 51, 72, 72,
50, 51, 48, 48, 50, 48, 74, 74, 50, 75, 51, 50, 75, 112, 94, 102, 127, 76, 94,
- 102, 102, 72, 72, 764,
+ 102, 102, 72, 72, 761,
127, 136, 112, 76, 122, 74, 74, 122, 122, 133, 138, 122, 75, 122, 131, 75, 76, 136, 136,
- 765, 131, 149, 133, 138, 133, 766, 77, 141, 77, 149, 76, 77, 77, 77, 77, 77, 77, 77,
- 77, 77, 77, 142, 141, 148, 148, 150, 163, 163, 186, 186, 161, 767, 161, 150, 142, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161, 768, 164, 770, 164, 163, 163, 164, 164, 164, 164, 164,
+ 762, 131, 149, 133, 138, 133, 763, 77, 141, 77, 149, 76, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 77, 142, 141, 148, 148, 150, 163, 163, 186, 186, 161, 764, 161, 150, 142, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 765, 164, 766, 164, 163, 163, 164, 164, 164, 164, 164,
164, 164, 164, 164, 164, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, 168, 168, 168,
168, 168, 168, 168, 168,
- 168, 169, 181, 218, 218, 218, 230, 493, 248, 771, 230, 493, 168, 307, 307, 181, 248, 254, 254,
- 254, 273, 273, 273, 285, 285, 285, 772, 773, 169, 294, 294, 294, 298, 298, 298, 168, 260, 260,
+ 168, 169, 181, 218, 218, 218, 230, 493, 248, 767, 230, 493, 168, 307, 307, 181, 248, 254, 254,
+ 254, 273, 273, 273, 285, 285, 285, 768, 769, 169, 294, 294, 294, 298, 298, 298, 168, 260, 260,
260, 260, 260, 260, 260, 260, 260, 260, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 774, 261, 263, 263, 263, 263, 263, 263, 263, 263,
- 263, 263, 308, 308, 308, 350, 350, 350, 394, 394, 394, 776, 777, 263, 261, 407, 407, 407, 408,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 770, 261, 263, 263, 263, 263, 263, 263, 263, 263,
+ 263, 263, 308, 308, 308, 350, 350, 350, 394, 394, 394, 771, 772, 263, 261, 407, 407, 407, 408,
408, 408, 409, 409, 409,
- 394, 394, 464, 464, 464, 510, 510, 510, 532, 780, 782, 533, 263, 552, 552, 552, 642, 784, 464,
- 464, 532, 510, 510, 533, 588, 588, 588, 643, 642, 552, 552, 785, 552, 613, 613, 613, 643, 673,
- 643, 643, 588, 588, 696, 552, 786, 787, 673, 788, 673, 613, 613, 696, 789, 696, 791, 792, 793,
- 794, 795, 796, 799, 800, 801, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 818,
- 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 833, 834, 835, 836, 839, 840, 841,
- 843, 844, 845, 847, 848,
-
- 849, 852, 853, 854, 855, 856, 857, 858, 859, 860, 862, 863, 864, 865, 866, 867, 868, 869, 870,
- 872, 873, 874, 875, 877, 881, 885, 886, 887, 889, 890, 891, 893, 896, 897, 898, 899, 902, 902,
- 759, 758, 757, 902, 903, 903, 903, 903, 903, 904, 904, 904, 904, 904, 905, 756, 905, 906, 755,
- 906, 907, 907, 907, 754, 752, 751, 750, 749, 748, 747, 746, 745, 744, 742, 741, 740, 739, 738,
- 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, 719,
- 718, 717, 716, 715, 714,
-
- 713, 712, 711, 709, 708, 707, 706, 705, 704, 703, 701, 700, 699, 698, 695, 693, 692, 691, 689,
- 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, 672, 671, 670, 669, 668,
- 667, 665, 664, 663, 662, 661, 660, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647,
- 646, 645, 644, 639, 637, 636, 635, 634, 633, 632, 628, 627, 626, 625, 624, 623, 622, 621, 620,
- 618, 617, 616, 615, 611, 610, 608, 607, 605, 604, 603, 602, 601, 600, 599, 598, 594, 593, 592,
- 590, 589, 587, 586, 585,
-
- 584, 583, 582, 581, 580, 579, 578, 576, 575, 570, 569, 568, 567, 566, 565, 563, 562, 560, 559,
- 558, 557, 556, 554, 553, 551, 550, 549, 548, 546, 545, 544, 543, 540, 539, 538, 537, 536, 535,
- 531, 530, 529, 528, 527, 526, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511,
- 509, 508, 505, 499, 497, 496, 495, 492, 489, 488, 487, 486, 475, 474, 473, 472, 471, 469, 468,
- 467, 466, 465, 462, 460, 459, 458, 456, 455, 453, 452, 450, 449, 448, 446, 445, 440, 439, 437,
- 436, 435, 434, 433, 432,
-
- 431, 430, 429, 428, 427, 425, 424, 423, 422, 421, 420, 419, 418, 416, 415, 414, 413, 412, 411,
- 410, 406, 402, 401, 400, 399, 398, 395, 393, 383, 381, 377, 376, 375, 374, 372, 371, 369, 365,
- 363, 362, 361, 360, 359, 358, 357, 356, 351, 349, 348, 347, 346, 345, 343, 342, 339, 338, 337,
- 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318,
- 317, 316, 315, 314, 313, 312, 309, 306, 305, 304, 303, 302, 301, 300, 299, 297, 293, 291, 290,
- 289, 288, 284, 283, 282,
-
- 281, 280, 279, 278, 277, 276, 272, 271, 269, 268, 267, 266, 259, 258, 257, 256, 255, 253, 252,
- 251, 250, 249, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
- 231, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 217, 216, 215, 214, 213, 212, 211,
- 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 198, 197, 196, 195, 194, 193, 192, 191,
- 190, 189, 188, 187, 185, 184, 183, 182, 180, 179, 178, 177, 176, 175, 173, 172, 157, 156, 155,
- 153, 152, 151, 147, 146,
-
- 145, 144, 143, 140, 139, 137, 135, 134, 132, 130, 129, 128, 126, 125, 124, 123, 121, 120, 118,
- 117, 116, 115, 114, 113, 110, 109, 108, 107, 106, 105, 104, 103, 101, 100, 99, 98, 97, 96,
- 95, 93, 92, 91, 87, 83, 53, 47, 45, 39, 32, 25, 22, 19, 14, 9, 5, 901, 901,
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 901,
-
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
- 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901};
+ 394, 394, 464, 464, 464, 510, 510, 510, 532, 773, 774, 533, 263, 552, 552, 552, 642, 775, 464,
+ 464, 532, 510, 510, 533, 588, 588, 588, 643, 642, 552, 552, 777, 552, 613, 613, 613, 643, 674,
+ 643, 643, 588, 588, 697, 552, 730, 778, 674, 779, 674, 613, 613, 697, 780, 697, 781, 782, 730,
+ 783, 784, 785, 788, 789, 791, 793, 794, 795, 796, 797, 798, 799, 800, 802, 803, 804, 805, 806,
+ 807, 810, 811, 812, 813, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 829, 830,
+ 831, 834, 835, 836, 837,
+
+ 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 852, 853, 854, 856, 857, 860, 861,
+ 862, 863, 865, 866, 867, 869, 870, 871, 872, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885,
+ 886, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 901, 902, 903, 904, 905, 907, 912,
+ 916, 917, 918, 919, 921, 922, 923, 925, 926, 929, 930, 931, 932, 934, 935, 938, 938, 756, 755,
+ 754, 938, 939, 939, 939, 939, 939, 940, 940, 940, 940, 940, 941, 753, 941, 942, 752, 942, 943,
+ 943, 943, 751, 750, 749,
+
+ 748, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, 729, 728,
+ 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 711, 710, 709, 708,
+ 707, 706, 705, 704, 702, 701, 700, 699, 696, 695, 694, 693, 692, 690, 689, 688, 687, 686, 685,
+ 684, 683, 682, 681, 680, 679, 678, 677, 676, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664,
+ 663, 662, 661, 660, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644,
+ 639, 637, 636, 635, 634,
+
+ 633, 632, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 618, 617, 616, 615, 611, 610, 608,
+ 607, 605, 604, 603, 602, 601, 600, 599, 598, 594, 593, 592, 590, 589, 587, 586, 585, 584, 583,
+ 582, 581, 580, 579, 578, 576, 575, 570, 569, 568, 567, 566, 565, 563, 562, 560, 559, 558, 557,
+ 556, 554, 553, 551, 550, 549, 548, 546, 545, 544, 543, 540, 539, 538, 537, 536, 535, 531, 530,
+ 529, 528, 527, 526, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 509, 508,
+ 505, 499, 497, 496, 495,
+
+ 492, 489, 488, 487, 486, 475, 474, 473, 472, 471, 469, 468, 467, 466, 465, 462, 460, 459, 458,
+ 456, 455, 453, 452, 450, 449, 448, 446, 445, 440, 439, 437, 436, 435, 434, 433, 432, 431, 430,
+ 429, 428, 427, 425, 424, 423, 422, 421, 420, 419, 418, 416, 415, 414, 413, 412, 411, 410, 406,
+ 402, 401, 400, 399, 398, 395, 393, 383, 381, 377, 376, 375, 374, 372, 371, 369, 365, 363, 362,
+ 361, 360, 359, 358, 357, 356, 351, 349, 348, 347, 346, 345, 343, 342, 339, 338, 337, 336, 335,
+ 334, 333, 332, 331, 330,
+
+ 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 309,
+ 306, 305, 304, 303, 302, 301, 300, 299, 297, 293, 291, 290, 289, 288, 284, 283, 282, 281, 280,
+ 279, 278, 277, 276, 272, 271, 269, 268, 267, 266, 259, 258, 257, 256, 255, 253, 252, 251, 250,
+ 249, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 229,
+ 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 217, 216, 215, 214, 213, 212, 211, 210, 209,
+ 208, 207, 206, 205, 204,
+
+ 203, 202, 201, 200, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 185, 184, 183,
+ 182, 180, 179, 178, 177, 176, 175, 173, 172, 157, 156, 155, 153, 152, 151, 147, 146, 145, 144,
+ 143, 140, 139, 137, 135, 134, 132, 130, 129, 128, 126, 125, 124, 123, 121, 120, 118, 117, 116,
+ 115, 114, 113, 110, 109, 108, 107, 106, 105, 104, 103, 101, 100, 99, 98, 97, 96, 95, 93,
+ 92, 91, 87, 83, 53, 47, 45, 39, 32, 25, 22, 19, 14, 9, 5, 937, 937, 937, 937,
+ 937, 937, 937, 937, 937,
+
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
+ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, 937};
/* Table of booleans, true if rule could match eol. */
-static const flex_int32_t yy_rule_can_match_eol[250] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+static const flex_int32_t yy_rule_can_match_eol[257] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
};
/* The intent behind this definition is that it'll catch
@@ -928,6 +938,11 @@ static int ES3_reserved_ES3_extension_ES3_1_keyword(TParseContext *context,
static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword(TParseContext *context,
TExtension extension,
int token);
+static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(TParseContext *context,
+ TExtension extension1,
+ TExtension extension2,
+ int token1,
+ int token2);
static int WEBGL_video_texture_extension(TParseContext *context, int token);
static int uint_constant(TParseContext *context);
static int int_constant(TParseContext *context);
@@ -1235,12 +1250,12 @@ YY_DECL
while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
{
yy_current_state = (int)yy_def[yy_current_state];
- if (yy_current_state >= 902)
+ if (yy_current_state >= 938)
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
- } while (yy_current_state != 901);
+ } while (yy_current_state != 937);
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1582,100 +1597,156 @@ YY_DECL
case 87:
YY_RULE_SETUP
{
- return WEBGL_video_texture_extension(context, SAMPLERVIDEOWEBGL);
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(
+ context, TExtension::OES_texture_cube_map_array,
+ TExtension::EXT_texture_cube_map_array, SAMPLERCUBEARRAYOES,
+ SAMPLERCUBEARRAYEXT);
}
YY_BREAK
case 88:
- YY_RULE_SETUP { return STRUCT; }
+ YY_RULE_SETUP
+ {
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(
+ context, TExtension::OES_texture_cube_map_array,
+ TExtension::EXT_texture_cube_map_array, SAMPLERCUBEARRAYSHADOWOES,
+ SAMPLERCUBEARRAYSHADOWEXT);
+ }
YY_BREAK
case 89:
- YY_RULE_SETUP { return ES3_keyword(context, LAYOUT); }
+ YY_RULE_SETUP
+ {
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(
+ context, TExtension::OES_texture_cube_map_array,
+ TExtension::EXT_texture_cube_map_array, ISAMPLERCUBEARRAYOES,
+ ISAMPLERCUBEARRAYEXT);
+ }
YY_BREAK
case 90:
YY_RULE_SETUP
{
- return ES3_extension(context, TExtension::EXT_YUV_target,
- YUVCSCSTANDARDEXT);
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(
+ context, TExtension::OES_texture_cube_map_array,
+ TExtension::EXT_texture_cube_map_array, USAMPLERCUBEARRAYOES,
+ USAMPLERCUBEARRAYEXT);
}
YY_BREAK
case 91:
- YY_RULE_SETUP { return yuvcscstandardext_constant(context); }
+ YY_RULE_SETUP
+ {
+ return WEBGL_video_texture_extension(context, SAMPLERVIDEOWEBGL);
+ }
YY_BREAK
case 92:
- YY_RULE_SETUP { return yuvcscstandardext_constant(context); }
+ YY_RULE_SETUP { return STRUCT; }
YY_BREAK
case 93:
- YY_RULE_SETUP { return yuvcscstandardext_constant(context); }
+ YY_RULE_SETUP { return ES3_keyword(context, LAYOUT); }
YY_BREAK
case 94:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGE2D); }
+ YY_RULE_SETUP
+ {
+ return ES3_extension(context, TExtension::EXT_YUV_target,
+ YUVCSCSTANDARDEXT);
+ }
YY_BREAK
case 95:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGE2D); }
+ YY_RULE_SETUP { return yuvcscstandardext_constant(context); }
YY_BREAK
case 96:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGE2D); }
+ YY_RULE_SETUP { return yuvcscstandardext_constant(context); }
YY_BREAK
case 97:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGE2DARRAY); }
+ YY_RULE_SETUP { return yuvcscstandardext_constant(context); }
YY_BREAK
case 98:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGE2DARRAY); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGE2D); }
YY_BREAK
case 99:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGE2DARRAY); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGE2D); }
YY_BREAK
case 100:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGE3D); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGE2D); }
YY_BREAK
case 101:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGE3D); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGE2DARRAY); }
YY_BREAK
case 102:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGE3D); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGE2DARRAY); }
YY_BREAK
case 103:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGECUBE); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGE2DARRAY); }
YY_BREAK
case 104:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGECUBE); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGE3D); }
YY_BREAK
case 105:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGECUBE); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGE3D); }
YY_BREAK
case 106:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, READONLY); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGE3D); }
YY_BREAK
case 107:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, WRITEONLY); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IIMAGECUBE); }
YY_BREAK
case 108:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, COHERENT); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, UIMAGECUBE); }
YY_BREAK
case 109:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, RESTRICT); }
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, IMAGECUBE); }
YY_BREAK
case 110:
- YY_RULE_SETUP { return ES2_reserved_ES3_1_keyword(context, VOLATILE); }
+ YY_RULE_SETUP
+ {
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(
+ context, TExtension::OES_texture_cube_map_array,
+ TExtension::EXT_texture_cube_map_array, IMAGECUBEARRAYOES,
+ IMAGECUBEARRAYEXT);
+ }
YY_BREAK
case 111:
- YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, ATOMICUINT); }
+ YY_RULE_SETUP
+ {
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(
+ context, TExtension::OES_texture_cube_map_array,
+ TExtension::EXT_texture_cube_map_array, IIMAGECUBEARRAYOES,
+ IIMAGECUBEARRAYEXT);
+ }
YY_BREAK
case 112:
YY_RULE_SETUP
{
- return ES3_1_reserved_ES3_1_extension_ES3_2_keyword(
- context, TExtension::EXT_gpu_shader5, PRECISE);
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(
+ context, TExtension::OES_texture_cube_map_array,
+ TExtension::EXT_texture_cube_map_array, UIMAGECUBEARRAYOES,
+ UIMAGECUBEARRAYEXT);
}
YY_BREAK
- /* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 113:
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, READONLY); }
+ YY_BREAK
case 114:
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, WRITEONLY); }
+ YY_BREAK
case 115:
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, COHERENT); }
+ YY_BREAK
case 116:
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, RESTRICT); }
+ YY_BREAK
case 117:
+ YY_RULE_SETUP { return ES2_reserved_ES3_1_keyword(context, VOLATILE); }
+ YY_BREAK
case 118:
+ YY_RULE_SETUP { return ES3_reserved_ES3_1_keyword(context, ATOMICUINT); }
+ YY_BREAK
case 119:
+ YY_RULE_SETUP
+ {
+ return ES3_1_reserved_ES3_1_extension_ES3_2_keyword(
+ context, TExtension::EXT_gpu_shader5, PRECISE);
+ }
+ YY_BREAK
+ /* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 120:
case 121:
case 122:
@@ -1701,6 +1772,13 @@ YY_DECL
case 142:
case 143:
case 144:
+ case 145:
+ case 146:
+ case 147:
+ case 148:
+ case 149:
+ case 150:
+ case 151:
YY_RULE_SETUP
{
if (context->getShaderVersion() < 300)
@@ -1712,7 +1790,7 @@ YY_DECL
}
YY_BREAK
/* Reserved keywords in GLSL ES 1.00 that are not reserved in GLSL ES 3.00 */
- case 145:
+ case 152:
YY_RULE_SETUP
{
if (context->getShaderVersion() >= 300)
@@ -1725,13 +1803,6 @@ YY_DECL
}
YY_BREAK
/* Reserved keywords */
- case 146:
- case 147:
- case 148:
- case 149:
- case 150:
- case 151:
- case 152:
case 153:
case 154:
case 155:
@@ -1765,191 +1836,198 @@ YY_DECL
case 183:
case 184:
case 185:
+ case 186:
+ case 187:
+ case 188:
+ case 189:
+ case 190:
+ case 191:
+ case 192:
YY_RULE_SETUP { return reserved_word(yyscanner); }
YY_BREAK
- case 186:
+ case 193:
YY_RULE_SETUP
{
yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
return check_type(yyscanner);
}
YY_BREAK
- case 187:
+ case 194:
YY_RULE_SETUP { return int_constant(context); }
YY_BREAK
- case 188:
+ case 195:
YY_RULE_SETUP { return int_constant(context); }
YY_BREAK
- case 189:
+ case 196:
YY_RULE_SETUP { return int_constant(context); }
YY_BREAK
- case 190:
+ case 197:
YY_RULE_SETUP { return uint_constant(context); }
YY_BREAK
- case 191:
+ case 198:
YY_RULE_SETUP { return uint_constant(context); }
YY_BREAK
- case 192:
+ case 199:
YY_RULE_SETUP { return uint_constant(context); }
YY_BREAK
- case 193:
+ case 200:
YY_RULE_SETUP { return float_constant(yyscanner); }
YY_BREAK
- case 194:
+ case 201:
YY_RULE_SETUP { return float_constant(yyscanner); }
YY_BREAK
- case 195:
+ case 202:
YY_RULE_SETUP { return float_constant(yyscanner); }
YY_BREAK
- case 196:
+ case 203:
YY_RULE_SETUP { return floatsuffix_check(context); }
YY_BREAK
- case 197:
+ case 204:
YY_RULE_SETUP { return floatsuffix_check(context); }
YY_BREAK
- case 198:
+ case 205:
YY_RULE_SETUP { return floatsuffix_check(context); }
YY_BREAK
- case 199:
+ case 206:
YY_RULE_SETUP { return ADD_ASSIGN; }
YY_BREAK
- case 200:
+ case 207:
YY_RULE_SETUP { return SUB_ASSIGN; }
YY_BREAK
- case 201:
+ case 208:
YY_RULE_SETUP { return MUL_ASSIGN; }
YY_BREAK
- case 202:
+ case 209:
YY_RULE_SETUP { return DIV_ASSIGN; }
YY_BREAK
- case 203:
+ case 210:
YY_RULE_SETUP { return MOD_ASSIGN; }
YY_BREAK
- case 204:
+ case 211:
YY_RULE_SETUP { return LEFT_ASSIGN; }
YY_BREAK
- case 205:
+ case 212:
YY_RULE_SETUP { return RIGHT_ASSIGN; }
YY_BREAK
- case 206:
+ case 213:
YY_RULE_SETUP { return AND_ASSIGN; }
YY_BREAK
- case 207:
+ case 214:
YY_RULE_SETUP { return XOR_ASSIGN; }
YY_BREAK
- case 208:
+ case 215:
YY_RULE_SETUP { return OR_ASSIGN; }
YY_BREAK
- case 209:
+ case 216:
YY_RULE_SETUP { return INC_OP; }
YY_BREAK
- case 210:
+ case 217:
YY_RULE_SETUP { return DEC_OP; }
YY_BREAK
- case 211:
+ case 218:
YY_RULE_SETUP { return AND_OP; }
YY_BREAK
- case 212:
+ case 219:
YY_RULE_SETUP { return OR_OP; }
YY_BREAK
- case 213:
+ case 220:
YY_RULE_SETUP { return XOR_OP; }
YY_BREAK
- case 214:
+ case 221:
YY_RULE_SETUP { return LE_OP; }
YY_BREAK
- case 215:
+ case 222:
YY_RULE_SETUP { return GE_OP; }
YY_BREAK
- case 216:
+ case 223:
YY_RULE_SETUP { return EQ_OP; }
YY_BREAK
- case 217:
+ case 224:
YY_RULE_SETUP { return NE_OP; }
YY_BREAK
- case 218:
+ case 225:
YY_RULE_SETUP { return LEFT_OP; }
YY_BREAK
- case 219:
+ case 226:
YY_RULE_SETUP { return RIGHT_OP; }
YY_BREAK
- case 220:
+ case 227:
YY_RULE_SETUP { return SEMICOLON; }
YY_BREAK
- case 221:
+ case 228:
YY_RULE_SETUP { return LEFT_BRACE; }
YY_BREAK
- case 222:
+ case 229:
YY_RULE_SETUP { return RIGHT_BRACE; }
YY_BREAK
- case 223:
+ case 230:
YY_RULE_SETUP { return COMMA; }
YY_BREAK
- case 224:
+ case 231:
YY_RULE_SETUP { return COLON; }
YY_BREAK
- case 225:
+ case 232:
YY_RULE_SETUP { return EQUAL; }
YY_BREAK
- case 226:
+ case 233:
YY_RULE_SETUP { return LEFT_PAREN; }
YY_BREAK
- case 227:
+ case 234:
YY_RULE_SETUP { return RIGHT_PAREN; }
YY_BREAK
- case 228:
+ case 235:
YY_RULE_SETUP { return LEFT_BRACKET; }
YY_BREAK
- case 229:
+ case 236:
YY_RULE_SETUP { return RIGHT_BRACKET; }
YY_BREAK
- case 230:
+ case 237:
YY_RULE_SETUP
{
BEGIN(FIELDS);
return DOT;
}
YY_BREAK
- case 231:
+ case 238:
YY_RULE_SETUP { return BANG; }
YY_BREAK
- case 232:
+ case 239:
YY_RULE_SETUP { return DASH; }
YY_BREAK
- case 233:
+ case 240:
YY_RULE_SETUP { return TILDE; }
YY_BREAK
- case 234:
+ case 241:
YY_RULE_SETUP { return PLUS; }
YY_BREAK
- case 235:
+ case 242:
YY_RULE_SETUP { return STAR; }
YY_BREAK
- case 236:
+ case 243:
YY_RULE_SETUP { return SLASH; }
YY_BREAK
- case 237:
+ case 244:
YY_RULE_SETUP { return PERCENT; }
YY_BREAK
- case 238:
+ case 245:
YY_RULE_SETUP { return LEFT_ANGLE; }
YY_BREAK
- case 239:
+ case 246:
YY_RULE_SETUP { return RIGHT_ANGLE; }
YY_BREAK
- case 240:
+ case 247:
YY_RULE_SETUP { return VERTICAL_BAR; }
YY_BREAK
- case 241:
+ case 248:
YY_RULE_SETUP { return CARET; }
YY_BREAK
- case 242:
+ case 249:
YY_RULE_SETUP { return AMPERSAND; }
YY_BREAK
- case 243:
+ case 250:
YY_RULE_SETUP { return QUESTION; }
YY_BREAK
- case 244:
+ case 251:
YY_RULE_SETUP
{
BEGIN(INITIAL);
@@ -1957,18 +2035,18 @@ YY_DECL
return FIELD_SELECTION;
}
YY_BREAK
- case 245:
+ case 252:
YY_RULE_SETUP {}
YY_BREAK
- case 246:
+ case 253:
YY_RULE_SETUP
{
yyextra->error(*yylloc, "Illegal character at fieldname start", yytext);
return 0;
}
YY_BREAK
- case 247:
- /* rule 247 can match eol */
+ case 254:
+ /* rule 254 can match eol */
YY_RULE_SETUP {}
YY_BREAK
case YY_STATE_EOF(INITIAL):
@@ -1977,14 +2055,14 @@ YY_DECL
yyterminate();
}
YY_BREAK
- case 248:
+ case 255:
YY_RULE_SETUP
{
assert(false);
return 0;
}
YY_BREAK
- case 249:
+ case 256:
YY_RULE_SETUP
ECHO;
YY_BREAK
@@ -2278,7 +2356,7 @@ static yy_state_type yy_get_previous_state(yyscan_t yyscanner)
while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
{
yy_current_state = (int)yy_def[yy_current_state];
- if (yy_current_state >= 902)
+ if (yy_current_state >= 938)
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2308,11 +2386,11 @@ static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state, yyscan_t y
while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
{
yy_current_state = (int)yy_def[yy_current_state];
- if (yy_current_state >= 902)
+ if (yy_current_state >= 938)
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 901);
+ yy_is_jam = (yy_current_state == 937);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
@@ -3424,6 +3502,35 @@ static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword(TParseContext *context,
return check_type(yyscanner);
}
+static int ES3_1_reserved_ES3_1_extension_ES3_2_keyword_2(TParseContext *context,
+ TExtension extension1,
+ TExtension extension2,
+ int token1,
+ int token2)
+{
+ struct yyguts_t *yyg = (struct yyguts_t *)context->getScanner();
+ yyscan_t yyscanner = (yyscan_t)context->getScanner();
+
+ // A keyword in GLSL ES 3.20 or GLSL ES 3.10 with enabled extension.
+ if (is_extension_enabled_or_is_core(context, 310, extension1, 320))
+ {
+ return token1;
+ }
+ else if (is_extension_enabled_or_is_core(context, 310, extension2, 320))
+ {
+ return token2;
+ }
+
+ // A reserved word in GLSL ES 3.10
+ if (context->getShaderVersion() == 310)
+ {
+ return reserved_word(yyscanner);
+ }
+
+ yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
+ return check_type(yyscanner);
+}
+
int uint_constant(TParseContext *context)
{
struct yyguts_t *yyg = (struct yyguts_t *)context->getScanner();
diff --git a/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp b/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp
index 2fcd81ec19f..5e855f9c33e 100644
--- a/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp
@@ -231,75 +231,89 @@ enum yytokentype
SAMPLERCUBESHADOW = 343,
SAMPLER2DARRAYSHADOW = 344,
SAMPLERVIDEOWEBGL = 345,
- SAMPLEREXTERNAL2DY2YEXT = 346,
- IMAGE2D = 347,
- IIMAGE2D = 348,
- UIMAGE2D = 349,
- IMAGE3D = 350,
- IIMAGE3D = 351,
- UIMAGE3D = 352,
- IMAGE2DARRAY = 353,
- IIMAGE2DARRAY = 354,
- UIMAGE2DARRAY = 355,
- IMAGECUBE = 356,
- IIMAGECUBE = 357,
- UIMAGECUBE = 358,
- ATOMICUINT = 359,
- LAYOUT = 360,
- YUVCSCSTANDARDEXT = 361,
- YUVCSCSTANDARDEXTCONSTANT = 362,
- IDENTIFIER = 363,
- TYPE_NAME = 364,
- FLOATCONSTANT = 365,
- INTCONSTANT = 366,
- UINTCONSTANT = 367,
- BOOLCONSTANT = 368,
- FIELD_SELECTION = 369,
- LEFT_OP = 370,
- RIGHT_OP = 371,
- INC_OP = 372,
- DEC_OP = 373,
- LE_OP = 374,
- GE_OP = 375,
- EQ_OP = 376,
- NE_OP = 377,
- AND_OP = 378,
- OR_OP = 379,
- XOR_OP = 380,
- MUL_ASSIGN = 381,
- DIV_ASSIGN = 382,
- ADD_ASSIGN = 383,
- MOD_ASSIGN = 384,
- LEFT_ASSIGN = 385,
- RIGHT_ASSIGN = 386,
- AND_ASSIGN = 387,
- XOR_ASSIGN = 388,
- OR_ASSIGN = 389,
- SUB_ASSIGN = 390,
- LEFT_PAREN = 391,
- RIGHT_PAREN = 392,
- LEFT_BRACKET = 393,
- RIGHT_BRACKET = 394,
- LEFT_BRACE = 395,
- RIGHT_BRACE = 396,
- DOT = 397,
- COMMA = 398,
- COLON = 399,
- EQUAL = 400,
- SEMICOLON = 401,
- BANG = 402,
- DASH = 403,
- TILDE = 404,
- PLUS = 405,
- STAR = 406,
- SLASH = 407,
- PERCENT = 408,
- LEFT_ANGLE = 409,
- RIGHT_ANGLE = 410,
- VERTICAL_BAR = 411,
- CARET = 412,
- AMPERSAND = 413,
- QUESTION = 414
+ SAMPLERCUBEARRAYOES = 346,
+ SAMPLERCUBEARRAYSHADOWOES = 347,
+ ISAMPLERCUBEARRAYOES = 348,
+ USAMPLERCUBEARRAYOES = 349,
+ SAMPLERCUBEARRAYEXT = 350,
+ SAMPLERCUBEARRAYSHADOWEXT = 351,
+ ISAMPLERCUBEARRAYEXT = 352,
+ USAMPLERCUBEARRAYEXT = 353,
+ SAMPLEREXTERNAL2DY2YEXT = 354,
+ IMAGE2D = 355,
+ IIMAGE2D = 356,
+ UIMAGE2D = 357,
+ IMAGE3D = 358,
+ IIMAGE3D = 359,
+ UIMAGE3D = 360,
+ IMAGE2DARRAY = 361,
+ IIMAGE2DARRAY = 362,
+ UIMAGE2DARRAY = 363,
+ IMAGECUBE = 364,
+ IIMAGECUBE = 365,
+ UIMAGECUBE = 366,
+ IMAGECUBEARRAYOES = 367,
+ IIMAGECUBEARRAYOES = 368,
+ UIMAGECUBEARRAYOES = 369,
+ IMAGECUBEARRAYEXT = 370,
+ IIMAGECUBEARRAYEXT = 371,
+ UIMAGECUBEARRAYEXT = 372,
+ ATOMICUINT = 373,
+ LAYOUT = 374,
+ YUVCSCSTANDARDEXT = 375,
+ YUVCSCSTANDARDEXTCONSTANT = 376,
+ IDENTIFIER = 377,
+ TYPE_NAME = 378,
+ FLOATCONSTANT = 379,
+ INTCONSTANT = 380,
+ UINTCONSTANT = 381,
+ BOOLCONSTANT = 382,
+ FIELD_SELECTION = 383,
+ LEFT_OP = 384,
+ RIGHT_OP = 385,
+ INC_OP = 386,
+ DEC_OP = 387,
+ LE_OP = 388,
+ GE_OP = 389,
+ EQ_OP = 390,
+ NE_OP = 391,
+ AND_OP = 392,
+ OR_OP = 393,
+ XOR_OP = 394,
+ MUL_ASSIGN = 395,
+ DIV_ASSIGN = 396,
+ ADD_ASSIGN = 397,
+ MOD_ASSIGN = 398,
+ LEFT_ASSIGN = 399,
+ RIGHT_ASSIGN = 400,
+ AND_ASSIGN = 401,
+ XOR_ASSIGN = 402,
+ OR_ASSIGN = 403,
+ SUB_ASSIGN = 404,
+ LEFT_PAREN = 405,
+ RIGHT_PAREN = 406,
+ LEFT_BRACKET = 407,
+ RIGHT_BRACKET = 408,
+ LEFT_BRACE = 409,
+ RIGHT_BRACE = 410,
+ DOT = 411,
+ COMMA = 412,
+ COLON = 413,
+ EQUAL = 414,
+ SEMICOLON = 415,
+ BANG = 416,
+ DASH = 417,
+ TILDE = 418,
+ PLUS = 419,
+ STAR = 420,
+ SLASH = 421,
+ PERCENT = 422,
+ LEFT_ANGLE = 423,
+ RIGHT_ANGLE = 424,
+ VERTICAL_BAR = 425,
+ CARET = 426,
+ AMPERSAND = 427,
+ QUESTION = 428
};
# endif
@@ -672,21 +686,21 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 142
+#define YYFINAL 156
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 3017
+#define YYLAST 3325
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 160
+#define YYNTOKENS 174
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 96
/* YYNRULES -- Number of rules. */
-#define YYNRULES 304
+#define YYNRULES 318
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 430
+#define YYNSTATES 444
#define YYUNDEFTOK 2
-#define YYMAXUTOK 414
+#define YYMAXUTOK 428
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */
@@ -716,31 +730,32 @@ static const yytype_uint8 yytranslate[] = {
87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159};
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] = {
- 0, 251, 251, 252, 255, 262, 265, 270, 275, 280, 285, 294, 300, 303, 306, 309,
- 312, 315, 321, 328, 334, 337, 345, 348, 354, 357, 363, 367, 374, 382, 385, 388,
- 394, 397, 400, 403, 410, 411, 412, 413, 421, 422, 425, 428, 435, 436, 439, 445,
- 446, 450, 457, 458, 461, 464, 467, 473, 474, 477, 483, 484, 491, 492, 499, 500,
- 507, 508, 514, 515, 521, 522, 528, 529, 535, 536, 542, 543, 544, 545, 549, 550,
- 551, 555, 559, 563, 567, 574, 577, 583, 590, 597, 600, 603, 607, 611, 615, 619,
- 623, 630, 637, 640, 647, 655, 672, 682, 685, 691, 695, 699, 703, 710, 717, 720,
- 724, 728, 733, 740, 744, 748, 752, 757, 764, 768, 774, 777, 780, 790, 794, 801,
- 807, 813, 817, 821, 824, 827, 831, 839, 844, 848, 851, 854, 857, 860, 864, 867,
- 871, 874, 877, 880, 883, 886, 893, 900, 903, 906, 912, 919, 922, 928, 931, 934,
- 937, 943, 946, 953, 958, 965, 970, 981, 984, 987, 990, 993, 996, 1000, 1004, 1008,
- 1012, 1016, 1020, 1024, 1028, 1032, 1036, 1040, 1044, 1048, 1052, 1056, 1060, 1064, 1068, 1072,
- 1076, 1080, 1087, 1090, 1093, 1096, 1099, 1102, 1105, 1108, 1111, 1114, 1117, 1120, 1123, 1126,
- 1129, 1132, 1135, 1138, 1141, 1144, 1147, 1150, 1157, 1167, 1174, 1181, 1184, 1187, 1190, 1193,
- 1196, 1199, 1202, 1205, 1208, 1211, 1214, 1217, 1220, 1223, 1231, 1231, 1234, 1234, 1240, 1243,
- 1249, 1252, 1259, 1263, 1269, 1272, 1278, 1282, 1286, 1287, 1293, 1294, 1295, 1296, 1297, 1298,
- 1299, 1303, 1307, 1307, 1307, 1314, 1315, 1319, 1319, 1320, 1320, 1325, 1329, 1336, 1340, 1347,
- 1348, 1352, 1358, 1362, 1371, 1371, 1378, 1381, 1387, 1391, 1397, 1397, 1402, 1402, 1406, 1406,
- 1414, 1417, 1423, 1426, 1432, 1436, 1443, 1446, 1449, 1452, 1455, 1463, 1469, 1475, 1478, 1484,
- 1484};
+ 0, 255, 255, 256, 259, 266, 269, 274, 279, 284, 289, 298, 304, 307, 310, 313,
+ 316, 319, 325, 332, 338, 341, 349, 352, 358, 361, 367, 371, 378, 386, 389, 392,
+ 398, 401, 404, 407, 414, 415, 416, 417, 425, 426, 429, 432, 439, 440, 443, 449,
+ 450, 454, 461, 462, 465, 468, 471, 477, 478, 481, 487, 488, 495, 496, 503, 504,
+ 511, 512, 518, 519, 525, 526, 532, 533, 539, 540, 546, 547, 548, 549, 553, 554,
+ 555, 559, 563, 567, 571, 578, 581, 587, 594, 601, 604, 607, 611, 615, 619, 623,
+ 627, 634, 641, 644, 651, 659, 676, 686, 689, 695, 699, 703, 707, 714, 721, 724,
+ 728, 732, 737, 744, 748, 752, 756, 761, 768, 772, 778, 781, 784, 794, 798, 805,
+ 811, 817, 821, 825, 828, 831, 835, 843, 848, 852, 855, 858, 861, 864, 868, 871,
+ 875, 878, 881, 884, 887, 890, 897, 904, 907, 910, 916, 923, 926, 932, 935, 938,
+ 941, 947, 950, 957, 962, 969, 974, 985, 988, 991, 994, 997, 1000, 1004, 1008, 1012,
+ 1016, 1020, 1024, 1028, 1032, 1036, 1040, 1044, 1048, 1052, 1056, 1060, 1064, 1068, 1072, 1076,
+ 1080, 1084, 1091, 1094, 1097, 1100, 1103, 1106, 1109, 1117, 1125, 1128, 1131, 1134, 1137, 1140,
+ 1143, 1151, 1159, 1162, 1165, 1168, 1171, 1174, 1177, 1185, 1193, 1196, 1199, 1202, 1210, 1218,
+ 1225, 1235, 1242, 1249, 1252, 1255, 1258, 1261, 1264, 1267, 1270, 1273, 1276, 1279, 1282, 1285,
+ 1293, 1301, 1309, 1317, 1325, 1333, 1336, 1339, 1347, 1347, 1350, 1350, 1356, 1359, 1365, 1368,
+ 1375, 1379, 1385, 1388, 1394, 1398, 1402, 1403, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1419,
+ 1423, 1423, 1423, 1430, 1431, 1435, 1435, 1436, 1436, 1441, 1445, 1452, 1456, 1463, 1464, 1468,
+ 1474, 1478, 1487, 1487, 1494, 1497, 1503, 1507, 1513, 1513, 1518, 1518, 1522, 1522, 1530, 1533,
+ 1539, 1542, 1548, 1552, 1559, 1562, 1565, 1568, 1571, 1579, 1585, 1591, 1594, 1600, 1600};
#endif
#if YYDEBUG || YYERROR_VERBOSE || 0
@@ -837,6 +852,14 @@ static const char *const yytname[] = {"$end",
"SAMPLERCUBESHADOW",
"SAMPLER2DARRAYSHADOW",
"SAMPLERVIDEOWEBGL",
+ "SAMPLERCUBEARRAYOES",
+ "SAMPLERCUBEARRAYSHADOWOES",
+ "ISAMPLERCUBEARRAYOES",
+ "USAMPLERCUBEARRAYOES",
+ "SAMPLERCUBEARRAYEXT",
+ "SAMPLERCUBEARRAYSHADOWEXT",
+ "ISAMPLERCUBEARRAYEXT",
+ "USAMPLERCUBEARRAYEXT",
"SAMPLEREXTERNAL2DY2YEXT",
"IMAGE2D",
"IIMAGE2D",
@@ -850,6 +873,12 @@ static const char *const yytname[] = {"$end",
"IMAGECUBE",
"IIMAGECUBE",
"UIMAGECUBE",
+ "IMAGECUBEARRAYOES",
+ "IIMAGECUBEARRAYOES",
+ "UIMAGECUBEARRAYOES",
+ "IMAGECUBEARRAYEXT",
+ "IIMAGECUBEARRAYEXT",
+ "UIMAGECUBEARRAYEXT",
"ATOMICUINT",
"LAYOUT",
"YUVCSCSTANDARDEXT",
@@ -1017,47 +1046,49 @@ static const yytype_uint16 yytoknum[] = {
345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414};
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428};
#endif
-#define YYPACT_NINF -368
+#define YYPACT_NINF -385
-#define yypact_value_is_default(Yystate) (!!((Yystate) == (-368)))
+#define yypact_value_is_default(Yystate) (!!((Yystate) == (-385)))
-#define YYTABLE_NINF -264
+#define YYTABLE_NINF -278
#define yytable_value_is_error(Yytable_value) 0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] = {
- 2603, -368, -368, -368, -368, -368, 151, -368, -368, -368, -368, -368, -368, -368, -368, -368,
- -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
- -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
- -368, -368, -85, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
- -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
- -368, -368, -368, -368, -368, -368, -368, -368, -368, -368, -79, -368, -368, -368, -98, -57,
- -76, 2710, -113, -368, -24, -368, 1410, -368, -368, -368, -368, -368, -368, -368, -368, -47,
- -368, 2496, -368, -368, 2908, -368, -368, -368, -26, -46, -368, -5, -368, 2710, -368, -368,
- -368, 2710, 33, 33, -368, -35, -110, -97, -368, 2710, -368, -368, 1510, -42, -368, -368,
- -2, 2710, -368, -368, 19, -90, -368, 414, -368, -368, -368, -368, -47, -70, -368, 1894,
- -69, -368, -368, 2710, 33, 2148, -368, -368, 26, -368, -368, -368, -368, -368, 1894, 1894,
- 1894, -368, -368, -368, -368, -368, -368, -368, -52, -368, -368, -368, 29, -48, 2020, 38,
- -368, 1894, 8, -40, 31, -94, 28, 20, 23, 21, 61, 73, -82, -368, 60, -368,
- 1639, -368, 2264, 2710, 41, -368, -46, 54, 55, -368, 66, 67, 59, 1768, 72, 1894,
- 65, 76, 74, -368, -368, 62, -368, -368, -37, -368, -98, 77, -368, -368, -368, -368,
- 562, -368, -368, -368, -368, -368, -368, -42, 1894, -67, -368, -368, 1894, 33, -47, -31,
- -368, -88, -368, -368, -368, -44, -368, -368, 1894, 2809, -368, -368, 1894, 79, -368, -368,
- -368, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894,
- 1894, 1894, 1894, 1894, 1894, -368, -368, 75, -368, 2380, -368, -368, -368, -368, -368, 78,
- -368, 1894, -368, -368, -19, 1894, 97, -368, -368, -368, 710, -368, -368, -368, -368, -368,
- -368, -368, -368, -368, -368, -368, 1894, 1894, -368, -368, -368, -368, 1894, -368, -7, -42,
- 33, -368, -107, -368, -368, 80, 100, -368, 81, -368, -368, -368, -368, -368, 8, 8,
- -40, -40, 31, 31, 31, 31, -94, -94, 28, 20, 23, 21, 61, 73, 25, -368,
- -368, 179, -5, 1006, 1154, -43, -368, -39, -368, 1282, 710, -368, -368, -368, -368, -368,
- 1894, -368, -368, 1894, 109, -368, -368, -368, -368, 1282, 78, -368, 100, 33, 2710, 110,
- 105, 112, -368, 1894, -368, 102, 115, 235, -368, 114, 111, 858, -368, 113, -32, 1894,
- 858, 78, -368, 1894, -368, -368, -368, -368, 116, 100, -368, -368, -368, -368};
+ 2855, -385, -385, -385, -385, -385, 126, -385, -385, -385, -385, -385, -385, -385, -385, -385,
+ -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
+ -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
+ -385, -385, -96, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
+ -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
+ -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
+ -385, -385, -385, -385, -385, -385, -385, -385, -125, -385, -385, -385, -130, -91, -76, 2976,
+ -89, -385, 14, -385, 1522, -385, -385, -385, -385, -385, -385, -385, -385, -62, -385, 2734,
+ -385, -385, 3202, -385, -385, -385, -60, -44, -385, -53, -385, 2976, -385, -385, -385, 2976,
+ 30, 30, -385, -42, -124, -112, -385, 2976, -385, -385, 1636, -27, -385, -385, -26, 2976,
+ -385, -385, -19, -72, -385, 428, -385, -385, -385, -385, -62, -109, -385, 2062, -90, -385,
+ -385, 2976, 30, 2344, -385, -385, -6, -385, -385, -385, -385, -385, 2062, 2062, 2062, -385,
+ -385, -385, -385, -385, -385, -385, -65, -385, -385, -385, 7, -71, 2202, 10, -385, 2062,
+ -17, -111, 25, -93, 26, 2, 5, 8, 43, 46, -117, -385, 33, -385, 1779, -385,
+ 2474, 2976, 38, -385, -44, 28, 29, -385, 52, 53, 41, 1922, 57, 2062, 50, 59,
+ 56, -385, -385, 51, -385, -385, -55, -385, -130, 62, -385, -385, -385, -385, 590, -385,
+ -385, -385, -385, -385, -385, -27, 2062, -75, -385, -385, 2062, 30, -62, -51, -385, -99,
+ -385, -385, -385, -68, -385, -385, 2062, 3089, -385, -385, 2062, 63, -385, -385, -385, 2062,
+ 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062,
+ 2062, 2062, 2062, -385, -385, 64, -385, 2604, -385, -385, -385, -385, -385, 61, -385, 2062,
+ -385, -385, -36, 2062, 58, -385, -385, -385, 752, -385, -385, -385, -385, -385, -385, -385,
+ -385, -385, -385, -385, 2062, 2062, -385, -385, -385, -385, 2062, -385, -31, -27, 30, -385,
+ -121, -385, -385, 65, 66, -385, 69, -385, -385, -385, -385, -385, -17, -17, -111, -111,
+ 25, 25, 25, 25, -93, -93, 26, 2, 5, 8, 43, 46, 9, -385, -385, 155,
+ -53, 1076, 1238, -59, -385, -58, -385, 1380, 752, -385, -385, -385, -385, -385, 2062, -385,
+ -385, 2062, 71, -385, -385, -385, -385, 1380, 61, -385, 66, 30, 2976, 75, 67, 74,
+ -385, 2062, -385, 68, 79, 213, -385, 78, 76, 914, -385, 73, -47, 2062, 914, 61,
+ -385, 2062, -385, -385, -385, -385, 77, 66, -385, -385, -385, -385};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
@@ -1065,430 +1096,466 @@ static const yytype_int16 yypact[] = {
static const yytype_uint16 yydefact[] = {
0, 127, 128, 151, 152, 153, 0, 135, 137, 171, 168, 169, 170, 175, 176, 177, 178, 179, 180,
172, 173, 174, 181, 182, 183, 184, 185, 186, 138, 139, 140, 142, 143, 136, 187, 188, 189, 190,
- 191, 192, 141, 123, 122, 124, 144, 145, 146, 147, 148, 149, 0, 167, 194, 196, 216, 218, 197,
- 200, 201, 202, 203, 206, 207, 208, 209, 198, 204, 210, 199, 205, 211, 195, 212, 213, 214, 215,
- 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 0, 193, 233, 302, 303,
- 0, 99, 98, 0, 110, 115, 132, 0, 133, 134, 125, 129, 120, 131, 130, 150, 161, 232, 0,
- 299, 301, 0, 2, 3, 236, 0, 0, 89, 0, 97, 0, 106, 100, 108, 0, 109, 0, 90,
- 2, 116, 0, 95, 0, 126, 121, 0, 162, 1, 300, 0, 0, 234, 160, 157, 0, 155, 0,
- 304, 101, 105, 107, 103, 111, 102, 0, 117, 88, 96, 0, 0, 0, 238, 10, 4, 8, 6,
- 7, 9, 31, 0, 0, 0, 163, 38, 37, 39, 36, 5, 12, 32, 14, 19, 20, 0, 0,
- 25, 0, 40, 0, 44, 47, 50, 55, 58, 60, 62, 64, 66, 68, 70, 87, 0, 29, 0,
- 91, 0, 0, 0, 154, 0, 0, 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, 258, 267,
- 271, 40, 72, 85, 0, 247, 0, 150, 250, 269, 249, 248, 0, 251, 252, 253, 254, 255, 256,
- 104, 0, 112, 246, 119, 0, 0, 244, 0, 242, 0, 239, 33, 34, 0, 16, 17, 0, 0,
- 23, 22, 0, 167, 26, 28, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 164, 165, 0, 237, 0, 158, 159, 156, 295, 294, 265,
- 286, 0, 298, 296, 0, 0, 0, 279, 282, 257, 0, 75, 76, 78, 77, 80, 81, 82, 83,
- 84, 79, 74, 0, 0, 272, 268, 270, 114, 0, 118, 0, 245, 0, 240, 0, 92, 11, 0,
- 18, 30, 15, 21, 27, 41, 42, 43, 46, 45, 48, 49, 53, 54, 51, 52, 56, 57, 59,
- 61, 63, 65, 67, 69, 0, 166, 235, 0, 0, 0, 0, 0, 297, 0, 278, 0, 259, 73,
- 86, 113, 241, 243, 0, 93, 13, 0, 0, 264, 266, 289, 288, 291, 265, 276, 280, 0, 0,
- 0, 0, 0, 71, 0, 290, 0, 0, 275, 273, 0, 0, 0, 260, 0, 0, 292, 0, 265,
- 277, 0, 262, 283, 261, 94, 0, 293, 287, 274, 281, 285};
+ 191, 192, 141, 123, 122, 124, 144, 145, 146, 147, 148, 149, 0, 167, 194, 196, 224, 226, 197,
+ 202, 203, 204, 205, 210, 211, 212, 213, 198, 206, 214, 199, 207, 215, 195, 218, 219, 220, 223,
+ 200, 221, 208, 216, 201, 222, 209, 217, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 241, 243, 240, 242, 244, 245, 0, 193, 247, 316, 317, 0, 99, 98, 0, 110,
+ 115, 132, 0, 133, 134, 125, 129, 120, 131, 130, 150, 161, 246, 0, 313, 315, 0, 2, 3,
+ 250, 0, 0, 89, 0, 97, 0, 106, 100, 108, 0, 109, 0, 90, 2, 116, 0, 95, 0,
+ 126, 121, 0, 162, 1, 314, 0, 0, 248, 160, 157, 0, 155, 0, 318, 101, 105, 107, 103,
+ 111, 102, 0, 117, 88, 96, 0, 0, 0, 252, 10, 4, 8, 6, 7, 9, 31, 0, 0,
+ 0, 163, 38, 37, 39, 36, 5, 12, 32, 14, 19, 20, 0, 0, 25, 0, 40, 0, 44,
+ 47, 50, 55, 58, 60, 62, 64, 66, 68, 70, 87, 0, 29, 0, 91, 0, 0, 0, 154,
+ 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 272, 281, 285, 40, 72, 85, 0,
+ 261, 0, 150, 264, 283, 263, 262, 0, 265, 266, 267, 268, 269, 270, 104, 0, 112, 260, 119,
+ 0, 0, 258, 0, 256, 0, 253, 33, 34, 0, 16, 17, 0, 0, 23, 22, 0, 167, 26,
+ 28, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 164, 165, 0, 251, 0, 158, 159, 156, 309, 308, 279, 300, 0, 312, 310, 0,
+ 0, 0, 293, 296, 271, 0, 75, 76, 78, 77, 80, 81, 82, 83, 84, 79, 74, 0, 0,
+ 286, 282, 284, 114, 0, 118, 0, 259, 0, 254, 0, 92, 11, 0, 18, 30, 15, 21, 27,
+ 41, 42, 43, 46, 45, 48, 49, 53, 54, 51, 52, 56, 57, 59, 61, 63, 65, 67, 69,
+ 0, 166, 249, 0, 0, 0, 0, 0, 311, 0, 292, 0, 273, 73, 86, 113, 255, 257, 0,
+ 93, 13, 0, 0, 278, 280, 303, 302, 305, 279, 290, 294, 0, 0, 0, 0, 0, 71, 0,
+ 304, 0, 0, 289, 287, 0, 0, 0, 274, 0, 0, 306, 0, 279, 291, 0, 276, 297, 275,
+ 94, 0, 307, 301, 288, 295, 299};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = {
- -368, -49, -368, -368, -368, -368, -368, -368, -8, -368, -368, -368, -368, -53, -368, -104,
- -103, -149, -99, -28, -27, -25, -23, -29, -22, -368, -135, -145, -368, -138, -201, -368,
- 15, 17, -368, -368, -368, 135, 142, 139, -368, -368, -356, -368, -91, -368, -368, -100,
- -368, -93, 264, -368, -368, 57, 0, -116, -368, -368, -368, -368, -132, -154, 22, -64,
- -240, -96, -230, -352, -136, -368, -368, -137, -367, -368, -368, -120, -36, -92, -368, -368,
- -368, -368, -368, -112, -368, -368, -368, -368, -368, -368, -368, -368, -368, 169, -368, -368};
+ -385, -49, -385, -385, -385, -385, -385, -385, -45, -385, -385, -385, -385, -32, -385, -122,
+ -120, -182, -128, -64, -63, -61, -57, -56, -52, -385, -149, -159, -385, -178, -215, -385,
+ 11, 20, -385, -385, -385, 97, 104, 101, -385, -385, -358, -385, -105, -385, -385, -114,
+ -385, -107, 239, -385, -385, 19, 0, -133, -385, -385, -385, -385, -143, -169, -15, -74,
+ -249, -108, -246, -366, -148, -385, -385, -153, -384, -385, -385, -134, -48, -104, -385, -385,
+ -385, -385, -385, -126, -385, -385, -385, -385, -385, -385, -385, -385, -385, 152, -385, -385};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] = {
- -1, 254, 182, 183, 184, 341, 185, 186, 187, 188, 189, 190, 191, 229, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 230, 231, 326, 232, 206, 137,
- 233, 234, 95, 96, 97, 126, 127, 128, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109, 149, 150, 207, 141, 111, 112, 211, 145, 165, 166, 255, 256,
- 251, 236, 237, 238, 239, 314, 400, 421, 369, 370, 371, 422, 240, 241, 242, 408,
- 243, 409, 244, 399, 245, 377, 303, 372, 393, 405, 406, 246, 113, 114, 115, 123};
+ -1, 268, 196, 197, 198, 355, 199, 200, 201, 202, 203, 204, 205, 243, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 244, 245, 340, 246, 220, 151,
+ 247, 248, 109, 110, 111, 140, 141, 142, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 163, 164, 221, 155, 125, 126, 225, 159, 179, 180, 269, 270,
+ 265, 250, 251, 252, 253, 328, 414, 435, 383, 384, 385, 436, 254, 255, 256, 422,
+ 257, 423, 258, 413, 259, 391, 317, 386, 407, 419, 420, 260, 127, 128, 129, 137};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] = {
- 110, 120, 138, 152, 130, 205, 129, 295, 331, 139, 330, 258, 333, 210, 250, 93, 147, 94, 160,
- 390, 338, 397, 310, 117, 118, 280, 281, 407, 140, 138, 131, 384, 130, 132, 129, 159, 130, 397,
- 261, 385, 247, 249, 291, 161, 164, 270, 163, 213, 122, 162, 427, 134, 164, 214, 163, 119, 258,
- 121, 339, 420, 282, 283, 148, 138, 420, 262, 263, 125, 140, 208, 253, 208, 164, 205, 163, 248,
- 252, 292, 332, 297, 124, 156, 157, 308, 133, 118, 264, 192, 205, 267, 265, 140, 381, 340, 394,
- 268, 208, 110, 395, 327, 327, 158, 110, 250, 327, 424, 327, 250, 276, 328, 277, 327, 336, 110,
- 146, 337, 144, 164, 164, 163, 163, 259, 260, 346, 327, 110, 342, 374, 93, 110, 94, 354, 355,
- 356, 357, 151, 336, 110, 335, 382, 272, 117, 118, 258, 209, 110, 278, 279, 330, 284, 285, 235,
- 298, 299, 366, 192, 3, 4, 5, 273, 274, 275, -30, 110, 212, 110, 266, 373, 327, 387, 192,
- 375, 350, 351, 271, 352, 353, 288, 286, 428, 287, 379, 380, 401, 289, 358, 359, 250, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 290, 293, 301, 302, 304, 305, 164, 306, 163, 325, 309,
- 311, 110, 110, 312, -29, 367, 313, -24, -31, -263, 386, 347, 348, 349, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 396, 235, 376, 402, 327, 388, 403, 412,
- 411, 415, 205, 389, 413, 416, 417, 226, 396, 419, 345, 360, 423, 361, 364, 429, 362, 154, 414,
- 363, 153, 155, 365, 116, 300, 383, 418, 250, 334, 391, 425, 378, 426, 392, 404, 143, 0, 0,
- 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 138, 0, 0, 0, 398, 0,
- 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 235, 0, 0, 0, 0, 235, 235, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 110,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 235, 1,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 215, 216, 217, 0, 218, 219, 220, 221,
- 222, 223, 224, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 225, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, 87, 88, 89, 90, 91, 167, 168, 92, 169, 170, 171, 172, 173, 0, 0, 174,
- 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176,
- 0, 0, 0, 226, 227, 0, 0, 0, 0, 228, 178, 179, 180, 181, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 215, 216, 217, 0, 218, 219, 220, 221, 222, 223, 224, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 225, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 167, 168, 92, 169, 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, 226,
- 329, 0, 0, 0, 0, 228, 178, 179, 180, 181, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 215, 216, 217, 0, 218, 219, 220, 221, 222, 223, 224, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 225, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 167, 168, 92, 169, 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, 226, 0, 0, 0, 0,
- 0, 228, 178, 179, 180, 181, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 215,
- 216, 217, 0, 218, 219, 220, 221, 222, 223, 224, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 225, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 167, 168, 92, 169,
- 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, 151, 0, 0, 0, 0, 0, 228, 178, 179,
- 180, 181, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 215, 216, 217, 0, 218,
- 219, 220, 221, 222, 223, 224, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 225, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 167, 168, 92, 169, 170, 171, 172, 173,
- 0, 0, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 178, 179, 180, 181, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 167, 168, 92, 169, 170, 171, 172, 173, 0, 0, 174, 175,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 176, 7,
- 8, 9, 10, 11, 12, 0, 0, 0, 228, 178, 179, 180, 181, 0, 0, 0, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 91, 167, 168, 92, 169, 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 176, 7, 8, 9, 10, 11, 12,
- 0, 0, 0, 0, 178, 179, 180, 181, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 135, 92,
- 0, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 136, 34,
- 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 0, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 0, 91, 167, 168, 92, 169, 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 177, 9, 10, 11,
- 12, 0, 0, 0, 178, 179, 180, 181, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38,
- 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 0, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 0, 91, 167, 168,
- 92, 169, 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 294, 9, 10, 11, 12, 0, 0, 0,
- 178, 179, 180, 181, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 0, 91, 167, 168, 92, 169, 170, 171,
- 172, 173, 0, 0, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 176, 9, 10, 11, 12, 0, 0, 0, 0, 0, 307, 178, 179, 180, 181,
- 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0,
- 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, 0, 91, 167, 168, 92, 169, 170, 171, 172, 173, 0, 0, 174, 175, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 9, 10,
- 11, 12, 0, 0, 0, 0, 0, 0, 178, 179, 180, 181, 0, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37,
- 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 269, 0, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 0, 91, 167,
- 168, 92, 169, 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 2, 3, 4, 5, 176, 7, 8, 9, 10, 11, 12, 0, 0, 0,
- 0, 178, 179, 180, 181, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 92, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 92, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 11,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0,
- 92, 0, 0, 0, 0, 0, 0, 142, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 0, 0, 92, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 92, 1, 2, 3, 4,
- 5, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 0, 0, 92, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 0, 91, 0, 343, 92, 9, 10, 11, 12, 344, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 0, 91, 0, 0, 92};
+ 124, 134, 152, 166, 144, 219, 143, 309, 344, 153, 272, 107, 275, 345, 264, 174, 224, 347, 161,
+ 404, 108, 305, 324, 352, 421, 135, 131, 132, 154, 152, 136, 398, 144, 411, 143, 173, 144, 261,
+ 263, 399, 294, 295, 175, 154, 178, 284, 177, 441, 176, 411, 262, 290, 178, 291, 177, 272, 306,
+ 322, 133, 434, 138, 353, 222, 152, 434, 148, 276, 277, 145, 266, 267, 146, 178, 219, 177, 296,
+ 297, 222, 162, 227, 281, 139, 311, 354, 346, 228, 282, 278, 219, 341, 154, 279, 408, 409, 160,
+ 170, 171, 395, 341, 341, 356, 165, 341, 264, 438, 342, 350, 264, 172, 351, 341, 124, 368, 369,
+ 370, 371, 124, 178, 178, 177, 177, 341, 206, 360, 388, 222, 350, 124, 380, 396, 158, 3, 4,
+ 5, 223, 349, 147, 132, 107, 124, 226, 387, 272, 124, -30, 389, 344, 108, 287, 288, 289, 124,
+ 131, 132, 292, 293, 273, 274, 280, 124, 285, 298, 299, 312, 313, 249, 341, 401, 364, 365, 372,
+ 373, 366, 367, 300, 286, 301, 124, 302, 124, 303, 393, 394, 415, 442, 304, 307, 264, 315, 316,
+ 206, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 320, 318, 319, 178, 206, 177, 323, 325,
+ 326, 339, 327, -29, 410, -24, -277, 390, 381, 400, -31, 402, 417, 426, 341, 124, 124, 425, 427,
+ 429, 410, 430, 431, 240, 437, 359, 433, 374, 443, 375, 428, 168, 376, 416, 167, 169, 130, 377,
+ 314, 378, 219, 403, 439, 348, 379, 249, 361, 362, 363, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 264, 432, 397, 440, 405, 157, 392, 418, 406, 0, 0,
+ 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 412, 0,
+ 0, 153, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 424, 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 249, 249, 0, 0, 0, 0, 249, 249, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 249, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 229, 230, 231, 0, 232, 233, 234, 235, 236, 237, 238, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 239,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 181, 182,
+ 106, 183, 184, 185, 186, 187, 0, 0, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 240, 241, 0, 0, 0, 0, 242,
+ 192, 193, 194, 195, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 229, 230, 231,
+ 0, 232, 233, 234, 235, 236, 237, 238, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 239, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 181, 182, 106, 183, 184, 185, 186, 187, 0, 0, 188,
+ 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190,
+ 0, 0, 0, 240, 343, 0, 0, 0, 0, 242, 192, 193, 194, 195, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 229, 230, 231, 0, 232, 233, 234, 235, 236, 237, 238, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 239, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 181,
+ 182, 106, 183, 184, 185, 186, 187, 0, 0, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 240, 0, 0, 0, 0, 0,
+ 242, 192, 193, 194, 195, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 229, 230,
+ 231, 0, 232, 233, 234, 235, 236, 237, 238, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 239, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 181, 182, 106, 183, 184, 185, 186, 187, 0, 0,
+ 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 190, 0, 0, 0, 165, 0, 0, 0, 0, 0, 242, 192, 193, 194, 195, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 229, 230, 231, 0, 232, 233, 234, 235, 236, 237, 238,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 239, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 181, 182, 106, 183, 184, 185, 186, 187, 0, 0, 188, 189, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 242, 192, 193, 194, 195, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 181, 182, 106, 183, 184, 185, 186, 187, 0,
+ 0, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
+ 5, 190, 7, 8, 9, 10, 11, 12, 0, 0, 0, 242, 192, 193, 194, 195, 0, 0, 0,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 181, 182, 106, 183, 184, 185, 186, 187, 0, 0, 188, 189, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 190, 7, 8, 9, 10, 11, 12, 0, 0,
+ 0, 0, 192, 193, 194, 195, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 0, 149, 106, 0, 9, 10, 11, 12, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 150, 34, 35, 36, 37, 38, 39, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 0, 105, 181, 182, 106, 183, 184, 185, 186, 187, 0, 0,
+ 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 190, 0, 0, 191, 9, 10, 11, 12, 0, 0, 0, 192, 193, 194, 195, 0, 0, 0, 0,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0,
+ 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
+ 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 0, 105,
+ 181, 182, 106, 183, 184, 185, 186, 187, 0, 0, 188, 189, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 308, 9, 10, 11, 12, 0,
+ 0, 0, 192, 193, 194, 195, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 0, 105, 181, 182, 106, 183, 184, 185, 186, 187, 0,
+ 0, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 190, 9, 10, 11, 12, 0, 0, 0, 0, 0, 321, 192, 193, 194, 195, 0, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0,
+ 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 0,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 0, 105, 181, 182,
+ 106, 183, 184, 185, 186, 187, 0, 0, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 190, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0,
+ 192, 193, 194, 195, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 50, 283, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 0, 105, 181, 182, 106, 183, 184, 185, 186, 187, 0, 0, 188, 189, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 190, 7, 8, 9,
+ 10, 11, 12, 0, 0, 0, 0, 192, 193, 194, 195, 0, 0, 0, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 0, 0, 106, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 11, 12,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 0, 0, 106, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 310, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 0, 0, 106, 0, 0, 0, 0, 0, 0, 156, 0,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 382, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 0, 0, 106, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 0, 0, 106, 1, 2, 3, 4,
+ 5, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 0, 0, 106, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0,
+ 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51,
+ 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 0, 105, 0,
+ 357, 106, 9, 10, 11, 12, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0,
+ 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 0,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 0, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 0, 105, 0, 0,
+ 106};
static const yytype_int16 yycheck[] = {
- 0, 50, 102, 123, 97, 140, 97, 208, 248, 102, 240, 165, 252, 145, 159, 0, 62, 0, 134,
- 371, 108, 377, 223, 108, 109, 119, 120, 394, 138, 129, 143, 138, 125, 146, 125, 145, 129, 393,
- 176, 146, 156, 157, 124, 140, 137, 190, 137, 137, 146, 146, 417, 100, 145, 143, 145, 140, 210,
- 136, 146, 411, 154, 155, 108, 163, 416, 117, 118, 143, 138, 138, 163, 138, 165, 208, 165, 145,
- 145, 159, 145, 211, 137, 130, 131, 221, 108, 109, 138, 140, 223, 137, 142, 138, 332, 137, 137,
- 143, 138, 97, 137, 143, 143, 136, 102, 248, 143, 137, 143, 252, 148, 146, 150, 143, 143, 113,
- 140, 146, 116, 210, 211, 210, 211, 174, 175, 268, 143, 125, 264, 146, 113, 129, 113, 280, 281,
- 282, 283, 140, 143, 137, 254, 146, 193, 108, 109, 297, 146, 145, 115, 116, 378, 121, 122, 151,
- 111, 112, 292, 208, 5, 6, 7, 151, 152, 153, 136, 163, 145, 165, 137, 305, 143, 144, 223,
- 309, 276, 277, 136, 278, 279, 156, 158, 419, 157, 326, 327, 384, 123, 284, 285, 332, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 125, 139, 146, 146, 136, 136, 297, 146, 297, 145, 136,
- 144, 210, 211, 136, 136, 139, 141, 137, 136, 140, 139, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 377, 240, 144, 387, 143, 65, 136, 141,
- 137, 146, 384, 370, 139, 137, 18, 140, 393, 145, 265, 286, 146, 287, 290, 146, 288, 129, 403,
- 289, 125, 129, 291, 6, 214, 336, 409, 419, 253, 372, 415, 314, 416, 372, 393, 113, -1, -1,
- -1, 377, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, 398, -1, -1, -1, 393, -1,
- -1, 398, -1, -1, -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 371, 372, -1, -1, -1, -1, 377, 378, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, 398,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 411, -1, -1, -1, -1, 416, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117,
- 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136,
- -1, -1, -1, 140, 141, -1, -1, -1, -1, 146, 147, 148, 149, 150, 3, 4, 5, 6, 7,
+ 0, 50, 116, 137, 111, 154, 111, 222, 254, 116, 179, 0, 190, 262, 173, 148, 159, 266, 62,
+ 385, 0, 138, 237, 122, 408, 150, 122, 123, 152, 143, 160, 152, 139, 391, 139, 159, 143, 170,
+ 171, 160, 133, 134, 154, 152, 151, 204, 151, 431, 160, 407, 159, 162, 159, 164, 159, 224, 173,
+ 235, 154, 425, 151, 160, 152, 177, 430, 114, 131, 132, 157, 159, 177, 160, 179, 222, 179, 168,
+ 169, 152, 122, 151, 151, 157, 225, 151, 159, 157, 157, 152, 237, 157, 152, 156, 151, 151, 154,
+ 144, 145, 346, 157, 157, 278, 154, 157, 262, 151, 160, 157, 266, 150, 160, 157, 111, 294, 295,
+ 296, 297, 116, 224, 225, 224, 225, 157, 154, 282, 160, 152, 157, 127, 306, 160, 130, 5, 6,
+ 7, 160, 268, 122, 123, 127, 139, 159, 319, 311, 143, 150, 323, 392, 127, 165, 166, 167, 151,
+ 122, 123, 129, 130, 188, 189, 151, 159, 150, 135, 136, 125, 126, 165, 157, 158, 290, 291, 298,
+ 299, 292, 293, 172, 207, 171, 177, 170, 179, 137, 340, 341, 398, 433, 139, 153, 346, 160, 160,
+ 222, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 160, 150, 150, 311, 237, 311, 150, 158,
+ 150, 159, 155, 150, 391, 151, 154, 158, 153, 153, 150, 65, 150, 155, 157, 224, 225, 151, 153,
+ 160, 407, 151, 18, 154, 160, 279, 159, 300, 160, 301, 417, 143, 302, 401, 139, 143, 6, 303,
+ 228, 304, 398, 384, 429, 267, 305, 254, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 433, 423, 350, 430, 386, 127, 328, 407, 386, -1, -1,
+ -1, 391, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, -1, -1, -1, 407, -1,
+ -1, 412, -1, -1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 328, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 411, -1, -1, -1, 398, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 385, 386, -1, -1, -1, -1, 391, 392, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 407, -1, -1, -1, -1, 412, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 425, -1, -1, -1, -1, 430, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, -1, -1, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 150, -1, -1, -1, 154, 155, -1, -1, -1, -1, 160,
+ 161, 162, 163, 164, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131,
+ 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 150,
+ -1, -1, -1, 154, 155, -1, -1, -1, -1, 160, 161, 162, 163, 164, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, 140,
- 141, -1, -1, -1, -1, 146, 147, 148, 149, 150, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, 140, -1, -1, -1, -1,
- -1, 146, 147, 148, 149, 150, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 150, -1, -1, -1, 154, -1, -1, -1, -1, -1,
+ 160, 161, 162, 163, 164, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1,
+ 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 150, -1, -1, -1, 154, -1, -1, -1, -1, -1, 160, 161, 162, 163, 164, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 132, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 150, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 160, 161, 162, 163, 164, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1,
+ -1, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
+ 7, 150, 9, 10, 11, 12, 13, 14, -1, -1, -1, 160, 161, 162, 163, 164, -1, -1, -1,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 132, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 150, 9, 10, 11, 12, 13, 14, -1, -1,
+ -1, -1, 161, 162, 163, 164, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, -1, 11, 12, 13, 14, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, 160, 47, 48, 49, 50, 51, 52, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1,
+ 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 150, -1, -1, 153, 11, 12, 13, 14, -1, -1, -1, 161, 162, 163, 164, -1, -1, -1, -1,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1,
+ -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63,
+ 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 132, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 150, -1, -1, 153, 11, 12, 13, 14, -1,
+ -1, -1, 161, 162, 163, 164, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, 140, -1, -1, -1, -1, -1, 146, 147, 148,
- 149, 150, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, 150, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 136, 9,
- 10, 11, 12, 13, 14, -1, -1, -1, 146, 147, 148, 149, 150, -1, -1, -1, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 136, 9, 10, 11, 12, 13, 14,
- -1, -1, -1, -1, 147, 148, 149, 150, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1,
+ -1, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 150, 11, 12, 13, 14, -1, -1, -1, -1, -1, 160, 161, 162, 163, 164, -1, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, -1, -1, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 150, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
+ 161, 162, 163, 164, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 132, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 150, 9, 10, 11,
+ 12, 13, 14, -1, -1, -1, -1, 161, 162, 163, 164, -1, -1, -1, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, 108, 109,
- -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, 146, 47,
- 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- -1, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, 139, 11, 12, 13,
- 14, -1, -1, -1, 147, 148, 149, 150, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51,
- 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -1, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, 139, 11, 12, 13, 14, -1, -1, -1,
- 147, 148, 149, 150, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -1, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 136, 11, 12, 13, 14, -1, -1, -1, -1, -1, 146, 147, 148, 149, 150,
- -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1,
- -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, -1, 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, 11, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, 147, 148, 149, 150, -1, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
- 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -1, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3, 4, 5, 6, 7, 136, 9, 10, 11, 12, 13, 14, -1, -1, -1,
- -1, 147, 148, 149, 150, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 155, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, 26, 27, 28, 29, 30, 31, 32,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, 0, -1,
+ -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 155, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, -1, -1, 123, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1,
- 109, -1, -1, -1, -1, -1, -1, 0, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- -1, -1, 109, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 3, 4, 5, 6,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, 3, 4, 5, 6,
7, -1, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, -1, -1, 109, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, -1, 106, -1, 108, 109, 11, 12, 13, 14, 114, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, -1, 106, -1, -1, 109};
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ -1, -1, 123, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1,
+ -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64,
+ -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1,
+ 122, 123, 11, 12, 13, 14, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, -1,
+ 123};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
-static const yytype_uint8 yystos[] = {
+static const yytype_uint16 yystos[] = {
0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 109, 192, 193,
- 194, 195, 196, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 214, 216, 217, 252,
- 253, 254, 210, 108, 109, 140, 161, 136, 146, 255, 137, 143, 197, 198, 199, 204, 209, 143, 146,
- 108, 161, 108, 146, 191, 207, 209, 138, 215, 0, 253, 214, 219, 140, 62, 108, 212, 213, 140,
- 235, 198, 197, 199, 161, 161, 136, 145, 215, 140, 146, 204, 209, 220, 221, 107, 108, 110, 111,
- 112, 113, 114, 117, 118, 136, 139, 147, 148, 149, 150, 162, 163, 164, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 190, 214, 138,
- 146, 220, 218, 145, 137, 143, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 65, 140, 141,
- 146, 173, 186, 187, 189, 192, 193, 214, 225, 226, 227, 228, 236, 237, 238, 240, 242, 244, 251,
- 215, 145, 215, 187, 224, 145, 209, 161, 222, 223, 141, 221, 173, 173, 189, 117, 118, 138, 142,
- 137, 137, 143, 64, 187, 136, 173, 151, 152, 153, 148, 150, 115, 116, 119, 120, 154, 155, 121,
- 122, 158, 157, 156, 123, 125, 124, 159, 139, 139, 190, 141, 220, 111, 112, 213, 146, 146, 246,
- 136, 136, 146, 146, 189, 136, 190, 144, 136, 141, 229, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 145, 188, 143, 146, 141, 226, 224, 145, 224, 222, 215, 143, 146, 108, 146, 137, 165,
- 189, 108, 114, 168, 187, 173, 173, 173, 175, 175, 176, 176, 177, 177, 177, 177, 178, 178, 179,
- 180, 181, 182, 183, 184, 189, 139, 141, 232, 233, 234, 247, 189, 146, 189, 144, 245, 236, 187,
- 187, 224, 146, 223, 138, 146, 139, 144, 65, 235, 227, 225, 237, 248, 137, 137, 189, 202, 204,
- 243, 230, 190, 187, 136, 243, 249, 250, 232, 239, 241, 161, 137, 141, 139, 189, 146, 137, 18,
- 228, 145, 227, 231, 235, 146, 137, 189, 231, 232, 224, 146};
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 123, 206, 207, 208, 209, 210, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 228, 230, 231, 266, 267, 268, 224, 122, 123,
+ 154, 175, 150, 160, 269, 151, 157, 211, 212, 213, 218, 223, 157, 160, 122, 175, 122, 160, 205,
+ 221, 223, 152, 229, 0, 267, 228, 233, 154, 62, 122, 226, 227, 154, 249, 212, 211, 213, 175,
+ 175, 150, 159, 229, 154, 160, 218, 223, 234, 235, 121, 122, 124, 125, 126, 127, 128, 131, 132,
+ 150, 153, 161, 162, 163, 164, 176, 177, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 204, 228, 152, 160, 234, 232, 159, 151,
+ 157, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 65, 154, 155, 160, 187, 200, 201, 203,
+ 206, 207, 228, 239, 240, 241, 242, 250, 251, 252, 254, 256, 258, 265, 229, 159, 229, 201, 238,
+ 159, 223, 175, 236, 237, 155, 235, 187, 187, 203, 131, 132, 152, 156, 151, 151, 157, 64, 201,
+ 150, 187, 165, 166, 167, 162, 164, 129, 130, 133, 134, 168, 169, 135, 136, 172, 171, 170, 137,
+ 139, 138, 173, 153, 153, 204, 155, 234, 125, 126, 227, 160, 160, 260, 150, 150, 160, 160, 203,
+ 150, 204, 158, 150, 155, 243, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 159, 202, 157,
+ 160, 155, 240, 238, 159, 238, 236, 229, 157, 160, 122, 160, 151, 179, 203, 122, 128, 182, 201,
+ 187, 187, 187, 189, 189, 190, 190, 191, 191, 191, 191, 192, 192, 193, 194, 195, 196, 197, 198,
+ 203, 153, 155, 246, 247, 248, 261, 203, 160, 203, 158, 259, 250, 201, 201, 238, 160, 237, 152,
+ 160, 153, 158, 65, 249, 241, 239, 251, 262, 151, 151, 203, 216, 218, 257, 244, 204, 201, 150,
+ 257, 263, 264, 246, 253, 255, 175, 151, 155, 153, 203, 160, 151, 18, 242, 159, 241, 245, 249,
+ 160, 151, 203, 245, 246, 238, 160};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] = {
- 0, 160, 161, 161, 162, 163, 163, 163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164,
- 165, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 172, 172, 172, 173, 173, 173, 173,
- 174, 174, 174, 174, 175, 175, 175, 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 178,
- 178, 179, 179, 179, 180, 180, 181, 181, 182, 182, 183, 183, 184, 184, 185, 185, 186, 186,
- 187, 187, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 189, 190, 191, 192,
- 192, 192, 192, 192, 192, 192, 192, 193, 194, 194, 195, 195, 196, 197, 197, 198, 198, 198,
- 198, 199, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 202, 202, 203, 203, 203, 204,
- 204, 205, 206, 207, 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 209, 210, 210, 210, 211, 212, 212, 213, 213, 213, 213, 214,
- 214, 215, 215, 215, 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 218, 217, 219, 217, 220, 220, 221, 221, 222, 222, 223, 223, 224, 225, 226, 226, 227, 227,
- 227, 227, 227, 227, 227, 228, 229, 230, 228, 231, 231, 233, 232, 234, 232, 235, 235, 236,
- 236, 237, 237, 238, 239, 239, 241, 240, 242, 242, 243, 243, 245, 244, 246, 244, 247, 244,
- 248, 248, 249, 249, 250, 250, 251, 251, 251, 251, 251, 252, 252, 253, 253, 255, 254};
+static const yytype_uint16 yyr1[] = {
+ 0, 174, 175, 175, 176, 177, 177, 177, 177, 177, 177, 177, 178, 178, 178, 178, 178, 178, 179,
+ 180, 181, 181, 182, 182, 183, 183, 184, 184, 185, 186, 186, 186, 187, 187, 187, 187, 188, 188,
+ 188, 188, 189, 189, 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, 192, 192, 192, 193, 193,
+ 193, 194, 194, 195, 195, 196, 196, 197, 197, 198, 198, 199, 199, 200, 200, 201, 201, 202, 202,
+ 202, 202, 202, 202, 202, 202, 202, 202, 202, 203, 203, 204, 205, 206, 206, 206, 206, 206, 206,
+ 206, 206, 207, 208, 208, 209, 209, 210, 211, 211, 212, 212, 212, 212, 213, 214, 214, 214, 214,
+ 214, 215, 215, 215, 215, 215, 216, 216, 217, 217, 217, 218, 218, 219, 220, 221, 221, 221, 221,
+ 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 223, 224,
+ 224, 224, 225, 226, 226, 227, 227, 227, 227, 228, 228, 229, 229, 229, 229, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 232, 231, 233, 231, 234, 234, 235, 235, 236, 236, 237, 237, 238, 239, 240, 240, 241, 241,
+ 241, 241, 241, 241, 241, 242, 243, 244, 242, 245, 245, 247, 246, 248, 246, 249, 249, 250, 250,
+ 251, 251, 252, 253, 253, 255, 254, 256, 256, 257, 257, 259, 258, 260, 258, 261, 258, 262, 262,
+ 263, 263, 264, 264, 265, 265, 265, 265, 265, 266, 266, 267, 267, 269, 268};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_uint8 yyr2[] = {
- 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, 1, 3, 2, 2, 1, 1, 1, 3, 2, 2, 2, 1, 2, 3, 2, 1, 1,
- 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3,
- 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 2, 4, 5,
- 6, 9, 2, 3, 2, 1, 1, 2, 3, 3, 2, 3, 2, 1, 2, 1, 1, 1, 3, 4, 6, 5, 1, 2, 3, 5, 4, 1, 2, 1, 1,
- 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
- 1, 3, 1, 3, 3, 1, 1, 2, 2, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, 5, 1, 2, 3, 4, 1, 3, 1, 2, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 5, 1, 1, 0, 2, 0, 2, 2, 3, 1, 2, 1, 2, 5, 3, 1, 0, 6, 3,
- 2, 1, 4, 0, 6, 0, 8, 0, 7, 1, 1, 1, 0, 2, 3, 2, 2, 2, 3, 2, 1, 2, 1, 1, 0, 3};
+ 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, 1, 3, 2, 2, 1, 1, 1, 3, 2, 2, 2, 1, 2, 3, 2, 1, 1, 1,
+ 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3,
+ 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 2, 4, 5, 6, 9, 2,
+ 3, 2, 1, 1, 2, 3, 3, 2, 3, 2, 1, 2, 1, 1, 1, 3, 4, 6, 5, 1, 2, 3, 5, 4, 1, 2, 1, 1, 1, 1, 2, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, 3, 3,
+ 1, 1, 2, 2, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, 5, 1, 2, 3, 4,
+ 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 5, 1, 1, 0, 2, 0, 2, 2, 3, 1, 2, 1, 2, 5,
+ 3, 1, 0, 6, 3, 2, 1, 4, 0, 6, 0, 8, 0, 7, 1, 1, 1, 0, 2, 3, 2, 2, 2, 3, 2, 1, 2, 1, 1, 0, 3};
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
@@ -4089,7 +4156,12 @@ yyreduce:
case 200:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2D, (yylsp[0]));
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::OES_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__samplerCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeArray, (yylsp[0]));
}
break;
@@ -4097,7 +4169,12 @@ yyreduce:
case 201:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler3D, (yylsp[0]));
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::EXT_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__samplerCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeArray, (yylsp[0]));
}
break;
@@ -4105,7 +4182,7 @@ yyreduce:
case 202:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCube, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2D, (yylsp[0]));
}
break;
@@ -4113,7 +4190,7 @@ yyreduce:
case 203:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DArray, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler3D, (yylsp[0]));
}
break;
@@ -4121,7 +4198,7 @@ yyreduce:
case 204:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMS, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCube, (yylsp[0]));
}
break;
@@ -4129,7 +4206,7 @@ yyreduce:
case 205:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMSArray, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DArray, (yylsp[0]));
}
break;
@@ -4137,7 +4214,7 @@ yyreduce:
case 206:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2D, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMS, (yylsp[0]));
}
break;
@@ -4145,7 +4222,7 @@ yyreduce:
case 207:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler3D, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMSArray, (yylsp[0]));
}
break;
@@ -4153,7 +4230,12 @@ yyreduce:
case 208:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCube, (yylsp[0]));
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::OES_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__isamplerCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCubeArray, (yylsp[0]));
}
break;
@@ -4161,7 +4243,12 @@ yyreduce:
case 209:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DArray, (yylsp[0]));
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::EXT_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__isamplerCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCubeArray, (yylsp[0]));
}
break;
@@ -4169,7 +4256,7 @@ yyreduce:
case 210:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMS, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2D, (yylsp[0]));
}
break;
@@ -4177,7 +4264,7 @@ yyreduce:
case 211:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMSArray, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler3D, (yylsp[0]));
}
break;
@@ -4185,7 +4272,7 @@ yyreduce:
case 212:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DShadow, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCube, (yylsp[0]));
}
break;
@@ -4193,7 +4280,7 @@ yyreduce:
case 213:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeShadow, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DArray, (yylsp[0]));
}
break;
@@ -4201,7 +4288,7 @@ yyreduce:
case 214:
{
- (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArrayShadow, (yylsp[0]));
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMS, (yylsp[0]));
}
break;
@@ -4209,6 +4296,90 @@ yyreduce:
case 215:
{
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMSArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 216:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::OES_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__usamplerCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 217:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::EXT_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__usamplerCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 218:
+
+ {
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DShadow, (yylsp[0]));
+ }
+
+ break;
+
+ case 219:
+
+ {
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeShadow, (yylsp[0]));
+ }
+
+ break;
+
+ case 220:
+
+ {
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArrayShadow, (yylsp[0]));
+ }
+
+ break;
+
+ case 221:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::OES_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__samplerCubeArrayShadow");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeArrayShadow, (yylsp[0]));
+ }
+
+ break;
+
+ case 222:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::EXT_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__samplerCubeArrayShadow");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeArrayShadow, (yylsp[0]));
+ }
+
+ break;
+
+ case 223:
+
+ {
if (!context->checkCanUseExtension((yylsp[0]), TExtension::WEBGL_video_texture))
{
context->error((yylsp[0]), "unsupported type", "samplerVideoWEBGL");
@@ -4218,7 +4389,7 @@ yyreduce:
break;
- case 216:
+ case 224:
{
constexpr std::array<TExtension, 3u> extensions{
@@ -4233,7 +4404,7 @@ yyreduce:
break;
- case 217:
+ case 225:
{
if (!context->checkCanUseExtension((yylsp[0]), TExtension::EXT_YUV_target))
@@ -4245,7 +4416,7 @@ yyreduce:
break;
- case 218:
+ case 226:
{
if (!context->checkCanUseExtension((yylsp[0]), TExtension::ARB_texture_rectangle))
@@ -4257,7 +4428,7 @@ yyreduce:
break;
- case 219:
+ case 227:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImage2D, (yylsp[0]));
@@ -4265,7 +4436,7 @@ yyreduce:
break;
- case 220:
+ case 228:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2D, (yylsp[0]));
@@ -4273,7 +4444,7 @@ yyreduce:
break;
- case 221:
+ case 229:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2D, (yylsp[0]));
@@ -4281,7 +4452,7 @@ yyreduce:
break;
- case 222:
+ case 230:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImage3D, (yylsp[0]));
@@ -4289,7 +4460,7 @@ yyreduce:
break;
- case 223:
+ case 231:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImage3D, (yylsp[0]));
@@ -4297,7 +4468,7 @@ yyreduce:
break;
- case 224:
+ case 232:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImage3D, (yylsp[0]));
@@ -4305,7 +4476,7 @@ yyreduce:
break;
- case 225:
+ case 233:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImage2DArray, (yylsp[0]));
@@ -4313,7 +4484,7 @@ yyreduce:
break;
- case 226:
+ case 234:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2DArray, (yylsp[0]));
@@ -4321,7 +4492,7 @@ yyreduce:
break;
- case 227:
+ case 235:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2DArray, (yylsp[0]));
@@ -4329,7 +4500,7 @@ yyreduce:
break;
- case 228:
+ case 236:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtImageCube, (yylsp[0]));
@@ -4337,7 +4508,7 @@ yyreduce:
break;
- case 229:
+ case 237:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtIImageCube, (yylsp[0]));
@@ -4345,7 +4516,7 @@ yyreduce:
break;
- case 230:
+ case 238:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtUImageCube, (yylsp[0]));
@@ -4353,7 +4524,85 @@ yyreduce:
break;
- case 231:
+ case 239:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::OES_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__imageCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtImageCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 240:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::EXT_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__imageCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtImageCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 241:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::OES_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__iimageCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtIImageCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 242:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::EXT_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__iimageCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtIImageCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 243:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::OES_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__uimageCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUImageCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 244:
+
+ {
+ if (context->getShaderVersion() < 320 &&
+ !context->checkCanUseExtension((yylsp[0]), TExtension::EXT_texture_cube_map_array))
+ {
+ context->error((yylsp[0]), "unsupported type", "__uimageCubeArray");
+ }
+ (yyval.interm.typeSpecifierNonArray).initialize(EbtUImageCubeArray, (yylsp[0]));
+ }
+
+ break;
+
+ case 245:
{
(yyval.interm.typeSpecifierNonArray).initialize(EbtAtomicCounter, (yylsp[0]));
@@ -4361,7 +4610,7 @@ yyreduce:
break;
- case 232:
+ case 246:
{
(yyval.interm.typeSpecifierNonArray) = (yyvsp[0].interm.typeSpecifierNonArray);
@@ -4369,7 +4618,7 @@ yyreduce:
break;
- case 233:
+ case 247:
{
// This is for user defined type names. The lexical phase looked up the type.
@@ -4379,7 +4628,7 @@ yyreduce:
break;
- case 234:
+ case 248:
{
context->enterStructDeclaration((yylsp[-1]), ImmutableString((yyvsp[-1].lex).string));
@@ -4387,7 +4636,7 @@ yyreduce:
break;
- case 235:
+ case 249:
{
(yyval.interm.typeSpecifierNonArray) = context->addStructure(
@@ -4397,7 +4646,7 @@ yyreduce:
break;
- case 236:
+ case 250:
{
context->enterStructDeclaration((yylsp[0]), kEmptyImmutableString);
@@ -4405,7 +4654,7 @@ yyreduce:
break;
- case 237:
+ case 251:
{
(yyval.interm.typeSpecifierNonArray) = context->addStructure(
@@ -4414,7 +4663,7 @@ yyreduce:
break;
- case 238:
+ case 252:
{
(yyval.interm.fieldList) =
@@ -4423,7 +4672,7 @@ yyreduce:
break;
- case 239:
+ case 253:
{
(yyval.interm.fieldList) = context->combineStructFieldLists(
@@ -4432,7 +4681,7 @@ yyreduce:
break;
- case 240:
+ case 254:
{
(yyval.interm.fieldList) = context->addStructDeclaratorList(
@@ -4441,7 +4690,7 @@ yyreduce:
break;
- case 241:
+ case 255:
{
// ES3 Only, but errors should be handled elsewhere
@@ -4452,7 +4701,7 @@ yyreduce:
break;
- case 242:
+ case 256:
{
(yyval.interm.declaratorList) = new TDeclaratorList();
@@ -4461,7 +4710,7 @@ yyreduce:
break;
- case 243:
+ case 257:
{
(yyval.interm.declaratorList)->push_back((yyvsp[0].interm.declarator));
@@ -4469,7 +4718,7 @@ yyreduce:
break;
- case 244:
+ case 258:
{
(yyval.interm.declarator) =
@@ -4478,7 +4727,7 @@ yyreduce:
break;
- case 245:
+ case 259:
{
(yyval.interm.declarator) = context->parseStructArrayDeclarator(
@@ -4487,7 +4736,7 @@ yyreduce:
break;
- case 246:
+ case 260:
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
@@ -4495,7 +4744,7 @@ yyreduce:
break;
- case 247:
+ case 261:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4503,7 +4752,7 @@ yyreduce:
break;
- case 248:
+ case 262:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock);
@@ -4511,7 +4760,7 @@ yyreduce:
break;
- case 249:
+ case 263:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4519,7 +4768,7 @@ yyreduce:
break;
- case 250:
+ case 264:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4527,7 +4776,7 @@ yyreduce:
break;
- case 251:
+ case 265:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4535,7 +4784,7 @@ yyreduce:
break;
- case 252:
+ case 266:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4543,7 +4792,7 @@ yyreduce:
break;
- case 253:
+ case 267:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch);
@@ -4551,7 +4800,7 @@ yyreduce:
break;
- case 254:
+ case 268:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermCase);
@@ -4559,7 +4808,7 @@ yyreduce:
break;
- case 255:
+ case 269:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4567,7 +4816,7 @@ yyreduce:
break;
- case 256:
+ case 270:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4575,7 +4824,7 @@ yyreduce:
break;
- case 257:
+ case 271:
{
(yyval.interm.intermBlock) = new TIntermBlock();
@@ -4584,7 +4833,7 @@ yyreduce:
break;
- case 258:
+ case 272:
{
context->symbolTable.push();
@@ -4592,7 +4841,7 @@ yyreduce:
break;
- case 259:
+ case 273:
{
context->symbolTable.pop();
@@ -4600,7 +4849,7 @@ yyreduce:
break;
- case 260:
+ case 274:
{
(yyvsp[-2].interm.intermBlock)->setLine((yyloc));
@@ -4609,7 +4858,7 @@ yyreduce:
break;
- case 261:
+ case 275:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock);
@@ -4617,7 +4866,7 @@ yyreduce:
break;
- case 262:
+ case 276:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4625,7 +4874,7 @@ yyreduce:
break;
- case 263:
+ case 277:
{
context->symbolTable.push();
@@ -4633,7 +4882,7 @@ yyreduce:
break;
- case 264:
+ case 278:
{
context->symbolTable.pop();
@@ -4642,7 +4891,7 @@ yyreduce:
break;
- case 265:
+ case 279:
{
context->symbolTable.push();
@@ -4650,7 +4899,7 @@ yyreduce:
break;
- case 266:
+ case 280:
{
context->symbolTable.pop();
@@ -4659,7 +4908,7 @@ yyreduce:
break;
- case 267:
+ case 281:
{
(yyval.interm.intermBlock) = new TIntermBlock();
@@ -4668,7 +4917,7 @@ yyreduce:
break;
- case 268:
+ case 282:
{
(yyvsp[-1].interm.intermBlock)->setLine((yyloc));
@@ -4677,7 +4926,7 @@ yyreduce:
break;
- case 269:
+ case 283:
{
(yyval.interm.intermBlock) = new TIntermBlock();
@@ -4686,7 +4935,7 @@ yyreduce:
break;
- case 270:
+ case 284:
{
(yyval.interm.intermBlock) = (yyvsp[-1].interm.intermBlock);
@@ -4695,7 +4944,7 @@ yyreduce:
break;
- case 271:
+ case 285:
{
(yyval.interm.intermNode) = context->addEmptyStatement((yyloc));
@@ -4703,7 +4952,7 @@ yyreduce:
break;
- case 272:
+ case 286:
{
(yyval.interm.intermNode) = (yyvsp[-1].interm.intermTypedNode);
@@ -4711,7 +4960,7 @@ yyreduce:
break;
- case 273:
+ case 287:
{
(yyval.interm.intermNode) = context->addIfElse((yyvsp[-2].interm.intermTypedNode),
@@ -4720,7 +4969,7 @@ yyreduce:
break;
- case 274:
+ case 288:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4729,7 +4978,7 @@ yyreduce:
break;
- case 275:
+ case 289:
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
@@ -4738,7 +4987,7 @@ yyreduce:
break;
- case 276:
+ case 290:
{
context->incrSwitchNestingLevel();
@@ -4746,7 +4995,7 @@ yyreduce:
break;
- case 277:
+ case 291:
{
(yyval.interm.intermSwitch) = context->addSwitch(
@@ -4756,7 +5005,7 @@ yyreduce:
break;
- case 278:
+ case 292:
{
(yyval.interm.intermCase) =
@@ -4765,7 +5014,7 @@ yyreduce:
break;
- case 279:
+ case 293:
{
(yyval.interm.intermCase) = context->addDefault((yylsp[-1]));
@@ -4773,7 +5022,7 @@ yyreduce:
break;
- case 280:
+ case 294:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermTypedNode);
@@ -4783,7 +5032,7 @@ yyreduce:
break;
- case 281:
+ case 295:
{
(yyval.interm.intermNode) = context->addConditionInitializer(
@@ -4793,7 +5042,7 @@ yyreduce:
break;
- case 282:
+ case 296:
{
context->symbolTable.push();
@@ -4802,7 +5051,7 @@ yyreduce:
break;
- case 283:
+ case 297:
{
context->symbolTable.pop();
@@ -4814,7 +5063,7 @@ yyreduce:
break;
- case 284:
+ case 298:
{
context->incrLoopNestingLevel();
@@ -4822,7 +5071,7 @@ yyreduce:
break;
- case 285:
+ case 299:
{
(yyval.interm.intermNode) =
@@ -4833,7 +5082,7 @@ yyreduce:
break;
- case 286:
+ case 300:
{
context->symbolTable.push();
@@ -4842,7 +5091,7 @@ yyreduce:
break;
- case 287:
+ case 301:
{
context->symbolTable.pop();
@@ -4855,7 +5104,7 @@ yyreduce:
break;
- case 288:
+ case 302:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4863,7 +5112,7 @@ yyreduce:
break;
- case 289:
+ case 303:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4871,7 +5120,7 @@ yyreduce:
break;
- case 290:
+ case 304:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4879,7 +5128,7 @@ yyreduce:
break;
- case 291:
+ case 305:
{
(yyval.interm.intermNode) = nullptr;
@@ -4887,7 +5136,7 @@ yyreduce:
break;
- case 292:
+ case 306:
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermNode);
@@ -4896,7 +5145,7 @@ yyreduce:
break;
- case 293:
+ case 307:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4905,7 +5154,7 @@ yyreduce:
break;
- case 294:
+ case 308:
{
(yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1]));
@@ -4913,7 +5162,7 @@ yyreduce:
break;
- case 295:
+ case 309:
{
(yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1]));
@@ -4921,7 +5170,7 @@ yyreduce:
break;
- case 296:
+ case 310:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1]));
@@ -4929,7 +5178,7 @@ yyreduce:
break;
- case 297:
+ case 311:
{
(yyval.interm.intermNode) =
@@ -4938,7 +5187,7 @@ yyreduce:
break;
- case 298:
+ case 312:
{
(yyval.interm.intermNode) = context->addBranch(EOpKill, (yylsp[-1]));
@@ -4946,7 +5195,7 @@ yyreduce:
break;
- case 299:
+ case 313:
{
(yyval.interm.intermBlock) = new TIntermBlock();
@@ -4957,7 +5206,7 @@ yyreduce:
break;
- case 300:
+ case 314:
{
(yyval.interm.intermBlock)->appendStatement((yyvsp[0].interm.intermNode));
@@ -4965,7 +5214,7 @@ yyreduce:
break;
- case 301:
+ case 315:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4973,7 +5222,7 @@ yyreduce:
break;
- case 302:
+ case 316:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4981,7 +5230,7 @@ yyreduce:
break;
- case 303:
+ case 317:
{
context->parseFunctionDefinitionHeader((yylsp[0]), (yyvsp[0].interm).function,
@@ -4990,7 +5239,7 @@ yyreduce:
break;
- case 304:
+ case 318:
{
(yyval.interm.intermNode) =
diff --git a/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.h b/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.h
index 6a1136162ea..a538b391c2b 100644
--- a/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.h
+++ b/chromium/third_party/angle/src/compiler/translator/glslang_tab_autogen.h
@@ -142,75 +142,89 @@ enum yytokentype
SAMPLERCUBESHADOW = 343,
SAMPLER2DARRAYSHADOW = 344,
SAMPLERVIDEOWEBGL = 345,
- SAMPLEREXTERNAL2DY2YEXT = 346,
- IMAGE2D = 347,
- IIMAGE2D = 348,
- UIMAGE2D = 349,
- IMAGE3D = 350,
- IIMAGE3D = 351,
- UIMAGE3D = 352,
- IMAGE2DARRAY = 353,
- IIMAGE2DARRAY = 354,
- UIMAGE2DARRAY = 355,
- IMAGECUBE = 356,
- IIMAGECUBE = 357,
- UIMAGECUBE = 358,
- ATOMICUINT = 359,
- LAYOUT = 360,
- YUVCSCSTANDARDEXT = 361,
- YUVCSCSTANDARDEXTCONSTANT = 362,
- IDENTIFIER = 363,
- TYPE_NAME = 364,
- FLOATCONSTANT = 365,
- INTCONSTANT = 366,
- UINTCONSTANT = 367,
- BOOLCONSTANT = 368,
- FIELD_SELECTION = 369,
- LEFT_OP = 370,
- RIGHT_OP = 371,
- INC_OP = 372,
- DEC_OP = 373,
- LE_OP = 374,
- GE_OP = 375,
- EQ_OP = 376,
- NE_OP = 377,
- AND_OP = 378,
- OR_OP = 379,
- XOR_OP = 380,
- MUL_ASSIGN = 381,
- DIV_ASSIGN = 382,
- ADD_ASSIGN = 383,
- MOD_ASSIGN = 384,
- LEFT_ASSIGN = 385,
- RIGHT_ASSIGN = 386,
- AND_ASSIGN = 387,
- XOR_ASSIGN = 388,
- OR_ASSIGN = 389,
- SUB_ASSIGN = 390,
- LEFT_PAREN = 391,
- RIGHT_PAREN = 392,
- LEFT_BRACKET = 393,
- RIGHT_BRACKET = 394,
- LEFT_BRACE = 395,
- RIGHT_BRACE = 396,
- DOT = 397,
- COMMA = 398,
- COLON = 399,
- EQUAL = 400,
- SEMICOLON = 401,
- BANG = 402,
- DASH = 403,
- TILDE = 404,
- PLUS = 405,
- STAR = 406,
- SLASH = 407,
- PERCENT = 408,
- LEFT_ANGLE = 409,
- RIGHT_ANGLE = 410,
- VERTICAL_BAR = 411,
- CARET = 412,
- AMPERSAND = 413,
- QUESTION = 414
+ SAMPLERCUBEARRAYOES = 346,
+ SAMPLERCUBEARRAYSHADOWOES = 347,
+ ISAMPLERCUBEARRAYOES = 348,
+ USAMPLERCUBEARRAYOES = 349,
+ SAMPLERCUBEARRAYEXT = 350,
+ SAMPLERCUBEARRAYSHADOWEXT = 351,
+ ISAMPLERCUBEARRAYEXT = 352,
+ USAMPLERCUBEARRAYEXT = 353,
+ SAMPLEREXTERNAL2DY2YEXT = 354,
+ IMAGE2D = 355,
+ IIMAGE2D = 356,
+ UIMAGE2D = 357,
+ IMAGE3D = 358,
+ IIMAGE3D = 359,
+ UIMAGE3D = 360,
+ IMAGE2DARRAY = 361,
+ IIMAGE2DARRAY = 362,
+ UIMAGE2DARRAY = 363,
+ IMAGECUBE = 364,
+ IIMAGECUBE = 365,
+ UIMAGECUBE = 366,
+ IMAGECUBEARRAYOES = 367,
+ IIMAGECUBEARRAYOES = 368,
+ UIMAGECUBEARRAYOES = 369,
+ IMAGECUBEARRAYEXT = 370,
+ IIMAGECUBEARRAYEXT = 371,
+ UIMAGECUBEARRAYEXT = 372,
+ ATOMICUINT = 373,
+ LAYOUT = 374,
+ YUVCSCSTANDARDEXT = 375,
+ YUVCSCSTANDARDEXTCONSTANT = 376,
+ IDENTIFIER = 377,
+ TYPE_NAME = 378,
+ FLOATCONSTANT = 379,
+ INTCONSTANT = 380,
+ UINTCONSTANT = 381,
+ BOOLCONSTANT = 382,
+ FIELD_SELECTION = 383,
+ LEFT_OP = 384,
+ RIGHT_OP = 385,
+ INC_OP = 386,
+ DEC_OP = 387,
+ LE_OP = 388,
+ GE_OP = 389,
+ EQ_OP = 390,
+ NE_OP = 391,
+ AND_OP = 392,
+ OR_OP = 393,
+ XOR_OP = 394,
+ MUL_ASSIGN = 395,
+ DIV_ASSIGN = 396,
+ ADD_ASSIGN = 397,
+ MOD_ASSIGN = 398,
+ LEFT_ASSIGN = 399,
+ RIGHT_ASSIGN = 400,
+ AND_ASSIGN = 401,
+ XOR_ASSIGN = 402,
+ OR_ASSIGN = 403,
+ SUB_ASSIGN = 404,
+ LEFT_PAREN = 405,
+ RIGHT_PAREN = 406,
+ LEFT_BRACKET = 407,
+ RIGHT_BRACKET = 408,
+ LEFT_BRACE = 409,
+ RIGHT_BRACE = 410,
+ DOT = 411,
+ COMMA = 412,
+ COLON = 413,
+ EQUAL = 414,
+ SEMICOLON = 415,
+ BANG = 416,
+ DASH = 417,
+ TILDE = 418,
+ PLUS = 419,
+ STAR = 420,
+ SLASH = 421,
+ PERCENT = 422,
+ LEFT_ANGLE = 423,
+ RIGHT_ANGLE = 424,
+ VERTICAL_BAR = 425,
+ CARET = 426,
+ AMPERSAND = 427,
+ QUESTION = 428
};
#endif
diff --git a/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp b/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp
index 0755a6bf54e..1e4bd4b522a 100644
--- a/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp
@@ -9,6 +9,7 @@
#include "compiler/translator/tree_ops/RewriteDfdy.h"
#include "common/angleutils.h"
+#include "compiler/translator/StaticType.h"
#include "compiler/translator/SymbolTable.h"
#include "compiler/translator/tree_util/IntermNode_util.h"
#include "compiler/translator/tree_util/IntermTraverse.h"
@@ -25,52 +26,116 @@ class Traverser : public TIntermTraverser
ANGLE_NO_DISCARD static bool Apply(TCompiler *compiler,
TIntermNode *root,
const TSymbolTable &symbolTable,
- TIntermBinary *viewportYScale);
+ TIntermBinary *flipXY,
+ TIntermTyped *fragRotation);
private:
- Traverser(TIntermBinary *viewportYScale, TSymbolTable *symbolTable);
+ Traverser(TIntermBinary *flipXY, TIntermTyped *fragRotation, TSymbolTable *symbolTable);
bool visitUnary(Visit visit, TIntermUnary *node) override;
- TIntermBinary *mViewportYScale = nullptr;
+ TIntermBinary *mFlipXY = nullptr;
+ TIntermTyped *mFragRotation = nullptr;
};
-Traverser::Traverser(TIntermBinary *viewportYScale, TSymbolTable *symbolTable)
- : TIntermTraverser(true, false, false, symbolTable), mViewportYScale(viewportYScale)
+Traverser::Traverser(TIntermBinary *flipXY, TIntermTyped *fragRotation, TSymbolTable *symbolTable)
+ : TIntermTraverser(true, false, false, symbolTable),
+ mFlipXY(flipXY),
+ mFragRotation(fragRotation)
{}
// static
bool Traverser::Apply(TCompiler *compiler,
TIntermNode *root,
const TSymbolTable &symbolTable,
- TIntermBinary *viewportYScale)
+ TIntermBinary *flipXY,
+ TIntermTyped *fragRotation)
{
TSymbolTable *pSymbolTable = const_cast<TSymbolTable *>(&symbolTable);
- Traverser traverser(viewportYScale, pSymbolTable);
+ Traverser traverser(flipXY, fragRotation, pSymbolTable);
root->traverse(&traverser);
return traverser.updateTree(compiler, root);
}
bool Traverser::visitUnary(Visit visit, TIntermUnary *node)
{
- // Decide if the node represents a call to dFdy()
- if (node->getOp() != EOpDFdy)
+ // Decide if the node represents a call to dFdx() or dFdy()
+ if ((node->getOp() != EOpDFdx) && (node->getOp() != EOpDFdy))
{
return true;
}
- // Copy the dFdy node so we can replace it with the corrected value
- TIntermUnary *newDfdy = node->deepCopy()->getAsUnaryNode();
-
- size_t objectSize = node->getType().getObjectSize();
- TOperator multiplyOp = (objectSize == 1) ? EOpMul : EOpVectorTimesScalar;
-
- // Correct dFdy()'s value:
- // (dFdy() * ANGLEUniforms.viewportYScale)
- TIntermBinary *correctedDfdy =
- new TIntermBinary(multiplyOp, newDfdy, mViewportYScale->deepCopy());
+ // Prior to supporting Android pre-rotation, dFdy() needed to be multiplied by mFlipXY.y:
+ //
+ // correctedDfdy(operand) = dFdy(operand) * mFlipXY.y
+ //
+ // For Android pre-rotation, both dFdx() and dFdy() need to be "rotated" and multiplied by
+ // mFlipXY. "Rotation" means to swap them for 90 and 270 degrees, or to not swap them for 0
+ // and 180 degrees. This rotation is accomplished with mFragRotation, which is a 2x2 matrix
+ // used for fragment shader rotation. The 1st half (a vec2 that is either (1,0) or (0,1)) is
+ // used for rewriting dFdx() and the 2nd half (either (0,1) or (1,0)) is used for rewriting
+ // dFdy(). Otherwise, the formula for the rewrite is the same:
+ //
+ // result = ((dFdx(operand) * (mFragRotation[half] * mFlipXY).x) +
+ // (dFdy(operand) * (mFragRotation[half] * mFlipXY).y))
+ //
+ // For dFdx(), half is 0 (the 1st half). For dFdy(), half is 1 (the 2nd half). Depending on
+ // the rotation, mFragRotation[half] will cause either dFdx(operand) or dFdy(operand) to be
+ // zeroed-out. That effectively means that the above code results in the following for 0 and
+ // 180 degrees:
+ //
+ // correctedDfdx(operand) = dFdx(operand) * mFlipXY.x
+ // correctedDfdy(operand) = dFdy(operand) * mFlipXY.y
+ //
+ // and the following for 90 and 270 degrees:
+ //
+ // correctedDfdx(operand) = dFdy(operand) * mFlipXY.y
+ // correctedDfdy(operand) = dFdx(operand) * mFlipXY.x
+ //
+ // TODO(ianelliott): Look at the performance of this approach and potentially optimize it
+ // http://anglebug.com/4678
+
+ // Get a vec2 with the correct half of ANGLEUniforms.fragRotation
+ TIntermBinary *halfRotationMat = nullptr;
+ if (node->getOp() == EOpDFdx)
+ {
+ halfRotationMat =
+ new TIntermBinary(EOpIndexDirect, mFragRotation->deepCopy(), CreateIndexNode(0));
+ }
+ else
+ {
+ halfRotationMat =
+ new TIntermBinary(EOpIndexDirect, mFragRotation->deepCopy(), CreateIndexNode(1));
+ }
- // Replace the old dFdy node with the new node that contains the corrected value
- queueReplacement(correctedDfdy, OriginalNode::IS_DROPPED);
+ // Multiply halfRotationMat by ANGLEUniforms.flipXY and store in a temporary variable
+ TIntermBinary *rotatedFlipXY = new TIntermBinary(EOpMul, mFlipXY->deepCopy(), halfRotationMat);
+ const TType *vec2Type = StaticType::GetBasic<EbtFloat, 2>();
+ TIntermSymbol *tmpRotFlipXY = new TIntermSymbol(CreateTempVariable(mSymbolTable, vec2Type));
+ TIntermSequence *tmpDecl = new TIntermSequence;
+ tmpDecl->push_back(CreateTempInitDeclarationNode(&tmpRotFlipXY->variable(), rotatedFlipXY));
+ insertStatementsInParentBlock(*tmpDecl);
+
+ // Get the .x and .y swizzles to use as multipliers
+ TVector<int> swizzleOffsetX = {0};
+ TVector<int> swizzleOffsetY = {1};
+ TIntermSwizzle *multiplierX = new TIntermSwizzle(tmpRotFlipXY, swizzleOffsetX);
+ TIntermSwizzle *multiplierY = new TIntermSwizzle(tmpRotFlipXY->deepCopy(), swizzleOffsetY);
+
+ // Get the results of dFdx(operand) and dFdy(operand), and multiply them by the swizzles
+ TIntermTyped *operand = node->getOperand();
+ TIntermUnary *dFdx = new TIntermUnary(EOpDFdx, operand->deepCopy(), node->getFunction());
+ TIntermUnary *dFdy = new TIntermUnary(EOpDFdy, operand->deepCopy(), node->getFunction());
+ size_t objectSize = node->getType().getObjectSize();
+ TOperator multiplyOp = (objectSize == 1) ? EOpMul : EOpVectorTimesScalar;
+ TIntermBinary *rotatedFlippedDfdx = new TIntermBinary(multiplyOp, dFdx, multiplierX);
+ TIntermBinary *rotatedFlippedDfdy = new TIntermBinary(multiplyOp, dFdy, multiplierY);
+
+ // Sum them together into the result:
+ TIntermBinary *correctedResult =
+ new TIntermBinary(EOpAdd, rotatedFlippedDfdx, rotatedFlippedDfdy);
+
+ // Replace the old dFdx() or dFdy() node with the new node that contains the corrected value
+ queueReplacement(correctedResult, OriginalNode::IS_DROPPED);
return true;
}
@@ -81,13 +146,14 @@ bool RewriteDfdy(TCompiler *compiler,
TIntermNode *root,
const TSymbolTable &symbolTable,
int shaderVersion,
- TIntermBinary *viewportYScale)
+ TIntermBinary *flipXY,
+ TIntermTyped *fragRotation)
{
// dFdy is only valid in GLSL 3.0 and later.
if (shaderVersion < 300)
return true;
- return Traverser::Apply(compiler, root, symbolTable, viewportYScale);
+ return Traverser::Apply(compiler, root, symbolTable, flipXY, fragRotation);
}
} // namespace sh
diff --git a/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.h b/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.h
index 25474c28af2..f59c5e15896 100644
--- a/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.h
+++ b/chromium/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.h
@@ -21,13 +21,15 @@ namespace sh
class TCompiler;
class TIntermNode;
class TIntermBinary;
+class TIntermTyped;
class TSymbolTable;
ANGLE_NO_DISCARD bool RewriteDfdy(TCompiler *compiler,
TIntermNode *root,
const TSymbolTable &symbolTable,
int shaderVersion,
- TIntermBinary *viewportYScale);
+ TIntermBinary *flipXY,
+ TIntermTyped *fragRotation);
} // namespace sh
diff --git a/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h b/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h
index 96cbba4c7f0..6ab4de88621 100644
--- a/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h
+++ b/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h
@@ -22,1415 +22,1481 @@ class TVariable;
class BuiltInId
{
public:
- static constexpr const TSymbolUniqueId radians_Float1 = TSymbolUniqueId(2323);
- static constexpr const TSymbolUniqueId pt00B = TSymbolUniqueId(2324);
- static constexpr const TSymbolUniqueId radians_Float2 = TSymbolUniqueId(2325);
- static constexpr const TSymbolUniqueId pt10B = TSymbolUniqueId(2326);
- static constexpr const TSymbolUniqueId radians_Float3 = TSymbolUniqueId(2327);
- static constexpr const TSymbolUniqueId pt20B = TSymbolUniqueId(2328);
- static constexpr const TSymbolUniqueId radians_Float4 = TSymbolUniqueId(2329);
- static constexpr const TSymbolUniqueId pt30B = TSymbolUniqueId(2330);
- static constexpr const TSymbolUniqueId degrees_Float1 = TSymbolUniqueId(2331);
- static constexpr const TSymbolUniqueId degrees_Float2 = TSymbolUniqueId(2332);
- static constexpr const TSymbolUniqueId degrees_Float3 = TSymbolUniqueId(2333);
- static constexpr const TSymbolUniqueId degrees_Float4 = TSymbolUniqueId(2334);
- static constexpr const TSymbolUniqueId sin_Float1 = TSymbolUniqueId(2335);
- static constexpr const TSymbolUniqueId sin_Float2 = TSymbolUniqueId(2336);
- static constexpr const TSymbolUniqueId sin_Float3 = TSymbolUniqueId(2337);
- static constexpr const TSymbolUniqueId sin_Float4 = TSymbolUniqueId(2338);
- static constexpr const TSymbolUniqueId cos_Float1 = TSymbolUniqueId(2339);
- static constexpr const TSymbolUniqueId cos_Float2 = TSymbolUniqueId(2340);
- static constexpr const TSymbolUniqueId cos_Float3 = TSymbolUniqueId(2341);
- static constexpr const TSymbolUniqueId cos_Float4 = TSymbolUniqueId(2342);
- static constexpr const TSymbolUniqueId tan_Float1 = TSymbolUniqueId(2343);
- static constexpr const TSymbolUniqueId tan_Float2 = TSymbolUniqueId(2344);
- static constexpr const TSymbolUniqueId tan_Float3 = TSymbolUniqueId(2345);
- static constexpr const TSymbolUniqueId tan_Float4 = TSymbolUniqueId(2346);
- static constexpr const TSymbolUniqueId asin_Float1 = TSymbolUniqueId(2347);
- static constexpr const TSymbolUniqueId asin_Float2 = TSymbolUniqueId(2348);
- static constexpr const TSymbolUniqueId asin_Float3 = TSymbolUniqueId(2349);
- static constexpr const TSymbolUniqueId asin_Float4 = TSymbolUniqueId(2350);
- static constexpr const TSymbolUniqueId acos_Float1 = TSymbolUniqueId(2351);
- static constexpr const TSymbolUniqueId acos_Float2 = TSymbolUniqueId(2352);
- static constexpr const TSymbolUniqueId acos_Float3 = TSymbolUniqueId(2353);
- static constexpr const TSymbolUniqueId acos_Float4 = TSymbolUniqueId(2354);
- static constexpr const TSymbolUniqueId atan_Float1_Float1 = TSymbolUniqueId(2355);
- static constexpr const TSymbolUniqueId atan_Float2_Float2 = TSymbolUniqueId(2356);
- static constexpr const TSymbolUniqueId atan_Float3_Float3 = TSymbolUniqueId(2357);
- static constexpr const TSymbolUniqueId atan_Float4_Float4 = TSymbolUniqueId(2358);
- static constexpr const TSymbolUniqueId atan_Float1 = TSymbolUniqueId(2359);
- static constexpr const TSymbolUniqueId atan_Float2 = TSymbolUniqueId(2360);
- static constexpr const TSymbolUniqueId atan_Float3 = TSymbolUniqueId(2361);
- static constexpr const TSymbolUniqueId atan_Float4 = TSymbolUniqueId(2362);
- static constexpr const TSymbolUniqueId sinh_Float1 = TSymbolUniqueId(2363);
- static constexpr const TSymbolUniqueId sinh_Float2 = TSymbolUniqueId(2364);
- static constexpr const TSymbolUniqueId sinh_Float3 = TSymbolUniqueId(2365);
- static constexpr const TSymbolUniqueId sinh_Float4 = TSymbolUniqueId(2366);
- static constexpr const TSymbolUniqueId cosh_Float1 = TSymbolUniqueId(2367);
- static constexpr const TSymbolUniqueId cosh_Float2 = TSymbolUniqueId(2368);
- static constexpr const TSymbolUniqueId cosh_Float3 = TSymbolUniqueId(2369);
- static constexpr const TSymbolUniqueId cosh_Float4 = TSymbolUniqueId(2370);
- static constexpr const TSymbolUniqueId tanh_Float1 = TSymbolUniqueId(2371);
- static constexpr const TSymbolUniqueId tanh_Float2 = TSymbolUniqueId(2372);
- static constexpr const TSymbolUniqueId tanh_Float3 = TSymbolUniqueId(2373);
- static constexpr const TSymbolUniqueId tanh_Float4 = TSymbolUniqueId(2374);
- static constexpr const TSymbolUniqueId asinh_Float1 = TSymbolUniqueId(2375);
- static constexpr const TSymbolUniqueId asinh_Float2 = TSymbolUniqueId(2376);
- static constexpr const TSymbolUniqueId asinh_Float3 = TSymbolUniqueId(2377);
- static constexpr const TSymbolUniqueId asinh_Float4 = TSymbolUniqueId(2378);
- static constexpr const TSymbolUniqueId acosh_Float1 = TSymbolUniqueId(2379);
- static constexpr const TSymbolUniqueId acosh_Float2 = TSymbolUniqueId(2380);
- static constexpr const TSymbolUniqueId acosh_Float3 = TSymbolUniqueId(2381);
- static constexpr const TSymbolUniqueId acosh_Float4 = TSymbolUniqueId(2382);
- static constexpr const TSymbolUniqueId atanh_Float1 = TSymbolUniqueId(2383);
- static constexpr const TSymbolUniqueId atanh_Float2 = TSymbolUniqueId(2384);
- static constexpr const TSymbolUniqueId atanh_Float3 = TSymbolUniqueId(2385);
- static constexpr const TSymbolUniqueId atanh_Float4 = TSymbolUniqueId(2386);
- static constexpr const TSymbolUniqueId pow_Float1_Float1 = TSymbolUniqueId(2387);
- static constexpr const TSymbolUniqueId pow_Float2_Float2 = TSymbolUniqueId(2388);
- static constexpr const TSymbolUniqueId pow_Float3_Float3 = TSymbolUniqueId(2389);
- static constexpr const TSymbolUniqueId pow_Float4_Float4 = TSymbolUniqueId(2390);
- static constexpr const TSymbolUniqueId exp_Float1 = TSymbolUniqueId(2391);
- static constexpr const TSymbolUniqueId exp_Float2 = TSymbolUniqueId(2392);
- static constexpr const TSymbolUniqueId exp_Float3 = TSymbolUniqueId(2393);
- static constexpr const TSymbolUniqueId exp_Float4 = TSymbolUniqueId(2394);
- static constexpr const TSymbolUniqueId log_Float1 = TSymbolUniqueId(2395);
- static constexpr const TSymbolUniqueId log_Float2 = TSymbolUniqueId(2396);
- static constexpr const TSymbolUniqueId log_Float3 = TSymbolUniqueId(2397);
- static constexpr const TSymbolUniqueId log_Float4 = TSymbolUniqueId(2398);
- static constexpr const TSymbolUniqueId exp2_Float1 = TSymbolUniqueId(2399);
- static constexpr const TSymbolUniqueId exp2_Float2 = TSymbolUniqueId(2400);
- static constexpr const TSymbolUniqueId exp2_Float3 = TSymbolUniqueId(2401);
- static constexpr const TSymbolUniqueId exp2_Float4 = TSymbolUniqueId(2402);
- static constexpr const TSymbolUniqueId log2_Float1 = TSymbolUniqueId(2403);
- static constexpr const TSymbolUniqueId log2_Float2 = TSymbolUniqueId(2404);
- static constexpr const TSymbolUniqueId log2_Float3 = TSymbolUniqueId(2405);
- static constexpr const TSymbolUniqueId log2_Float4 = TSymbolUniqueId(2406);
- static constexpr const TSymbolUniqueId sqrt_Float1 = TSymbolUniqueId(2407);
- static constexpr const TSymbolUniqueId sqrt_Float2 = TSymbolUniqueId(2408);
- static constexpr const TSymbolUniqueId sqrt_Float3 = TSymbolUniqueId(2409);
- static constexpr const TSymbolUniqueId sqrt_Float4 = TSymbolUniqueId(2410);
- static constexpr const TSymbolUniqueId inversesqrt_Float1 = TSymbolUniqueId(2411);
- static constexpr const TSymbolUniqueId inversesqrt_Float2 = TSymbolUniqueId(2412);
- static constexpr const TSymbolUniqueId inversesqrt_Float3 = TSymbolUniqueId(2413);
- static constexpr const TSymbolUniqueId inversesqrt_Float4 = TSymbolUniqueId(2414);
- static constexpr const TSymbolUniqueId abs_Float1 = TSymbolUniqueId(2415);
- static constexpr const TSymbolUniqueId abs_Float2 = TSymbolUniqueId(2416);
- static constexpr const TSymbolUniqueId abs_Float3 = TSymbolUniqueId(2417);
- static constexpr const TSymbolUniqueId abs_Float4 = TSymbolUniqueId(2418);
- static constexpr const TSymbolUniqueId abs_Int1 = TSymbolUniqueId(2419);
- static constexpr const TSymbolUniqueId pt00D = TSymbolUniqueId(2420);
- static constexpr const TSymbolUniqueId abs_Int2 = TSymbolUniqueId(2421);
- static constexpr const TSymbolUniqueId pt10D = TSymbolUniqueId(2422);
- static constexpr const TSymbolUniqueId abs_Int3 = TSymbolUniqueId(2423);
- static constexpr const TSymbolUniqueId pt20D = TSymbolUniqueId(2424);
- static constexpr const TSymbolUniqueId abs_Int4 = TSymbolUniqueId(2425);
- static constexpr const TSymbolUniqueId pt30D = TSymbolUniqueId(2426);
- static constexpr const TSymbolUniqueId sign_Float1 = TSymbolUniqueId(2427);
- static constexpr const TSymbolUniqueId sign_Float2 = TSymbolUniqueId(2428);
- static constexpr const TSymbolUniqueId sign_Float3 = TSymbolUniqueId(2429);
- static constexpr const TSymbolUniqueId sign_Float4 = TSymbolUniqueId(2430);
- static constexpr const TSymbolUniqueId sign_Int1 = TSymbolUniqueId(2431);
- static constexpr const TSymbolUniqueId sign_Int2 = TSymbolUniqueId(2432);
- static constexpr const TSymbolUniqueId sign_Int3 = TSymbolUniqueId(2433);
- static constexpr const TSymbolUniqueId sign_Int4 = TSymbolUniqueId(2434);
- static constexpr const TSymbolUniqueId floor_Float1 = TSymbolUniqueId(2435);
- static constexpr const TSymbolUniqueId floor_Float2 = TSymbolUniqueId(2436);
- static constexpr const TSymbolUniqueId floor_Float3 = TSymbolUniqueId(2437);
- static constexpr const TSymbolUniqueId floor_Float4 = TSymbolUniqueId(2438);
- static constexpr const TSymbolUniqueId trunc_Float1 = TSymbolUniqueId(2439);
- static constexpr const TSymbolUniqueId trunc_Float2 = TSymbolUniqueId(2440);
- static constexpr const TSymbolUniqueId trunc_Float3 = TSymbolUniqueId(2441);
- static constexpr const TSymbolUniqueId trunc_Float4 = TSymbolUniqueId(2442);
- static constexpr const TSymbolUniqueId round_Float1 = TSymbolUniqueId(2443);
- static constexpr const TSymbolUniqueId round_Float2 = TSymbolUniqueId(2444);
- static constexpr const TSymbolUniqueId round_Float3 = TSymbolUniqueId(2445);
- static constexpr const TSymbolUniqueId round_Float4 = TSymbolUniqueId(2446);
- static constexpr const TSymbolUniqueId roundEven_Float1 = TSymbolUniqueId(2447);
- static constexpr const TSymbolUniqueId roundEven_Float2 = TSymbolUniqueId(2448);
- static constexpr const TSymbolUniqueId roundEven_Float3 = TSymbolUniqueId(2449);
- static constexpr const TSymbolUniqueId roundEven_Float4 = TSymbolUniqueId(2450);
- static constexpr const TSymbolUniqueId ceil_Float1 = TSymbolUniqueId(2451);
- static constexpr const TSymbolUniqueId ceil_Float2 = TSymbolUniqueId(2452);
- static constexpr const TSymbolUniqueId ceil_Float3 = TSymbolUniqueId(2453);
- static constexpr const TSymbolUniqueId ceil_Float4 = TSymbolUniqueId(2454);
- static constexpr const TSymbolUniqueId fract_Float1 = TSymbolUniqueId(2455);
- static constexpr const TSymbolUniqueId fract_Float2 = TSymbolUniqueId(2456);
- static constexpr const TSymbolUniqueId fract_Float3 = TSymbolUniqueId(2457);
- static constexpr const TSymbolUniqueId fract_Float4 = TSymbolUniqueId(2458);
- static constexpr const TSymbolUniqueId mod_Float1_Float1 = TSymbolUniqueId(2459);
- static constexpr const TSymbolUniqueId mod_Float2_Float1 = TSymbolUniqueId(2460);
- static constexpr const TSymbolUniqueId mod_Float3_Float1 = TSymbolUniqueId(2461);
- static constexpr const TSymbolUniqueId mod_Float4_Float1 = TSymbolUniqueId(2462);
- static constexpr const TSymbolUniqueId mod_Float2_Float2 = TSymbolUniqueId(2463);
- static constexpr const TSymbolUniqueId mod_Float3_Float3 = TSymbolUniqueId(2464);
- static constexpr const TSymbolUniqueId mod_Float4_Float4 = TSymbolUniqueId(2465);
- static constexpr const TSymbolUniqueId min_Float1_Float1 = TSymbolUniqueId(2466);
- static constexpr const TSymbolUniqueId min_Float2_Float1 = TSymbolUniqueId(2467);
- static constexpr const TSymbolUniqueId min_Float3_Float1 = TSymbolUniqueId(2468);
- static constexpr const TSymbolUniqueId min_Float4_Float1 = TSymbolUniqueId(2469);
- static constexpr const TSymbolUniqueId min_Float2_Float2 = TSymbolUniqueId(2470);
- static constexpr const TSymbolUniqueId min_Float3_Float3 = TSymbolUniqueId(2471);
- static constexpr const TSymbolUniqueId min_Float4_Float4 = TSymbolUniqueId(2472);
- static constexpr const TSymbolUniqueId min_Int1_Int1 = TSymbolUniqueId(2473);
- static constexpr const TSymbolUniqueId min_Int2_Int2 = TSymbolUniqueId(2474);
- static constexpr const TSymbolUniqueId min_Int3_Int3 = TSymbolUniqueId(2475);
- static constexpr const TSymbolUniqueId min_Int4_Int4 = TSymbolUniqueId(2476);
- static constexpr const TSymbolUniqueId min_Int2_Int1 = TSymbolUniqueId(2477);
- static constexpr const TSymbolUniqueId min_Int3_Int1 = TSymbolUniqueId(2478);
- static constexpr const TSymbolUniqueId min_Int4_Int1 = TSymbolUniqueId(2479);
- static constexpr const TSymbolUniqueId min_UInt1_UInt1 = TSymbolUniqueId(2480);
- static constexpr const TSymbolUniqueId pt00E = TSymbolUniqueId(2481);
- static constexpr const TSymbolUniqueId min_UInt2_UInt2 = TSymbolUniqueId(2482);
- static constexpr const TSymbolUniqueId pt10E = TSymbolUniqueId(2483);
- static constexpr const TSymbolUniqueId min_UInt3_UInt3 = TSymbolUniqueId(2484);
- static constexpr const TSymbolUniqueId pt20E = TSymbolUniqueId(2485);
- static constexpr const TSymbolUniqueId min_UInt4_UInt4 = TSymbolUniqueId(2486);
- static constexpr const TSymbolUniqueId pt30E = TSymbolUniqueId(2487);
- static constexpr const TSymbolUniqueId min_UInt2_UInt1 = TSymbolUniqueId(2488);
- static constexpr const TSymbolUniqueId min_UInt3_UInt1 = TSymbolUniqueId(2489);
- static constexpr const TSymbolUniqueId min_UInt4_UInt1 = TSymbolUniqueId(2490);
- static constexpr const TSymbolUniqueId max_Float1_Float1 = TSymbolUniqueId(2491);
- static constexpr const TSymbolUniqueId max_Float2_Float1 = TSymbolUniqueId(2492);
- static constexpr const TSymbolUniqueId max_Float3_Float1 = TSymbolUniqueId(2493);
- static constexpr const TSymbolUniqueId max_Float4_Float1 = TSymbolUniqueId(2494);
- static constexpr const TSymbolUniqueId max_Float2_Float2 = TSymbolUniqueId(2495);
- static constexpr const TSymbolUniqueId max_Float3_Float3 = TSymbolUniqueId(2496);
- static constexpr const TSymbolUniqueId max_Float4_Float4 = TSymbolUniqueId(2497);
- static constexpr const TSymbolUniqueId max_Int1_Int1 = TSymbolUniqueId(2498);
- static constexpr const TSymbolUniqueId max_Int2_Int2 = TSymbolUniqueId(2499);
- static constexpr const TSymbolUniqueId max_Int3_Int3 = TSymbolUniqueId(2500);
- static constexpr const TSymbolUniqueId max_Int4_Int4 = TSymbolUniqueId(2501);
- static constexpr const TSymbolUniqueId max_Int2_Int1 = TSymbolUniqueId(2502);
- static constexpr const TSymbolUniqueId max_Int3_Int1 = TSymbolUniqueId(2503);
- static constexpr const TSymbolUniqueId max_Int4_Int1 = TSymbolUniqueId(2504);
- static constexpr const TSymbolUniqueId max_UInt1_UInt1 = TSymbolUniqueId(2505);
- static constexpr const TSymbolUniqueId max_UInt2_UInt2 = TSymbolUniqueId(2506);
- static constexpr const TSymbolUniqueId max_UInt3_UInt3 = TSymbolUniqueId(2507);
- static constexpr const TSymbolUniqueId max_UInt4_UInt4 = TSymbolUniqueId(2508);
- static constexpr const TSymbolUniqueId max_UInt2_UInt1 = TSymbolUniqueId(2509);
- static constexpr const TSymbolUniqueId max_UInt3_UInt1 = TSymbolUniqueId(2510);
- static constexpr const TSymbolUniqueId max_UInt4_UInt1 = TSymbolUniqueId(2511);
- static constexpr const TSymbolUniqueId clamp_Float1_Float1_Float1 = TSymbolUniqueId(2512);
- static constexpr const TSymbolUniqueId clamp_Float2_Float1_Float1 = TSymbolUniqueId(2513);
- static constexpr const TSymbolUniqueId clamp_Float3_Float1_Float1 = TSymbolUniqueId(2514);
- static constexpr const TSymbolUniqueId clamp_Float4_Float1_Float1 = TSymbolUniqueId(2515);
- static constexpr const TSymbolUniqueId clamp_Float2_Float2_Float2 = TSymbolUniqueId(2516);
- static constexpr const TSymbolUniqueId clamp_Float3_Float3_Float3 = TSymbolUniqueId(2517);
- static constexpr const TSymbolUniqueId clamp_Float4_Float4_Float4 = TSymbolUniqueId(2518);
- static constexpr const TSymbolUniqueId clamp_Int1_Int1_Int1 = TSymbolUniqueId(2519);
- static constexpr const TSymbolUniqueId clamp_Int2_Int1_Int1 = TSymbolUniqueId(2520);
- static constexpr const TSymbolUniqueId clamp_Int3_Int1_Int1 = TSymbolUniqueId(2521);
- static constexpr const TSymbolUniqueId clamp_Int4_Int1_Int1 = TSymbolUniqueId(2522);
- static constexpr const TSymbolUniqueId clamp_Int2_Int2_Int2 = TSymbolUniqueId(2523);
- static constexpr const TSymbolUniqueId clamp_Int3_Int3_Int3 = TSymbolUniqueId(2524);
- static constexpr const TSymbolUniqueId clamp_Int4_Int4_Int4 = TSymbolUniqueId(2525);
- static constexpr const TSymbolUniqueId clamp_UInt1_UInt1_UInt1 = TSymbolUniqueId(2526);
- static constexpr const TSymbolUniqueId clamp_UInt2_UInt1_UInt1 = TSymbolUniqueId(2527);
- static constexpr const TSymbolUniqueId clamp_UInt3_UInt1_UInt1 = TSymbolUniqueId(2528);
- static constexpr const TSymbolUniqueId clamp_UInt4_UInt1_UInt1 = TSymbolUniqueId(2529);
- static constexpr const TSymbolUniqueId clamp_UInt2_UInt2_UInt2 = TSymbolUniqueId(2530);
- static constexpr const TSymbolUniqueId clamp_UInt3_UInt3_UInt3 = TSymbolUniqueId(2531);
- static constexpr const TSymbolUniqueId clamp_UInt4_UInt4_UInt4 = TSymbolUniqueId(2532);
- static constexpr const TSymbolUniqueId mix_Float1_Float1_Float1 = TSymbolUniqueId(2533);
- static constexpr const TSymbolUniqueId mix_Float2_Float2_Float1 = TSymbolUniqueId(2534);
- static constexpr const TSymbolUniqueId mix_Float3_Float3_Float1 = TSymbolUniqueId(2535);
- static constexpr const TSymbolUniqueId mix_Float4_Float4_Float1 = TSymbolUniqueId(2536);
- static constexpr const TSymbolUniqueId mix_Float2_Float2_Float2 = TSymbolUniqueId(2537);
- static constexpr const TSymbolUniqueId mix_Float3_Float3_Float3 = TSymbolUniqueId(2538);
- static constexpr const TSymbolUniqueId mix_Float4_Float4_Float4 = TSymbolUniqueId(2539);
- static constexpr const TSymbolUniqueId mix_Float1_Float1_Bool1 = TSymbolUniqueId(2540);
- static constexpr const TSymbolUniqueId pt00F = TSymbolUniqueId(2541);
- static constexpr const TSymbolUniqueId mix_Float2_Float2_Bool2 = TSymbolUniqueId(2542);
- static constexpr const TSymbolUniqueId pt10F = TSymbolUniqueId(2543);
- static constexpr const TSymbolUniqueId mix_Float3_Float3_Bool3 = TSymbolUniqueId(2544);
- static constexpr const TSymbolUniqueId pt20F = TSymbolUniqueId(2545);
- static constexpr const TSymbolUniqueId mix_Float4_Float4_Bool4 = TSymbolUniqueId(2546);
- static constexpr const TSymbolUniqueId pt30F = TSymbolUniqueId(2547);
- static constexpr const TSymbolUniqueId mix_Int1_Int1_Bool1 = TSymbolUniqueId(2548);
- static constexpr const TSymbolUniqueId mix_Int2_Int2_Bool2 = TSymbolUniqueId(2549);
- static constexpr const TSymbolUniqueId mix_Int3_Int3_Bool3 = TSymbolUniqueId(2550);
- static constexpr const TSymbolUniqueId mix_Int4_Int4_Bool4 = TSymbolUniqueId(2551);
- static constexpr const TSymbolUniqueId mix_UInt1_UInt1_Bool1 = TSymbolUniqueId(2552);
- static constexpr const TSymbolUniqueId mix_UInt2_UInt2_Bool2 = TSymbolUniqueId(2553);
- static constexpr const TSymbolUniqueId mix_UInt3_UInt3_Bool3 = TSymbolUniqueId(2554);
- static constexpr const TSymbolUniqueId mix_UInt4_UInt4_Bool4 = TSymbolUniqueId(2555);
- static constexpr const TSymbolUniqueId mix_Bool1_Bool1_Bool1 = TSymbolUniqueId(2556);
- static constexpr const TSymbolUniqueId mix_Bool2_Bool2_Bool2 = TSymbolUniqueId(2557);
- static constexpr const TSymbolUniqueId mix_Bool3_Bool3_Bool3 = TSymbolUniqueId(2558);
- static constexpr const TSymbolUniqueId mix_Bool4_Bool4_Bool4 = TSymbolUniqueId(2559);
- static constexpr const TSymbolUniqueId step_Float1_Float1 = TSymbolUniqueId(2560);
- static constexpr const TSymbolUniqueId step_Float2_Float2 = TSymbolUniqueId(2561);
- static constexpr const TSymbolUniqueId step_Float3_Float3 = TSymbolUniqueId(2562);
- static constexpr const TSymbolUniqueId step_Float4_Float4 = TSymbolUniqueId(2563);
- static constexpr const TSymbolUniqueId step_Float1_Float2 = TSymbolUniqueId(2564);
- static constexpr const TSymbolUniqueId step_Float1_Float3 = TSymbolUniqueId(2565);
- static constexpr const TSymbolUniqueId step_Float1_Float4 = TSymbolUniqueId(2566);
- static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float1 = TSymbolUniqueId(2567);
- static constexpr const TSymbolUniqueId smoothstep_Float2_Float2_Float2 = TSymbolUniqueId(2568);
- static constexpr const TSymbolUniqueId smoothstep_Float3_Float3_Float3 = TSymbolUniqueId(2569);
- static constexpr const TSymbolUniqueId smoothstep_Float4_Float4_Float4 = TSymbolUniqueId(2570);
- static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float2 = TSymbolUniqueId(2571);
- static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float3 = TSymbolUniqueId(2572);
- static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float4 = TSymbolUniqueId(2573);
- static constexpr const TSymbolUniqueId modf_Float1_Float1 = TSymbolUniqueId(2574);
- static constexpr const TSymbolUniqueId pt_o_00B = TSymbolUniqueId(2575);
- static constexpr const TSymbolUniqueId modf_Float2_Float2 = TSymbolUniqueId(2576);
- static constexpr const TSymbolUniqueId pt_o_10B = TSymbolUniqueId(2577);
- static constexpr const TSymbolUniqueId modf_Float3_Float3 = TSymbolUniqueId(2578);
- static constexpr const TSymbolUniqueId pt_o_20B = TSymbolUniqueId(2579);
- static constexpr const TSymbolUniqueId modf_Float4_Float4 = TSymbolUniqueId(2580);
- static constexpr const TSymbolUniqueId pt_o_30B = TSymbolUniqueId(2581);
- static constexpr const TSymbolUniqueId isnan_Float1 = TSymbolUniqueId(2582);
- static constexpr const TSymbolUniqueId isnan_Float2 = TSymbolUniqueId(2583);
- static constexpr const TSymbolUniqueId isnan_Float3 = TSymbolUniqueId(2584);
- static constexpr const TSymbolUniqueId isnan_Float4 = TSymbolUniqueId(2585);
- static constexpr const TSymbolUniqueId isinf_Float1 = TSymbolUniqueId(2586);
- static constexpr const TSymbolUniqueId isinf_Float2 = TSymbolUniqueId(2587);
- static constexpr const TSymbolUniqueId isinf_Float3 = TSymbolUniqueId(2588);
- static constexpr const TSymbolUniqueId isinf_Float4 = TSymbolUniqueId(2589);
- static constexpr const TSymbolUniqueId floatBitsToInt_Float1 = TSymbolUniqueId(2590);
- static constexpr const TSymbolUniqueId floatBitsToInt_Float2 = TSymbolUniqueId(2591);
- static constexpr const TSymbolUniqueId floatBitsToInt_Float3 = TSymbolUniqueId(2592);
- static constexpr const TSymbolUniqueId floatBitsToInt_Float4 = TSymbolUniqueId(2593);
- static constexpr const TSymbolUniqueId floatBitsToUint_Float1 = TSymbolUniqueId(2594);
- static constexpr const TSymbolUniqueId floatBitsToUint_Float2 = TSymbolUniqueId(2595);
- static constexpr const TSymbolUniqueId floatBitsToUint_Float3 = TSymbolUniqueId(2596);
- static constexpr const TSymbolUniqueId floatBitsToUint_Float4 = TSymbolUniqueId(2597);
- static constexpr const TSymbolUniqueId intBitsToFloat_Int1 = TSymbolUniqueId(2598);
- static constexpr const TSymbolUniqueId intBitsToFloat_Int2 = TSymbolUniqueId(2599);
- static constexpr const TSymbolUniqueId intBitsToFloat_Int3 = TSymbolUniqueId(2600);
- static constexpr const TSymbolUniqueId intBitsToFloat_Int4 = TSymbolUniqueId(2601);
- static constexpr const TSymbolUniqueId uintBitsToFloat_UInt1 = TSymbolUniqueId(2602);
- static constexpr const TSymbolUniqueId uintBitsToFloat_UInt2 = TSymbolUniqueId(2603);
- static constexpr const TSymbolUniqueId uintBitsToFloat_UInt3 = TSymbolUniqueId(2604);
- static constexpr const TSymbolUniqueId uintBitsToFloat_UInt4 = TSymbolUniqueId(2605);
- static constexpr const TSymbolUniqueId fma_Float1_Float1_Float1 = TSymbolUniqueId(2606);
- static constexpr const TSymbolUniqueId fma_Float2_Float2_Float2 = TSymbolUniqueId(2607);
- static constexpr const TSymbolUniqueId fma_Float3_Float3_Float3 = TSymbolUniqueId(2608);
- static constexpr const TSymbolUniqueId fma_Float4_Float4_Float4 = TSymbolUniqueId(2609);
- static constexpr const TSymbolUniqueId fmaExt_Float1_Float1_Float1 = TSymbolUniqueId(2610);
- static constexpr const TSymbolUniqueId fmaExt_Float2_Float2_Float2 = TSymbolUniqueId(2611);
- static constexpr const TSymbolUniqueId fmaExt_Float3_Float3_Float3 = TSymbolUniqueId(2612);
- static constexpr const TSymbolUniqueId fmaExt_Float4_Float4_Float4 = TSymbolUniqueId(2613);
- static constexpr const TSymbolUniqueId frexp_Float1_Int1 = TSymbolUniqueId(2614);
- static constexpr const TSymbolUniqueId pt_o_00D = TSymbolUniqueId(2615);
- static constexpr const TSymbolUniqueId frexp_Float2_Int2 = TSymbolUniqueId(2616);
- static constexpr const TSymbolUniqueId pt_o_10D = TSymbolUniqueId(2617);
- static constexpr const TSymbolUniqueId frexp_Float3_Int3 = TSymbolUniqueId(2618);
- static constexpr const TSymbolUniqueId pt_o_20D = TSymbolUniqueId(2619);
- static constexpr const TSymbolUniqueId frexp_Float4_Int4 = TSymbolUniqueId(2620);
- static constexpr const TSymbolUniqueId pt_o_30D = TSymbolUniqueId(2621);
- static constexpr const TSymbolUniqueId ldexp_Float1_Int1 = TSymbolUniqueId(2622);
- static constexpr const TSymbolUniqueId ldexp_Float2_Int2 = TSymbolUniqueId(2623);
- static constexpr const TSymbolUniqueId ldexp_Float3_Int3 = TSymbolUniqueId(2624);
- static constexpr const TSymbolUniqueId ldexp_Float4_Int4 = TSymbolUniqueId(2625);
- static constexpr const TSymbolUniqueId packSnorm2x16_Float2 = TSymbolUniqueId(2626);
- static constexpr const TSymbolUniqueId packHalf2x16_Float2 = TSymbolUniqueId(2627);
- static constexpr const TSymbolUniqueId unpackSnorm2x16_UInt1 = TSymbolUniqueId(2628);
- static constexpr const TSymbolUniqueId unpackHalf2x16_UInt1 = TSymbolUniqueId(2629);
- static constexpr const TSymbolUniqueId packUnorm2x16_Float2 = TSymbolUniqueId(2630);
- static constexpr const TSymbolUniqueId unpackUnorm2x16_UInt1 = TSymbolUniqueId(2631);
- static constexpr const TSymbolUniqueId packUnorm4x8_Float4 = TSymbolUniqueId(2632);
- static constexpr const TSymbolUniqueId packSnorm4x8_Float4 = TSymbolUniqueId(2633);
- static constexpr const TSymbolUniqueId unpackUnorm4x8_UInt1 = TSymbolUniqueId(2634);
- static constexpr const TSymbolUniqueId unpackSnorm4x8_UInt1 = TSymbolUniqueId(2635);
- static constexpr const TSymbolUniqueId length_Float1 = TSymbolUniqueId(2636);
- static constexpr const TSymbolUniqueId length_Float2 = TSymbolUniqueId(2637);
- static constexpr const TSymbolUniqueId length_Float3 = TSymbolUniqueId(2638);
- static constexpr const TSymbolUniqueId length_Float4 = TSymbolUniqueId(2639);
- static constexpr const TSymbolUniqueId distance_Float1_Float1 = TSymbolUniqueId(2640);
- static constexpr const TSymbolUniqueId distance_Float2_Float2 = TSymbolUniqueId(2641);
- static constexpr const TSymbolUniqueId distance_Float3_Float3 = TSymbolUniqueId(2642);
- static constexpr const TSymbolUniqueId distance_Float4_Float4 = TSymbolUniqueId(2643);
- static constexpr const TSymbolUniqueId dot_Float1_Float1 = TSymbolUniqueId(2644);
- static constexpr const TSymbolUniqueId dot_Float2_Float2 = TSymbolUniqueId(2645);
- static constexpr const TSymbolUniqueId dot_Float3_Float3 = TSymbolUniqueId(2646);
- static constexpr const TSymbolUniqueId dot_Float4_Float4 = TSymbolUniqueId(2647);
- static constexpr const TSymbolUniqueId cross_Float3_Float3 = TSymbolUniqueId(2648);
- static constexpr const TSymbolUniqueId normalize_Float1 = TSymbolUniqueId(2649);
- static constexpr const TSymbolUniqueId normalize_Float2 = TSymbolUniqueId(2650);
- static constexpr const TSymbolUniqueId normalize_Float3 = TSymbolUniqueId(2651);
- static constexpr const TSymbolUniqueId normalize_Float4 = TSymbolUniqueId(2652);
- static constexpr const TSymbolUniqueId faceforward_Float1_Float1_Float1 = TSymbolUniqueId(2653);
- static constexpr const TSymbolUniqueId faceforward_Float2_Float2_Float2 = TSymbolUniqueId(2654);
- static constexpr const TSymbolUniqueId faceforward_Float3_Float3_Float3 = TSymbolUniqueId(2655);
- static constexpr const TSymbolUniqueId faceforward_Float4_Float4_Float4 = TSymbolUniqueId(2656);
- static constexpr const TSymbolUniqueId reflect_Float1_Float1 = TSymbolUniqueId(2657);
- static constexpr const TSymbolUniqueId reflect_Float2_Float2 = TSymbolUniqueId(2658);
- static constexpr const TSymbolUniqueId reflect_Float3_Float3 = TSymbolUniqueId(2659);
- static constexpr const TSymbolUniqueId reflect_Float4_Float4 = TSymbolUniqueId(2660);
- static constexpr const TSymbolUniqueId refract_Float1_Float1_Float1 = TSymbolUniqueId(2661);
- static constexpr const TSymbolUniqueId refract_Float2_Float2_Float1 = TSymbolUniqueId(2662);
- static constexpr const TSymbolUniqueId refract_Float3_Float3_Float1 = TSymbolUniqueId(2663);
- static constexpr const TSymbolUniqueId refract_Float4_Float4_Float1 = TSymbolUniqueId(2664);
- static constexpr const TSymbolUniqueId matrixCompMult_Float2x2_Float2x2 = TSymbolUniqueId(2665);
- static constexpr const TSymbolUniqueId pt50B = TSymbolUniqueId(2666);
- static constexpr const TSymbolUniqueId matrixCompMult_Float3x3_Float3x3 = TSymbolUniqueId(2667);
- static constexpr const TSymbolUniqueId ptA0B = TSymbolUniqueId(2668);
- static constexpr const TSymbolUniqueId matrixCompMult_Float4x4_Float4x4 = TSymbolUniqueId(2669);
- static constexpr const TSymbolUniqueId ptF0B = TSymbolUniqueId(2670);
- static constexpr const TSymbolUniqueId matrixCompMult_Float2x3_Float2x3 = TSymbolUniqueId(2671);
- static constexpr const TSymbolUniqueId pt90B = TSymbolUniqueId(2672);
- static constexpr const TSymbolUniqueId matrixCompMult_Float3x2_Float3x2 = TSymbolUniqueId(2673);
- static constexpr const TSymbolUniqueId pt60B = TSymbolUniqueId(2674);
- static constexpr const TSymbolUniqueId matrixCompMult_Float2x4_Float2x4 = TSymbolUniqueId(2675);
- static constexpr const TSymbolUniqueId ptD0B = TSymbolUniqueId(2676);
- static constexpr const TSymbolUniqueId matrixCompMult_Float4x2_Float4x2 = TSymbolUniqueId(2677);
- static constexpr const TSymbolUniqueId pt70B = TSymbolUniqueId(2678);
- static constexpr const TSymbolUniqueId matrixCompMult_Float3x4_Float3x4 = TSymbolUniqueId(2679);
- static constexpr const TSymbolUniqueId ptE0B = TSymbolUniqueId(2680);
- static constexpr const TSymbolUniqueId matrixCompMult_Float4x3_Float4x3 = TSymbolUniqueId(2681);
- static constexpr const TSymbolUniqueId ptB0B = TSymbolUniqueId(2682);
- static constexpr const TSymbolUniqueId outerProduct_Float2_Float2 = TSymbolUniqueId(2683);
- static constexpr const TSymbolUniqueId outerProduct_Float3_Float3 = TSymbolUniqueId(2684);
- static constexpr const TSymbolUniqueId outerProduct_Float4_Float4 = TSymbolUniqueId(2685);
- static constexpr const TSymbolUniqueId outerProduct_Float3_Float2 = TSymbolUniqueId(2686);
- static constexpr const TSymbolUniqueId outerProduct_Float2_Float3 = TSymbolUniqueId(2687);
- static constexpr const TSymbolUniqueId outerProduct_Float4_Float2 = TSymbolUniqueId(2688);
- static constexpr const TSymbolUniqueId outerProduct_Float2_Float4 = TSymbolUniqueId(2689);
- static constexpr const TSymbolUniqueId outerProduct_Float4_Float3 = TSymbolUniqueId(2690);
- static constexpr const TSymbolUniqueId outerProduct_Float3_Float4 = TSymbolUniqueId(2691);
- static constexpr const TSymbolUniqueId transpose_Float2x2 = TSymbolUniqueId(2692);
- static constexpr const TSymbolUniqueId transpose_Float3x3 = TSymbolUniqueId(2693);
- static constexpr const TSymbolUniqueId transpose_Float4x4 = TSymbolUniqueId(2694);
- static constexpr const TSymbolUniqueId transpose_Float3x2 = TSymbolUniqueId(2695);
- static constexpr const TSymbolUniqueId transpose_Float2x3 = TSymbolUniqueId(2696);
- static constexpr const TSymbolUniqueId transpose_Float4x2 = TSymbolUniqueId(2697);
- static constexpr const TSymbolUniqueId transpose_Float2x4 = TSymbolUniqueId(2698);
- static constexpr const TSymbolUniqueId transpose_Float4x3 = TSymbolUniqueId(2699);
- static constexpr const TSymbolUniqueId transpose_Float3x4 = TSymbolUniqueId(2700);
- static constexpr const TSymbolUniqueId determinant_Float2x2 = TSymbolUniqueId(2701);
- static constexpr const TSymbolUniqueId determinant_Float3x3 = TSymbolUniqueId(2702);
- static constexpr const TSymbolUniqueId determinant_Float4x4 = TSymbolUniqueId(2703);
- static constexpr const TSymbolUniqueId inverse_Float2x2 = TSymbolUniqueId(2704);
- static constexpr const TSymbolUniqueId inverse_Float3x3 = TSymbolUniqueId(2705);
- static constexpr const TSymbolUniqueId inverse_Float4x4 = TSymbolUniqueId(2706);
- static constexpr const TSymbolUniqueId lessThan_Float2_Float2 = TSymbolUniqueId(2707);
- static constexpr const TSymbolUniqueId lessThan_Float3_Float3 = TSymbolUniqueId(2708);
- static constexpr const TSymbolUniqueId lessThan_Float4_Float4 = TSymbolUniqueId(2709);
- static constexpr const TSymbolUniqueId lessThan_Int2_Int2 = TSymbolUniqueId(2710);
- static constexpr const TSymbolUniqueId lessThan_Int3_Int3 = TSymbolUniqueId(2711);
- static constexpr const TSymbolUniqueId lessThan_Int4_Int4 = TSymbolUniqueId(2712);
- static constexpr const TSymbolUniqueId lessThan_UInt2_UInt2 = TSymbolUniqueId(2713);
- static constexpr const TSymbolUniqueId lessThan_UInt3_UInt3 = TSymbolUniqueId(2714);
- static constexpr const TSymbolUniqueId lessThan_UInt4_UInt4 = TSymbolUniqueId(2715);
- static constexpr const TSymbolUniqueId lessThanEqual_Float2_Float2 = TSymbolUniqueId(2716);
- static constexpr const TSymbolUniqueId lessThanEqual_Float3_Float3 = TSymbolUniqueId(2717);
- static constexpr const TSymbolUniqueId lessThanEqual_Float4_Float4 = TSymbolUniqueId(2718);
- static constexpr const TSymbolUniqueId lessThanEqual_Int2_Int2 = TSymbolUniqueId(2719);
- static constexpr const TSymbolUniqueId lessThanEqual_Int3_Int3 = TSymbolUniqueId(2720);
- static constexpr const TSymbolUniqueId lessThanEqual_Int4_Int4 = TSymbolUniqueId(2721);
- static constexpr const TSymbolUniqueId lessThanEqual_UInt2_UInt2 = TSymbolUniqueId(2722);
- static constexpr const TSymbolUniqueId lessThanEqual_UInt3_UInt3 = TSymbolUniqueId(2723);
- static constexpr const TSymbolUniqueId lessThanEqual_UInt4_UInt4 = TSymbolUniqueId(2724);
- static constexpr const TSymbolUniqueId greaterThan_Float2_Float2 = TSymbolUniqueId(2725);
- static constexpr const TSymbolUniqueId greaterThan_Float3_Float3 = TSymbolUniqueId(2726);
- static constexpr const TSymbolUniqueId greaterThan_Float4_Float4 = TSymbolUniqueId(2727);
- static constexpr const TSymbolUniqueId greaterThan_Int2_Int2 = TSymbolUniqueId(2728);
- static constexpr const TSymbolUniqueId greaterThan_Int3_Int3 = TSymbolUniqueId(2729);
- static constexpr const TSymbolUniqueId greaterThan_Int4_Int4 = TSymbolUniqueId(2730);
- static constexpr const TSymbolUniqueId greaterThan_UInt2_UInt2 = TSymbolUniqueId(2731);
- static constexpr const TSymbolUniqueId greaterThan_UInt3_UInt3 = TSymbolUniqueId(2732);
- static constexpr const TSymbolUniqueId greaterThan_UInt4_UInt4 = TSymbolUniqueId(2733);
- static constexpr const TSymbolUniqueId greaterThanEqual_Float2_Float2 = TSymbolUniqueId(2734);
- static constexpr const TSymbolUniqueId greaterThanEqual_Float3_Float3 = TSymbolUniqueId(2735);
- static constexpr const TSymbolUniqueId greaterThanEqual_Float4_Float4 = TSymbolUniqueId(2736);
- static constexpr const TSymbolUniqueId greaterThanEqual_Int2_Int2 = TSymbolUniqueId(2737);
- static constexpr const TSymbolUniqueId greaterThanEqual_Int3_Int3 = TSymbolUniqueId(2738);
- static constexpr const TSymbolUniqueId greaterThanEqual_Int4_Int4 = TSymbolUniqueId(2739);
- static constexpr const TSymbolUniqueId greaterThanEqual_UInt2_UInt2 = TSymbolUniqueId(2740);
- static constexpr const TSymbolUniqueId greaterThanEqual_UInt3_UInt3 = TSymbolUniqueId(2741);
- static constexpr const TSymbolUniqueId greaterThanEqual_UInt4_UInt4 = TSymbolUniqueId(2742);
- static constexpr const TSymbolUniqueId equal_Float2_Float2 = TSymbolUniqueId(2743);
- static constexpr const TSymbolUniqueId equal_Float3_Float3 = TSymbolUniqueId(2744);
- static constexpr const TSymbolUniqueId equal_Float4_Float4 = TSymbolUniqueId(2745);
- static constexpr const TSymbolUniqueId equal_Int2_Int2 = TSymbolUniqueId(2746);
- static constexpr const TSymbolUniqueId equal_Int3_Int3 = TSymbolUniqueId(2747);
- static constexpr const TSymbolUniqueId equal_Int4_Int4 = TSymbolUniqueId(2748);
- static constexpr const TSymbolUniqueId equal_UInt2_UInt2 = TSymbolUniqueId(2749);
- static constexpr const TSymbolUniqueId equal_UInt3_UInt3 = TSymbolUniqueId(2750);
- static constexpr const TSymbolUniqueId equal_UInt4_UInt4 = TSymbolUniqueId(2751);
- static constexpr const TSymbolUniqueId equal_Bool2_Bool2 = TSymbolUniqueId(2752);
- static constexpr const TSymbolUniqueId equal_Bool3_Bool3 = TSymbolUniqueId(2753);
- static constexpr const TSymbolUniqueId equal_Bool4_Bool4 = TSymbolUniqueId(2754);
- static constexpr const TSymbolUniqueId notEqual_Float2_Float2 = TSymbolUniqueId(2755);
- static constexpr const TSymbolUniqueId notEqual_Float3_Float3 = TSymbolUniqueId(2756);
- static constexpr const TSymbolUniqueId notEqual_Float4_Float4 = TSymbolUniqueId(2757);
- static constexpr const TSymbolUniqueId notEqual_Int2_Int2 = TSymbolUniqueId(2758);
- static constexpr const TSymbolUniqueId notEqual_Int3_Int3 = TSymbolUniqueId(2759);
- static constexpr const TSymbolUniqueId notEqual_Int4_Int4 = TSymbolUniqueId(2760);
- static constexpr const TSymbolUniqueId notEqual_UInt2_UInt2 = TSymbolUniqueId(2761);
- static constexpr const TSymbolUniqueId notEqual_UInt3_UInt3 = TSymbolUniqueId(2762);
- static constexpr const TSymbolUniqueId notEqual_UInt4_UInt4 = TSymbolUniqueId(2763);
- static constexpr const TSymbolUniqueId notEqual_Bool2_Bool2 = TSymbolUniqueId(2764);
- static constexpr const TSymbolUniqueId notEqual_Bool3_Bool3 = TSymbolUniqueId(2765);
- static constexpr const TSymbolUniqueId notEqual_Bool4_Bool4 = TSymbolUniqueId(2766);
- static constexpr const TSymbolUniqueId any_Bool2 = TSymbolUniqueId(2767);
- static constexpr const TSymbolUniqueId any_Bool3 = TSymbolUniqueId(2768);
- static constexpr const TSymbolUniqueId any_Bool4 = TSymbolUniqueId(2769);
- static constexpr const TSymbolUniqueId all_Bool2 = TSymbolUniqueId(2770);
- static constexpr const TSymbolUniqueId all_Bool3 = TSymbolUniqueId(2771);
- static constexpr const TSymbolUniqueId all_Bool4 = TSymbolUniqueId(2772);
- static constexpr const TSymbolUniqueId notFunc_Bool2 = TSymbolUniqueId(2773);
- static constexpr const TSymbolUniqueId notFunc_Bool3 = TSymbolUniqueId(2774);
- static constexpr const TSymbolUniqueId notFunc_Bool4 = TSymbolUniqueId(2775);
- static constexpr const TSymbolUniqueId bitfieldExtract_Int1_Int1_Int1 = TSymbolUniqueId(2776);
- static constexpr const TSymbolUniqueId bitfieldExtract_Int2_Int1_Int1 = TSymbolUniqueId(2777);
- static constexpr const TSymbolUniqueId bitfieldExtract_Int3_Int1_Int1 = TSymbolUniqueId(2778);
- static constexpr const TSymbolUniqueId bitfieldExtract_Int4_Int1_Int1 = TSymbolUniqueId(2779);
- static constexpr const TSymbolUniqueId bitfieldExtract_UInt1_Int1_Int1 = TSymbolUniqueId(2780);
- static constexpr const TSymbolUniqueId bitfieldExtract_UInt2_Int1_Int1 = TSymbolUniqueId(2781);
- static constexpr const TSymbolUniqueId bitfieldExtract_UInt3_Int1_Int1 = TSymbolUniqueId(2782);
- static constexpr const TSymbolUniqueId bitfieldExtract_UInt4_Int1_Int1 = TSymbolUniqueId(2783);
+ static constexpr const TSymbolUniqueId radians_Float1 = TSymbolUniqueId(2329);
+ static constexpr const TSymbolUniqueId pt00B = TSymbolUniqueId(2330);
+ static constexpr const TSymbolUniqueId radians_Float2 = TSymbolUniqueId(2331);
+ static constexpr const TSymbolUniqueId pt10B = TSymbolUniqueId(2332);
+ static constexpr const TSymbolUniqueId radians_Float3 = TSymbolUniqueId(2333);
+ static constexpr const TSymbolUniqueId pt20B = TSymbolUniqueId(2334);
+ static constexpr const TSymbolUniqueId radians_Float4 = TSymbolUniqueId(2335);
+ static constexpr const TSymbolUniqueId pt30B = TSymbolUniqueId(2336);
+ static constexpr const TSymbolUniqueId degrees_Float1 = TSymbolUniqueId(2337);
+ static constexpr const TSymbolUniqueId degrees_Float2 = TSymbolUniqueId(2338);
+ static constexpr const TSymbolUniqueId degrees_Float3 = TSymbolUniqueId(2339);
+ static constexpr const TSymbolUniqueId degrees_Float4 = TSymbolUniqueId(2340);
+ static constexpr const TSymbolUniqueId sin_Float1 = TSymbolUniqueId(2341);
+ static constexpr const TSymbolUniqueId sin_Float2 = TSymbolUniqueId(2342);
+ static constexpr const TSymbolUniqueId sin_Float3 = TSymbolUniqueId(2343);
+ static constexpr const TSymbolUniqueId sin_Float4 = TSymbolUniqueId(2344);
+ static constexpr const TSymbolUniqueId cos_Float1 = TSymbolUniqueId(2345);
+ static constexpr const TSymbolUniqueId cos_Float2 = TSymbolUniqueId(2346);
+ static constexpr const TSymbolUniqueId cos_Float3 = TSymbolUniqueId(2347);
+ static constexpr const TSymbolUniqueId cos_Float4 = TSymbolUniqueId(2348);
+ static constexpr const TSymbolUniqueId tan_Float1 = TSymbolUniqueId(2349);
+ static constexpr const TSymbolUniqueId tan_Float2 = TSymbolUniqueId(2350);
+ static constexpr const TSymbolUniqueId tan_Float3 = TSymbolUniqueId(2351);
+ static constexpr const TSymbolUniqueId tan_Float4 = TSymbolUniqueId(2352);
+ static constexpr const TSymbolUniqueId asin_Float1 = TSymbolUniqueId(2353);
+ static constexpr const TSymbolUniqueId asin_Float2 = TSymbolUniqueId(2354);
+ static constexpr const TSymbolUniqueId asin_Float3 = TSymbolUniqueId(2355);
+ static constexpr const TSymbolUniqueId asin_Float4 = TSymbolUniqueId(2356);
+ static constexpr const TSymbolUniqueId acos_Float1 = TSymbolUniqueId(2357);
+ static constexpr const TSymbolUniqueId acos_Float2 = TSymbolUniqueId(2358);
+ static constexpr const TSymbolUniqueId acos_Float3 = TSymbolUniqueId(2359);
+ static constexpr const TSymbolUniqueId acos_Float4 = TSymbolUniqueId(2360);
+ static constexpr const TSymbolUniqueId atan_Float1_Float1 = TSymbolUniqueId(2361);
+ static constexpr const TSymbolUniqueId atan_Float2_Float2 = TSymbolUniqueId(2362);
+ static constexpr const TSymbolUniqueId atan_Float3_Float3 = TSymbolUniqueId(2363);
+ static constexpr const TSymbolUniqueId atan_Float4_Float4 = TSymbolUniqueId(2364);
+ static constexpr const TSymbolUniqueId atan_Float1 = TSymbolUniqueId(2365);
+ static constexpr const TSymbolUniqueId atan_Float2 = TSymbolUniqueId(2366);
+ static constexpr const TSymbolUniqueId atan_Float3 = TSymbolUniqueId(2367);
+ static constexpr const TSymbolUniqueId atan_Float4 = TSymbolUniqueId(2368);
+ static constexpr const TSymbolUniqueId sinh_Float1 = TSymbolUniqueId(2369);
+ static constexpr const TSymbolUniqueId sinh_Float2 = TSymbolUniqueId(2370);
+ static constexpr const TSymbolUniqueId sinh_Float3 = TSymbolUniqueId(2371);
+ static constexpr const TSymbolUniqueId sinh_Float4 = TSymbolUniqueId(2372);
+ static constexpr const TSymbolUniqueId cosh_Float1 = TSymbolUniqueId(2373);
+ static constexpr const TSymbolUniqueId cosh_Float2 = TSymbolUniqueId(2374);
+ static constexpr const TSymbolUniqueId cosh_Float3 = TSymbolUniqueId(2375);
+ static constexpr const TSymbolUniqueId cosh_Float4 = TSymbolUniqueId(2376);
+ static constexpr const TSymbolUniqueId tanh_Float1 = TSymbolUniqueId(2377);
+ static constexpr const TSymbolUniqueId tanh_Float2 = TSymbolUniqueId(2378);
+ static constexpr const TSymbolUniqueId tanh_Float3 = TSymbolUniqueId(2379);
+ static constexpr const TSymbolUniqueId tanh_Float4 = TSymbolUniqueId(2380);
+ static constexpr const TSymbolUniqueId asinh_Float1 = TSymbolUniqueId(2381);
+ static constexpr const TSymbolUniqueId asinh_Float2 = TSymbolUniqueId(2382);
+ static constexpr const TSymbolUniqueId asinh_Float3 = TSymbolUniqueId(2383);
+ static constexpr const TSymbolUniqueId asinh_Float4 = TSymbolUniqueId(2384);
+ static constexpr const TSymbolUniqueId acosh_Float1 = TSymbolUniqueId(2385);
+ static constexpr const TSymbolUniqueId acosh_Float2 = TSymbolUniqueId(2386);
+ static constexpr const TSymbolUniqueId acosh_Float3 = TSymbolUniqueId(2387);
+ static constexpr const TSymbolUniqueId acosh_Float4 = TSymbolUniqueId(2388);
+ static constexpr const TSymbolUniqueId atanh_Float1 = TSymbolUniqueId(2389);
+ static constexpr const TSymbolUniqueId atanh_Float2 = TSymbolUniqueId(2390);
+ static constexpr const TSymbolUniqueId atanh_Float3 = TSymbolUniqueId(2391);
+ static constexpr const TSymbolUniqueId atanh_Float4 = TSymbolUniqueId(2392);
+ static constexpr const TSymbolUniqueId pow_Float1_Float1 = TSymbolUniqueId(2393);
+ static constexpr const TSymbolUniqueId pow_Float2_Float2 = TSymbolUniqueId(2394);
+ static constexpr const TSymbolUniqueId pow_Float3_Float3 = TSymbolUniqueId(2395);
+ static constexpr const TSymbolUniqueId pow_Float4_Float4 = TSymbolUniqueId(2396);
+ static constexpr const TSymbolUniqueId exp_Float1 = TSymbolUniqueId(2397);
+ static constexpr const TSymbolUniqueId exp_Float2 = TSymbolUniqueId(2398);
+ static constexpr const TSymbolUniqueId exp_Float3 = TSymbolUniqueId(2399);
+ static constexpr const TSymbolUniqueId exp_Float4 = TSymbolUniqueId(2400);
+ static constexpr const TSymbolUniqueId log_Float1 = TSymbolUniqueId(2401);
+ static constexpr const TSymbolUniqueId log_Float2 = TSymbolUniqueId(2402);
+ static constexpr const TSymbolUniqueId log_Float3 = TSymbolUniqueId(2403);
+ static constexpr const TSymbolUniqueId log_Float4 = TSymbolUniqueId(2404);
+ static constexpr const TSymbolUniqueId exp2_Float1 = TSymbolUniqueId(2405);
+ static constexpr const TSymbolUniqueId exp2_Float2 = TSymbolUniqueId(2406);
+ static constexpr const TSymbolUniqueId exp2_Float3 = TSymbolUniqueId(2407);
+ static constexpr const TSymbolUniqueId exp2_Float4 = TSymbolUniqueId(2408);
+ static constexpr const TSymbolUniqueId log2_Float1 = TSymbolUniqueId(2409);
+ static constexpr const TSymbolUniqueId log2_Float2 = TSymbolUniqueId(2410);
+ static constexpr const TSymbolUniqueId log2_Float3 = TSymbolUniqueId(2411);
+ static constexpr const TSymbolUniqueId log2_Float4 = TSymbolUniqueId(2412);
+ static constexpr const TSymbolUniqueId sqrt_Float1 = TSymbolUniqueId(2413);
+ static constexpr const TSymbolUniqueId sqrt_Float2 = TSymbolUniqueId(2414);
+ static constexpr const TSymbolUniqueId sqrt_Float3 = TSymbolUniqueId(2415);
+ static constexpr const TSymbolUniqueId sqrt_Float4 = TSymbolUniqueId(2416);
+ static constexpr const TSymbolUniqueId inversesqrt_Float1 = TSymbolUniqueId(2417);
+ static constexpr const TSymbolUniqueId inversesqrt_Float2 = TSymbolUniqueId(2418);
+ static constexpr const TSymbolUniqueId inversesqrt_Float3 = TSymbolUniqueId(2419);
+ static constexpr const TSymbolUniqueId inversesqrt_Float4 = TSymbolUniqueId(2420);
+ static constexpr const TSymbolUniqueId abs_Float1 = TSymbolUniqueId(2421);
+ static constexpr const TSymbolUniqueId abs_Float2 = TSymbolUniqueId(2422);
+ static constexpr const TSymbolUniqueId abs_Float3 = TSymbolUniqueId(2423);
+ static constexpr const TSymbolUniqueId abs_Float4 = TSymbolUniqueId(2424);
+ static constexpr const TSymbolUniqueId abs_Int1 = TSymbolUniqueId(2425);
+ static constexpr const TSymbolUniqueId pt00D = TSymbolUniqueId(2426);
+ static constexpr const TSymbolUniqueId abs_Int2 = TSymbolUniqueId(2427);
+ static constexpr const TSymbolUniqueId pt10D = TSymbolUniqueId(2428);
+ static constexpr const TSymbolUniqueId abs_Int3 = TSymbolUniqueId(2429);
+ static constexpr const TSymbolUniqueId pt20D = TSymbolUniqueId(2430);
+ static constexpr const TSymbolUniqueId abs_Int4 = TSymbolUniqueId(2431);
+ static constexpr const TSymbolUniqueId pt30D = TSymbolUniqueId(2432);
+ static constexpr const TSymbolUniqueId sign_Float1 = TSymbolUniqueId(2433);
+ static constexpr const TSymbolUniqueId sign_Float2 = TSymbolUniqueId(2434);
+ static constexpr const TSymbolUniqueId sign_Float3 = TSymbolUniqueId(2435);
+ static constexpr const TSymbolUniqueId sign_Float4 = TSymbolUniqueId(2436);
+ static constexpr const TSymbolUniqueId sign_Int1 = TSymbolUniqueId(2437);
+ static constexpr const TSymbolUniqueId sign_Int2 = TSymbolUniqueId(2438);
+ static constexpr const TSymbolUniqueId sign_Int3 = TSymbolUniqueId(2439);
+ static constexpr const TSymbolUniqueId sign_Int4 = TSymbolUniqueId(2440);
+ static constexpr const TSymbolUniqueId floor_Float1 = TSymbolUniqueId(2441);
+ static constexpr const TSymbolUniqueId floor_Float2 = TSymbolUniqueId(2442);
+ static constexpr const TSymbolUniqueId floor_Float3 = TSymbolUniqueId(2443);
+ static constexpr const TSymbolUniqueId floor_Float4 = TSymbolUniqueId(2444);
+ static constexpr const TSymbolUniqueId trunc_Float1 = TSymbolUniqueId(2445);
+ static constexpr const TSymbolUniqueId trunc_Float2 = TSymbolUniqueId(2446);
+ static constexpr const TSymbolUniqueId trunc_Float3 = TSymbolUniqueId(2447);
+ static constexpr const TSymbolUniqueId trunc_Float4 = TSymbolUniqueId(2448);
+ static constexpr const TSymbolUniqueId round_Float1 = TSymbolUniqueId(2449);
+ static constexpr const TSymbolUniqueId round_Float2 = TSymbolUniqueId(2450);
+ static constexpr const TSymbolUniqueId round_Float3 = TSymbolUniqueId(2451);
+ static constexpr const TSymbolUniqueId round_Float4 = TSymbolUniqueId(2452);
+ static constexpr const TSymbolUniqueId roundEven_Float1 = TSymbolUniqueId(2453);
+ static constexpr const TSymbolUniqueId roundEven_Float2 = TSymbolUniqueId(2454);
+ static constexpr const TSymbolUniqueId roundEven_Float3 = TSymbolUniqueId(2455);
+ static constexpr const TSymbolUniqueId roundEven_Float4 = TSymbolUniqueId(2456);
+ static constexpr const TSymbolUniqueId ceil_Float1 = TSymbolUniqueId(2457);
+ static constexpr const TSymbolUniqueId ceil_Float2 = TSymbolUniqueId(2458);
+ static constexpr const TSymbolUniqueId ceil_Float3 = TSymbolUniqueId(2459);
+ static constexpr const TSymbolUniqueId ceil_Float4 = TSymbolUniqueId(2460);
+ static constexpr const TSymbolUniqueId fract_Float1 = TSymbolUniqueId(2461);
+ static constexpr const TSymbolUniqueId fract_Float2 = TSymbolUniqueId(2462);
+ static constexpr const TSymbolUniqueId fract_Float3 = TSymbolUniqueId(2463);
+ static constexpr const TSymbolUniqueId fract_Float4 = TSymbolUniqueId(2464);
+ static constexpr const TSymbolUniqueId mod_Float1_Float1 = TSymbolUniqueId(2465);
+ static constexpr const TSymbolUniqueId mod_Float2_Float1 = TSymbolUniqueId(2466);
+ static constexpr const TSymbolUniqueId mod_Float3_Float1 = TSymbolUniqueId(2467);
+ static constexpr const TSymbolUniqueId mod_Float4_Float1 = TSymbolUniqueId(2468);
+ static constexpr const TSymbolUniqueId mod_Float2_Float2 = TSymbolUniqueId(2469);
+ static constexpr const TSymbolUniqueId mod_Float3_Float3 = TSymbolUniqueId(2470);
+ static constexpr const TSymbolUniqueId mod_Float4_Float4 = TSymbolUniqueId(2471);
+ static constexpr const TSymbolUniqueId min_Float1_Float1 = TSymbolUniqueId(2472);
+ static constexpr const TSymbolUniqueId min_Float2_Float1 = TSymbolUniqueId(2473);
+ static constexpr const TSymbolUniqueId min_Float3_Float1 = TSymbolUniqueId(2474);
+ static constexpr const TSymbolUniqueId min_Float4_Float1 = TSymbolUniqueId(2475);
+ static constexpr const TSymbolUniqueId min_Float2_Float2 = TSymbolUniqueId(2476);
+ static constexpr const TSymbolUniqueId min_Float3_Float3 = TSymbolUniqueId(2477);
+ static constexpr const TSymbolUniqueId min_Float4_Float4 = TSymbolUniqueId(2478);
+ static constexpr const TSymbolUniqueId min_Int1_Int1 = TSymbolUniqueId(2479);
+ static constexpr const TSymbolUniqueId min_Int2_Int2 = TSymbolUniqueId(2480);
+ static constexpr const TSymbolUniqueId min_Int3_Int3 = TSymbolUniqueId(2481);
+ static constexpr const TSymbolUniqueId min_Int4_Int4 = TSymbolUniqueId(2482);
+ static constexpr const TSymbolUniqueId min_Int2_Int1 = TSymbolUniqueId(2483);
+ static constexpr const TSymbolUniqueId min_Int3_Int1 = TSymbolUniqueId(2484);
+ static constexpr const TSymbolUniqueId min_Int4_Int1 = TSymbolUniqueId(2485);
+ static constexpr const TSymbolUniqueId min_UInt1_UInt1 = TSymbolUniqueId(2486);
+ static constexpr const TSymbolUniqueId pt00E = TSymbolUniqueId(2487);
+ static constexpr const TSymbolUniqueId min_UInt2_UInt2 = TSymbolUniqueId(2488);
+ static constexpr const TSymbolUniqueId pt10E = TSymbolUniqueId(2489);
+ static constexpr const TSymbolUniqueId min_UInt3_UInt3 = TSymbolUniqueId(2490);
+ static constexpr const TSymbolUniqueId pt20E = TSymbolUniqueId(2491);
+ static constexpr const TSymbolUniqueId min_UInt4_UInt4 = TSymbolUniqueId(2492);
+ static constexpr const TSymbolUniqueId pt30E = TSymbolUniqueId(2493);
+ static constexpr const TSymbolUniqueId min_UInt2_UInt1 = TSymbolUniqueId(2494);
+ static constexpr const TSymbolUniqueId min_UInt3_UInt1 = TSymbolUniqueId(2495);
+ static constexpr const TSymbolUniqueId min_UInt4_UInt1 = TSymbolUniqueId(2496);
+ static constexpr const TSymbolUniqueId max_Float1_Float1 = TSymbolUniqueId(2497);
+ static constexpr const TSymbolUniqueId max_Float2_Float1 = TSymbolUniqueId(2498);
+ static constexpr const TSymbolUniqueId max_Float3_Float1 = TSymbolUniqueId(2499);
+ static constexpr const TSymbolUniqueId max_Float4_Float1 = TSymbolUniqueId(2500);
+ static constexpr const TSymbolUniqueId max_Float2_Float2 = TSymbolUniqueId(2501);
+ static constexpr const TSymbolUniqueId max_Float3_Float3 = TSymbolUniqueId(2502);
+ static constexpr const TSymbolUniqueId max_Float4_Float4 = TSymbolUniqueId(2503);
+ static constexpr const TSymbolUniqueId max_Int1_Int1 = TSymbolUniqueId(2504);
+ static constexpr const TSymbolUniqueId max_Int2_Int2 = TSymbolUniqueId(2505);
+ static constexpr const TSymbolUniqueId max_Int3_Int3 = TSymbolUniqueId(2506);
+ static constexpr const TSymbolUniqueId max_Int4_Int4 = TSymbolUniqueId(2507);
+ static constexpr const TSymbolUniqueId max_Int2_Int1 = TSymbolUniqueId(2508);
+ static constexpr const TSymbolUniqueId max_Int3_Int1 = TSymbolUniqueId(2509);
+ static constexpr const TSymbolUniqueId max_Int4_Int1 = TSymbolUniqueId(2510);
+ static constexpr const TSymbolUniqueId max_UInt1_UInt1 = TSymbolUniqueId(2511);
+ static constexpr const TSymbolUniqueId max_UInt2_UInt2 = TSymbolUniqueId(2512);
+ static constexpr const TSymbolUniqueId max_UInt3_UInt3 = TSymbolUniqueId(2513);
+ static constexpr const TSymbolUniqueId max_UInt4_UInt4 = TSymbolUniqueId(2514);
+ static constexpr const TSymbolUniqueId max_UInt2_UInt1 = TSymbolUniqueId(2515);
+ static constexpr const TSymbolUniqueId max_UInt3_UInt1 = TSymbolUniqueId(2516);
+ static constexpr const TSymbolUniqueId max_UInt4_UInt1 = TSymbolUniqueId(2517);
+ static constexpr const TSymbolUniqueId clamp_Float1_Float1_Float1 = TSymbolUniqueId(2518);
+ static constexpr const TSymbolUniqueId clamp_Float2_Float1_Float1 = TSymbolUniqueId(2519);
+ static constexpr const TSymbolUniqueId clamp_Float3_Float1_Float1 = TSymbolUniqueId(2520);
+ static constexpr const TSymbolUniqueId clamp_Float4_Float1_Float1 = TSymbolUniqueId(2521);
+ static constexpr const TSymbolUniqueId clamp_Float2_Float2_Float2 = TSymbolUniqueId(2522);
+ static constexpr const TSymbolUniqueId clamp_Float3_Float3_Float3 = TSymbolUniqueId(2523);
+ static constexpr const TSymbolUniqueId clamp_Float4_Float4_Float4 = TSymbolUniqueId(2524);
+ static constexpr const TSymbolUniqueId clamp_Int1_Int1_Int1 = TSymbolUniqueId(2525);
+ static constexpr const TSymbolUniqueId clamp_Int2_Int1_Int1 = TSymbolUniqueId(2526);
+ static constexpr const TSymbolUniqueId clamp_Int3_Int1_Int1 = TSymbolUniqueId(2527);
+ static constexpr const TSymbolUniqueId clamp_Int4_Int1_Int1 = TSymbolUniqueId(2528);
+ static constexpr const TSymbolUniqueId clamp_Int2_Int2_Int2 = TSymbolUniqueId(2529);
+ static constexpr const TSymbolUniqueId clamp_Int3_Int3_Int3 = TSymbolUniqueId(2530);
+ static constexpr const TSymbolUniqueId clamp_Int4_Int4_Int4 = TSymbolUniqueId(2531);
+ static constexpr const TSymbolUniqueId clamp_UInt1_UInt1_UInt1 = TSymbolUniqueId(2532);
+ static constexpr const TSymbolUniqueId clamp_UInt2_UInt1_UInt1 = TSymbolUniqueId(2533);
+ static constexpr const TSymbolUniqueId clamp_UInt3_UInt1_UInt1 = TSymbolUniqueId(2534);
+ static constexpr const TSymbolUniqueId clamp_UInt4_UInt1_UInt1 = TSymbolUniqueId(2535);
+ static constexpr const TSymbolUniqueId clamp_UInt2_UInt2_UInt2 = TSymbolUniqueId(2536);
+ static constexpr const TSymbolUniqueId clamp_UInt3_UInt3_UInt3 = TSymbolUniqueId(2537);
+ static constexpr const TSymbolUniqueId clamp_UInt4_UInt4_UInt4 = TSymbolUniqueId(2538);
+ static constexpr const TSymbolUniqueId mix_Float1_Float1_Float1 = TSymbolUniqueId(2539);
+ static constexpr const TSymbolUniqueId mix_Float2_Float2_Float1 = TSymbolUniqueId(2540);
+ static constexpr const TSymbolUniqueId mix_Float3_Float3_Float1 = TSymbolUniqueId(2541);
+ static constexpr const TSymbolUniqueId mix_Float4_Float4_Float1 = TSymbolUniqueId(2542);
+ static constexpr const TSymbolUniqueId mix_Float2_Float2_Float2 = TSymbolUniqueId(2543);
+ static constexpr const TSymbolUniqueId mix_Float3_Float3_Float3 = TSymbolUniqueId(2544);
+ static constexpr const TSymbolUniqueId mix_Float4_Float4_Float4 = TSymbolUniqueId(2545);
+ static constexpr const TSymbolUniqueId mix_Float1_Float1_Bool1 = TSymbolUniqueId(2546);
+ static constexpr const TSymbolUniqueId pt00F = TSymbolUniqueId(2547);
+ static constexpr const TSymbolUniqueId mix_Float2_Float2_Bool2 = TSymbolUniqueId(2548);
+ static constexpr const TSymbolUniqueId pt10F = TSymbolUniqueId(2549);
+ static constexpr const TSymbolUniqueId mix_Float3_Float3_Bool3 = TSymbolUniqueId(2550);
+ static constexpr const TSymbolUniqueId pt20F = TSymbolUniqueId(2551);
+ static constexpr const TSymbolUniqueId mix_Float4_Float4_Bool4 = TSymbolUniqueId(2552);
+ static constexpr const TSymbolUniqueId pt30F = TSymbolUniqueId(2553);
+ static constexpr const TSymbolUniqueId mix_Int1_Int1_Bool1 = TSymbolUniqueId(2554);
+ static constexpr const TSymbolUniqueId mix_Int2_Int2_Bool2 = TSymbolUniqueId(2555);
+ static constexpr const TSymbolUniqueId mix_Int3_Int3_Bool3 = TSymbolUniqueId(2556);
+ static constexpr const TSymbolUniqueId mix_Int4_Int4_Bool4 = TSymbolUniqueId(2557);
+ static constexpr const TSymbolUniqueId mix_UInt1_UInt1_Bool1 = TSymbolUniqueId(2558);
+ static constexpr const TSymbolUniqueId mix_UInt2_UInt2_Bool2 = TSymbolUniqueId(2559);
+ static constexpr const TSymbolUniqueId mix_UInt3_UInt3_Bool3 = TSymbolUniqueId(2560);
+ static constexpr const TSymbolUniqueId mix_UInt4_UInt4_Bool4 = TSymbolUniqueId(2561);
+ static constexpr const TSymbolUniqueId mix_Bool1_Bool1_Bool1 = TSymbolUniqueId(2562);
+ static constexpr const TSymbolUniqueId mix_Bool2_Bool2_Bool2 = TSymbolUniqueId(2563);
+ static constexpr const TSymbolUniqueId mix_Bool3_Bool3_Bool3 = TSymbolUniqueId(2564);
+ static constexpr const TSymbolUniqueId mix_Bool4_Bool4_Bool4 = TSymbolUniqueId(2565);
+ static constexpr const TSymbolUniqueId step_Float1_Float1 = TSymbolUniqueId(2566);
+ static constexpr const TSymbolUniqueId step_Float2_Float2 = TSymbolUniqueId(2567);
+ static constexpr const TSymbolUniqueId step_Float3_Float3 = TSymbolUniqueId(2568);
+ static constexpr const TSymbolUniqueId step_Float4_Float4 = TSymbolUniqueId(2569);
+ static constexpr const TSymbolUniqueId step_Float1_Float2 = TSymbolUniqueId(2570);
+ static constexpr const TSymbolUniqueId step_Float1_Float3 = TSymbolUniqueId(2571);
+ static constexpr const TSymbolUniqueId step_Float1_Float4 = TSymbolUniqueId(2572);
+ static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float1 = TSymbolUniqueId(2573);
+ static constexpr const TSymbolUniqueId smoothstep_Float2_Float2_Float2 = TSymbolUniqueId(2574);
+ static constexpr const TSymbolUniqueId smoothstep_Float3_Float3_Float3 = TSymbolUniqueId(2575);
+ static constexpr const TSymbolUniqueId smoothstep_Float4_Float4_Float4 = TSymbolUniqueId(2576);
+ static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float2 = TSymbolUniqueId(2577);
+ static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float3 = TSymbolUniqueId(2578);
+ static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float4 = TSymbolUniqueId(2579);
+ static constexpr const TSymbolUniqueId modf_Float1_Float1 = TSymbolUniqueId(2580);
+ static constexpr const TSymbolUniqueId pt_o_00B = TSymbolUniqueId(2581);
+ static constexpr const TSymbolUniqueId modf_Float2_Float2 = TSymbolUniqueId(2582);
+ static constexpr const TSymbolUniqueId pt_o_10B = TSymbolUniqueId(2583);
+ static constexpr const TSymbolUniqueId modf_Float3_Float3 = TSymbolUniqueId(2584);
+ static constexpr const TSymbolUniqueId pt_o_20B = TSymbolUniqueId(2585);
+ static constexpr const TSymbolUniqueId modf_Float4_Float4 = TSymbolUniqueId(2586);
+ static constexpr const TSymbolUniqueId pt_o_30B = TSymbolUniqueId(2587);
+ static constexpr const TSymbolUniqueId isnan_Float1 = TSymbolUniqueId(2588);
+ static constexpr const TSymbolUniqueId isnan_Float2 = TSymbolUniqueId(2589);
+ static constexpr const TSymbolUniqueId isnan_Float3 = TSymbolUniqueId(2590);
+ static constexpr const TSymbolUniqueId isnan_Float4 = TSymbolUniqueId(2591);
+ static constexpr const TSymbolUniqueId isinf_Float1 = TSymbolUniqueId(2592);
+ static constexpr const TSymbolUniqueId isinf_Float2 = TSymbolUniqueId(2593);
+ static constexpr const TSymbolUniqueId isinf_Float3 = TSymbolUniqueId(2594);
+ static constexpr const TSymbolUniqueId isinf_Float4 = TSymbolUniqueId(2595);
+ static constexpr const TSymbolUniqueId floatBitsToInt_Float1 = TSymbolUniqueId(2596);
+ static constexpr const TSymbolUniqueId floatBitsToInt_Float2 = TSymbolUniqueId(2597);
+ static constexpr const TSymbolUniqueId floatBitsToInt_Float3 = TSymbolUniqueId(2598);
+ static constexpr const TSymbolUniqueId floatBitsToInt_Float4 = TSymbolUniqueId(2599);
+ static constexpr const TSymbolUniqueId floatBitsToUint_Float1 = TSymbolUniqueId(2600);
+ static constexpr const TSymbolUniqueId floatBitsToUint_Float2 = TSymbolUniqueId(2601);
+ static constexpr const TSymbolUniqueId floatBitsToUint_Float3 = TSymbolUniqueId(2602);
+ static constexpr const TSymbolUniqueId floatBitsToUint_Float4 = TSymbolUniqueId(2603);
+ static constexpr const TSymbolUniqueId intBitsToFloat_Int1 = TSymbolUniqueId(2604);
+ static constexpr const TSymbolUniqueId intBitsToFloat_Int2 = TSymbolUniqueId(2605);
+ static constexpr const TSymbolUniqueId intBitsToFloat_Int3 = TSymbolUniqueId(2606);
+ static constexpr const TSymbolUniqueId intBitsToFloat_Int4 = TSymbolUniqueId(2607);
+ static constexpr const TSymbolUniqueId uintBitsToFloat_UInt1 = TSymbolUniqueId(2608);
+ static constexpr const TSymbolUniqueId uintBitsToFloat_UInt2 = TSymbolUniqueId(2609);
+ static constexpr const TSymbolUniqueId uintBitsToFloat_UInt3 = TSymbolUniqueId(2610);
+ static constexpr const TSymbolUniqueId uintBitsToFloat_UInt4 = TSymbolUniqueId(2611);
+ static constexpr const TSymbolUniqueId fma_Float1_Float1_Float1 = TSymbolUniqueId(2612);
+ static constexpr const TSymbolUniqueId fma_Float2_Float2_Float2 = TSymbolUniqueId(2613);
+ static constexpr const TSymbolUniqueId fma_Float3_Float3_Float3 = TSymbolUniqueId(2614);
+ static constexpr const TSymbolUniqueId fma_Float4_Float4_Float4 = TSymbolUniqueId(2615);
+ static constexpr const TSymbolUniqueId fmaExt_Float1_Float1_Float1 = TSymbolUniqueId(2616);
+ static constexpr const TSymbolUniqueId fmaExt_Float2_Float2_Float2 = TSymbolUniqueId(2617);
+ static constexpr const TSymbolUniqueId fmaExt_Float3_Float3_Float3 = TSymbolUniqueId(2618);
+ static constexpr const TSymbolUniqueId fmaExt_Float4_Float4_Float4 = TSymbolUniqueId(2619);
+ static constexpr const TSymbolUniqueId frexp_Float1_Int1 = TSymbolUniqueId(2620);
+ static constexpr const TSymbolUniqueId pt_o_00D = TSymbolUniqueId(2621);
+ static constexpr const TSymbolUniqueId frexp_Float2_Int2 = TSymbolUniqueId(2622);
+ static constexpr const TSymbolUniqueId pt_o_10D = TSymbolUniqueId(2623);
+ static constexpr const TSymbolUniqueId frexp_Float3_Int3 = TSymbolUniqueId(2624);
+ static constexpr const TSymbolUniqueId pt_o_20D = TSymbolUniqueId(2625);
+ static constexpr const TSymbolUniqueId frexp_Float4_Int4 = TSymbolUniqueId(2626);
+ static constexpr const TSymbolUniqueId pt_o_30D = TSymbolUniqueId(2627);
+ static constexpr const TSymbolUniqueId ldexp_Float1_Int1 = TSymbolUniqueId(2628);
+ static constexpr const TSymbolUniqueId ldexp_Float2_Int2 = TSymbolUniqueId(2629);
+ static constexpr const TSymbolUniqueId ldexp_Float3_Int3 = TSymbolUniqueId(2630);
+ static constexpr const TSymbolUniqueId ldexp_Float4_Int4 = TSymbolUniqueId(2631);
+ static constexpr const TSymbolUniqueId packSnorm2x16_Float2 = TSymbolUniqueId(2632);
+ static constexpr const TSymbolUniqueId packHalf2x16_Float2 = TSymbolUniqueId(2633);
+ static constexpr const TSymbolUniqueId unpackSnorm2x16_UInt1 = TSymbolUniqueId(2634);
+ static constexpr const TSymbolUniqueId unpackHalf2x16_UInt1 = TSymbolUniqueId(2635);
+ static constexpr const TSymbolUniqueId packUnorm2x16_Float2 = TSymbolUniqueId(2636);
+ static constexpr const TSymbolUniqueId unpackUnorm2x16_UInt1 = TSymbolUniqueId(2637);
+ static constexpr const TSymbolUniqueId packUnorm4x8_Float4 = TSymbolUniqueId(2638);
+ static constexpr const TSymbolUniqueId packSnorm4x8_Float4 = TSymbolUniqueId(2639);
+ static constexpr const TSymbolUniqueId unpackUnorm4x8_UInt1 = TSymbolUniqueId(2640);
+ static constexpr const TSymbolUniqueId unpackSnorm4x8_UInt1 = TSymbolUniqueId(2641);
+ static constexpr const TSymbolUniqueId length_Float1 = TSymbolUniqueId(2642);
+ static constexpr const TSymbolUniqueId length_Float2 = TSymbolUniqueId(2643);
+ static constexpr const TSymbolUniqueId length_Float3 = TSymbolUniqueId(2644);
+ static constexpr const TSymbolUniqueId length_Float4 = TSymbolUniqueId(2645);
+ static constexpr const TSymbolUniqueId distance_Float1_Float1 = TSymbolUniqueId(2646);
+ static constexpr const TSymbolUniqueId distance_Float2_Float2 = TSymbolUniqueId(2647);
+ static constexpr const TSymbolUniqueId distance_Float3_Float3 = TSymbolUniqueId(2648);
+ static constexpr const TSymbolUniqueId distance_Float4_Float4 = TSymbolUniqueId(2649);
+ static constexpr const TSymbolUniqueId dot_Float1_Float1 = TSymbolUniqueId(2650);
+ static constexpr const TSymbolUniqueId dot_Float2_Float2 = TSymbolUniqueId(2651);
+ static constexpr const TSymbolUniqueId dot_Float3_Float3 = TSymbolUniqueId(2652);
+ static constexpr const TSymbolUniqueId dot_Float4_Float4 = TSymbolUniqueId(2653);
+ static constexpr const TSymbolUniqueId cross_Float3_Float3 = TSymbolUniqueId(2654);
+ static constexpr const TSymbolUniqueId normalize_Float1 = TSymbolUniqueId(2655);
+ static constexpr const TSymbolUniqueId normalize_Float2 = TSymbolUniqueId(2656);
+ static constexpr const TSymbolUniqueId normalize_Float3 = TSymbolUniqueId(2657);
+ static constexpr const TSymbolUniqueId normalize_Float4 = TSymbolUniqueId(2658);
+ static constexpr const TSymbolUniqueId faceforward_Float1_Float1_Float1 = TSymbolUniqueId(2659);
+ static constexpr const TSymbolUniqueId faceforward_Float2_Float2_Float2 = TSymbolUniqueId(2660);
+ static constexpr const TSymbolUniqueId faceforward_Float3_Float3_Float3 = TSymbolUniqueId(2661);
+ static constexpr const TSymbolUniqueId faceforward_Float4_Float4_Float4 = TSymbolUniqueId(2662);
+ static constexpr const TSymbolUniqueId reflect_Float1_Float1 = TSymbolUniqueId(2663);
+ static constexpr const TSymbolUniqueId reflect_Float2_Float2 = TSymbolUniqueId(2664);
+ static constexpr const TSymbolUniqueId reflect_Float3_Float3 = TSymbolUniqueId(2665);
+ static constexpr const TSymbolUniqueId reflect_Float4_Float4 = TSymbolUniqueId(2666);
+ static constexpr const TSymbolUniqueId refract_Float1_Float1_Float1 = TSymbolUniqueId(2667);
+ static constexpr const TSymbolUniqueId refract_Float2_Float2_Float1 = TSymbolUniqueId(2668);
+ static constexpr const TSymbolUniqueId refract_Float3_Float3_Float1 = TSymbolUniqueId(2669);
+ static constexpr const TSymbolUniqueId refract_Float4_Float4_Float1 = TSymbolUniqueId(2670);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float2x2_Float2x2 = TSymbolUniqueId(2671);
+ static constexpr const TSymbolUniqueId pt50B = TSymbolUniqueId(2672);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float3x3_Float3x3 = TSymbolUniqueId(2673);
+ static constexpr const TSymbolUniqueId ptA0B = TSymbolUniqueId(2674);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float4x4_Float4x4 = TSymbolUniqueId(2675);
+ static constexpr const TSymbolUniqueId ptF0B = TSymbolUniqueId(2676);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float2x3_Float2x3 = TSymbolUniqueId(2677);
+ static constexpr const TSymbolUniqueId pt90B = TSymbolUniqueId(2678);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float3x2_Float3x2 = TSymbolUniqueId(2679);
+ static constexpr const TSymbolUniqueId pt60B = TSymbolUniqueId(2680);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float2x4_Float2x4 = TSymbolUniqueId(2681);
+ static constexpr const TSymbolUniqueId ptD0B = TSymbolUniqueId(2682);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float4x2_Float4x2 = TSymbolUniqueId(2683);
+ static constexpr const TSymbolUniqueId pt70B = TSymbolUniqueId(2684);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float3x4_Float3x4 = TSymbolUniqueId(2685);
+ static constexpr const TSymbolUniqueId ptE0B = TSymbolUniqueId(2686);
+ static constexpr const TSymbolUniqueId matrixCompMult_Float4x3_Float4x3 = TSymbolUniqueId(2687);
+ static constexpr const TSymbolUniqueId ptB0B = TSymbolUniqueId(2688);
+ static constexpr const TSymbolUniqueId outerProduct_Float2_Float2 = TSymbolUniqueId(2689);
+ static constexpr const TSymbolUniqueId outerProduct_Float3_Float3 = TSymbolUniqueId(2690);
+ static constexpr const TSymbolUniqueId outerProduct_Float4_Float4 = TSymbolUniqueId(2691);
+ static constexpr const TSymbolUniqueId outerProduct_Float3_Float2 = TSymbolUniqueId(2692);
+ static constexpr const TSymbolUniqueId outerProduct_Float2_Float3 = TSymbolUniqueId(2693);
+ static constexpr const TSymbolUniqueId outerProduct_Float4_Float2 = TSymbolUniqueId(2694);
+ static constexpr const TSymbolUniqueId outerProduct_Float2_Float4 = TSymbolUniqueId(2695);
+ static constexpr const TSymbolUniqueId outerProduct_Float4_Float3 = TSymbolUniqueId(2696);
+ static constexpr const TSymbolUniqueId outerProduct_Float3_Float4 = TSymbolUniqueId(2697);
+ static constexpr const TSymbolUniqueId transpose_Float2x2 = TSymbolUniqueId(2698);
+ static constexpr const TSymbolUniqueId transpose_Float3x3 = TSymbolUniqueId(2699);
+ static constexpr const TSymbolUniqueId transpose_Float4x4 = TSymbolUniqueId(2700);
+ static constexpr const TSymbolUniqueId transpose_Float3x2 = TSymbolUniqueId(2701);
+ static constexpr const TSymbolUniqueId transpose_Float2x3 = TSymbolUniqueId(2702);
+ static constexpr const TSymbolUniqueId transpose_Float4x2 = TSymbolUniqueId(2703);
+ static constexpr const TSymbolUniqueId transpose_Float2x4 = TSymbolUniqueId(2704);
+ static constexpr const TSymbolUniqueId transpose_Float4x3 = TSymbolUniqueId(2705);
+ static constexpr const TSymbolUniqueId transpose_Float3x4 = TSymbolUniqueId(2706);
+ static constexpr const TSymbolUniqueId determinant_Float2x2 = TSymbolUniqueId(2707);
+ static constexpr const TSymbolUniqueId determinant_Float3x3 = TSymbolUniqueId(2708);
+ static constexpr const TSymbolUniqueId determinant_Float4x4 = TSymbolUniqueId(2709);
+ static constexpr const TSymbolUniqueId inverse_Float2x2 = TSymbolUniqueId(2710);
+ static constexpr const TSymbolUniqueId inverse_Float3x3 = TSymbolUniqueId(2711);
+ static constexpr const TSymbolUniqueId inverse_Float4x4 = TSymbolUniqueId(2712);
+ static constexpr const TSymbolUniqueId lessThan_Float2_Float2 = TSymbolUniqueId(2713);
+ static constexpr const TSymbolUniqueId lessThan_Float3_Float3 = TSymbolUniqueId(2714);
+ static constexpr const TSymbolUniqueId lessThan_Float4_Float4 = TSymbolUniqueId(2715);
+ static constexpr const TSymbolUniqueId lessThan_Int2_Int2 = TSymbolUniqueId(2716);
+ static constexpr const TSymbolUniqueId lessThan_Int3_Int3 = TSymbolUniqueId(2717);
+ static constexpr const TSymbolUniqueId lessThan_Int4_Int4 = TSymbolUniqueId(2718);
+ static constexpr const TSymbolUniqueId lessThan_UInt2_UInt2 = TSymbolUniqueId(2719);
+ static constexpr const TSymbolUniqueId lessThan_UInt3_UInt3 = TSymbolUniqueId(2720);
+ static constexpr const TSymbolUniqueId lessThan_UInt4_UInt4 = TSymbolUniqueId(2721);
+ static constexpr const TSymbolUniqueId lessThanEqual_Float2_Float2 = TSymbolUniqueId(2722);
+ static constexpr const TSymbolUniqueId lessThanEqual_Float3_Float3 = TSymbolUniqueId(2723);
+ static constexpr const TSymbolUniqueId lessThanEqual_Float4_Float4 = TSymbolUniqueId(2724);
+ static constexpr const TSymbolUniqueId lessThanEqual_Int2_Int2 = TSymbolUniqueId(2725);
+ static constexpr const TSymbolUniqueId lessThanEqual_Int3_Int3 = TSymbolUniqueId(2726);
+ static constexpr const TSymbolUniqueId lessThanEqual_Int4_Int4 = TSymbolUniqueId(2727);
+ static constexpr const TSymbolUniqueId lessThanEqual_UInt2_UInt2 = TSymbolUniqueId(2728);
+ static constexpr const TSymbolUniqueId lessThanEqual_UInt3_UInt3 = TSymbolUniqueId(2729);
+ static constexpr const TSymbolUniqueId lessThanEqual_UInt4_UInt4 = TSymbolUniqueId(2730);
+ static constexpr const TSymbolUniqueId greaterThan_Float2_Float2 = TSymbolUniqueId(2731);
+ static constexpr const TSymbolUniqueId greaterThan_Float3_Float3 = TSymbolUniqueId(2732);
+ static constexpr const TSymbolUniqueId greaterThan_Float4_Float4 = TSymbolUniqueId(2733);
+ static constexpr const TSymbolUniqueId greaterThan_Int2_Int2 = TSymbolUniqueId(2734);
+ static constexpr const TSymbolUniqueId greaterThan_Int3_Int3 = TSymbolUniqueId(2735);
+ static constexpr const TSymbolUniqueId greaterThan_Int4_Int4 = TSymbolUniqueId(2736);
+ static constexpr const TSymbolUniqueId greaterThan_UInt2_UInt2 = TSymbolUniqueId(2737);
+ static constexpr const TSymbolUniqueId greaterThan_UInt3_UInt3 = TSymbolUniqueId(2738);
+ static constexpr const TSymbolUniqueId greaterThan_UInt4_UInt4 = TSymbolUniqueId(2739);
+ static constexpr const TSymbolUniqueId greaterThanEqual_Float2_Float2 = TSymbolUniqueId(2740);
+ static constexpr const TSymbolUniqueId greaterThanEqual_Float3_Float3 = TSymbolUniqueId(2741);
+ static constexpr const TSymbolUniqueId greaterThanEqual_Float4_Float4 = TSymbolUniqueId(2742);
+ static constexpr const TSymbolUniqueId greaterThanEqual_Int2_Int2 = TSymbolUniqueId(2743);
+ static constexpr const TSymbolUniqueId greaterThanEqual_Int3_Int3 = TSymbolUniqueId(2744);
+ static constexpr const TSymbolUniqueId greaterThanEqual_Int4_Int4 = TSymbolUniqueId(2745);
+ static constexpr const TSymbolUniqueId greaterThanEqual_UInt2_UInt2 = TSymbolUniqueId(2746);
+ static constexpr const TSymbolUniqueId greaterThanEqual_UInt3_UInt3 = TSymbolUniqueId(2747);
+ static constexpr const TSymbolUniqueId greaterThanEqual_UInt4_UInt4 = TSymbolUniqueId(2748);
+ static constexpr const TSymbolUniqueId equal_Float2_Float2 = TSymbolUniqueId(2749);
+ static constexpr const TSymbolUniqueId equal_Float3_Float3 = TSymbolUniqueId(2750);
+ static constexpr const TSymbolUniqueId equal_Float4_Float4 = TSymbolUniqueId(2751);
+ static constexpr const TSymbolUniqueId equal_Int2_Int2 = TSymbolUniqueId(2752);
+ static constexpr const TSymbolUniqueId equal_Int3_Int3 = TSymbolUniqueId(2753);
+ static constexpr const TSymbolUniqueId equal_Int4_Int4 = TSymbolUniqueId(2754);
+ static constexpr const TSymbolUniqueId equal_UInt2_UInt2 = TSymbolUniqueId(2755);
+ static constexpr const TSymbolUniqueId equal_UInt3_UInt3 = TSymbolUniqueId(2756);
+ static constexpr const TSymbolUniqueId equal_UInt4_UInt4 = TSymbolUniqueId(2757);
+ static constexpr const TSymbolUniqueId equal_Bool2_Bool2 = TSymbolUniqueId(2758);
+ static constexpr const TSymbolUniqueId equal_Bool3_Bool3 = TSymbolUniqueId(2759);
+ static constexpr const TSymbolUniqueId equal_Bool4_Bool4 = TSymbolUniqueId(2760);
+ static constexpr const TSymbolUniqueId notEqual_Float2_Float2 = TSymbolUniqueId(2761);
+ static constexpr const TSymbolUniqueId notEqual_Float3_Float3 = TSymbolUniqueId(2762);
+ static constexpr const TSymbolUniqueId notEqual_Float4_Float4 = TSymbolUniqueId(2763);
+ static constexpr const TSymbolUniqueId notEqual_Int2_Int2 = TSymbolUniqueId(2764);
+ static constexpr const TSymbolUniqueId notEqual_Int3_Int3 = TSymbolUniqueId(2765);
+ static constexpr const TSymbolUniqueId notEqual_Int4_Int4 = TSymbolUniqueId(2766);
+ static constexpr const TSymbolUniqueId notEqual_UInt2_UInt2 = TSymbolUniqueId(2767);
+ static constexpr const TSymbolUniqueId notEqual_UInt3_UInt3 = TSymbolUniqueId(2768);
+ static constexpr const TSymbolUniqueId notEqual_UInt4_UInt4 = TSymbolUniqueId(2769);
+ static constexpr const TSymbolUniqueId notEqual_Bool2_Bool2 = TSymbolUniqueId(2770);
+ static constexpr const TSymbolUniqueId notEqual_Bool3_Bool3 = TSymbolUniqueId(2771);
+ static constexpr const TSymbolUniqueId notEqual_Bool4_Bool4 = TSymbolUniqueId(2772);
+ static constexpr const TSymbolUniqueId any_Bool2 = TSymbolUniqueId(2773);
+ static constexpr const TSymbolUniqueId any_Bool3 = TSymbolUniqueId(2774);
+ static constexpr const TSymbolUniqueId any_Bool4 = TSymbolUniqueId(2775);
+ static constexpr const TSymbolUniqueId all_Bool2 = TSymbolUniqueId(2776);
+ static constexpr const TSymbolUniqueId all_Bool3 = TSymbolUniqueId(2777);
+ static constexpr const TSymbolUniqueId all_Bool4 = TSymbolUniqueId(2778);
+ static constexpr const TSymbolUniqueId notFunc_Bool2 = TSymbolUniqueId(2779);
+ static constexpr const TSymbolUniqueId notFunc_Bool3 = TSymbolUniqueId(2780);
+ static constexpr const TSymbolUniqueId notFunc_Bool4 = TSymbolUniqueId(2781);
+ static constexpr const TSymbolUniqueId bitfieldExtract_Int1_Int1_Int1 = TSymbolUniqueId(2782);
+ static constexpr const TSymbolUniqueId bitfieldExtract_Int2_Int1_Int1 = TSymbolUniqueId(2783);
+ static constexpr const TSymbolUniqueId bitfieldExtract_Int3_Int1_Int1 = TSymbolUniqueId(2784);
+ static constexpr const TSymbolUniqueId bitfieldExtract_Int4_Int1_Int1 = TSymbolUniqueId(2785);
+ static constexpr const TSymbolUniqueId bitfieldExtract_UInt1_Int1_Int1 = TSymbolUniqueId(2786);
+ static constexpr const TSymbolUniqueId bitfieldExtract_UInt2_Int1_Int1 = TSymbolUniqueId(2787);
+ static constexpr const TSymbolUniqueId bitfieldExtract_UInt3_Int1_Int1 = TSymbolUniqueId(2788);
+ static constexpr const TSymbolUniqueId bitfieldExtract_UInt4_Int1_Int1 = TSymbolUniqueId(2789);
static constexpr const TSymbolUniqueId bitfieldInsert_Int1_Int1_Int1_Int1 =
- TSymbolUniqueId(2784);
+ TSymbolUniqueId(2790);
static constexpr const TSymbolUniqueId bitfieldInsert_Int2_Int2_Int1_Int1 =
- TSymbolUniqueId(2785);
+ TSymbolUniqueId(2791);
static constexpr const TSymbolUniqueId bitfieldInsert_Int3_Int3_Int1_Int1 =
- TSymbolUniqueId(2786);
+ TSymbolUniqueId(2792);
static constexpr const TSymbolUniqueId bitfieldInsert_Int4_Int4_Int1_Int1 =
- TSymbolUniqueId(2787);
+ TSymbolUniqueId(2793);
static constexpr const TSymbolUniqueId bitfieldInsert_UInt1_UInt1_Int1_Int1 =
- TSymbolUniqueId(2788);
+ TSymbolUniqueId(2794);
static constexpr const TSymbolUniqueId bitfieldInsert_UInt2_UInt2_Int1_Int1 =
- TSymbolUniqueId(2789);
+ TSymbolUniqueId(2795);
static constexpr const TSymbolUniqueId bitfieldInsert_UInt3_UInt3_Int1_Int1 =
- TSymbolUniqueId(2790);
+ TSymbolUniqueId(2796);
static constexpr const TSymbolUniqueId bitfieldInsert_UInt4_UInt4_Int1_Int1 =
- TSymbolUniqueId(2791);
- static constexpr const TSymbolUniqueId bitfieldReverse_Int1 = TSymbolUniqueId(2792);
- static constexpr const TSymbolUniqueId bitfieldReverse_Int2 = TSymbolUniqueId(2793);
- static constexpr const TSymbolUniqueId bitfieldReverse_Int3 = TSymbolUniqueId(2794);
- static constexpr const TSymbolUniqueId bitfieldReverse_Int4 = TSymbolUniqueId(2795);
- static constexpr const TSymbolUniqueId bitfieldReverse_UInt1 = TSymbolUniqueId(2796);
- static constexpr const TSymbolUniqueId bitfieldReverse_UInt2 = TSymbolUniqueId(2797);
- static constexpr const TSymbolUniqueId bitfieldReverse_UInt3 = TSymbolUniqueId(2798);
- static constexpr const TSymbolUniqueId bitfieldReverse_UInt4 = TSymbolUniqueId(2799);
- static constexpr const TSymbolUniqueId bitCount_Int1 = TSymbolUniqueId(2800);
- static constexpr const TSymbolUniqueId bitCount_Int2 = TSymbolUniqueId(2801);
- static constexpr const TSymbolUniqueId bitCount_Int3 = TSymbolUniqueId(2802);
- static constexpr const TSymbolUniqueId bitCount_Int4 = TSymbolUniqueId(2803);
- static constexpr const TSymbolUniqueId bitCount_UInt1 = TSymbolUniqueId(2804);
- static constexpr const TSymbolUniqueId bitCount_UInt2 = TSymbolUniqueId(2805);
- static constexpr const TSymbolUniqueId bitCount_UInt3 = TSymbolUniqueId(2806);
- static constexpr const TSymbolUniqueId bitCount_UInt4 = TSymbolUniqueId(2807);
- static constexpr const TSymbolUniqueId findLSB_Int1 = TSymbolUniqueId(2808);
- static constexpr const TSymbolUniqueId findLSB_Int2 = TSymbolUniqueId(2809);
- static constexpr const TSymbolUniqueId findLSB_Int3 = TSymbolUniqueId(2810);
- static constexpr const TSymbolUniqueId findLSB_Int4 = TSymbolUniqueId(2811);
- static constexpr const TSymbolUniqueId findLSB_UInt1 = TSymbolUniqueId(2812);
- static constexpr const TSymbolUniqueId findLSB_UInt2 = TSymbolUniqueId(2813);
- static constexpr const TSymbolUniqueId findLSB_UInt3 = TSymbolUniqueId(2814);
- static constexpr const TSymbolUniqueId findLSB_UInt4 = TSymbolUniqueId(2815);
- static constexpr const TSymbolUniqueId findMSB_Int1 = TSymbolUniqueId(2816);
- static constexpr const TSymbolUniqueId findMSB_Int2 = TSymbolUniqueId(2817);
- static constexpr const TSymbolUniqueId findMSB_Int3 = TSymbolUniqueId(2818);
- static constexpr const TSymbolUniqueId findMSB_Int4 = TSymbolUniqueId(2819);
- static constexpr const TSymbolUniqueId findMSB_UInt1 = TSymbolUniqueId(2820);
- static constexpr const TSymbolUniqueId findMSB_UInt2 = TSymbolUniqueId(2821);
- static constexpr const TSymbolUniqueId findMSB_UInt3 = TSymbolUniqueId(2822);
- static constexpr const TSymbolUniqueId findMSB_UInt4 = TSymbolUniqueId(2823);
- static constexpr const TSymbolUniqueId uaddCarry_UInt1_UInt1_UInt1 = TSymbolUniqueId(2824);
- static constexpr const TSymbolUniqueId pt_o_00E = TSymbolUniqueId(2825);
- static constexpr const TSymbolUniqueId uaddCarry_UInt2_UInt2_UInt2 = TSymbolUniqueId(2826);
- static constexpr const TSymbolUniqueId pt_o_10E = TSymbolUniqueId(2827);
- static constexpr const TSymbolUniqueId uaddCarry_UInt3_UInt3_UInt3 = TSymbolUniqueId(2828);
- static constexpr const TSymbolUniqueId pt_o_20E = TSymbolUniqueId(2829);
- static constexpr const TSymbolUniqueId uaddCarry_UInt4_UInt4_UInt4 = TSymbolUniqueId(2830);
- static constexpr const TSymbolUniqueId pt_o_30E = TSymbolUniqueId(2831);
- static constexpr const TSymbolUniqueId usubBorrow_UInt1_UInt1_UInt1 = TSymbolUniqueId(2832);
- static constexpr const TSymbolUniqueId usubBorrow_UInt2_UInt2_UInt2 = TSymbolUniqueId(2833);
- static constexpr const TSymbolUniqueId usubBorrow_UInt3_UInt3_UInt3 = TSymbolUniqueId(2834);
- static constexpr const TSymbolUniqueId usubBorrow_UInt4_UInt4_UInt4 = TSymbolUniqueId(2835);
+ TSymbolUniqueId(2797);
+ static constexpr const TSymbolUniqueId bitfieldReverse_Int1 = TSymbolUniqueId(2798);
+ static constexpr const TSymbolUniqueId bitfieldReverse_Int2 = TSymbolUniqueId(2799);
+ static constexpr const TSymbolUniqueId bitfieldReverse_Int3 = TSymbolUniqueId(2800);
+ static constexpr const TSymbolUniqueId bitfieldReverse_Int4 = TSymbolUniqueId(2801);
+ static constexpr const TSymbolUniqueId bitfieldReverse_UInt1 = TSymbolUniqueId(2802);
+ static constexpr const TSymbolUniqueId bitfieldReverse_UInt2 = TSymbolUniqueId(2803);
+ static constexpr const TSymbolUniqueId bitfieldReverse_UInt3 = TSymbolUniqueId(2804);
+ static constexpr const TSymbolUniqueId bitfieldReverse_UInt4 = TSymbolUniqueId(2805);
+ static constexpr const TSymbolUniqueId bitCount_Int1 = TSymbolUniqueId(2806);
+ static constexpr const TSymbolUniqueId bitCount_Int2 = TSymbolUniqueId(2807);
+ static constexpr const TSymbolUniqueId bitCount_Int3 = TSymbolUniqueId(2808);
+ static constexpr const TSymbolUniqueId bitCount_Int4 = TSymbolUniqueId(2809);
+ static constexpr const TSymbolUniqueId bitCount_UInt1 = TSymbolUniqueId(2810);
+ static constexpr const TSymbolUniqueId bitCount_UInt2 = TSymbolUniqueId(2811);
+ static constexpr const TSymbolUniqueId bitCount_UInt3 = TSymbolUniqueId(2812);
+ static constexpr const TSymbolUniqueId bitCount_UInt4 = TSymbolUniqueId(2813);
+ static constexpr const TSymbolUniqueId findLSB_Int1 = TSymbolUniqueId(2814);
+ static constexpr const TSymbolUniqueId findLSB_Int2 = TSymbolUniqueId(2815);
+ static constexpr const TSymbolUniqueId findLSB_Int3 = TSymbolUniqueId(2816);
+ static constexpr const TSymbolUniqueId findLSB_Int4 = TSymbolUniqueId(2817);
+ static constexpr const TSymbolUniqueId findLSB_UInt1 = TSymbolUniqueId(2818);
+ static constexpr const TSymbolUniqueId findLSB_UInt2 = TSymbolUniqueId(2819);
+ static constexpr const TSymbolUniqueId findLSB_UInt3 = TSymbolUniqueId(2820);
+ static constexpr const TSymbolUniqueId findLSB_UInt4 = TSymbolUniqueId(2821);
+ static constexpr const TSymbolUniqueId findMSB_Int1 = TSymbolUniqueId(2822);
+ static constexpr const TSymbolUniqueId findMSB_Int2 = TSymbolUniqueId(2823);
+ static constexpr const TSymbolUniqueId findMSB_Int3 = TSymbolUniqueId(2824);
+ static constexpr const TSymbolUniqueId findMSB_Int4 = TSymbolUniqueId(2825);
+ static constexpr const TSymbolUniqueId findMSB_UInt1 = TSymbolUniqueId(2826);
+ static constexpr const TSymbolUniqueId findMSB_UInt2 = TSymbolUniqueId(2827);
+ static constexpr const TSymbolUniqueId findMSB_UInt3 = TSymbolUniqueId(2828);
+ static constexpr const TSymbolUniqueId findMSB_UInt4 = TSymbolUniqueId(2829);
+ static constexpr const TSymbolUniqueId uaddCarry_UInt1_UInt1_UInt1 = TSymbolUniqueId(2830);
+ static constexpr const TSymbolUniqueId pt_o_00E = TSymbolUniqueId(2831);
+ static constexpr const TSymbolUniqueId uaddCarry_UInt2_UInt2_UInt2 = TSymbolUniqueId(2832);
+ static constexpr const TSymbolUniqueId pt_o_10E = TSymbolUniqueId(2833);
+ static constexpr const TSymbolUniqueId uaddCarry_UInt3_UInt3_UInt3 = TSymbolUniqueId(2834);
+ static constexpr const TSymbolUniqueId pt_o_20E = TSymbolUniqueId(2835);
+ static constexpr const TSymbolUniqueId uaddCarry_UInt4_UInt4_UInt4 = TSymbolUniqueId(2836);
+ static constexpr const TSymbolUniqueId pt_o_30E = TSymbolUniqueId(2837);
+ static constexpr const TSymbolUniqueId usubBorrow_UInt1_UInt1_UInt1 = TSymbolUniqueId(2838);
+ static constexpr const TSymbolUniqueId usubBorrow_UInt2_UInt2_UInt2 = TSymbolUniqueId(2839);
+ static constexpr const TSymbolUniqueId usubBorrow_UInt3_UInt3_UInt3 = TSymbolUniqueId(2840);
+ static constexpr const TSymbolUniqueId usubBorrow_UInt4_UInt4_UInt4 = TSymbolUniqueId(2841);
static constexpr const TSymbolUniqueId umulExtended_UInt1_UInt1_UInt1_UInt1 =
- TSymbolUniqueId(2836);
+ TSymbolUniqueId(2842);
static constexpr const TSymbolUniqueId umulExtended_UInt2_UInt2_UInt2_UInt2 =
- TSymbolUniqueId(2837);
+ TSymbolUniqueId(2843);
static constexpr const TSymbolUniqueId umulExtended_UInt3_UInt3_UInt3_UInt3 =
- TSymbolUniqueId(2838);
+ TSymbolUniqueId(2844);
static constexpr const TSymbolUniqueId umulExtended_UInt4_UInt4_UInt4_UInt4 =
- TSymbolUniqueId(2839);
- static constexpr const TSymbolUniqueId imulExtended_Int1_Int1_Int1_Int1 = TSymbolUniqueId(2840);
- static constexpr const TSymbolUniqueId imulExtended_Int2_Int2_Int2_Int2 = TSymbolUniqueId(2841);
- static constexpr const TSymbolUniqueId imulExtended_Int3_Int3_Int3_Int3 = TSymbolUniqueId(2842);
- static constexpr const TSymbolUniqueId imulExtended_Int4_Int4_Int4_Int4 = TSymbolUniqueId(2843);
- static constexpr const TSymbolUniqueId texture2D_Sampler2D1_Float2 = TSymbolUniqueId(2844);
- static constexpr const TSymbolUniqueId pt00I = TSymbolUniqueId(2845);
- static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float3 = TSymbolUniqueId(2846);
- static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float4 = TSymbolUniqueId(2847);
- static constexpr const TSymbolUniqueId textureCube_SamplerCube1_Float3 = TSymbolUniqueId(2848);
- static constexpr const TSymbolUniqueId pt00K = TSymbolUniqueId(2849);
+ TSymbolUniqueId(2845);
+ static constexpr const TSymbolUniqueId imulExtended_Int1_Int1_Int1_Int1 = TSymbolUniqueId(2846);
+ static constexpr const TSymbolUniqueId imulExtended_Int2_Int2_Int2_Int2 = TSymbolUniqueId(2847);
+ static constexpr const TSymbolUniqueId imulExtended_Int3_Int3_Int3_Int3 = TSymbolUniqueId(2848);
+ static constexpr const TSymbolUniqueId imulExtended_Int4_Int4_Int4_Int4 = TSymbolUniqueId(2849);
+ static constexpr const TSymbolUniqueId texture2D_Sampler2D1_Float2 = TSymbolUniqueId(2850);
+ static constexpr const TSymbolUniqueId pt00I = TSymbolUniqueId(2851);
+ static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float3 = TSymbolUniqueId(2852);
+ static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float4 = TSymbolUniqueId(2853);
+ static constexpr const TSymbolUniqueId textureCube_SamplerCube1_Float3 = TSymbolUniqueId(2854);
+ static constexpr const TSymbolUniqueId pt00K = TSymbolUniqueId(2855);
static constexpr const TSymbolUniqueId texture2D_SamplerExternalOES1_Float2 =
- TSymbolUniqueId(2850);
- static constexpr const TSymbolUniqueId pt00M = TSymbolUniqueId(2851);
+ TSymbolUniqueId(2856);
+ static constexpr const TSymbolUniqueId pt00M = TSymbolUniqueId(2857);
static constexpr const TSymbolUniqueId texture2DProj_SamplerExternalOES1_Float3 =
- TSymbolUniqueId(2852);
+ TSymbolUniqueId(2858);
static constexpr const TSymbolUniqueId texture2DProj_SamplerExternalOES1_Float4 =
- TSymbolUniqueId(2853);
+ TSymbolUniqueId(2859);
static constexpr const TSymbolUniqueId texture2DRect_Sampler2DRect1_Float2 =
- TSymbolUniqueId(2854);
- static constexpr const TSymbolUniqueId pt00O = TSymbolUniqueId(2855);
+ TSymbolUniqueId(2860);
+ static constexpr const TSymbolUniqueId pt00O = TSymbolUniqueId(2861);
static constexpr const TSymbolUniqueId texture2DRectProj_Sampler2DRect1_Float3 =
- TSymbolUniqueId(2856);
+ TSymbolUniqueId(2862);
static constexpr const TSymbolUniqueId texture2DRectProj_Sampler2DRect1_Float4 =
- TSymbolUniqueId(2857);
- static constexpr const TSymbolUniqueId texture_Sampler2DRect1_Float2 = TSymbolUniqueId(2858);
+ TSymbolUniqueId(2863);
+ static constexpr const TSymbolUniqueId texture_Sampler2DRect1_Float2 = TSymbolUniqueId(2864);
static constexpr const TSymbolUniqueId textureProj_Sampler2DRect1_Float3 =
- TSymbolUniqueId(2859);
+ TSymbolUniqueId(2865);
static constexpr const TSymbolUniqueId textureProj_Sampler2DRect1_Float4 =
- TSymbolUniqueId(2860);
+ TSymbolUniqueId(2866);
static constexpr const TSymbolUniqueId texture2DGradEXT_Sampler2D1_Float2_Float2_Float2 =
- TSymbolUniqueId(2861);
+ TSymbolUniqueId(2867);
static constexpr const TSymbolUniqueId texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2 =
- TSymbolUniqueId(2862);
+ TSymbolUniqueId(2868);
static constexpr const TSymbolUniqueId texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2 =
- TSymbolUniqueId(2863);
+ TSymbolUniqueId(2869);
static constexpr const TSymbolUniqueId textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3 =
- TSymbolUniqueId(2864);
+ TSymbolUniqueId(2870);
static constexpr const TSymbolUniqueId texture2D_Sampler2D1_Float2_Float1 =
- TSymbolUniqueId(2865);
+ TSymbolUniqueId(2871);
static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float3_Float1 =
- TSymbolUniqueId(2866);
+ TSymbolUniqueId(2872);
static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float4_Float1 =
- TSymbolUniqueId(2867);
+ TSymbolUniqueId(2873);
static constexpr const TSymbolUniqueId textureCube_SamplerCube1_Float3_Float1 =
- TSymbolUniqueId(2868);
- static constexpr const TSymbolUniqueId dFdxExt_Float1 = TSymbolUniqueId(2869);
- static constexpr const TSymbolUniqueId dFdxExt_Float2 = TSymbolUniqueId(2870);
- static constexpr const TSymbolUniqueId dFdxExt_Float3 = TSymbolUniqueId(2871);
- static constexpr const TSymbolUniqueId dFdxExt_Float4 = TSymbolUniqueId(2872);
- static constexpr const TSymbolUniqueId dFdyExt_Float1 = TSymbolUniqueId(2873);
- static constexpr const TSymbolUniqueId dFdyExt_Float2 = TSymbolUniqueId(2874);
- static constexpr const TSymbolUniqueId dFdyExt_Float3 = TSymbolUniqueId(2875);
- static constexpr const TSymbolUniqueId dFdyExt_Float4 = TSymbolUniqueId(2876);
- static constexpr const TSymbolUniqueId fwidthExt_Float1 = TSymbolUniqueId(2877);
- static constexpr const TSymbolUniqueId fwidthExt_Float2 = TSymbolUniqueId(2878);
- static constexpr const TSymbolUniqueId fwidthExt_Float3 = TSymbolUniqueId(2879);
- static constexpr const TSymbolUniqueId fwidthExt_Float4 = TSymbolUniqueId(2880);
+ TSymbolUniqueId(2874);
+ static constexpr const TSymbolUniqueId dFdxExt_Float1 = TSymbolUniqueId(2875);
+ static constexpr const TSymbolUniqueId dFdxExt_Float2 = TSymbolUniqueId(2876);
+ static constexpr const TSymbolUniqueId dFdxExt_Float3 = TSymbolUniqueId(2877);
+ static constexpr const TSymbolUniqueId dFdxExt_Float4 = TSymbolUniqueId(2878);
+ static constexpr const TSymbolUniqueId dFdyExt_Float1 = TSymbolUniqueId(2879);
+ static constexpr const TSymbolUniqueId dFdyExt_Float2 = TSymbolUniqueId(2880);
+ static constexpr const TSymbolUniqueId dFdyExt_Float3 = TSymbolUniqueId(2881);
+ static constexpr const TSymbolUniqueId dFdyExt_Float4 = TSymbolUniqueId(2882);
+ static constexpr const TSymbolUniqueId fwidthExt_Float1 = TSymbolUniqueId(2883);
+ static constexpr const TSymbolUniqueId fwidthExt_Float2 = TSymbolUniqueId(2884);
+ static constexpr const TSymbolUniqueId fwidthExt_Float3 = TSymbolUniqueId(2885);
+ static constexpr const TSymbolUniqueId fwidthExt_Float4 = TSymbolUniqueId(2886);
static constexpr const TSymbolUniqueId texture2DLodEXT_Sampler2D1_Float2_Float1 =
- TSymbolUniqueId(2881);
+ TSymbolUniqueId(2887);
static constexpr const TSymbolUniqueId texture2DProjLodEXT_Sampler2D1_Float3_Float1 =
- TSymbolUniqueId(2882);
+ TSymbolUniqueId(2888);
static constexpr const TSymbolUniqueId texture2DProjLodEXT_Sampler2D1_Float4_Float1 =
- TSymbolUniqueId(2883);
+ TSymbolUniqueId(2889);
static constexpr const TSymbolUniqueId textureCubeLodEXT_SamplerCube1_Float3_Float1 =
- TSymbolUniqueId(2884);
- static constexpr const TSymbolUniqueId texture3D_Sampler3D1_Float3 = TSymbolUniqueId(2885);
- static constexpr const TSymbolUniqueId pt00J = TSymbolUniqueId(2886);
- static constexpr const TSymbolUniqueId texture3DProj_Sampler3D1_Float4 = TSymbolUniqueId(2887);
+ TSymbolUniqueId(2890);
+ static constexpr const TSymbolUniqueId texture3D_Sampler3D1_Float3 = TSymbolUniqueId(2891);
+ static constexpr const TSymbolUniqueId pt00J = TSymbolUniqueId(2892);
+ static constexpr const TSymbolUniqueId texture3DProj_Sampler3D1_Float4 = TSymbolUniqueId(2893);
static constexpr const TSymbolUniqueId texture3D_Sampler3D1_Float3_Float1 =
- TSymbolUniqueId(2888);
+ TSymbolUniqueId(2894);
static constexpr const TSymbolUniqueId texture3DProj_Sampler3D1_Float4_Float1 =
- TSymbolUniqueId(2889);
+ TSymbolUniqueId(2895);
static constexpr const TSymbolUniqueId texture3DLod_Sampler3D1_Float3_Float1 =
- TSymbolUniqueId(2890);
+ TSymbolUniqueId(2896);
static constexpr const TSymbolUniqueId texture3DProjLod_Sampler3D1_Float4_Float1 =
- TSymbolUniqueId(2891);
+ TSymbolUniqueId(2897);
static constexpr const TSymbolUniqueId texture2DLod_Sampler2D1_Float2_Float1 =
- TSymbolUniqueId(2892);
+ TSymbolUniqueId(2898);
static constexpr const TSymbolUniqueId texture2DProjLod_Sampler2D1_Float3_Float1 =
- TSymbolUniqueId(2893);
+ TSymbolUniqueId(2899);
static constexpr const TSymbolUniqueId texture2DProjLod_Sampler2D1_Float4_Float1 =
- TSymbolUniqueId(2894);
+ TSymbolUniqueId(2900);
static constexpr const TSymbolUniqueId textureCubeLod_SamplerCube1_Float3_Float1 =
- TSymbolUniqueId(2895);
- static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2 = TSymbolUniqueId(2896);
- static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2 = TSymbolUniqueId(2897);
- static constexpr const TSymbolUniqueId pt00R = TSymbolUniqueId(2898);
- static constexpr const TSymbolUniqueId texture_USampler2D1_Float2 = TSymbolUniqueId(2899);
- static constexpr const TSymbolUniqueId pt00X = TSymbolUniqueId(2900);
- static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3 = TSymbolUniqueId(2901);
- static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3 = TSymbolUniqueId(2902);
- static constexpr const TSymbolUniqueId pt00S = TSymbolUniqueId(2903);
- static constexpr const TSymbolUniqueId texture_USampler3D1_Float3 = TSymbolUniqueId(2904);
- static constexpr const TSymbolUniqueId pt00Y = TSymbolUniqueId(2905);
- static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3 = TSymbolUniqueId(2906);
- static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3 = TSymbolUniqueId(2907);
- static constexpr const TSymbolUniqueId pt00T = TSymbolUniqueId(2908);
- static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3 = TSymbolUniqueId(2909);
- static constexpr const TSymbolUniqueId pt00Z = TSymbolUniqueId(2910);
- static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3 = TSymbolUniqueId(2911);
- static constexpr const TSymbolUniqueId pt00L = TSymbolUniqueId(2912);
- static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3 = TSymbolUniqueId(2913);
- static constexpr const TSymbolUniqueId pt00U = TSymbolUniqueId(2914);
- static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3 = TSymbolUniqueId(2915);
- static constexpr const TSymbolUniqueId pt00a = TSymbolUniqueId(2916);
- static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3 = TSymbolUniqueId(2917);
- static constexpr const TSymbolUniqueId pt00d = TSymbolUniqueId(2918);
+ TSymbolUniqueId(2901);
+ static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2 = TSymbolUniqueId(2902);
+ static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2 = TSymbolUniqueId(2903);
+ static constexpr const TSymbolUniqueId pt00R = TSymbolUniqueId(2904);
+ static constexpr const TSymbolUniqueId texture_USampler2D1_Float2 = TSymbolUniqueId(2905);
+ static constexpr const TSymbolUniqueId pt00X = TSymbolUniqueId(2906);
+ static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3 = TSymbolUniqueId(2907);
+ static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3 = TSymbolUniqueId(2908);
+ static constexpr const TSymbolUniqueId pt00S = TSymbolUniqueId(2909);
+ static constexpr const TSymbolUniqueId texture_USampler3D1_Float3 = TSymbolUniqueId(2910);
+ static constexpr const TSymbolUniqueId pt00Y = TSymbolUniqueId(2911);
+ static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3 = TSymbolUniqueId(2912);
+ static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3 = TSymbolUniqueId(2913);
+ static constexpr const TSymbolUniqueId pt00T = TSymbolUniqueId(2914);
+ static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3 = TSymbolUniqueId(2915);
+ static constexpr const TSymbolUniqueId pt00Z = TSymbolUniqueId(2916);
+ static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3 = TSymbolUniqueId(2917);
+ static constexpr const TSymbolUniqueId pt00L = TSymbolUniqueId(2918);
+ static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3 = TSymbolUniqueId(2919);
+ static constexpr const TSymbolUniqueId pt00U = TSymbolUniqueId(2920);
+ static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3 = TSymbolUniqueId(2921);
+ static constexpr const TSymbolUniqueId pt00a = TSymbolUniqueId(2922);
+ static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3 = TSymbolUniqueId(2923);
+ static constexpr const TSymbolUniqueId pt00d = TSymbolUniqueId(2924);
static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4 =
- TSymbolUniqueId(2919);
- static constexpr const TSymbolUniqueId pt00e = TSymbolUniqueId(2920);
+ TSymbolUniqueId(2925);
+ static constexpr const TSymbolUniqueId pt00e = TSymbolUniqueId(2926);
static constexpr const TSymbolUniqueId texture_Sampler2DArrayShadow1_Float4 =
- TSymbolUniqueId(2921);
- static constexpr const TSymbolUniqueId pt00f = TSymbolUniqueId(2922);
- static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3 = TSymbolUniqueId(2923);
- static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3 = TSymbolUniqueId(2924);
- static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3 = TSymbolUniqueId(2925);
- static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4 = TSymbolUniqueId(2926);
- static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4 = TSymbolUniqueId(2927);
- static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4 = TSymbolUniqueId(2928);
- static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4 = TSymbolUniqueId(2929);
- static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4 = TSymbolUniqueId(2930);
- static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4 = TSymbolUniqueId(2931);
+ TSymbolUniqueId(2927);
+ static constexpr const TSymbolUniqueId pt00f = TSymbolUniqueId(2928);
+ static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3 = TSymbolUniqueId(2929);
+ static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3 = TSymbolUniqueId(2930);
+ static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3 = TSymbolUniqueId(2931);
+ static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4 = TSymbolUniqueId(2932);
+ static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4 = TSymbolUniqueId(2933);
+ static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4 = TSymbolUniqueId(2934);
+ static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4 = TSymbolUniqueId(2935);
+ static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4 = TSymbolUniqueId(2936);
+ static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4 = TSymbolUniqueId(2937);
static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4 =
- TSymbolUniqueId(2932);
+ TSymbolUniqueId(2938);
static constexpr const TSymbolUniqueId textureLod_Sampler2D1_Float2_Float1 =
- TSymbolUniqueId(2933);
+ TSymbolUniqueId(2939);
static constexpr const TSymbolUniqueId textureLod_ISampler2D1_Float2_Float1 =
- TSymbolUniqueId(2934);
+ TSymbolUniqueId(2940);
static constexpr const TSymbolUniqueId textureLod_USampler2D1_Float2_Float1 =
- TSymbolUniqueId(2935);
+ TSymbolUniqueId(2941);
static constexpr const TSymbolUniqueId textureLod_Sampler3D1_Float3_Float1 =
- TSymbolUniqueId(2936);
+ TSymbolUniqueId(2942);
static constexpr const TSymbolUniqueId textureLod_ISampler3D1_Float3_Float1 =
- TSymbolUniqueId(2937);
+ TSymbolUniqueId(2943);
static constexpr const TSymbolUniqueId textureLod_USampler3D1_Float3_Float1 =
- TSymbolUniqueId(2938);
+ TSymbolUniqueId(2944);
static constexpr const TSymbolUniqueId textureLod_SamplerCube1_Float3_Float1 =
- TSymbolUniqueId(2939);
+ TSymbolUniqueId(2945);
static constexpr const TSymbolUniqueId textureLod_ISamplerCube1_Float3_Float1 =
- TSymbolUniqueId(2940);
+ TSymbolUniqueId(2946);
static constexpr const TSymbolUniqueId textureLod_USamplerCube1_Float3_Float1 =
- TSymbolUniqueId(2941);
+ TSymbolUniqueId(2947);
static constexpr const TSymbolUniqueId textureLod_Sampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(2942);
+ TSymbolUniqueId(2948);
static constexpr const TSymbolUniqueId textureLod_ISampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(2943);
+ TSymbolUniqueId(2949);
static constexpr const TSymbolUniqueId textureLod_USampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(2944);
+ TSymbolUniqueId(2950);
static constexpr const TSymbolUniqueId textureLod_Sampler2DShadow1_Float3_Float1 =
- TSymbolUniqueId(2945);
- static constexpr const TSymbolUniqueId textureSize_Sampler2D1_Int1 = TSymbolUniqueId(2946);
- static constexpr const TSymbolUniqueId textureSize_ISampler2D1_Int1 = TSymbolUniqueId(2947);
- static constexpr const TSymbolUniqueId textureSize_USampler2D1_Int1 = TSymbolUniqueId(2948);
- static constexpr const TSymbolUniqueId textureSize_Sampler3D1_Int1 = TSymbolUniqueId(2949);
- static constexpr const TSymbolUniqueId textureSize_ISampler3D1_Int1 = TSymbolUniqueId(2950);
- static constexpr const TSymbolUniqueId textureSize_USampler3D1_Int1 = TSymbolUniqueId(2951);
- static constexpr const TSymbolUniqueId textureSize_SamplerCube1_Int1 = TSymbolUniqueId(2952);
- static constexpr const TSymbolUniqueId textureSize_ISamplerCube1_Int1 = TSymbolUniqueId(2953);
- static constexpr const TSymbolUniqueId textureSize_USamplerCube1_Int1 = TSymbolUniqueId(2954);
- static constexpr const TSymbolUniqueId textureSize_Sampler2DArray1_Int1 = TSymbolUniqueId(2955);
+ TSymbolUniqueId(2951);
+ static constexpr const TSymbolUniqueId textureSize_Sampler2D1_Int1 = TSymbolUniqueId(2952);
+ static constexpr const TSymbolUniqueId textureSize_ISampler2D1_Int1 = TSymbolUniqueId(2953);
+ static constexpr const TSymbolUniqueId textureSize_USampler2D1_Int1 = TSymbolUniqueId(2954);
+ static constexpr const TSymbolUniqueId textureSize_Sampler3D1_Int1 = TSymbolUniqueId(2955);
+ static constexpr const TSymbolUniqueId textureSize_ISampler3D1_Int1 = TSymbolUniqueId(2956);
+ static constexpr const TSymbolUniqueId textureSize_USampler3D1_Int1 = TSymbolUniqueId(2957);
+ static constexpr const TSymbolUniqueId textureSize_SamplerCube1_Int1 = TSymbolUniqueId(2958);
+ static constexpr const TSymbolUniqueId textureSize_ISamplerCube1_Int1 = TSymbolUniqueId(2959);
+ static constexpr const TSymbolUniqueId textureSize_USamplerCube1_Int1 = TSymbolUniqueId(2960);
+ static constexpr const TSymbolUniqueId textureSize_Sampler2DArray1_Int1 = TSymbolUniqueId(2961);
static constexpr const TSymbolUniqueId textureSize_ISampler2DArray1_Int1 =
- TSymbolUniqueId(2956);
+ TSymbolUniqueId(2962);
static constexpr const TSymbolUniqueId textureSize_USampler2DArray1_Int1 =
- TSymbolUniqueId(2957);
+ TSymbolUniqueId(2963);
static constexpr const TSymbolUniqueId textureSize_Sampler2DShadow1_Int1 =
- TSymbolUniqueId(2958);
+ TSymbolUniqueId(2964);
static constexpr const TSymbolUniqueId textureSize_SamplerCubeShadow1_Int1 =
- TSymbolUniqueId(2959);
+ TSymbolUniqueId(2965);
static constexpr const TSymbolUniqueId textureSize_Sampler2DArrayShadow1_Int1 =
- TSymbolUniqueId(2960);
+ TSymbolUniqueId(2966);
static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float3_Float1 =
- TSymbolUniqueId(2961);
+ TSymbolUniqueId(2967);
static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float3_Float1 =
- TSymbolUniqueId(2962);
+ TSymbolUniqueId(2968);
static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float3_Float1 =
- TSymbolUniqueId(2963);
+ TSymbolUniqueId(2969);
static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float4_Float1 =
- TSymbolUniqueId(2964);
+ TSymbolUniqueId(2970);
static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float4_Float1 =
- TSymbolUniqueId(2965);
+ TSymbolUniqueId(2971);
static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float4_Float1 =
- TSymbolUniqueId(2966);
+ TSymbolUniqueId(2972);
static constexpr const TSymbolUniqueId textureProjLod_Sampler3D1_Float4_Float1 =
- TSymbolUniqueId(2967);
+ TSymbolUniqueId(2973);
static constexpr const TSymbolUniqueId textureProjLod_ISampler3D1_Float4_Float1 =
- TSymbolUniqueId(2968);
+ TSymbolUniqueId(2974);
static constexpr const TSymbolUniqueId textureProjLod_USampler3D1_Float4_Float1 =
- TSymbolUniqueId(2969);
+ TSymbolUniqueId(2975);
static constexpr const TSymbolUniqueId textureProjLod_Sampler2DShadow1_Float4_Float1 =
- TSymbolUniqueId(2970);
- static constexpr const TSymbolUniqueId texelFetch_Sampler2D1_Int2_Int1 = TSymbolUniqueId(2971);
- static constexpr const TSymbolUniqueId texelFetch_ISampler2D1_Int2_Int1 = TSymbolUniqueId(2972);
- static constexpr const TSymbolUniqueId texelFetch_USampler2D1_Int2_Int1 = TSymbolUniqueId(2973);
- static constexpr const TSymbolUniqueId texelFetch_Sampler3D1_Int3_Int1 = TSymbolUniqueId(2974);
- static constexpr const TSymbolUniqueId texelFetch_ISampler3D1_Int3_Int1 = TSymbolUniqueId(2975);
- static constexpr const TSymbolUniqueId texelFetch_USampler3D1_Int3_Int1 = TSymbolUniqueId(2976);
+ TSymbolUniqueId(2976);
+ static constexpr const TSymbolUniqueId texelFetch_Sampler2D1_Int2_Int1 = TSymbolUniqueId(2977);
+ static constexpr const TSymbolUniqueId texelFetch_ISampler2D1_Int2_Int1 = TSymbolUniqueId(2978);
+ static constexpr const TSymbolUniqueId texelFetch_USampler2D1_Int2_Int1 = TSymbolUniqueId(2979);
+ static constexpr const TSymbolUniqueId texelFetch_Sampler3D1_Int3_Int1 = TSymbolUniqueId(2980);
+ static constexpr const TSymbolUniqueId texelFetch_ISampler3D1_Int3_Int1 = TSymbolUniqueId(2981);
+ static constexpr const TSymbolUniqueId texelFetch_USampler3D1_Int3_Int1 = TSymbolUniqueId(2982);
static constexpr const TSymbolUniqueId texelFetch_Sampler2DArray1_Int3_Int1 =
- TSymbolUniqueId(2977);
+ TSymbolUniqueId(2983);
static constexpr const TSymbolUniqueId texelFetch_ISampler2DArray1_Int3_Int1 =
- TSymbolUniqueId(2978);
+ TSymbolUniqueId(2984);
static constexpr const TSymbolUniqueId texelFetch_USampler2DArray1_Int3_Int1 =
- TSymbolUniqueId(2979);
+ TSymbolUniqueId(2985);
static constexpr const TSymbolUniqueId textureGrad_Sampler2D1_Float2_Float2_Float2 =
- TSymbolUniqueId(2980);
+ TSymbolUniqueId(2986);
static constexpr const TSymbolUniqueId textureGrad_ISampler2D1_Float2_Float2_Float2 =
- TSymbolUniqueId(2981);
+ TSymbolUniqueId(2987);
static constexpr const TSymbolUniqueId textureGrad_USampler2D1_Float2_Float2_Float2 =
- TSymbolUniqueId(2982);
+ TSymbolUniqueId(2988);
static constexpr const TSymbolUniqueId textureGrad_Sampler3D1_Float3_Float3_Float3 =
- TSymbolUniqueId(2983);
+ TSymbolUniqueId(2989);
static constexpr const TSymbolUniqueId textureGrad_ISampler3D1_Float3_Float3_Float3 =
- TSymbolUniqueId(2984);
+ TSymbolUniqueId(2990);
static constexpr const TSymbolUniqueId textureGrad_USampler3D1_Float3_Float3_Float3 =
- TSymbolUniqueId(2985);
+ TSymbolUniqueId(2991);
static constexpr const TSymbolUniqueId textureGrad_SamplerCube1_Float3_Float3_Float3 =
- TSymbolUniqueId(2986);
+ TSymbolUniqueId(2992);
static constexpr const TSymbolUniqueId textureGrad_ISamplerCube1_Float3_Float3_Float3 =
- TSymbolUniqueId(2987);
+ TSymbolUniqueId(2993);
static constexpr const TSymbolUniqueId textureGrad_USamplerCube1_Float3_Float3_Float3 =
- TSymbolUniqueId(2988);
+ TSymbolUniqueId(2994);
static constexpr const TSymbolUniqueId textureGrad_Sampler2DShadow1_Float3_Float2_Float2 =
- TSymbolUniqueId(2989);
+ TSymbolUniqueId(2995);
static constexpr const TSymbolUniqueId textureGrad_SamplerCubeShadow1_Float4_Float3_Float3 =
- TSymbolUniqueId(2990);
+ TSymbolUniqueId(2996);
static constexpr const TSymbolUniqueId textureGrad_Sampler2DArray1_Float3_Float2_Float2 =
- TSymbolUniqueId(2991);
+ TSymbolUniqueId(2997);
static constexpr const TSymbolUniqueId textureGrad_ISampler2DArray1_Float3_Float2_Float2 =
- TSymbolUniqueId(2992);
+ TSymbolUniqueId(2998);
static constexpr const TSymbolUniqueId textureGrad_USampler2DArray1_Float3_Float2_Float2 =
- TSymbolUniqueId(2993);
+ TSymbolUniqueId(2999);
static constexpr const TSymbolUniqueId textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2 =
- TSymbolUniqueId(2994);
+ TSymbolUniqueId(3000);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float3_Float2_Float2 =
- TSymbolUniqueId(2995);
+ TSymbolUniqueId(3001);
static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float3_Float2_Float2 =
- TSymbolUniqueId(2996);
+ TSymbolUniqueId(3002);
static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float3_Float2_Float2 =
- TSymbolUniqueId(2997);
+ TSymbolUniqueId(3003);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float4_Float2_Float2 =
- TSymbolUniqueId(2998);
+ TSymbolUniqueId(3004);
static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float4_Float2_Float2 =
- TSymbolUniqueId(2999);
+ TSymbolUniqueId(3005);
static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float4_Float2_Float2 =
- TSymbolUniqueId(3000);
+ TSymbolUniqueId(3006);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler3D1_Float4_Float3_Float3 =
- TSymbolUniqueId(3001);
+ TSymbolUniqueId(3007);
static constexpr const TSymbolUniqueId textureProjGrad_ISampler3D1_Float4_Float3_Float3 =
- TSymbolUniqueId(3002);
+ TSymbolUniqueId(3008);
static constexpr const TSymbolUniqueId textureProjGrad_USampler3D1_Float4_Float3_Float3 =
- TSymbolUniqueId(3003);
+ TSymbolUniqueId(3009);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2 =
- TSymbolUniqueId(3004);
- static constexpr const TSymbolUniqueId textureSize_Sampler2DMS1 = TSymbolUniqueId(3005);
- static constexpr const TSymbolUniqueId pt00P = TSymbolUniqueId(3006);
- static constexpr const TSymbolUniqueId textureSize_ISampler2DMS1 = TSymbolUniqueId(3007);
- static constexpr const TSymbolUniqueId pt00V = TSymbolUniqueId(3008);
- static constexpr const TSymbolUniqueId textureSize_USampler2DMS1 = TSymbolUniqueId(3009);
- static constexpr const TSymbolUniqueId pt00b = TSymbolUniqueId(3010);
- static constexpr const TSymbolUniqueId textureSizeExt_Sampler2DMS1 = TSymbolUniqueId(3011);
- static constexpr const TSymbolUniqueId textureSizeExt_ISampler2DMS1 = TSymbolUniqueId(3012);
- static constexpr const TSymbolUniqueId textureSizeExt_USampler2DMS1 = TSymbolUniqueId(3013);
- static constexpr const TSymbolUniqueId textureSizeExt_Sampler2DMSArray1 = TSymbolUniqueId(3014);
- static constexpr const TSymbolUniqueId pt00Q = TSymbolUniqueId(3015);
+ TSymbolUniqueId(3010);
+ static constexpr const TSymbolUniqueId textureSize_Sampler2DMS1 = TSymbolUniqueId(3011);
+ static constexpr const TSymbolUniqueId pt00P = TSymbolUniqueId(3012);
+ static constexpr const TSymbolUniqueId textureSize_ISampler2DMS1 = TSymbolUniqueId(3013);
+ static constexpr const TSymbolUniqueId pt00V = TSymbolUniqueId(3014);
+ static constexpr const TSymbolUniqueId textureSize_USampler2DMS1 = TSymbolUniqueId(3015);
+ static constexpr const TSymbolUniqueId pt00b = TSymbolUniqueId(3016);
+ static constexpr const TSymbolUniqueId textureSizeExt_Sampler2DMS1 = TSymbolUniqueId(3017);
+ static constexpr const TSymbolUniqueId textureSizeExt_ISampler2DMS1 = TSymbolUniqueId(3018);
+ static constexpr const TSymbolUniqueId textureSizeExt_USampler2DMS1 = TSymbolUniqueId(3019);
+ static constexpr const TSymbolUniqueId textureSizeExt_Sampler2DMSArray1 = TSymbolUniqueId(3020);
+ static constexpr const TSymbolUniqueId pt00Q = TSymbolUniqueId(3021);
static constexpr const TSymbolUniqueId textureSizeExt_ISampler2DMSArray1 =
- TSymbolUniqueId(3016);
- static constexpr const TSymbolUniqueId pt00W = TSymbolUniqueId(3017);
+ TSymbolUniqueId(3022);
+ static constexpr const TSymbolUniqueId pt00W = TSymbolUniqueId(3023);
static constexpr const TSymbolUniqueId textureSizeExt_USampler2DMSArray1 =
- TSymbolUniqueId(3018);
- static constexpr const TSymbolUniqueId pt00c = TSymbolUniqueId(3019);
+ TSymbolUniqueId(3024);
+ static constexpr const TSymbolUniqueId pt00c = TSymbolUniqueId(3025);
+ static constexpr const TSymbolUniqueId textureSize_SamplerCubeArray1_Int1 =
+ TSymbolUniqueId(3026);
+ static constexpr const TSymbolUniqueId pt00k = TSymbolUniqueId(3027);
+ static constexpr const TSymbolUniqueId textureSize_ISamplerCubeArray1_Int1 =
+ TSymbolUniqueId(3028);
+ static constexpr const TSymbolUniqueId pt00s = TSymbolUniqueId(3029);
+ static constexpr const TSymbolUniqueId textureSize_USamplerCubeArray1_Int1 =
+ TSymbolUniqueId(3030);
+ static constexpr const TSymbolUniqueId pt00x = TSymbolUniqueId(3031);
+ static constexpr const TSymbolUniqueId textureSize_SamplerCubeArrayShadow1_Int1 =
+ TSymbolUniqueId(3032);
+ static constexpr const TSymbolUniqueId pt00l = TSymbolUniqueId(3033);
+ static constexpr const TSymbolUniqueId texture_SamplerCubeArray1_Float4 = TSymbolUniqueId(3034);
+ static constexpr const TSymbolUniqueId texture_ISamplerCubeArray1_Float4 =
+ TSymbolUniqueId(3035);
+ static constexpr const TSymbolUniqueId texture_USamplerCubeArray1_Float4 =
+ TSymbolUniqueId(3036);
+ static constexpr const TSymbolUniqueId texture_SamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(3037);
+ static constexpr const TSymbolUniqueId texture_ISamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(3038);
+ static constexpr const TSymbolUniqueId texture_USamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(3039);
+ static constexpr const TSymbolUniqueId texture_SamplerCubeArrayShadow1_Float4_Float1 =
+ TSymbolUniqueId(3040);
+ static constexpr const TSymbolUniqueId textureLod_SamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(3041);
+ static constexpr const TSymbolUniqueId textureLod_ISamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(3042);
+ static constexpr const TSymbolUniqueId textureLod_USamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(3043);
+ static constexpr const TSymbolUniqueId textureGrad_SamplerCubeArray1_Float4_Float3_Float3 =
+ TSymbolUniqueId(3044);
+ static constexpr const TSymbolUniqueId textureGrad_ISamplerCubeArray1_Float4_Float3_Float3 =
+ TSymbolUniqueId(3045);
+ static constexpr const TSymbolUniqueId textureGrad_USamplerCubeArray1_Float4_Float3_Float3 =
+ TSymbolUniqueId(3046);
+ static constexpr const TSymbolUniqueId textureGather_SamplerCubeArray1_Float4 =
+ TSymbolUniqueId(3047);
+ static constexpr const TSymbolUniqueId textureGather_ISamplerCubeArray1_Float4 =
+ TSymbolUniqueId(3048);
+ static constexpr const TSymbolUniqueId textureGather_USamplerCubeArray1_Float4 =
+ TSymbolUniqueId(3049);
+ static constexpr const TSymbolUniqueId textureGather_SamplerCubeArray1_Float4_Int1 =
+ TSymbolUniqueId(3050);
+ static constexpr const TSymbolUniqueId textureGather_ISamplerCubeArray1_Float4_Int1 =
+ TSymbolUniqueId(3051);
+ static constexpr const TSymbolUniqueId textureGather_USamplerCubeArray1_Float4_Int1 =
+ TSymbolUniqueId(3052);
+ static constexpr const TSymbolUniqueId textureGather_SamplerCubeArrayShadow1_Float4_Float1 =
+ TSymbolUniqueId(3053);
static constexpr const TSymbolUniqueId texelFetch_Sampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(3020);
+ TSymbolUniqueId(3054);
static constexpr const TSymbolUniqueId texelFetch_ISampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(3021);
+ TSymbolUniqueId(3055);
static constexpr const TSymbolUniqueId texelFetch_USampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(3022);
+ TSymbolUniqueId(3056);
static constexpr const TSymbolUniqueId texelFetchExt_Sampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(3023);
+ TSymbolUniqueId(3057);
static constexpr const TSymbolUniqueId texelFetchExt_ISampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(3024);
+ TSymbolUniqueId(3058);
static constexpr const TSymbolUniqueId texelFetchExt_USampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(3025);
+ TSymbolUniqueId(3059);
static constexpr const TSymbolUniqueId texelFetchExt_Sampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(3026);
+ TSymbolUniqueId(3060);
static constexpr const TSymbolUniqueId texelFetchExt_ISampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(3027);
+ TSymbolUniqueId(3061);
static constexpr const TSymbolUniqueId texelFetchExt_USampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(3028);
- static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1 = TSymbolUniqueId(3029);
+ TSymbolUniqueId(3062);
+ static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1 = TSymbolUniqueId(3063);
static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2_Float1 =
- TSymbolUniqueId(3030);
+ TSymbolUniqueId(3064);
static constexpr const TSymbolUniqueId texture_USampler2D1_Float2_Float1 =
- TSymbolUniqueId(3031);
- static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1 = TSymbolUniqueId(3032);
+ TSymbolUniqueId(3065);
+ static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1 = TSymbolUniqueId(3066);
static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3_Float1 =
- TSymbolUniqueId(3033);
+ TSymbolUniqueId(3067);
static constexpr const TSymbolUniqueId texture_USampler3D1_Float3_Float1 =
- TSymbolUniqueId(3034);
+ TSymbolUniqueId(3068);
static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3_Float1 =
- TSymbolUniqueId(3035);
+ TSymbolUniqueId(3069);
static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3_Float1 =
- TSymbolUniqueId(3036);
+ TSymbolUniqueId(3070);
static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3_Float1 =
- TSymbolUniqueId(3037);
+ TSymbolUniqueId(3071);
static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(3038);
+ TSymbolUniqueId(3072);
static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(3039);
+ TSymbolUniqueId(3073);
static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(3040);
+ TSymbolUniqueId(3074);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3_Float1 =
- TSymbolUniqueId(3041);
+ TSymbolUniqueId(3075);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3_Float1 =
- TSymbolUniqueId(3042);
+ TSymbolUniqueId(3076);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3_Float1 =
- TSymbolUniqueId(3043);
+ TSymbolUniqueId(3077);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4_Float1 =
- TSymbolUniqueId(3044);
+ TSymbolUniqueId(3078);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4_Float1 =
- TSymbolUniqueId(3045);
+ TSymbolUniqueId(3079);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4_Float1 =
- TSymbolUniqueId(3046);
+ TSymbolUniqueId(3080);
static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4_Float1 =
- TSymbolUniqueId(3047);
+ TSymbolUniqueId(3081);
static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4_Float1 =
- TSymbolUniqueId(3048);
+ TSymbolUniqueId(3082);
static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4_Float1 =
- TSymbolUniqueId(3049);
+ TSymbolUniqueId(3083);
static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3_Float1 =
- TSymbolUniqueId(3050);
+ TSymbolUniqueId(3084);
static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4_Float1 =
- TSymbolUniqueId(3051);
+ TSymbolUniqueId(3085);
static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4_Float1 =
- TSymbolUniqueId(3052);
+ TSymbolUniqueId(3086);
static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2_Float1 =
- TSymbolUniqueId(3053);
+ TSymbolUniqueId(3087);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3_Float1 =
- TSymbolUniqueId(3054);
+ TSymbolUniqueId(3088);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4_Float1 =
- TSymbolUniqueId(3055);
+ TSymbolUniqueId(3089);
static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2_Float1 =
- TSymbolUniqueId(3056);
- static constexpr const TSymbolUniqueId pt00N = TSymbolUniqueId(3057);
+ TSymbolUniqueId(3090);
+ static constexpr const TSymbolUniqueId pt00N = TSymbolUniqueId(3091);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3_Float1 =
- TSymbolUniqueId(3058);
+ TSymbolUniqueId(3092);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4_Float1 =
- TSymbolUniqueId(3059);
+ TSymbolUniqueId(3093);
static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2 =
- TSymbolUniqueId(3060);
+ TSymbolUniqueId(3094);
static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2 =
- TSymbolUniqueId(3061);
+ TSymbolUniqueId(3095);
static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2 =
- TSymbolUniqueId(3062);
+ TSymbolUniqueId(3096);
static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3 =
- TSymbolUniqueId(3063);
+ TSymbolUniqueId(3097);
static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3 =
- TSymbolUniqueId(3064);
+ TSymbolUniqueId(3098);
static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3 =
- TSymbolUniqueId(3065);
+ TSymbolUniqueId(3099);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2 =
- TSymbolUniqueId(3066);
+ TSymbolUniqueId(3100);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(3067);
+ TSymbolUniqueId(3101);
static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(3068);
+ TSymbolUniqueId(3102);
static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(3069);
+ TSymbolUniqueId(3103);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2 =
- TSymbolUniqueId(3070);
+ TSymbolUniqueId(3104);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2 =
- TSymbolUniqueId(3071);
+ TSymbolUniqueId(3105);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2 =
- TSymbolUniqueId(3072);
+ TSymbolUniqueId(3106);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2 =
- TSymbolUniqueId(3073);
+ TSymbolUniqueId(3107);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2 =
- TSymbolUniqueId(3074);
+ TSymbolUniqueId(3108);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2 =
- TSymbolUniqueId(3075);
+ TSymbolUniqueId(3109);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3 =
- TSymbolUniqueId(3076);
+ TSymbolUniqueId(3110);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3 =
- TSymbolUniqueId(3077);
+ TSymbolUniqueId(3111);
static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3 =
- TSymbolUniqueId(3078);
+ TSymbolUniqueId(3112);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2 =
- TSymbolUniqueId(3079);
+ TSymbolUniqueId(3113);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2D1_Float2_Float1_Int2 =
- TSymbolUniqueId(3080);
+ TSymbolUniqueId(3114);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler2D1_Float2_Float1_Int2 =
- TSymbolUniqueId(3081);
+ TSymbolUniqueId(3115);
static constexpr const TSymbolUniqueId textureLodOffset_USampler2D1_Float2_Float1_Int2 =
- TSymbolUniqueId(3082);
+ TSymbolUniqueId(3116);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler3D1_Float3_Float1_Int3 =
- TSymbolUniqueId(3083);
+ TSymbolUniqueId(3117);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler3D1_Float3_Float1_Int3 =
- TSymbolUniqueId(3084);
+ TSymbolUniqueId(3118);
static constexpr const TSymbolUniqueId textureLodOffset_USampler3D1_Float3_Float1_Int3 =
- TSymbolUniqueId(3085);
+ TSymbolUniqueId(3119);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2 =
- TSymbolUniqueId(3086);
+ TSymbolUniqueId(3120);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DArray1_Float3_Float1_Int2 =
- TSymbolUniqueId(3087);
+ TSymbolUniqueId(3121);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler2DArray1_Float3_Float1_Int2 =
- TSymbolUniqueId(3088);
+ TSymbolUniqueId(3122);
static constexpr const TSymbolUniqueId textureLodOffset_USampler2DArray1_Float3_Float1_Int2 =
- TSymbolUniqueId(3089);
+ TSymbolUniqueId(3123);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float3_Float1_Int2 =
- TSymbolUniqueId(3090);
+ TSymbolUniqueId(3124);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float3_Float1_Int2 =
- TSymbolUniqueId(3091);
+ TSymbolUniqueId(3125);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float3_Float1_Int2 =
- TSymbolUniqueId(3092);
+ TSymbolUniqueId(3126);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float4_Float1_Int2 =
- TSymbolUniqueId(3093);
+ TSymbolUniqueId(3127);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float4_Float1_Int2 =
- TSymbolUniqueId(3094);
+ TSymbolUniqueId(3128);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float4_Float1_Int2 =
- TSymbolUniqueId(3095);
+ TSymbolUniqueId(3129);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler3D1_Float4_Float1_Int3 =
- TSymbolUniqueId(3096);
+ TSymbolUniqueId(3130);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler3D1_Float4_Float1_Int3 =
- TSymbolUniqueId(3097);
+ TSymbolUniqueId(3131);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler3D1_Float4_Float1_Int3 =
- TSymbolUniqueId(3098);
+ TSymbolUniqueId(3132);
static constexpr const TSymbolUniqueId
- textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(3099);
+ textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(3133);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2D1_Int2_Int1_Int2 =
- TSymbolUniqueId(3100);
+ TSymbolUniqueId(3134);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2D1_Int2_Int1_Int2 =
- TSymbolUniqueId(3101);
+ TSymbolUniqueId(3135);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler2D1_Int2_Int1_Int2 =
- TSymbolUniqueId(3102);
+ TSymbolUniqueId(3136);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler3D1_Int3_Int1_Int3 =
- TSymbolUniqueId(3103);
+ TSymbolUniqueId(3137);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler3D1_Int3_Int1_Int3 =
- TSymbolUniqueId(3104);
+ TSymbolUniqueId(3138);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler3D1_Int3_Int1_Int3 =
- TSymbolUniqueId(3105);
+ TSymbolUniqueId(3139);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2 =
- TSymbolUniqueId(3106);
+ TSymbolUniqueId(3140);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2 =
- TSymbolUniqueId(3107);
+ TSymbolUniqueId(3141);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler2DArray1_Int3_Int1_Int2 =
- TSymbolUniqueId(3108);
+ TSymbolUniqueId(3142);
static constexpr const TSymbolUniqueId textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2 =
- TSymbolUniqueId(3109);
+ TSymbolUniqueId(3143);
static constexpr const TSymbolUniqueId textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2 =
- TSymbolUniqueId(3110);
+ TSymbolUniqueId(3144);
static constexpr const TSymbolUniqueId textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2 =
- TSymbolUniqueId(3111);
+ TSymbolUniqueId(3145);
static constexpr const TSymbolUniqueId textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3 =
- TSymbolUniqueId(3112);
+ TSymbolUniqueId(3146);
static constexpr const TSymbolUniqueId textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3 =
- TSymbolUniqueId(3113);
+ TSymbolUniqueId(3147);
static constexpr const TSymbolUniqueId textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3 =
- TSymbolUniqueId(3114);
+ TSymbolUniqueId(3148);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3115);
+ textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3149);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3116);
+ textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3150);
static constexpr const TSymbolUniqueId
- textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3117);
+ textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3151);
static constexpr const TSymbolUniqueId
- textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3118);
+ textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3152);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3119);
+ textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3153);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3120);
+ textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3154);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3121);
+ textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3155);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3122);
+ textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(3156);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3123);
+ textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3157);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3124);
+ textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3158);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3125);
+ textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3159);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(3126);
+ textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(3160);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(3127);
+ textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(3161);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(3128);
+ textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(3162);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3129);
+ textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(3163);
static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2_Float1 =
- TSymbolUniqueId(3130);
+ TSymbolUniqueId(3164);
static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2_Float1 =
- TSymbolUniqueId(3131);
+ TSymbolUniqueId(3165);
static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2_Float1 =
- TSymbolUniqueId(3132);
+ TSymbolUniqueId(3166);
static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3_Float1 =
- TSymbolUniqueId(3133);
+ TSymbolUniqueId(3167);
static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3_Float1 =
- TSymbolUniqueId(3134);
+ TSymbolUniqueId(3168);
static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3_Float1 =
- TSymbolUniqueId(3135);
+ TSymbolUniqueId(3169);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2_Float1 =
- TSymbolUniqueId(3136);
+ TSymbolUniqueId(3170);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2_Float1 =
- TSymbolUniqueId(3137);
+ TSymbolUniqueId(3171);
static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2_Float1 =
- TSymbolUniqueId(3138);
+ TSymbolUniqueId(3172);
static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2_Float1 =
- TSymbolUniqueId(3139);
+ TSymbolUniqueId(3173);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2_Float1 =
- TSymbolUniqueId(3140);
+ TSymbolUniqueId(3174);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2_Float1 =
- TSymbolUniqueId(3141);
+ TSymbolUniqueId(3175);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2_Float1 =
- TSymbolUniqueId(3142);
+ TSymbolUniqueId(3176);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2_Float1 =
- TSymbolUniqueId(3143);
+ TSymbolUniqueId(3177);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2_Float1 =
- TSymbolUniqueId(3144);
+ TSymbolUniqueId(3178);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2_Float1 =
- TSymbolUniqueId(3145);
+ TSymbolUniqueId(3179);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3_Float1 =
- TSymbolUniqueId(3146);
+ TSymbolUniqueId(3180);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3_Float1 =
- TSymbolUniqueId(3147);
+ TSymbolUniqueId(3181);
static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3_Float1 =
- TSymbolUniqueId(3148);
+ TSymbolUniqueId(3182);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1 =
- TSymbolUniqueId(3149);
+ TSymbolUniqueId(3183);
static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2 =
- TSymbolUniqueId(3150);
+ TSymbolUniqueId(3184);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3 =
- TSymbolUniqueId(3151);
+ TSymbolUniqueId(3185);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4 =
- TSymbolUniqueId(3152);
+ TSymbolUniqueId(3186);
static constexpr const TSymbolUniqueId textureSize_SamplerExternalOES1_Int1 =
- TSymbolUniqueId(3153);
+ TSymbolUniqueId(3187);
static constexpr const TSymbolUniqueId texelFetch_SamplerExternalOES1_Int2_Int1 =
- TSymbolUniqueId(3154);
+ TSymbolUniqueId(3188);
static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2 =
- TSymbolUniqueId(3155);
+ TSymbolUniqueId(3189);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3 =
- TSymbolUniqueId(3156);
+ TSymbolUniqueId(3190);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4 =
- TSymbolUniqueId(3157);
+ TSymbolUniqueId(3191);
static constexpr const TSymbolUniqueId rgb_2_yuv_Float3_YuvCscStandardEXT1 =
- TSymbolUniqueId(3158);
- static constexpr const TSymbolUniqueId pt00H = TSymbolUniqueId(3159);
+ TSymbolUniqueId(3192);
+ static constexpr const TSymbolUniqueId pt00H = TSymbolUniqueId(3193);
static constexpr const TSymbolUniqueId yuv_2_rgb_Float3_YuvCscStandardEXT1 =
- TSymbolUniqueId(3160);
+ TSymbolUniqueId(3194);
static constexpr const TSymbolUniqueId textureSize_SamplerExternal2DY2YEXT1_Int1 =
- TSymbolUniqueId(3161);
+ TSymbolUniqueId(3195);
static constexpr const TSymbolUniqueId texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1 =
- TSymbolUniqueId(3162);
- static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2 = TSymbolUniqueId(3163);
- static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(3164);
- static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(3165);
+ TSymbolUniqueId(3196);
+ static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2 = TSymbolUniqueId(3197);
+ static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(3198);
+ static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(3199);
static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2_Int1 =
- TSymbolUniqueId(3166);
+ TSymbolUniqueId(3200);
static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2_Int1 =
- TSymbolUniqueId(3167);
+ TSymbolUniqueId(3201);
static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2_Int1 =
- TSymbolUniqueId(3168);
+ TSymbolUniqueId(3202);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3 =
- TSymbolUniqueId(3169);
+ TSymbolUniqueId(3203);
static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3 =
- TSymbolUniqueId(3170);
+ TSymbolUniqueId(3204);
static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3 =
- TSymbolUniqueId(3171);
+ TSymbolUniqueId(3205);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3_Int1 =
- TSymbolUniqueId(3172);
+ TSymbolUniqueId(3206);
static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3_Int1 =
- TSymbolUniqueId(3173);
+ TSymbolUniqueId(3207);
static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3_Int1 =
- TSymbolUniqueId(3174);
+ TSymbolUniqueId(3208);
static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3 =
- TSymbolUniqueId(3175);
+ TSymbolUniqueId(3209);
static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3 =
- TSymbolUniqueId(3176);
+ TSymbolUniqueId(3210);
static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3 =
- TSymbolUniqueId(3177);
+ TSymbolUniqueId(3211);
static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3_Int1 =
- TSymbolUniqueId(3178);
+ TSymbolUniqueId(3212);
static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3_Int1 =
- TSymbolUniqueId(3179);
+ TSymbolUniqueId(3213);
static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3_Int1 =
- TSymbolUniqueId(3180);
+ TSymbolUniqueId(3214);
static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2 =
- TSymbolUniqueId(3181);
+ TSymbolUniqueId(3215);
static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2_Float1 =
- TSymbolUniqueId(3182);
+ TSymbolUniqueId(3216);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3 =
- TSymbolUniqueId(3183);
+ TSymbolUniqueId(3217);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3_Float1 =
- TSymbolUniqueId(3184);
+ TSymbolUniqueId(3218);
static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3 =
- TSymbolUniqueId(3185);
+ TSymbolUniqueId(3219);
static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3_Float1 =
- TSymbolUniqueId(3186);
+ TSymbolUniqueId(3220);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(3187);
- static constexpr const TSymbolUniqueId pt10Dx4 = TSymbolUniqueId(3188);
+ TSymbolUniqueId(3221);
+ static constexpr const TSymbolUniqueId pt10Dx4 = TSymbolUniqueId(3222);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(3189);
+ TSymbolUniqueId(3223);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(3190);
+ TSymbolUniqueId(3224);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2DArray1_Float3_4xInt2_Int1 =
- TSymbolUniqueId(3191);
+ TSymbolUniqueId(3225);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3192);
+ textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3226);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3193);
+ textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3227);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(3194);
+ TSymbolUniqueId(3228);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(3195);
+ TSymbolUniqueId(3229);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_USampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(3196);
+ TSymbolUniqueId(3230);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3197);
+ textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3231);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3198);
+ textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3232);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3199);
+ textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(3233);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(3200);
+ TSymbolUniqueId(3234);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(3201);
+ TSymbolUniqueId(3235);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(3202);
+ TSymbolUniqueId(3236);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(3203);
+ TSymbolUniqueId(3237);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(3204);
+ TSymbolUniqueId(3238);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(3205);
+ TSymbolUniqueId(3239);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(3206);
+ textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(3240);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(3207);
+ textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(3241);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(3208);
+ TSymbolUniqueId(3242);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(3209);
+ TSymbolUniqueId(3243);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_USampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(3210);
+ TSymbolUniqueId(3244);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(3211);
+ TSymbolUniqueId(3245);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(3212);
+ TSymbolUniqueId(3246);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(3213);
+ TSymbolUniqueId(3247);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(3214);
+ textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(3248);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(3215);
+ textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(3249);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2_Int1 =
- TSymbolUniqueId(3216);
+ TSymbolUniqueId(3250);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2_Int1 =
- TSymbolUniqueId(3217);
+ TSymbolUniqueId(3251);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2_Int1 =
- TSymbolUniqueId(3218);
+ TSymbolUniqueId(3252);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1 =
- TSymbolUniqueId(3219);
+ TSymbolUniqueId(3253);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1 =
- TSymbolUniqueId(3220);
+ TSymbolUniqueId(3254);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2_Int1 =
- TSymbolUniqueId(3221);
+ TSymbolUniqueId(3255);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2 =
- TSymbolUniqueId(3222);
+ TSymbolUniqueId(3256);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2 =
- TSymbolUniqueId(3223);
+ TSymbolUniqueId(3257);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2 =
- TSymbolUniqueId(3224);
+ TSymbolUniqueId(3258);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(3225);
+ TSymbolUniqueId(3259);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(3226);
+ TSymbolUniqueId(3260);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(3227);
+ TSymbolUniqueId(3261);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2 =
- TSymbolUniqueId(3228);
+ TSymbolUniqueId(3262);
static constexpr const TSymbolUniqueId
- textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2 = TSymbolUniqueId(3229);
- static constexpr const TSymbolUniqueId dFdx_Float1 = TSymbolUniqueId(3230);
- static constexpr const TSymbolUniqueId dFdx_Float2 = TSymbolUniqueId(3231);
- static constexpr const TSymbolUniqueId dFdx_Float3 = TSymbolUniqueId(3232);
- static constexpr const TSymbolUniqueId dFdx_Float4 = TSymbolUniqueId(3233);
- static constexpr const TSymbolUniqueId dFdy_Float1 = TSymbolUniqueId(3234);
- static constexpr const TSymbolUniqueId dFdy_Float2 = TSymbolUniqueId(3235);
- static constexpr const TSymbolUniqueId dFdy_Float3 = TSymbolUniqueId(3236);
- static constexpr const TSymbolUniqueId dFdy_Float4 = TSymbolUniqueId(3237);
- static constexpr const TSymbolUniqueId fwidth_Float1 = TSymbolUniqueId(3238);
- static constexpr const TSymbolUniqueId fwidth_Float2 = TSymbolUniqueId(3239);
- static constexpr const TSymbolUniqueId fwidth_Float3 = TSymbolUniqueId(3240);
- static constexpr const TSymbolUniqueId fwidth_Float4 = TSymbolUniqueId(3241);
- static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(3242);
- static constexpr const TSymbolUniqueId pt00G = TSymbolUniqueId(3243);
+ textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2 = TSymbolUniqueId(3263);
+ static constexpr const TSymbolUniqueId dFdx_Float1 = TSymbolUniqueId(3264);
+ static constexpr const TSymbolUniqueId dFdx_Float2 = TSymbolUniqueId(3265);
+ static constexpr const TSymbolUniqueId dFdx_Float3 = TSymbolUniqueId(3266);
+ static constexpr const TSymbolUniqueId dFdx_Float4 = TSymbolUniqueId(3267);
+ static constexpr const TSymbolUniqueId dFdy_Float1 = TSymbolUniqueId(3268);
+ static constexpr const TSymbolUniqueId dFdy_Float2 = TSymbolUniqueId(3269);
+ static constexpr const TSymbolUniqueId dFdy_Float3 = TSymbolUniqueId(3270);
+ static constexpr const TSymbolUniqueId dFdy_Float4 = TSymbolUniqueId(3271);
+ static constexpr const TSymbolUniqueId fwidth_Float1 = TSymbolUniqueId(3272);
+ static constexpr const TSymbolUniqueId fwidth_Float2 = TSymbolUniqueId(3273);
+ static constexpr const TSymbolUniqueId fwidth_Float3 = TSymbolUniqueId(3274);
+ static constexpr const TSymbolUniqueId fwidth_Float4 = TSymbolUniqueId(3275);
+ static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(3276);
+ static constexpr const TSymbolUniqueId pt00G = TSymbolUniqueId(3277);
static constexpr const TSymbolUniqueId atomicCounterIncrement_AtomicCounter1 =
- TSymbolUniqueId(3244);
+ TSymbolUniqueId(3278);
static constexpr const TSymbolUniqueId atomicCounterDecrement_AtomicCounter1 =
- TSymbolUniqueId(3245);
- static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1 = TSymbolUniqueId(3246);
- static constexpr const TSymbolUniqueId pt_io_00E = TSymbolUniqueId(3247);
- static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1 = TSymbolUniqueId(3248);
- static constexpr const TSymbolUniqueId pt_io_00D = TSymbolUniqueId(3249);
- static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1 = TSymbolUniqueId(3250);
- static constexpr const TSymbolUniqueId atomicMin_Int1_Int1 = TSymbolUniqueId(3251);
- static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1 = TSymbolUniqueId(3252);
- static constexpr const TSymbolUniqueId atomicMax_Int1_Int1 = TSymbolUniqueId(3253);
- static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1 = TSymbolUniqueId(3254);
- static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1 = TSymbolUniqueId(3255);
- static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1 = TSymbolUniqueId(3256);
- static constexpr const TSymbolUniqueId atomicOr_Int1_Int1 = TSymbolUniqueId(3257);
- static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1 = TSymbolUniqueId(3258);
- static constexpr const TSymbolUniqueId atomicXor_Int1_Int1 = TSymbolUniqueId(3259);
- static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1 = TSymbolUniqueId(3260);
- static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1 = TSymbolUniqueId(3261);
- static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(3262);
- static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1 = TSymbolUniqueId(3263);
- static constexpr const TSymbolUniqueId imageSize_Image2D1 = TSymbolUniqueId(3264);
- static constexpr const TSymbolUniqueId pt00z = TSymbolUniqueId(3265);
- static constexpr const TSymbolUniqueId imageSize_IImage2D1 = TSymbolUniqueId(3266);
- static constexpr const TSymbolUniqueId pt01A = TSymbolUniqueId(3267);
- static constexpr const TSymbolUniqueId imageSize_UImage2D1 = TSymbolUniqueId(3268);
- static constexpr const TSymbolUniqueId pt01B = TSymbolUniqueId(3269);
- static constexpr const TSymbolUniqueId imageSize_Image3D1 = TSymbolUniqueId(3270);
- static constexpr const TSymbolUniqueId pt01C = TSymbolUniqueId(3271);
- static constexpr const TSymbolUniqueId imageSize_IImage3D1 = TSymbolUniqueId(3272);
- static constexpr const TSymbolUniqueId pt01D = TSymbolUniqueId(3273);
- static constexpr const TSymbolUniqueId imageSize_UImage3D1 = TSymbolUniqueId(3274);
- static constexpr const TSymbolUniqueId pt01E = TSymbolUniqueId(3275);
- static constexpr const TSymbolUniqueId imageSize_Image2DArray1 = TSymbolUniqueId(3276);
- static constexpr const TSymbolUniqueId pt01F = TSymbolUniqueId(3277);
- static constexpr const TSymbolUniqueId imageSize_IImage2DArray1 = TSymbolUniqueId(3278);
- static constexpr const TSymbolUniqueId pt01G = TSymbolUniqueId(3279);
- static constexpr const TSymbolUniqueId imageSize_UImage2DArray1 = TSymbolUniqueId(3280);
- static constexpr const TSymbolUniqueId pt01H = TSymbolUniqueId(3281);
- static constexpr const TSymbolUniqueId imageSize_ImageCube1 = TSymbolUniqueId(3282);
- static constexpr const TSymbolUniqueId pt01I = TSymbolUniqueId(3283);
- static constexpr const TSymbolUniqueId imageSize_IImageCube1 = TSymbolUniqueId(3284);
- static constexpr const TSymbolUniqueId pt01J = TSymbolUniqueId(3285);
- static constexpr const TSymbolUniqueId imageSize_UImageCube1 = TSymbolUniqueId(3286);
- static constexpr const TSymbolUniqueId pt01K = TSymbolUniqueId(3287);
- static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2 = TSymbolUniqueId(3288);
- static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2 = TSymbolUniqueId(3289);
- static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2 = TSymbolUniqueId(3290);
- static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3 = TSymbolUniqueId(3291);
- static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3 = TSymbolUniqueId(3292);
- static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3 = TSymbolUniqueId(3293);
- static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3 = TSymbolUniqueId(3294);
- static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3 = TSymbolUniqueId(3295);
- static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3 = TSymbolUniqueId(3296);
- static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3 = TSymbolUniqueId(3297);
- static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3 = TSymbolUniqueId(3298);
- static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3 = TSymbolUniqueId(3299);
- static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4 = TSymbolUniqueId(3300);
- static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4 = TSymbolUniqueId(3301);
- static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4 = TSymbolUniqueId(3302);
- static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4 = TSymbolUniqueId(3303);
- static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4 = TSymbolUniqueId(3304);
- static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4 = TSymbolUniqueId(3305);
+ TSymbolUniqueId(3279);
+ static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1 = TSymbolUniqueId(3280);
+ static constexpr const TSymbolUniqueId pt_io_00E = TSymbolUniqueId(3281);
+ static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1 = TSymbolUniqueId(3282);
+ static constexpr const TSymbolUniqueId pt_io_00D = TSymbolUniqueId(3283);
+ static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1 = TSymbolUniqueId(3284);
+ static constexpr const TSymbolUniqueId atomicMin_Int1_Int1 = TSymbolUniqueId(3285);
+ static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1 = TSymbolUniqueId(3286);
+ static constexpr const TSymbolUniqueId atomicMax_Int1_Int1 = TSymbolUniqueId(3287);
+ static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1 = TSymbolUniqueId(3288);
+ static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1 = TSymbolUniqueId(3289);
+ static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1 = TSymbolUniqueId(3290);
+ static constexpr const TSymbolUniqueId atomicOr_Int1_Int1 = TSymbolUniqueId(3291);
+ static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1 = TSymbolUniqueId(3292);
+ static constexpr const TSymbolUniqueId atomicXor_Int1_Int1 = TSymbolUniqueId(3293);
+ static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1 = TSymbolUniqueId(3294);
+ static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1 = TSymbolUniqueId(3295);
+ static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(3296);
+ static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1 = TSymbolUniqueId(3297);
+ static constexpr const TSymbolUniqueId imageSize_Image2D1 = TSymbolUniqueId(3298);
+ static constexpr const TSymbolUniqueId pt00z = TSymbolUniqueId(3299);
+ static constexpr const TSymbolUniqueId imageSize_IImage2D1 = TSymbolUniqueId(3300);
+ static constexpr const TSymbolUniqueId pt01A = TSymbolUniqueId(3301);
+ static constexpr const TSymbolUniqueId imageSize_UImage2D1 = TSymbolUniqueId(3302);
+ static constexpr const TSymbolUniqueId pt01B = TSymbolUniqueId(3303);
+ static constexpr const TSymbolUniqueId imageSize_Image3D1 = TSymbolUniqueId(3304);
+ static constexpr const TSymbolUniqueId pt01C = TSymbolUniqueId(3305);
+ static constexpr const TSymbolUniqueId imageSize_IImage3D1 = TSymbolUniqueId(3306);
+ static constexpr const TSymbolUniqueId pt01D = TSymbolUniqueId(3307);
+ static constexpr const TSymbolUniqueId imageSize_UImage3D1 = TSymbolUniqueId(3308);
+ static constexpr const TSymbolUniqueId pt01E = TSymbolUniqueId(3309);
+ static constexpr const TSymbolUniqueId imageSize_Image2DArray1 = TSymbolUniqueId(3310);
+ static constexpr const TSymbolUniqueId pt01F = TSymbolUniqueId(3311);
+ static constexpr const TSymbolUniqueId imageSize_IImage2DArray1 = TSymbolUniqueId(3312);
+ static constexpr const TSymbolUniqueId pt01G = TSymbolUniqueId(3313);
+ static constexpr const TSymbolUniqueId imageSize_UImage2DArray1 = TSymbolUniqueId(3314);
+ static constexpr const TSymbolUniqueId pt01H = TSymbolUniqueId(3315);
+ static constexpr const TSymbolUniqueId imageSize_ImageCube1 = TSymbolUniqueId(3316);
+ static constexpr const TSymbolUniqueId pt01I = TSymbolUniqueId(3317);
+ static constexpr const TSymbolUniqueId imageSize_IImageCube1 = TSymbolUniqueId(3318);
+ static constexpr const TSymbolUniqueId pt01J = TSymbolUniqueId(3319);
+ static constexpr const TSymbolUniqueId imageSize_UImageCube1 = TSymbolUniqueId(3320);
+ static constexpr const TSymbolUniqueId pt01K = TSymbolUniqueId(3321);
+ static constexpr const TSymbolUniqueId imageSize_ImageCubeArray1 = TSymbolUniqueId(3322);
+ static constexpr const TSymbolUniqueId pt01a = TSymbolUniqueId(3323);
+ static constexpr const TSymbolUniqueId imageSize_IImageCubeArray1 = TSymbolUniqueId(3324);
+ static constexpr const TSymbolUniqueId pt01b = TSymbolUniqueId(3325);
+ static constexpr const TSymbolUniqueId imageSize_UImageCubeArray1 = TSymbolUniqueId(3326);
+ static constexpr const TSymbolUniqueId pt01c = TSymbolUniqueId(3327);
+ static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2 = TSymbolUniqueId(3328);
+ static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2 = TSymbolUniqueId(3329);
+ static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2 = TSymbolUniqueId(3330);
+ static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3 = TSymbolUniqueId(3331);
+ static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3 = TSymbolUniqueId(3332);
+ static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3 = TSymbolUniqueId(3333);
+ static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3 = TSymbolUniqueId(3334);
+ static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3 = TSymbolUniqueId(3335);
+ static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3 = TSymbolUniqueId(3336);
+ static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3 = TSymbolUniqueId(3337);
+ static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3 = TSymbolUniqueId(3338);
+ static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3 = TSymbolUniqueId(3339);
+ static constexpr const TSymbolUniqueId imageLoad_ImageCubeArray1_Int3 = TSymbolUniqueId(3340);
+ static constexpr const TSymbolUniqueId imageLoad_IImageCubeArray1_Int3 = TSymbolUniqueId(3341);
+ static constexpr const TSymbolUniqueId imageLoad_UImageCubeArray1_Int3 = TSymbolUniqueId(3342);
+ static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4 = TSymbolUniqueId(3343);
+ static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4 = TSymbolUniqueId(3344);
+ static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4 = TSymbolUniqueId(3345);
+ static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4 = TSymbolUniqueId(3346);
+ static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4 = TSymbolUniqueId(3347);
+ static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4 = TSymbolUniqueId(3348);
static constexpr const TSymbolUniqueId imageStore_Image2DArray1_Int3_Float4 =
- TSymbolUniqueId(3306);
+ TSymbolUniqueId(3349);
static constexpr const TSymbolUniqueId imageStore_IImage2DArray1_Int3_Int4 =
- TSymbolUniqueId(3307);
+ TSymbolUniqueId(3350);
static constexpr const TSymbolUniqueId imageStore_UImage2DArray1_Int3_UInt4 =
- TSymbolUniqueId(3308);
+ TSymbolUniqueId(3351);
static constexpr const TSymbolUniqueId imageStore_ImageCube1_Int3_Float4 =
- TSymbolUniqueId(3309);
- static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4 = TSymbolUniqueId(3310);
+ TSymbolUniqueId(3352);
+ static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4 = TSymbolUniqueId(3353);
static constexpr const TSymbolUniqueId imageStore_UImageCube1_Int3_UInt4 =
- TSymbolUniqueId(3311);
- static constexpr const TSymbolUniqueId memoryBarrier = TSymbolUniqueId(3312);
- static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter = TSymbolUniqueId(3313);
- static constexpr const TSymbolUniqueId memoryBarrierBuffer = TSymbolUniqueId(3314);
- static constexpr const TSymbolUniqueId memoryBarrierImage = TSymbolUniqueId(3315);
- static constexpr const TSymbolUniqueId barrier = TSymbolUniqueId(3316);
- static constexpr const TSymbolUniqueId memoryBarrierShared = TSymbolUniqueId(3317);
- static constexpr const TSymbolUniqueId groupMemoryBarrier = TSymbolUniqueId(3318);
- static constexpr const TSymbolUniqueId EmitVertex = TSymbolUniqueId(3319);
- static constexpr const TSymbolUniqueId EndPrimitive = TSymbolUniqueId(3320);
+ TSymbolUniqueId(3354);
+ static constexpr const TSymbolUniqueId imageStore_ImageCubeArray1_Int3_Float4 =
+ TSymbolUniqueId(3355);
+ static constexpr const TSymbolUniqueId imageStore_IImageCubeArray1_Int3_Int4 =
+ TSymbolUniqueId(3356);
+ static constexpr const TSymbolUniqueId imageStore_UImageCubeArray1_Int3_UInt4 =
+ TSymbolUniqueId(3357);
+ static constexpr const TSymbolUniqueId memoryBarrier = TSymbolUniqueId(3358);
+ static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter = TSymbolUniqueId(3359);
+ static constexpr const TSymbolUniqueId memoryBarrierBuffer = TSymbolUniqueId(3360);
+ static constexpr const TSymbolUniqueId memoryBarrierImage = TSymbolUniqueId(3361);
+ static constexpr const TSymbolUniqueId barrier = TSymbolUniqueId(3362);
+ static constexpr const TSymbolUniqueId memoryBarrierShared = TSymbolUniqueId(3363);
+ static constexpr const TSymbolUniqueId groupMemoryBarrier = TSymbolUniqueId(3364);
+ static constexpr const TSymbolUniqueId EmitVertex = TSymbolUniqueId(3365);
+ static constexpr const TSymbolUniqueId EndPrimitive = TSymbolUniqueId(3366);
static constexpr const TSymbolUniqueId textureVideoWEBGL_SamplerVideoWEBGL1_Float2 =
- TSymbolUniqueId(3321);
- static constexpr const TSymbolUniqueId pt00y = TSymbolUniqueId(3322);
+ TSymbolUniqueId(3367);
+ static constexpr const TSymbolUniqueId pt00y = TSymbolUniqueId(3368);
static constexpr const TSymbolUniqueId texture_SamplerVideoWEBGL1_Float2 =
- TSymbolUniqueId(3323);
- static constexpr const TSymbolUniqueId gl_DepthRangeParameters = TSymbolUniqueId(3324);
- static constexpr const TSymbolUniqueId gl_DepthRange = TSymbolUniqueId(3325);
- static constexpr const TSymbolUniqueId gl_MaxVertexAttribs = TSymbolUniqueId(3326);
- static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors = TSymbolUniqueId(3327);
- static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits = TSymbolUniqueId(3328);
- static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits = TSymbolUniqueId(3329);
- static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits = TSymbolUniqueId(3330);
- static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors = TSymbolUniqueId(3331);
- static constexpr const TSymbolUniqueId gl_MaxVaryingVectors = TSymbolUniqueId(3332);
- static constexpr const TSymbolUniqueId gl_MaxDrawBuffers = TSymbolUniqueId(3333);
- static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT = TSymbolUniqueId(3334);
- static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors = TSymbolUniqueId(3335);
- static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors = TSymbolUniqueId(3336);
- static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset = TSymbolUniqueId(3337);
- static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset = TSymbolUniqueId(3338);
- static constexpr const TSymbolUniqueId gl_MaxImageUnits = TSymbolUniqueId(3339);
- static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms = TSymbolUniqueId(3340);
- static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms = TSymbolUniqueId(3341);
- static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms = TSymbolUniqueId(3342);
- static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms = TSymbolUniqueId(3343);
+ TSymbolUniqueId(3369);
+ static constexpr const TSymbolUniqueId gl_DepthRangeParameters = TSymbolUniqueId(3370);
+ static constexpr const TSymbolUniqueId gl_DepthRange = TSymbolUniqueId(3371);
+ static constexpr const TSymbolUniqueId gl_MaxVertexAttribs = TSymbolUniqueId(3372);
+ static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors = TSymbolUniqueId(3373);
+ static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits = TSymbolUniqueId(3374);
+ static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits = TSymbolUniqueId(3375);
+ static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits = TSymbolUniqueId(3376);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors = TSymbolUniqueId(3377);
+ static constexpr const TSymbolUniqueId gl_MaxVaryingVectors = TSymbolUniqueId(3378);
+ static constexpr const TSymbolUniqueId gl_MaxDrawBuffers = TSymbolUniqueId(3379);
+ static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT = TSymbolUniqueId(3380);
+ static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors = TSymbolUniqueId(3381);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors = TSymbolUniqueId(3382);
+ static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset = TSymbolUniqueId(3383);
+ static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset = TSymbolUniqueId(3384);
+ static constexpr const TSymbolUniqueId gl_MaxImageUnits = TSymbolUniqueId(3385);
+ static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms = TSymbolUniqueId(3386);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms = TSymbolUniqueId(3387);
+ static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms = TSymbolUniqueId(3388);
+ static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms = TSymbolUniqueId(3389);
static constexpr const TSymbolUniqueId gl_MaxCombinedShaderOutputResources =
- TSymbolUniqueId(3344);
- static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount = TSymbolUniqueId(3345);
- static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize = TSymbolUniqueId(3346);
- static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents = TSymbolUniqueId(3347);
- static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits = TSymbolUniqueId(3348);
- static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters = TSymbolUniqueId(3349);
+ TSymbolUniqueId(3390);
+ static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount = TSymbolUniqueId(3391);
+ static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize = TSymbolUniqueId(3392);
+ static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents = TSymbolUniqueId(3393);
+ static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits = TSymbolUniqueId(3394);
+ static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters = TSymbolUniqueId(3395);
static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounterBuffers =
- TSymbolUniqueId(3350);
- static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters = TSymbolUniqueId(3351);
- static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters = TSymbolUniqueId(3352);
- static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters = TSymbolUniqueId(3353);
- static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings = TSymbolUniqueId(3354);
- static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers = TSymbolUniqueId(3355);
+ TSymbolUniqueId(3396);
+ static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters = TSymbolUniqueId(3397);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters = TSymbolUniqueId(3398);
+ static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters = TSymbolUniqueId(3399);
+ static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings = TSymbolUniqueId(3400);
+ static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers = TSymbolUniqueId(3401);
static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounterBuffers =
- TSymbolUniqueId(3356);
+ TSymbolUniqueId(3402);
static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounterBuffers =
- TSymbolUniqueId(3357);
- static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize = TSymbolUniqueId(3358);
- static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents = TSymbolUniqueId(3359);
- static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents = TSymbolUniqueId(3360);
- static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms = TSymbolUniqueId(3361);
- static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(3362);
- static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices = TSymbolUniqueId(3363);
+ TSymbolUniqueId(3403);
+ static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize = TSymbolUniqueId(3404);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents = TSymbolUniqueId(3405);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents = TSymbolUniqueId(3406);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms = TSymbolUniqueId(3407);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(3408);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices = TSymbolUniqueId(3409);
static constexpr const TSymbolUniqueId gl_MaxGeometryTotalOutputComponents =
- TSymbolUniqueId(3364);
- static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(3365);
- static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters = TSymbolUniqueId(3366);
+ TSymbolUniqueId(3410);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(3411);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters = TSymbolUniqueId(3412);
static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounterBuffers =
- TSymbolUniqueId(3367);
- static constexpr const TSymbolUniqueId gl_FragCoord = TSymbolUniqueId(3368);
- static constexpr const TSymbolUniqueId gl_FrontFacing = TSymbolUniqueId(3369);
- static constexpr const TSymbolUniqueId gl_PointCoord = TSymbolUniqueId(3370);
- static constexpr const TSymbolUniqueId gl_FragColor = TSymbolUniqueId(3371);
- static constexpr const TSymbolUniqueId gl_FragData = TSymbolUniqueId(3372);
- static constexpr const TSymbolUniqueId gl_FragDepth = TSymbolUniqueId(3373);
- static constexpr const TSymbolUniqueId gl_HelperInvocation = TSymbolUniqueId(3374);
- static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(3375);
- static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT = TSymbolUniqueId(3376);
- static constexpr const TSymbolUniqueId gl_FragDepthEXT = TSymbolUniqueId(3377);
- static constexpr const TSymbolUniqueId gl_LastFragData = TSymbolUniqueId(3378);
- static constexpr const TSymbolUniqueId gl_LastFragColor = TSymbolUniqueId(3379);
- static constexpr const TSymbolUniqueId gl_LastFragDataNV = TSymbolUniqueId(3380);
- static constexpr const TSymbolUniqueId gl_LastFragColorARM = TSymbolUniqueId(3381);
- static constexpr const TSymbolUniqueId gl_PrimitiveID = TSymbolUniqueId(3382);
- static constexpr const TSymbolUniqueId gl_Layer = TSymbolUniqueId(3383);
- static constexpr const TSymbolUniqueId gl_Position = TSymbolUniqueId(3384);
- static constexpr const TSymbolUniqueId gl_PointSize = TSymbolUniqueId(3385);
- static constexpr const TSymbolUniqueId gl_InstanceID = TSymbolUniqueId(3386);
- static constexpr const TSymbolUniqueId gl_InstanceIndex = TSymbolUniqueId(3387);
- static constexpr const TSymbolUniqueId gl_VertexID = TSymbolUniqueId(3388);
- static constexpr const TSymbolUniqueId gl_VertexIndex = TSymbolUniqueId(3389);
- static constexpr const TSymbolUniqueId gl_ViewportIndex = TSymbolUniqueId(3390);
- static constexpr const TSymbolUniqueId gl_LayerVS = TSymbolUniqueId(3391);
- static constexpr const TSymbolUniqueId gl_DrawID = TSymbolUniqueId(3392);
- static constexpr const TSymbolUniqueId gl_BaseVertex = TSymbolUniqueId(3393);
- static constexpr const TSymbolUniqueId gl_BaseInstance = TSymbolUniqueId(3394);
- static constexpr const TSymbolUniqueId angle_BaseVertex = TSymbolUniqueId(3395);
- static constexpr const TSymbolUniqueId angle_BaseInstance = TSymbolUniqueId(3396);
- static constexpr const TSymbolUniqueId gl_ClipDistance = TSymbolUniqueId(3397);
- static constexpr const TSymbolUniqueId gl_MaxClipDistances = TSymbolUniqueId(3398);
- static constexpr const TSymbolUniqueId gl_NumWorkGroups = TSymbolUniqueId(3399);
- static constexpr const TSymbolUniqueId gl_WorkGroupSize = TSymbolUniqueId(3400);
- static constexpr const TSymbolUniqueId gl_WorkGroupID = TSymbolUniqueId(3401);
- static constexpr const TSymbolUniqueId gl_LocalInvocationID = TSymbolUniqueId(3402);
- static constexpr const TSymbolUniqueId gl_GlobalInvocationID = TSymbolUniqueId(3403);
- static constexpr const TSymbolUniqueId gl_LocalInvocationIndex = TSymbolUniqueId(3404);
- static constexpr const TSymbolUniqueId gl_PrimitiveIDIn = TSymbolUniqueId(3405);
- static constexpr const TSymbolUniqueId gl_InvocationID = TSymbolUniqueId(3406);
- static constexpr const TSymbolUniqueId gl_PrimitiveIDGS = TSymbolUniqueId(3407);
- static constexpr const TSymbolUniqueId gl_LayerGS = TSymbolUniqueId(3408);
- static constexpr const TSymbolUniqueId gl_PerVertex = TSymbolUniqueId(3409);
- static constexpr const TSymbolUniqueId gl_in = TSymbolUniqueId(3410);
- static constexpr const TSymbolUniqueId gl_PerVertexOutBlock = TSymbolUniqueId(3411);
- static constexpr const TSymbolUniqueId gl_PositionGS = TSymbolUniqueId(3412);
- static constexpr const TSymbolUniqueId gl_ViewID_OVR = TSymbolUniqueId(3413);
+ TSymbolUniqueId(3413);
+ static constexpr const TSymbolUniqueId gl_FragCoord = TSymbolUniqueId(3414);
+ static constexpr const TSymbolUniqueId gl_FrontFacing = TSymbolUniqueId(3415);
+ static constexpr const TSymbolUniqueId gl_PointCoord = TSymbolUniqueId(3416);
+ static constexpr const TSymbolUniqueId gl_FragColor = TSymbolUniqueId(3417);
+ static constexpr const TSymbolUniqueId gl_FragData = TSymbolUniqueId(3418);
+ static constexpr const TSymbolUniqueId gl_FragDepth = TSymbolUniqueId(3419);
+ static constexpr const TSymbolUniqueId gl_HelperInvocation = TSymbolUniqueId(3420);
+ static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(3421);
+ static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT = TSymbolUniqueId(3422);
+ static constexpr const TSymbolUniqueId gl_FragDepthEXT = TSymbolUniqueId(3423);
+ static constexpr const TSymbolUniqueId gl_LastFragData = TSymbolUniqueId(3424);
+ static constexpr const TSymbolUniqueId gl_LastFragColor = TSymbolUniqueId(3425);
+ static constexpr const TSymbolUniqueId gl_LastFragDataNV = TSymbolUniqueId(3426);
+ static constexpr const TSymbolUniqueId gl_LastFragColorARM = TSymbolUniqueId(3427);
+ static constexpr const TSymbolUniqueId gl_PrimitiveID = TSymbolUniqueId(3428);
+ static constexpr const TSymbolUniqueId gl_Layer = TSymbolUniqueId(3429);
+ static constexpr const TSymbolUniqueId gl_Position = TSymbolUniqueId(3430);
+ static constexpr const TSymbolUniqueId gl_PointSize = TSymbolUniqueId(3431);
+ static constexpr const TSymbolUniqueId gl_InstanceID = TSymbolUniqueId(3432);
+ static constexpr const TSymbolUniqueId gl_InstanceIndex = TSymbolUniqueId(3433);
+ static constexpr const TSymbolUniqueId gl_VertexID = TSymbolUniqueId(3434);
+ static constexpr const TSymbolUniqueId gl_VertexIndex = TSymbolUniqueId(3435);
+ static constexpr const TSymbolUniqueId gl_ViewportIndex = TSymbolUniqueId(3436);
+ static constexpr const TSymbolUniqueId gl_LayerVS = TSymbolUniqueId(3437);
+ static constexpr const TSymbolUniqueId gl_DrawID = TSymbolUniqueId(3438);
+ static constexpr const TSymbolUniqueId gl_BaseVertex = TSymbolUniqueId(3439);
+ static constexpr const TSymbolUniqueId gl_BaseInstance = TSymbolUniqueId(3440);
+ static constexpr const TSymbolUniqueId angle_BaseVertex = TSymbolUniqueId(3441);
+ static constexpr const TSymbolUniqueId angle_BaseInstance = TSymbolUniqueId(3442);
+ static constexpr const TSymbolUniqueId gl_ClipDistance = TSymbolUniqueId(3443);
+ static constexpr const TSymbolUniqueId gl_MaxClipDistances = TSymbolUniqueId(3444);
+ static constexpr const TSymbolUniqueId gl_NumWorkGroups = TSymbolUniqueId(3445);
+ static constexpr const TSymbolUniqueId gl_WorkGroupSize = TSymbolUniqueId(3446);
+ static constexpr const TSymbolUniqueId gl_WorkGroupID = TSymbolUniqueId(3447);
+ static constexpr const TSymbolUniqueId gl_LocalInvocationID = TSymbolUniqueId(3448);
+ static constexpr const TSymbolUniqueId gl_GlobalInvocationID = TSymbolUniqueId(3449);
+ static constexpr const TSymbolUniqueId gl_LocalInvocationIndex = TSymbolUniqueId(3450);
+ static constexpr const TSymbolUniqueId gl_PrimitiveIDIn = TSymbolUniqueId(3451);
+ static constexpr const TSymbolUniqueId gl_InvocationID = TSymbolUniqueId(3452);
+ static constexpr const TSymbolUniqueId gl_PrimitiveIDGS = TSymbolUniqueId(3453);
+ static constexpr const TSymbolUniqueId gl_LayerGS = TSymbolUniqueId(3454);
+ static constexpr const TSymbolUniqueId gl_PerVertex = TSymbolUniqueId(3455);
+ static constexpr const TSymbolUniqueId gl_in = TSymbolUniqueId(3456);
+ static constexpr const TSymbolUniqueId gl_PerVertexOutBlock = TSymbolUniqueId(3457);
+ static constexpr const TSymbolUniqueId gl_PositionGS = TSymbolUniqueId(3458);
+ static constexpr const TSymbolUniqueId gl_ViewID_OVR = TSymbolUniqueId(3459);
}; // class BuiltInId
diff --git a/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_complete_autogen.h b/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_complete_autogen.h
index e510c737d45..89fbab6a9ce 100644
--- a/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_complete_autogen.h
+++ b/chromium/third_party/angle/src/compiler/translator/tree_util/BuiltIn_complete_autogen.h
@@ -1256,2275 +1256,2286 @@ class BuiltInId
TSymbolUniqueId(1029);
static constexpr const TSymbolUniqueId textureSizeExt_USampler2DMSArray1 =
TSymbolUniqueId(1030);
+ static constexpr const TSymbolUniqueId texture_SamplerCubeArray1_Float4 = TSymbolUniqueId(1031);
+ static constexpr const TSymbolUniqueId texture_ISamplerCubeArray1_Float4 =
+ TSymbolUniqueId(1032);
+ static constexpr const TSymbolUniqueId texture_USamplerCubeArray1_Float4 =
+ TSymbolUniqueId(1033);
+ static constexpr const TSymbolUniqueId texture_SamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(1034);
+ static constexpr const TSymbolUniqueId texture_ISamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(1035);
+ static constexpr const TSymbolUniqueId texture_USamplerCubeArray1_Float4_Float1 =
+ TSymbolUniqueId(1036);
+ static constexpr const TSymbolUniqueId textureGather_SamplerCubeArray1_Float4 =
+ TSymbolUniqueId(1037);
+ static constexpr const TSymbolUniqueId textureGather_ISamplerCubeArray1_Float4 =
+ TSymbolUniqueId(1038);
+ static constexpr const TSymbolUniqueId textureGather_USamplerCubeArray1_Float4 =
+ TSymbolUniqueId(1039);
+ static constexpr const TSymbolUniqueId textureGather_SamplerCubeArray1_Float4_Int1 =
+ TSymbolUniqueId(1040);
+ static constexpr const TSymbolUniqueId textureGather_ISamplerCubeArray1_Float4_Int1 =
+ TSymbolUniqueId(1041);
+ static constexpr const TSymbolUniqueId textureGather_USamplerCubeArray1_Float4_Int1 =
+ TSymbolUniqueId(1042);
+ static constexpr const TSymbolUniqueId textureGather_SamplerCubeArrayShadow1_Float4_Float1 =
+ TSymbolUniqueId(1043);
static constexpr const TSymbolUniqueId texelFetch_Sampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(1031);
+ TSymbolUniqueId(1044);
static constexpr const TSymbolUniqueId texelFetch_ISampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(1032);
+ TSymbolUniqueId(1045);
static constexpr const TSymbolUniqueId texelFetch_USampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(1033);
+ TSymbolUniqueId(1046);
static constexpr const TSymbolUniqueId texelFetchExt_Sampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(1034);
+ TSymbolUniqueId(1047);
static constexpr const TSymbolUniqueId texelFetchExt_ISampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(1035);
+ TSymbolUniqueId(1048);
static constexpr const TSymbolUniqueId texelFetchExt_USampler2DMS1_Int2_Int1 =
- TSymbolUniqueId(1036);
+ TSymbolUniqueId(1049);
static constexpr const TSymbolUniqueId texelFetch_Sampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(1037);
+ TSymbolUniqueId(1050);
static constexpr const TSymbolUniqueId texelFetch_ISampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(1038);
+ TSymbolUniqueId(1051);
static constexpr const TSymbolUniqueId texelFetch_USampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(1039);
+ TSymbolUniqueId(1052);
static constexpr const TSymbolUniqueId texelFetchExt_Sampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(1040);
+ TSymbolUniqueId(1053);
static constexpr const TSymbolUniqueId texelFetchExt_ISampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(1041);
+ TSymbolUniqueId(1054);
static constexpr const TSymbolUniqueId texelFetchExt_USampler2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(1042);
- static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1 = TSymbolUniqueId(1043);
+ TSymbolUniqueId(1055);
+ static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1 = TSymbolUniqueId(1056);
static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2_Float1 =
- TSymbolUniqueId(1044);
+ TSymbolUniqueId(1057);
static constexpr const TSymbolUniqueId texture_USampler2D1_Float2_Float1 =
- TSymbolUniqueId(1045);
- static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1 = TSymbolUniqueId(1046);
+ TSymbolUniqueId(1058);
+ static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1 = TSymbolUniqueId(1059);
static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3_Float1 =
- TSymbolUniqueId(1047);
+ TSymbolUniqueId(1060);
static constexpr const TSymbolUniqueId texture_USampler3D1_Float3_Float1 =
- TSymbolUniqueId(1048);
+ TSymbolUniqueId(1061);
static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3_Float1 =
- TSymbolUniqueId(1049);
+ TSymbolUniqueId(1062);
static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3_Float1 =
- TSymbolUniqueId(1050);
+ TSymbolUniqueId(1063);
static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3_Float1 =
- TSymbolUniqueId(1051);
+ TSymbolUniqueId(1064);
static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(1052);
+ TSymbolUniqueId(1065);
static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(1053);
+ TSymbolUniqueId(1066);
static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3_Float1 =
- TSymbolUniqueId(1054);
+ TSymbolUniqueId(1067);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3_Float1 =
- TSymbolUniqueId(1055);
+ TSymbolUniqueId(1068);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3_Float1 =
- TSymbolUniqueId(1056);
+ TSymbolUniqueId(1069);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3_Float1 =
- TSymbolUniqueId(1057);
+ TSymbolUniqueId(1070);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4_Float1 =
- TSymbolUniqueId(1058);
+ TSymbolUniqueId(1071);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4_Float1 =
- TSymbolUniqueId(1059);
+ TSymbolUniqueId(1072);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4_Float1 =
- TSymbolUniqueId(1060);
+ TSymbolUniqueId(1073);
static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4_Float1 =
- TSymbolUniqueId(1061);
+ TSymbolUniqueId(1074);
static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4_Float1 =
- TSymbolUniqueId(1062);
+ TSymbolUniqueId(1075);
static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4_Float1 =
- TSymbolUniqueId(1063);
+ TSymbolUniqueId(1076);
static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3_Float1 =
- TSymbolUniqueId(1064);
+ TSymbolUniqueId(1077);
static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4_Float1 =
- TSymbolUniqueId(1065);
+ TSymbolUniqueId(1078);
static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4_Float1 =
- TSymbolUniqueId(1066);
- static constexpr const TSymbolUniqueId texture_Sampler1D1_Float1_Float1 = TSymbolUniqueId(1067);
+ TSymbolUniqueId(1079);
+ static constexpr const TSymbolUniqueId texture_Sampler1D1_Float1_Float1 = TSymbolUniqueId(1080);
static constexpr const TSymbolUniqueId texture_ISampler1D1_Float1_Float1 =
- TSymbolUniqueId(1068);
+ TSymbolUniqueId(1081);
static constexpr const TSymbolUniqueId texture_USampler1D1_Float1_Float1 =
- TSymbolUniqueId(1069);
+ TSymbolUniqueId(1082);
static constexpr const TSymbolUniqueId texture_Sampler1DShadow1_Float3_Float1 =
- TSymbolUniqueId(1070);
+ TSymbolUniqueId(1083);
static constexpr const TSymbolUniqueId texture_Sampler1DArray1_Float3_Float1 =
- TSymbolUniqueId(1071);
+ TSymbolUniqueId(1084);
static constexpr const TSymbolUniqueId texture_ISampler1DArray1_Float3_Float1 =
- TSymbolUniqueId(1072);
+ TSymbolUniqueId(1085);
static constexpr const TSymbolUniqueId texture_USampler1DArray1_Float3_Float1 =
- TSymbolUniqueId(1073);
+ TSymbolUniqueId(1086);
static constexpr const TSymbolUniqueId texture_Sampler1DArrayShadow1_Float3_Float1 =
- TSymbolUniqueId(1074);
+ TSymbolUniqueId(1087);
static constexpr const TSymbolUniqueId texture_Sampler2DArrayShadow1_Float4_Float1 =
- TSymbolUniqueId(1075);
+ TSymbolUniqueId(1088);
static constexpr const TSymbolUniqueId textureProj_Sampler1D1_Float2_Float1 =
- TSymbolUniqueId(1076);
+ TSymbolUniqueId(1089);
static constexpr const TSymbolUniqueId textureProj_ISampler1D1_Float2_Float1 =
- TSymbolUniqueId(1077);
+ TSymbolUniqueId(1090);
static constexpr const TSymbolUniqueId textureProj_USampler1D1_Float2_Float1 =
- TSymbolUniqueId(1078);
+ TSymbolUniqueId(1091);
static constexpr const TSymbolUniqueId textureProj_Sampler1D1_Float4_Float1 =
- TSymbolUniqueId(1079);
+ TSymbolUniqueId(1092);
static constexpr const TSymbolUniqueId textureProj_ISampler1D1_Float4_Float1 =
- TSymbolUniqueId(1080);
+ TSymbolUniqueId(1093);
static constexpr const TSymbolUniqueId textureProj_USampler1D1_Float4_Float1 =
- TSymbolUniqueId(1081);
+ TSymbolUniqueId(1094);
static constexpr const TSymbolUniqueId textureProj_Sampler1DShadow1_Float4_Float1 =
- TSymbolUniqueId(1082);
+ TSymbolUniqueId(1095);
static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2_Float1 =
- TSymbolUniqueId(1083);
+ TSymbolUniqueId(1096);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3_Float1 =
- TSymbolUniqueId(1084);
+ TSymbolUniqueId(1097);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4_Float1 =
- TSymbolUniqueId(1085);
+ TSymbolUniqueId(1098);
static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2_Float1 =
- TSymbolUniqueId(1086);
- static constexpr const TSymbolUniqueId pt00N = TSymbolUniqueId(1087);
+ TSymbolUniqueId(1099);
+ static constexpr const TSymbolUniqueId pt00N = TSymbolUniqueId(1100);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3_Float1 =
- TSymbolUniqueId(1088);
+ TSymbolUniqueId(1101);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4_Float1 =
- TSymbolUniqueId(1089);
+ TSymbolUniqueId(1102);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler1D1_Float1 =
- TSymbolUniqueId(1090);
+ TSymbolUniqueId(1103);
static constexpr const TSymbolUniqueId textureQueryLod_ISampler1D1_Float1 =
- TSymbolUniqueId(1091);
+ TSymbolUniqueId(1104);
static constexpr const TSymbolUniqueId textureQueryLod_USampler1D1_Float1 =
- TSymbolUniqueId(1092);
+ TSymbolUniqueId(1105);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler2D1_Float2 =
- TSymbolUniqueId(1093);
+ TSymbolUniqueId(1106);
static constexpr const TSymbolUniqueId textureQueryLod_ISampler2D1_Float2 =
- TSymbolUniqueId(1094);
+ TSymbolUniqueId(1107);
static constexpr const TSymbolUniqueId textureQueryLod_USampler2D1_Float2 =
- TSymbolUniqueId(1095);
+ TSymbolUniqueId(1108);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler3D1_Float3 =
- TSymbolUniqueId(1096);
+ TSymbolUniqueId(1109);
static constexpr const TSymbolUniqueId textureQueryLod_ISampler3D1_Float3 =
- TSymbolUniqueId(1097);
+ TSymbolUniqueId(1110);
static constexpr const TSymbolUniqueId textureQueryLod_USampler3D1_Float3 =
- TSymbolUniqueId(1098);
+ TSymbolUniqueId(1111);
static constexpr const TSymbolUniqueId textureQueryLod_SamplerCube1_Float3 =
- TSymbolUniqueId(1099);
+ TSymbolUniqueId(1112);
static constexpr const TSymbolUniqueId textureQueryLod_ISamplerCube1_Float3 =
- TSymbolUniqueId(1100);
+ TSymbolUniqueId(1113);
static constexpr const TSymbolUniqueId textureQueryLod_USamplerCube1_Float3 =
- TSymbolUniqueId(1101);
+ TSymbolUniqueId(1114);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler1DArray1_Float1 =
- TSymbolUniqueId(1102);
+ TSymbolUniqueId(1115);
static constexpr const TSymbolUniqueId textureQueryLod_ISampler1DArray1_Float1 =
- TSymbolUniqueId(1103);
+ TSymbolUniqueId(1116);
static constexpr const TSymbolUniqueId textureQueryLod_USampler1DArray1_Float1 =
- TSymbolUniqueId(1104);
+ TSymbolUniqueId(1117);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler2DArray1_Float2 =
- TSymbolUniqueId(1105);
+ TSymbolUniqueId(1118);
static constexpr const TSymbolUniqueId textureQueryLod_ISampler2DArray1_Float2 =
- TSymbolUniqueId(1106);
+ TSymbolUniqueId(1119);
static constexpr const TSymbolUniqueId textureQueryLod_USampler2DArray1_Float2 =
- TSymbolUniqueId(1107);
+ TSymbolUniqueId(1120);
static constexpr const TSymbolUniqueId textureQueryLod_SamplerCubeArray1_Float3 =
- TSymbolUniqueId(1108);
+ TSymbolUniqueId(1121);
static constexpr const TSymbolUniqueId textureQueryLod_ISamplerCubeArray1_Float3 =
- TSymbolUniqueId(1109);
+ TSymbolUniqueId(1122);
static constexpr const TSymbolUniqueId textureQueryLod_USamplerCubeArray1_Float3 =
- TSymbolUniqueId(1110);
+ TSymbolUniqueId(1123);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler1DShadow1_Float1 =
- TSymbolUniqueId(1111);
+ TSymbolUniqueId(1124);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler2DShadow1_Float2 =
- TSymbolUniqueId(1112);
+ TSymbolUniqueId(1125);
static constexpr const TSymbolUniqueId textureQueryLod_SamplerCubeShadow1_Float3 =
- TSymbolUniqueId(1113);
+ TSymbolUniqueId(1126);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler1DArrayShadow1_Float1 =
- TSymbolUniqueId(1114);
+ TSymbolUniqueId(1127);
static constexpr const TSymbolUniqueId textureQueryLod_Sampler2DArrayShadow1_Float2 =
- TSymbolUniqueId(1115);
+ TSymbolUniqueId(1128);
static constexpr const TSymbolUniqueId textureQueryLod_SamplerCubeArrayShadow1_Float3 =
- TSymbolUniqueId(1116);
+ TSymbolUniqueId(1129);
static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2 =
- TSymbolUniqueId(1117);
+ TSymbolUniqueId(1130);
static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2 =
- TSymbolUniqueId(1118);
+ TSymbolUniqueId(1131);
static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2 =
- TSymbolUniqueId(1119);
+ TSymbolUniqueId(1132);
static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3 =
- TSymbolUniqueId(1120);
+ TSymbolUniqueId(1133);
static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3 =
- TSymbolUniqueId(1121);
+ TSymbolUniqueId(1134);
static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3 =
- TSymbolUniqueId(1122);
+ TSymbolUniqueId(1135);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2 =
- TSymbolUniqueId(1123);
+ TSymbolUniqueId(1136);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(1124);
+ TSymbolUniqueId(1137);
static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(1125);
+ TSymbolUniqueId(1138);
static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(1126);
+ TSymbolUniqueId(1139);
static constexpr const TSymbolUniqueId textureOffset_Sampler1D1_Float1_Int1 =
- TSymbolUniqueId(1127);
+ TSymbolUniqueId(1140);
static constexpr const TSymbolUniqueId textureOffset_ISampler1D1_Float1_Int1 =
- TSymbolUniqueId(1128);
+ TSymbolUniqueId(1141);
static constexpr const TSymbolUniqueId textureOffset_USampler1D1_Float1_Int1 =
- TSymbolUniqueId(1129);
+ TSymbolUniqueId(1142);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DRect1_Float2_Int2 =
- TSymbolUniqueId(1130);
+ TSymbolUniqueId(1143);
static constexpr const TSymbolUniqueId textureOffset_ISampler2DRect1_Float2_Int2 =
- TSymbolUniqueId(1131);
+ TSymbolUniqueId(1144);
static constexpr const TSymbolUniqueId textureOffset_USampler2DRect1_Float2_Int2 =
- TSymbolUniqueId(1132);
+ TSymbolUniqueId(1145);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DRectShadow1_Float3_Int2 =
- TSymbolUniqueId(1133);
+ TSymbolUniqueId(1146);
static constexpr const TSymbolUniqueId textureOffset_Sampler1DShadow1_Float3_Int1 =
- TSymbolUniqueId(1134);
+ TSymbolUniqueId(1147);
static constexpr const TSymbolUniqueId textureOffset_Sampler1DArray1_Float2_Int1 =
- TSymbolUniqueId(1135);
+ TSymbolUniqueId(1148);
static constexpr const TSymbolUniqueId textureOffset_ISampler1DArray1_Float2_Int1 =
- TSymbolUniqueId(1136);
+ TSymbolUniqueId(1149);
static constexpr const TSymbolUniqueId textureOffset_USampler1DArray1_Float2_Int1 =
- TSymbolUniqueId(1137);
+ TSymbolUniqueId(1150);
static constexpr const TSymbolUniqueId textureOffset_Sampler1DArrayShadow1_Float3_Int1 =
- TSymbolUniqueId(1138);
+ TSymbolUniqueId(1151);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DArrayShadow1_Float4_Int2 =
- TSymbolUniqueId(1139);
+ TSymbolUniqueId(1152);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2 =
- TSymbolUniqueId(1140);
+ TSymbolUniqueId(1153);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2 =
- TSymbolUniqueId(1141);
+ TSymbolUniqueId(1154);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2 =
- TSymbolUniqueId(1142);
+ TSymbolUniqueId(1155);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2 =
- TSymbolUniqueId(1143);
+ TSymbolUniqueId(1156);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2 =
- TSymbolUniqueId(1144);
+ TSymbolUniqueId(1157);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2 =
- TSymbolUniqueId(1145);
+ TSymbolUniqueId(1158);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3 =
- TSymbolUniqueId(1146);
+ TSymbolUniqueId(1159);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3 =
- TSymbolUniqueId(1147);
+ TSymbolUniqueId(1160);
static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3 =
- TSymbolUniqueId(1148);
+ TSymbolUniqueId(1161);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2 =
- TSymbolUniqueId(1149);
+ TSymbolUniqueId(1162);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler1D1_Float2_Int1 =
- TSymbolUniqueId(1150);
+ TSymbolUniqueId(1163);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler1D1_Float2_Int1 =
- TSymbolUniqueId(1151);
+ TSymbolUniqueId(1164);
static constexpr const TSymbolUniqueId textureProjOffset_USampler1D1_Float2_Int1 =
- TSymbolUniqueId(1152);
+ TSymbolUniqueId(1165);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler1D1_Float4_Int1 =
- TSymbolUniqueId(1153);
+ TSymbolUniqueId(1166);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler1D1_Float4_Int1 =
- TSymbolUniqueId(1154);
+ TSymbolUniqueId(1167);
static constexpr const TSymbolUniqueId textureProjOffset_USampler1D1_Float4_Int1 =
- TSymbolUniqueId(1155);
+ TSymbolUniqueId(1168);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DRect1_Float3_Int2 =
- TSymbolUniqueId(1156);
+ TSymbolUniqueId(1169);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2DRect1_Float3_Int2 =
- TSymbolUniqueId(1157);
+ TSymbolUniqueId(1170);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2DRect1_Float3_Int2 =
- TSymbolUniqueId(1158);
+ TSymbolUniqueId(1171);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DRect1_Float4_Int2 =
- TSymbolUniqueId(1159);
+ TSymbolUniqueId(1172);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2DRect1_Float4_Int2 =
- TSymbolUniqueId(1160);
+ TSymbolUniqueId(1173);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2DRect1_Float4_Int2 =
- TSymbolUniqueId(1161);
+ TSymbolUniqueId(1174);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DRectShadow1_Float4_Int2 =
- TSymbolUniqueId(1162);
+ TSymbolUniqueId(1175);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler1DShadow1_Float4_Int1 =
- TSymbolUniqueId(1163);
+ TSymbolUniqueId(1176);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2D1_Float2_Float1_Int2 =
- TSymbolUniqueId(1164);
+ TSymbolUniqueId(1177);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler2D1_Float2_Float1_Int2 =
- TSymbolUniqueId(1165);
+ TSymbolUniqueId(1178);
static constexpr const TSymbolUniqueId textureLodOffset_USampler2D1_Float2_Float1_Int2 =
- TSymbolUniqueId(1166);
+ TSymbolUniqueId(1179);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler3D1_Float3_Float1_Int3 =
- TSymbolUniqueId(1167);
+ TSymbolUniqueId(1180);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler3D1_Float3_Float1_Int3 =
- TSymbolUniqueId(1168);
+ TSymbolUniqueId(1181);
static constexpr const TSymbolUniqueId textureLodOffset_USampler3D1_Float3_Float1_Int3 =
- TSymbolUniqueId(1169);
+ TSymbolUniqueId(1182);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2 =
- TSymbolUniqueId(1170);
+ TSymbolUniqueId(1183);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DArray1_Float3_Float1_Int2 =
- TSymbolUniqueId(1171);
+ TSymbolUniqueId(1184);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler2DArray1_Float3_Float1_Int2 =
- TSymbolUniqueId(1172);
+ TSymbolUniqueId(1185);
static constexpr const TSymbolUniqueId textureLodOffset_USampler2DArray1_Float3_Float1_Int2 =
- TSymbolUniqueId(1173);
+ TSymbolUniqueId(1186);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler1D1_Float1_Float1_Int1 =
- TSymbolUniqueId(1174);
+ TSymbolUniqueId(1187);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler1D1_Float1_Float1_Int1 =
- TSymbolUniqueId(1175);
+ TSymbolUniqueId(1188);
static constexpr const TSymbolUniqueId textureLodOffset_USampler1D1_Float1_Float1_Int1 =
- TSymbolUniqueId(1176);
+ TSymbolUniqueId(1189);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler1DShadow1_Float3_Float1_Int1 =
- TSymbolUniqueId(1177);
+ TSymbolUniqueId(1190);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler1DArray1_Float2_Float1_Int1 =
- TSymbolUniqueId(1178);
+ TSymbolUniqueId(1191);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler1DArray1_Float2_Float1_Int1 =
- TSymbolUniqueId(1179);
+ TSymbolUniqueId(1192);
static constexpr const TSymbolUniqueId textureLodOffset_USampler1DArray1_Float2_Float1_Int1 =
- TSymbolUniqueId(1180);
+ TSymbolUniqueId(1193);
static constexpr const TSymbolUniqueId
- textureLodOffset_Sampler1DArrayShadow1_Float3_Float1_Int1 = TSymbolUniqueId(1181);
+ textureLodOffset_Sampler1DArrayShadow1_Float3_Float1_Int1 = TSymbolUniqueId(1194);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float3_Float1_Int2 =
- TSymbolUniqueId(1182);
+ TSymbolUniqueId(1195);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float3_Float1_Int2 =
- TSymbolUniqueId(1183);
+ TSymbolUniqueId(1196);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float3_Float1_Int2 =
- TSymbolUniqueId(1184);
+ TSymbolUniqueId(1197);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float4_Float1_Int2 =
- TSymbolUniqueId(1185);
+ TSymbolUniqueId(1198);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float4_Float1_Int2 =
- TSymbolUniqueId(1186);
+ TSymbolUniqueId(1199);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float4_Float1_Int2 =
- TSymbolUniqueId(1187);
+ TSymbolUniqueId(1200);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler3D1_Float4_Float1_Int3 =
- TSymbolUniqueId(1188);
+ TSymbolUniqueId(1201);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler3D1_Float4_Float1_Int3 =
- TSymbolUniqueId(1189);
+ TSymbolUniqueId(1202);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler3D1_Float4_Float1_Int3 =
- TSymbolUniqueId(1190);
+ TSymbolUniqueId(1203);
static constexpr const TSymbolUniqueId
- textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(1191);
+ textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(1204);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler1D1_Float2_Float1_Int1 =
- TSymbolUniqueId(1192);
+ TSymbolUniqueId(1205);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler1D1_Float2_Float1_Int1 =
- TSymbolUniqueId(1193);
+ TSymbolUniqueId(1206);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler1D1_Float2_Float1_Int1 =
- TSymbolUniqueId(1194);
+ TSymbolUniqueId(1207);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler1D1_Float4_Float1_Int1 =
- TSymbolUniqueId(1195);
+ TSymbolUniqueId(1208);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler1D1_Float4_Float1_Int1 =
- TSymbolUniqueId(1196);
+ TSymbolUniqueId(1209);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler1D1_Float4_Float1_Int1 =
- TSymbolUniqueId(1197);
+ TSymbolUniqueId(1210);
static constexpr const TSymbolUniqueId
- textureProjLodOffset_Sampler1DShadow1_Float4_Float1_Int1 = TSymbolUniqueId(1198);
+ textureProjLodOffset_Sampler1DShadow1_Float4_Float1_Int1 = TSymbolUniqueId(1211);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2D1_Int2_Int1_Int2 =
- TSymbolUniqueId(1199);
+ TSymbolUniqueId(1212);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2D1_Int2_Int1_Int2 =
- TSymbolUniqueId(1200);
+ TSymbolUniqueId(1213);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler2D1_Int2_Int1_Int2 =
- TSymbolUniqueId(1201);
+ TSymbolUniqueId(1214);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler3D1_Int3_Int1_Int3 =
- TSymbolUniqueId(1202);
+ TSymbolUniqueId(1215);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler3D1_Int3_Int1_Int3 =
- TSymbolUniqueId(1203);
+ TSymbolUniqueId(1216);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler3D1_Int3_Int1_Int3 =
- TSymbolUniqueId(1204);
+ TSymbolUniqueId(1217);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2 =
- TSymbolUniqueId(1205);
+ TSymbolUniqueId(1218);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2 =
- TSymbolUniqueId(1206);
+ TSymbolUniqueId(1219);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler2DArray1_Int3_Int1_Int2 =
- TSymbolUniqueId(1207);
+ TSymbolUniqueId(1220);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler1D1_Int1_Int1_Int1 =
- TSymbolUniqueId(1208);
+ TSymbolUniqueId(1221);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler1D1_Int1_Int1_Int1 =
- TSymbolUniqueId(1209);
+ TSymbolUniqueId(1222);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler1D1_Int1_Int1_Int1 =
- TSymbolUniqueId(1210);
+ TSymbolUniqueId(1223);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2DRect1_Int2_Int2 =
- TSymbolUniqueId(1211);
+ TSymbolUniqueId(1224);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2DRect1_Int2_Int2 =
- TSymbolUniqueId(1212);
+ TSymbolUniqueId(1225);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler2DRect1_Int2_Int2 =
- TSymbolUniqueId(1213);
+ TSymbolUniqueId(1226);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler1DArray1_Int2_Int1_Int1 =
- TSymbolUniqueId(1214);
+ TSymbolUniqueId(1227);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler1DArray1_Int2_Int1_Int1 =
- TSymbolUniqueId(1215);
+ TSymbolUniqueId(1228);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler1DArray1_Int2_Int1_Int1 =
- TSymbolUniqueId(1216);
+ TSymbolUniqueId(1229);
static constexpr const TSymbolUniqueId textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2 =
- TSymbolUniqueId(1217);
+ TSymbolUniqueId(1230);
static constexpr const TSymbolUniqueId textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2 =
- TSymbolUniqueId(1218);
+ TSymbolUniqueId(1231);
static constexpr const TSymbolUniqueId textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2 =
- TSymbolUniqueId(1219);
+ TSymbolUniqueId(1232);
static constexpr const TSymbolUniqueId textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3 =
- TSymbolUniqueId(1220);
+ TSymbolUniqueId(1233);
static constexpr const TSymbolUniqueId textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3 =
- TSymbolUniqueId(1221);
+ TSymbolUniqueId(1234);
static constexpr const TSymbolUniqueId textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3 =
- TSymbolUniqueId(1222);
+ TSymbolUniqueId(1235);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1223);
+ textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1236);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1224);
+ textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1237);
static constexpr const TSymbolUniqueId
- textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1225);
+ textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1238);
static constexpr const TSymbolUniqueId
- textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1226);
+ textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1239);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1227);
+ textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1240);
static constexpr const TSymbolUniqueId textureGradOffset_Sampler1D1_Float1_Float1_Float1_Int1 =
- TSymbolUniqueId(1228);
+ TSymbolUniqueId(1241);
static constexpr const TSymbolUniqueId textureGradOffset_ISampler1D1_Float1_Float1_Float1_Int1 =
- TSymbolUniqueId(1229);
+ TSymbolUniqueId(1242);
static constexpr const TSymbolUniqueId textureGradOffset_USampler1D1_Float1_Float1_Float1_Int1 =
- TSymbolUniqueId(1230);
+ TSymbolUniqueId(1243);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DRect1_Float2_Float2_Float2_Int2 = TSymbolUniqueId(1231);
+ textureGradOffset_Sampler2DRect1_Float2_Float2_Float2_Int2 = TSymbolUniqueId(1244);
static constexpr const TSymbolUniqueId
- textureGradOffset_ISampler2DRect1_Float2_Float2_Float2_Int2 = TSymbolUniqueId(1232);
+ textureGradOffset_ISampler2DRect1_Float2_Float2_Float2_Int2 = TSymbolUniqueId(1245);
static constexpr const TSymbolUniqueId
- textureGradOffset_USampler2DRect1_Float2_Float2_Float2_Int2 = TSymbolUniqueId(1233);
+ textureGradOffset_USampler2DRect1_Float2_Float2_Float2_Int2 = TSymbolUniqueId(1246);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler2DRectShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1234);
+ textureGradOffset_Sampler2DRectShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1247);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler1DShadow1_Float3_Float1_Float1_Int1 = TSymbolUniqueId(1235);
+ textureGradOffset_Sampler1DShadow1_Float3_Float1_Float1_Int1 = TSymbolUniqueId(1248);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler1DArray1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1236);
+ textureGradOffset_Sampler1DArray1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1249);
static constexpr const TSymbolUniqueId
- textureGradOffset_ISampler1DArray1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1237);
+ textureGradOffset_ISampler1DArray1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1250);
static constexpr const TSymbolUniqueId
- textureGradOffset_USampler1DArray1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1238);
+ textureGradOffset_USampler1DArray1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1251);
static constexpr const TSymbolUniqueId
- textureGradOffset_Sampler1DArrayShadow1_Float3_Float1_Float1_Int1 = TSymbolUniqueId(1239);
+ textureGradOffset_Sampler1DArrayShadow1_Float3_Float1_Float1_Int1 = TSymbolUniqueId(1252);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1240);
+ textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1253);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1241);
+ textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1254);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1242);
+ textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1255);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1243);
+ textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1256);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1244);
+ textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1257);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1245);
+ textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1258);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(1246);
+ textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(1259);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(1247);
+ textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(1260);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(1248);
+ textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(1261);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1249);
+ textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1262);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler1D1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1250);
+ textureProjGradOffset_Sampler1D1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1263);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler1D1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1251);
+ textureProjGradOffset_ISampler1D1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1264);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler1D1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1252);
+ textureProjGradOffset_USampler1D1_Float2_Float1_Float1_Int1 = TSymbolUniqueId(1265);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler1D1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1253);
+ textureProjGradOffset_Sampler1D1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1266);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler1D1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1254);
+ textureProjGradOffset_ISampler1D1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1267);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler1D1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1255);
+ textureProjGradOffset_USampler1D1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1268);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2DRect1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1256);
+ textureProjGradOffset_Sampler2DRect1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1269);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler2DRect1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1257);
+ textureProjGradOffset_ISampler2DRect1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1270);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler2DRect1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1258);
+ textureProjGradOffset_USampler2DRect1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(1271);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler2DRect1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1259);
+ textureProjGradOffset_Sampler2DRect1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1272);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_ISampler2DRect1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1260);
+ textureProjGradOffset_ISampler2DRect1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1273);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_USampler2DRect1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1261);
+ textureProjGradOffset_USampler2DRect1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(1274);
static constexpr const TSymbolUniqueId
textureProjGradOffset_Sampler2DRectShadow1_Float4_Float2_Float2_Int2 =
- TSymbolUniqueId(1262);
+ TSymbolUniqueId(1275);
static constexpr const TSymbolUniqueId
- textureProjGradOffset_Sampler1DShadow1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1263);
+ textureProjGradOffset_Sampler1DShadow1_Float4_Float1_Float1_Int1 = TSymbolUniqueId(1276);
static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2_Float1 =
- TSymbolUniqueId(1264);
+ TSymbolUniqueId(1277);
static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2_Float1 =
- TSymbolUniqueId(1265);
+ TSymbolUniqueId(1278);
static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2_Float1 =
- TSymbolUniqueId(1266);
+ TSymbolUniqueId(1279);
static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3_Float1 =
- TSymbolUniqueId(1267);
+ TSymbolUniqueId(1280);
static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3_Float1 =
- TSymbolUniqueId(1268);
+ TSymbolUniqueId(1281);
static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3_Float1 =
- TSymbolUniqueId(1269);
+ TSymbolUniqueId(1282);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2_Float1 =
- TSymbolUniqueId(1270);
+ TSymbolUniqueId(1283);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2_Float1 =
- TSymbolUniqueId(1271);
+ TSymbolUniqueId(1284);
static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2_Float1 =
- TSymbolUniqueId(1272);
+ TSymbolUniqueId(1285);
static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2_Float1 =
- TSymbolUniqueId(1273);
+ TSymbolUniqueId(1286);
static constexpr const TSymbolUniqueId textureOffset_Sampler1D1_Float1_Int1_Float1 =
- TSymbolUniqueId(1274);
+ TSymbolUniqueId(1287);
static constexpr const TSymbolUniqueId textureOffset_ISampler1D1_Float1_Int1_Float1 =
- TSymbolUniqueId(1275);
+ TSymbolUniqueId(1288);
static constexpr const TSymbolUniqueId textureOffset_USampler1D1_Float1_Int1_Float1 =
- TSymbolUniqueId(1276);
+ TSymbolUniqueId(1289);
static constexpr const TSymbolUniqueId textureOffset_Sampler1DShadow1_Float3_Int1_Float1 =
- TSymbolUniqueId(1277);
+ TSymbolUniqueId(1290);
static constexpr const TSymbolUniqueId textureOffset_Sampler1DArray1_Float2_Int1_Float1 =
- TSymbolUniqueId(1278);
+ TSymbolUniqueId(1291);
static constexpr const TSymbolUniqueId textureOffset_ISampler1DArray1_Float2_Int1_Float1 =
- TSymbolUniqueId(1279);
+ TSymbolUniqueId(1292);
static constexpr const TSymbolUniqueId textureOffset_USampler1DArray1_Float2_Int1_Float1 =
- TSymbolUniqueId(1280);
+ TSymbolUniqueId(1293);
static constexpr const TSymbolUniqueId textureOffset_Sampler1DArrayShadow1_Float3_Int1_Float1 =
- TSymbolUniqueId(1281);
+ TSymbolUniqueId(1294);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2_Float1 =
- TSymbolUniqueId(1282);
+ TSymbolUniqueId(1295);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2_Float1 =
- TSymbolUniqueId(1283);
+ TSymbolUniqueId(1296);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2_Float1 =
- TSymbolUniqueId(1284);
+ TSymbolUniqueId(1297);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2_Float1 =
- TSymbolUniqueId(1285);
+ TSymbolUniqueId(1298);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2_Float1 =
- TSymbolUniqueId(1286);
+ TSymbolUniqueId(1299);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2_Float1 =
- TSymbolUniqueId(1287);
+ TSymbolUniqueId(1300);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3_Float1 =
- TSymbolUniqueId(1288);
+ TSymbolUniqueId(1301);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3_Float1 =
- TSymbolUniqueId(1289);
+ TSymbolUniqueId(1302);
static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3_Float1 =
- TSymbolUniqueId(1290);
+ TSymbolUniqueId(1303);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1 =
- TSymbolUniqueId(1291);
+ TSymbolUniqueId(1304);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler1D1_Float2_Int1_Float1 =
- TSymbolUniqueId(1292);
+ TSymbolUniqueId(1305);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler1D1_Float2_Int1_Float1 =
- TSymbolUniqueId(1293);
+ TSymbolUniqueId(1306);
static constexpr const TSymbolUniqueId textureProjOffset_USampler1D1_Float2_Int1_Float1 =
- TSymbolUniqueId(1294);
+ TSymbolUniqueId(1307);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler1D1_Float4_Int1_Float1 =
- TSymbolUniqueId(1295);
+ TSymbolUniqueId(1308);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler1D1_Float4_Int1_Float1 =
- TSymbolUniqueId(1296);
+ TSymbolUniqueId(1309);
static constexpr const TSymbolUniqueId textureProjOffset_USampler1D1_Float4_Int1_Float1 =
- TSymbolUniqueId(1297);
+ TSymbolUniqueId(1310);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler1DShadow1_Float4_Int1_Float1 =
- TSymbolUniqueId(1298);
+ TSymbolUniqueId(1311);
static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2 =
- TSymbolUniqueId(1299);
+ TSymbolUniqueId(1312);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3 =
- TSymbolUniqueId(1300);
+ TSymbolUniqueId(1313);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4 =
- TSymbolUniqueId(1301);
+ TSymbolUniqueId(1314);
static constexpr const TSymbolUniqueId textureSize_SamplerExternalOES1_Int1 =
- TSymbolUniqueId(1302);
+ TSymbolUniqueId(1315);
static constexpr const TSymbolUniqueId texelFetch_SamplerExternalOES1_Int2_Int1 =
- TSymbolUniqueId(1303);
+ TSymbolUniqueId(1316);
static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2 =
- TSymbolUniqueId(1304);
+ TSymbolUniqueId(1317);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3 =
- TSymbolUniqueId(1305);
+ TSymbolUniqueId(1318);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4 =
- TSymbolUniqueId(1306);
+ TSymbolUniqueId(1319);
static constexpr const TSymbolUniqueId rgb_2_yuv_Float3_YuvCscStandardEXT1 =
- TSymbolUniqueId(1307);
- static constexpr const TSymbolUniqueId pt00H = TSymbolUniqueId(1308);
+ TSymbolUniqueId(1320);
+ static constexpr const TSymbolUniqueId pt00H = TSymbolUniqueId(1321);
static constexpr const TSymbolUniqueId yuv_2_rgb_Float3_YuvCscStandardEXT1 =
- TSymbolUniqueId(1309);
+ TSymbolUniqueId(1322);
static constexpr const TSymbolUniqueId textureSize_SamplerExternal2DY2YEXT1_Int1 =
- TSymbolUniqueId(1310);
+ TSymbolUniqueId(1323);
static constexpr const TSymbolUniqueId texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1 =
- TSymbolUniqueId(1311);
- static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2 = TSymbolUniqueId(1312);
- static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(1313);
- static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(1314);
+ TSymbolUniqueId(1324);
+ static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2 = TSymbolUniqueId(1325);
+ static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(1326);
+ static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(1327);
static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2_Int1 =
- TSymbolUniqueId(1315);
+ TSymbolUniqueId(1328);
static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2_Int1 =
- TSymbolUniqueId(1316);
+ TSymbolUniqueId(1329);
static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2_Int1 =
- TSymbolUniqueId(1317);
+ TSymbolUniqueId(1330);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3 =
- TSymbolUniqueId(1318);
+ TSymbolUniqueId(1331);
static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3 =
- TSymbolUniqueId(1319);
+ TSymbolUniqueId(1332);
static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3 =
- TSymbolUniqueId(1320);
+ TSymbolUniqueId(1333);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3_Int1 =
- TSymbolUniqueId(1321);
+ TSymbolUniqueId(1334);
static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3_Int1 =
- TSymbolUniqueId(1322);
+ TSymbolUniqueId(1335);
static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3_Int1 =
- TSymbolUniqueId(1323);
+ TSymbolUniqueId(1336);
static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3 =
- TSymbolUniqueId(1324);
+ TSymbolUniqueId(1337);
static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3 =
- TSymbolUniqueId(1325);
+ TSymbolUniqueId(1338);
static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3 =
- TSymbolUniqueId(1326);
+ TSymbolUniqueId(1339);
static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3_Int1 =
- TSymbolUniqueId(1327);
+ TSymbolUniqueId(1340);
static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3_Int1 =
- TSymbolUniqueId(1328);
+ TSymbolUniqueId(1341);
static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3_Int1 =
- TSymbolUniqueId(1329);
- static constexpr const TSymbolUniqueId textureGather_SamplerCubeArray1_Float4 =
- TSymbolUniqueId(1330);
- static constexpr const TSymbolUniqueId textureGather_ISamplerCubeArray1_Float4 =
- TSymbolUniqueId(1331);
- static constexpr const TSymbolUniqueId textureGather_USamplerCubeArray1_Float4 =
- TSymbolUniqueId(1332);
- static constexpr const TSymbolUniqueId textureGather_SamplerCubeArray1_Float4_Int1 =
- TSymbolUniqueId(1333);
- static constexpr const TSymbolUniqueId textureGather_ISamplerCubeArray1_Float4_Int1 =
- TSymbolUniqueId(1334);
- static constexpr const TSymbolUniqueId textureGather_USamplerCubeArray1_Float4_Int1 =
- TSymbolUniqueId(1335);
+ TSymbolUniqueId(1342);
static constexpr const TSymbolUniqueId textureGather_Sampler2DRect1_Float3 =
- TSymbolUniqueId(1336);
+ TSymbolUniqueId(1343);
static constexpr const TSymbolUniqueId textureGather_ISampler2DRect1_Float3 =
- TSymbolUniqueId(1337);
+ TSymbolUniqueId(1344);
static constexpr const TSymbolUniqueId textureGather_USampler2DRect1_Float3 =
- TSymbolUniqueId(1338);
+ TSymbolUniqueId(1345);
static constexpr const TSymbolUniqueId textureGather_Sampler2DRect1_Float3_Int1 =
- TSymbolUniqueId(1339);
+ TSymbolUniqueId(1346);
static constexpr const TSymbolUniqueId textureGather_ISampler2DRect1_Float3_Int1 =
- TSymbolUniqueId(1340);
+ TSymbolUniqueId(1347);
static constexpr const TSymbolUniqueId textureGather_USampler2DRect1_Float3_Int1 =
- TSymbolUniqueId(1341);
+ TSymbolUniqueId(1348);
static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2 =
- TSymbolUniqueId(1342);
+ TSymbolUniqueId(1349);
static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2_Float1 =
- TSymbolUniqueId(1343);
+ TSymbolUniqueId(1350);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3 =
- TSymbolUniqueId(1344);
+ TSymbolUniqueId(1351);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3_Float1 =
- TSymbolUniqueId(1345);
+ TSymbolUniqueId(1352);
static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3 =
- TSymbolUniqueId(1346);
+ TSymbolUniqueId(1353);
static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3_Float1 =
- TSymbolUniqueId(1347);
- static constexpr const TSymbolUniqueId textureGather_SamplerCubeArrayShadow1_Float4_Float1 =
- TSymbolUniqueId(1348);
+ TSymbolUniqueId(1354);
static constexpr const TSymbolUniqueId textureGather_Sampler2DRectShadow1_Float2_Float1 =
- TSymbolUniqueId(1349);
+ TSymbolUniqueId(1355);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1350);
- static constexpr const TSymbolUniqueId pt10Dx4 = TSymbolUniqueId(1351);
+ TSymbolUniqueId(1356);
+ static constexpr const TSymbolUniqueId pt10Dx4 = TSymbolUniqueId(1357);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1352);
+ TSymbolUniqueId(1358);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1353);
+ TSymbolUniqueId(1359);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2DArray1_Float3_4xInt2_Int1 =
- TSymbolUniqueId(1354);
+ TSymbolUniqueId(1360);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1355);
+ textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1361);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1356);
+ textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1362);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1357);
+ TSymbolUniqueId(1363);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1358);
+ TSymbolUniqueId(1364);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_USampler2D1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1359);
+ TSymbolUniqueId(1365);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1360);
+ textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1366);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1361);
+ textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1367);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1362);
+ textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1 = TSymbolUniqueId(1368);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2DRect1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1363);
+ TSymbolUniqueId(1369);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2DRect1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1364);
+ TSymbolUniqueId(1370);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2DRect1_Float2_4xInt2_Int1 =
- TSymbolUniqueId(1365);
+ TSymbolUniqueId(1371);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(1366);
+ TSymbolUniqueId(1372);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(1367);
+ TSymbolUniqueId(1373);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(1368);
+ TSymbolUniqueId(1374);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(1369);
+ TSymbolUniqueId(1375);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(1370);
+ TSymbolUniqueId(1376);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(1371);
+ TSymbolUniqueId(1377);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(1372);
+ textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(1378);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(1373);
+ textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(1379);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(1374);
+ TSymbolUniqueId(1380);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(1375);
+ TSymbolUniqueId(1381);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_USampler2D1_Float2_4xInt2 =
- TSymbolUniqueId(1376);
+ TSymbolUniqueId(1382);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(1377);
+ TSymbolUniqueId(1383);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(1378);
+ TSymbolUniqueId(1384);
static constexpr const TSymbolUniqueId textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2 =
- TSymbolUniqueId(1379);
+ TSymbolUniqueId(1385);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(1380);
+ textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(1386);
static constexpr const TSymbolUniqueId
- textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(1381);
+ textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2 = TSymbolUniqueId(1387);
static constexpr const TSymbolUniqueId textureGatherOffsets_Sampler2DRect1_Float2_4xInt2 =
- TSymbolUniqueId(1382);
+ TSymbolUniqueId(1388);
static constexpr const TSymbolUniqueId textureGatherOffsets_ISampler2DRect1_Float2_4xInt2 =
- TSymbolUniqueId(1383);
+ TSymbolUniqueId(1389);
static constexpr const TSymbolUniqueId textureGatherOffsets_USampler2DRect1_Float2_4xInt2 =
- TSymbolUniqueId(1384);
+ TSymbolUniqueId(1390);
static constexpr const TSymbolUniqueId
- textureGatherOffsets_Sampler2DRectShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(1385);
+ textureGatherOffsets_Sampler2DRectShadow1_Float2_Float1_4xInt2 = TSymbolUniqueId(1391);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2_Int1 =
- TSymbolUniqueId(1386);
+ TSymbolUniqueId(1392);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2_Int1 =
- TSymbolUniqueId(1387);
+ TSymbolUniqueId(1393);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2_Int1 =
- TSymbolUniqueId(1388);
+ TSymbolUniqueId(1394);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1 =
- TSymbolUniqueId(1389);
+ TSymbolUniqueId(1395);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1 =
- TSymbolUniqueId(1390);
+ TSymbolUniqueId(1396);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2_Int1 =
- TSymbolUniqueId(1391);
+ TSymbolUniqueId(1397);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DRect1_Float2_Int2_Int1 =
- TSymbolUniqueId(1392);
+ TSymbolUniqueId(1398);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DRect1_Float2_Int2_Int1 =
- TSymbolUniqueId(1393);
+ TSymbolUniqueId(1399);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DRect1_Float2_Int2_Int1 =
- TSymbolUniqueId(1394);
+ TSymbolUniqueId(1400);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2 =
- TSymbolUniqueId(1395);
+ TSymbolUniqueId(1401);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2 =
- TSymbolUniqueId(1396);
+ TSymbolUniqueId(1402);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2 =
- TSymbolUniqueId(1397);
+ TSymbolUniqueId(1403);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(1398);
+ TSymbolUniqueId(1404);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(1399);
+ TSymbolUniqueId(1405);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2 =
- TSymbolUniqueId(1400);
+ TSymbolUniqueId(1406);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2 =
- TSymbolUniqueId(1401);
+ TSymbolUniqueId(1407);
static constexpr const TSymbolUniqueId
- textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2 = TSymbolUniqueId(1402);
+ textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2 = TSymbolUniqueId(1408);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DRect1_Float2_Int2 =
- TSymbolUniqueId(1403);
+ TSymbolUniqueId(1409);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DRect1_Float2_Int2 =
- TSymbolUniqueId(1404);
+ TSymbolUniqueId(1410);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DRect1_Float2_Int2 =
- TSymbolUniqueId(1405);
+ TSymbolUniqueId(1411);
static constexpr const TSymbolUniqueId
- textureGatherOffset_Sampler2DRectShadow1_Float2_Float1_Int2 = TSymbolUniqueId(1406);
- static constexpr const TSymbolUniqueId dFdx_Float1 = TSymbolUniqueId(1407);
- static constexpr const TSymbolUniqueId dFdx_Float2 = TSymbolUniqueId(1408);
- static constexpr const TSymbolUniqueId dFdx_Float3 = TSymbolUniqueId(1409);
- static constexpr const TSymbolUniqueId dFdx_Float4 = TSymbolUniqueId(1410);
- static constexpr const TSymbolUniqueId dFdy_Float1 = TSymbolUniqueId(1411);
- static constexpr const TSymbolUniqueId dFdy_Float2 = TSymbolUniqueId(1412);
- static constexpr const TSymbolUniqueId dFdy_Float3 = TSymbolUniqueId(1413);
- static constexpr const TSymbolUniqueId dFdy_Float4 = TSymbolUniqueId(1414);
- static constexpr const TSymbolUniqueId fwidth_Float1 = TSymbolUniqueId(1415);
- static constexpr const TSymbolUniqueId fwidth_Float2 = TSymbolUniqueId(1416);
- static constexpr const TSymbolUniqueId fwidth_Float3 = TSymbolUniqueId(1417);
- static constexpr const TSymbolUniqueId fwidth_Float4 = TSymbolUniqueId(1418);
- static constexpr const TSymbolUniqueId dFdxFine_Float1 = TSymbolUniqueId(1419);
- static constexpr const TSymbolUniqueId dFdxFine_Float2 = TSymbolUniqueId(1420);
- static constexpr const TSymbolUniqueId dFdxFine_Float3 = TSymbolUniqueId(1421);
- static constexpr const TSymbolUniqueId dFdxFine_Float4 = TSymbolUniqueId(1422);
- static constexpr const TSymbolUniqueId dFdyFine_Float1 = TSymbolUniqueId(1423);
- static constexpr const TSymbolUniqueId dFdyFine_Float2 = TSymbolUniqueId(1424);
- static constexpr const TSymbolUniqueId dFdyFine_Float3 = TSymbolUniqueId(1425);
- static constexpr const TSymbolUniqueId dFdyFine_Float4 = TSymbolUniqueId(1426);
- static constexpr const TSymbolUniqueId dFdxCoarse_Float1 = TSymbolUniqueId(1427);
- static constexpr const TSymbolUniqueId dFdxCoarse_Float2 = TSymbolUniqueId(1428);
- static constexpr const TSymbolUniqueId dFdxCoarse_Float3 = TSymbolUniqueId(1429);
- static constexpr const TSymbolUniqueId dFdxCoarse_Float4 = TSymbolUniqueId(1430);
- static constexpr const TSymbolUniqueId dFdyCoarse_Float1 = TSymbolUniqueId(1431);
- static constexpr const TSymbolUniqueId dFdyCoarse_Float2 = TSymbolUniqueId(1432);
- static constexpr const TSymbolUniqueId dFdyCoarse_Float3 = TSymbolUniqueId(1433);
- static constexpr const TSymbolUniqueId dFdyCoarse_Float4 = TSymbolUniqueId(1434);
- static constexpr const TSymbolUniqueId fwidthFine_Float1 = TSymbolUniqueId(1435);
- static constexpr const TSymbolUniqueId fwidthFine_Float2 = TSymbolUniqueId(1436);
- static constexpr const TSymbolUniqueId fwidthFine_Float3 = TSymbolUniqueId(1437);
- static constexpr const TSymbolUniqueId fwidthFine_Float4 = TSymbolUniqueId(1438);
- static constexpr const TSymbolUniqueId fwidthCoarse_Float1 = TSymbolUniqueId(1439);
- static constexpr const TSymbolUniqueId fwidthCoarse_Float2 = TSymbolUniqueId(1440);
- static constexpr const TSymbolUniqueId fwidthCoarse_Float3 = TSymbolUniqueId(1441);
- static constexpr const TSymbolUniqueId fwidthCoarse_Float4 = TSymbolUniqueId(1442);
- static constexpr const TSymbolUniqueId interpolateAtCentroid_Float1 = TSymbolUniqueId(1443);
- static constexpr const TSymbolUniqueId interpolateAtCentroid_Float2 = TSymbolUniqueId(1444);
- static constexpr const TSymbolUniqueId interpolateAtCentroid_Float3 = TSymbolUniqueId(1445);
- static constexpr const TSymbolUniqueId interpolateAtCentroid_Float4 = TSymbolUniqueId(1446);
- static constexpr const TSymbolUniqueId interpolateAtSample_Float1_Int1 = TSymbolUniqueId(1447);
- static constexpr const TSymbolUniqueId interpolateAtSample_Float2_Int1 = TSymbolUniqueId(1448);
- static constexpr const TSymbolUniqueId interpolateAtSample_Float3_Int1 = TSymbolUniqueId(1449);
- static constexpr const TSymbolUniqueId interpolateAtSample_Float4_Int1 = TSymbolUniqueId(1450);
+ textureGatherOffset_Sampler2DRectShadow1_Float2_Float1_Int2 = TSymbolUniqueId(1412);
+ static constexpr const TSymbolUniqueId dFdx_Float1 = TSymbolUniqueId(1413);
+ static constexpr const TSymbolUniqueId dFdx_Float2 = TSymbolUniqueId(1414);
+ static constexpr const TSymbolUniqueId dFdx_Float3 = TSymbolUniqueId(1415);
+ static constexpr const TSymbolUniqueId dFdx_Float4 = TSymbolUniqueId(1416);
+ static constexpr const TSymbolUniqueId dFdy_Float1 = TSymbolUniqueId(1417);
+ static constexpr const TSymbolUniqueId dFdy_Float2 = TSymbolUniqueId(1418);
+ static constexpr const TSymbolUniqueId dFdy_Float3 = TSymbolUniqueId(1419);
+ static constexpr const TSymbolUniqueId dFdy_Float4 = TSymbolUniqueId(1420);
+ static constexpr const TSymbolUniqueId fwidth_Float1 = TSymbolUniqueId(1421);
+ static constexpr const TSymbolUniqueId fwidth_Float2 = TSymbolUniqueId(1422);
+ static constexpr const TSymbolUniqueId fwidth_Float3 = TSymbolUniqueId(1423);
+ static constexpr const TSymbolUniqueId fwidth_Float4 = TSymbolUniqueId(1424);
+ static constexpr const TSymbolUniqueId dFdxFine_Float1 = TSymbolUniqueId(1425);
+ static constexpr const TSymbolUniqueId dFdxFine_Float2 = TSymbolUniqueId(1426);
+ static constexpr const TSymbolUniqueId dFdxFine_Float3 = TSymbolUniqueId(1427);
+ static constexpr const TSymbolUniqueId dFdxFine_Float4 = TSymbolUniqueId(1428);
+ static constexpr const TSymbolUniqueId dFdyFine_Float1 = TSymbolUniqueId(1429);
+ static constexpr const TSymbolUniqueId dFdyFine_Float2 = TSymbolUniqueId(1430);
+ static constexpr const TSymbolUniqueId dFdyFine_Float3 = TSymbolUniqueId(1431);
+ static constexpr const TSymbolUniqueId dFdyFine_Float4 = TSymbolUniqueId(1432);
+ static constexpr const TSymbolUniqueId dFdxCoarse_Float1 = TSymbolUniqueId(1433);
+ static constexpr const TSymbolUniqueId dFdxCoarse_Float2 = TSymbolUniqueId(1434);
+ static constexpr const TSymbolUniqueId dFdxCoarse_Float3 = TSymbolUniqueId(1435);
+ static constexpr const TSymbolUniqueId dFdxCoarse_Float4 = TSymbolUniqueId(1436);
+ static constexpr const TSymbolUniqueId dFdyCoarse_Float1 = TSymbolUniqueId(1437);
+ static constexpr const TSymbolUniqueId dFdyCoarse_Float2 = TSymbolUniqueId(1438);
+ static constexpr const TSymbolUniqueId dFdyCoarse_Float3 = TSymbolUniqueId(1439);
+ static constexpr const TSymbolUniqueId dFdyCoarse_Float4 = TSymbolUniqueId(1440);
+ static constexpr const TSymbolUniqueId fwidthFine_Float1 = TSymbolUniqueId(1441);
+ static constexpr const TSymbolUniqueId fwidthFine_Float2 = TSymbolUniqueId(1442);
+ static constexpr const TSymbolUniqueId fwidthFine_Float3 = TSymbolUniqueId(1443);
+ static constexpr const TSymbolUniqueId fwidthFine_Float4 = TSymbolUniqueId(1444);
+ static constexpr const TSymbolUniqueId fwidthCoarse_Float1 = TSymbolUniqueId(1445);
+ static constexpr const TSymbolUniqueId fwidthCoarse_Float2 = TSymbolUniqueId(1446);
+ static constexpr const TSymbolUniqueId fwidthCoarse_Float3 = TSymbolUniqueId(1447);
+ static constexpr const TSymbolUniqueId fwidthCoarse_Float4 = TSymbolUniqueId(1448);
+ static constexpr const TSymbolUniqueId interpolateAtCentroid_Float1 = TSymbolUniqueId(1449);
+ static constexpr const TSymbolUniqueId interpolateAtCentroid_Float2 = TSymbolUniqueId(1450);
+ static constexpr const TSymbolUniqueId interpolateAtCentroid_Float3 = TSymbolUniqueId(1451);
+ static constexpr const TSymbolUniqueId interpolateAtCentroid_Float4 = TSymbolUniqueId(1452);
+ static constexpr const TSymbolUniqueId interpolateAtSample_Float1_Int1 = TSymbolUniqueId(1453);
+ static constexpr const TSymbolUniqueId interpolateAtSample_Float2_Int1 = TSymbolUniqueId(1454);
+ static constexpr const TSymbolUniqueId interpolateAtSample_Float3_Int1 = TSymbolUniqueId(1455);
+ static constexpr const TSymbolUniqueId interpolateAtSample_Float4_Int1 = TSymbolUniqueId(1456);
static constexpr const TSymbolUniqueId interpolateAtOffset_Float1_Float2 =
- TSymbolUniqueId(1451);
+ TSymbolUniqueId(1457);
static constexpr const TSymbolUniqueId interpolateAtOffset_Float2_Float2 =
- TSymbolUniqueId(1452);
+ TSymbolUniqueId(1458);
static constexpr const TSymbolUniqueId interpolateAtOffset_Float3_Float2 =
- TSymbolUniqueId(1453);
+ TSymbolUniqueId(1459);
static constexpr const TSymbolUniqueId interpolateAtOffset_Float4_Float2 =
- TSymbolUniqueId(1454);
- static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(1455);
- static constexpr const TSymbolUniqueId pt00G = TSymbolUniqueId(1456);
+ TSymbolUniqueId(1460);
+ static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(1461);
+ static constexpr const TSymbolUniqueId pt00G = TSymbolUniqueId(1462);
static constexpr const TSymbolUniqueId atomicCounterIncrement_AtomicCounter1 =
- TSymbolUniqueId(1457);
+ TSymbolUniqueId(1463);
static constexpr const TSymbolUniqueId atomicCounterDecrement_AtomicCounter1 =
- TSymbolUniqueId(1458);
+ TSymbolUniqueId(1464);
static constexpr const TSymbolUniqueId atomicCounterAdd_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1459);
+ TSymbolUniqueId(1465);
static constexpr const TSymbolUniqueId atomicCounterSubtract_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1460);
+ TSymbolUniqueId(1466);
static constexpr const TSymbolUniqueId atomicCounterMin_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1461);
+ TSymbolUniqueId(1467);
static constexpr const TSymbolUniqueId atomicCounterMax_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1462);
+ TSymbolUniqueId(1468);
static constexpr const TSymbolUniqueId atomicCounterAnd_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1463);
+ TSymbolUniqueId(1469);
static constexpr const TSymbolUniqueId atomicCounterOr_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1464);
+ TSymbolUniqueId(1470);
static constexpr const TSymbolUniqueId atomicCounterXor_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1465);
+ TSymbolUniqueId(1471);
static constexpr const TSymbolUniqueId atomicCounterExchange_AtomicCounter1_UInt1 =
- TSymbolUniqueId(1466);
+ TSymbolUniqueId(1472);
static constexpr const TSymbolUniqueId atomicCounterCompSwap_AtomicCounter1_UInt1_UInt1 =
- TSymbolUniqueId(1467);
- static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1 = TSymbolUniqueId(1468);
- static constexpr const TSymbolUniqueId pt_io_00E = TSymbolUniqueId(1469);
- static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1 = TSymbolUniqueId(1470);
- static constexpr const TSymbolUniqueId pt_io_00D = TSymbolUniqueId(1471);
- static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1 = TSymbolUniqueId(1472);
- static constexpr const TSymbolUniqueId atomicMin_Int1_Int1 = TSymbolUniqueId(1473);
- static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1 = TSymbolUniqueId(1474);
- static constexpr const TSymbolUniqueId atomicMax_Int1_Int1 = TSymbolUniqueId(1475);
- static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1 = TSymbolUniqueId(1476);
- static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1 = TSymbolUniqueId(1477);
- static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1 = TSymbolUniqueId(1478);
- static constexpr const TSymbolUniqueId atomicOr_Int1_Int1 = TSymbolUniqueId(1479);
- static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1 = TSymbolUniqueId(1480);
- static constexpr const TSymbolUniqueId atomicXor_Int1_Int1 = TSymbolUniqueId(1481);
- static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1 = TSymbolUniqueId(1482);
- static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1 = TSymbolUniqueId(1483);
- static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(1484);
- static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1 = TSymbolUniqueId(1485);
- static constexpr const TSymbolUniqueId imageSize_Image2D1 = TSymbolUniqueId(1486);
- static constexpr const TSymbolUniqueId pt00z = TSymbolUniqueId(1487);
- static constexpr const TSymbolUniqueId imageSize_IImage2D1 = TSymbolUniqueId(1488);
- static constexpr const TSymbolUniqueId pt01A = TSymbolUniqueId(1489);
- static constexpr const TSymbolUniqueId imageSize_UImage2D1 = TSymbolUniqueId(1490);
- static constexpr const TSymbolUniqueId pt01B = TSymbolUniqueId(1491);
- static constexpr const TSymbolUniqueId imageSize_Image3D1 = TSymbolUniqueId(1492);
- static constexpr const TSymbolUniqueId pt01C = TSymbolUniqueId(1493);
- static constexpr const TSymbolUniqueId imageSize_IImage3D1 = TSymbolUniqueId(1494);
- static constexpr const TSymbolUniqueId pt01D = TSymbolUniqueId(1495);
- static constexpr const TSymbolUniqueId imageSize_UImage3D1 = TSymbolUniqueId(1496);
- static constexpr const TSymbolUniqueId pt01E = TSymbolUniqueId(1497);
- static constexpr const TSymbolUniqueId imageSize_Image2DArray1 = TSymbolUniqueId(1498);
- static constexpr const TSymbolUniqueId pt01F = TSymbolUniqueId(1499);
- static constexpr const TSymbolUniqueId imageSize_IImage2DArray1 = TSymbolUniqueId(1500);
- static constexpr const TSymbolUniqueId pt01G = TSymbolUniqueId(1501);
- static constexpr const TSymbolUniqueId imageSize_UImage2DArray1 = TSymbolUniqueId(1502);
- static constexpr const TSymbolUniqueId pt01H = TSymbolUniqueId(1503);
- static constexpr const TSymbolUniqueId imageSize_ImageCube1 = TSymbolUniqueId(1504);
- static constexpr const TSymbolUniqueId pt01I = TSymbolUniqueId(1505);
- static constexpr const TSymbolUniqueId imageSize_IImageCube1 = TSymbolUniqueId(1506);
- static constexpr const TSymbolUniqueId pt01J = TSymbolUniqueId(1507);
- static constexpr const TSymbolUniqueId imageSize_UImageCube1 = TSymbolUniqueId(1508);
- static constexpr const TSymbolUniqueId pt01K = TSymbolUniqueId(1509);
- static constexpr const TSymbolUniqueId imageSize_Image1D1 = TSymbolUniqueId(1510);
- static constexpr const TSymbolUniqueId pt01L = TSymbolUniqueId(1511);
- static constexpr const TSymbolUniqueId imageSize_IImage1D1 = TSymbolUniqueId(1512);
- static constexpr const TSymbolUniqueId pt01M = TSymbolUniqueId(1513);
- static constexpr const TSymbolUniqueId imageSize_UImage1D1 = TSymbolUniqueId(1514);
- static constexpr const TSymbolUniqueId pt01N = TSymbolUniqueId(1515);
+ TSymbolUniqueId(1473);
+ static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1 = TSymbolUniqueId(1474);
+ static constexpr const TSymbolUniqueId pt_io_00E = TSymbolUniqueId(1475);
+ static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1 = TSymbolUniqueId(1476);
+ static constexpr const TSymbolUniqueId pt_io_00D = TSymbolUniqueId(1477);
+ static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1 = TSymbolUniqueId(1478);
+ static constexpr const TSymbolUniqueId atomicMin_Int1_Int1 = TSymbolUniqueId(1479);
+ static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1 = TSymbolUniqueId(1480);
+ static constexpr const TSymbolUniqueId atomicMax_Int1_Int1 = TSymbolUniqueId(1481);
+ static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1 = TSymbolUniqueId(1482);
+ static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1 = TSymbolUniqueId(1483);
+ static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1 = TSymbolUniqueId(1484);
+ static constexpr const TSymbolUniqueId atomicOr_Int1_Int1 = TSymbolUniqueId(1485);
+ static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1 = TSymbolUniqueId(1486);
+ static constexpr const TSymbolUniqueId atomicXor_Int1_Int1 = TSymbolUniqueId(1487);
+ static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1 = TSymbolUniqueId(1488);
+ static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1 = TSymbolUniqueId(1489);
+ static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(1490);
+ static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1 = TSymbolUniqueId(1491);
+ static constexpr const TSymbolUniqueId imageSize_Image2D1 = TSymbolUniqueId(1492);
+ static constexpr const TSymbolUniqueId pt00z = TSymbolUniqueId(1493);
+ static constexpr const TSymbolUniqueId imageSize_IImage2D1 = TSymbolUniqueId(1494);
+ static constexpr const TSymbolUniqueId pt01A = TSymbolUniqueId(1495);
+ static constexpr const TSymbolUniqueId imageSize_UImage2D1 = TSymbolUniqueId(1496);
+ static constexpr const TSymbolUniqueId pt01B = TSymbolUniqueId(1497);
+ static constexpr const TSymbolUniqueId imageSize_Image3D1 = TSymbolUniqueId(1498);
+ static constexpr const TSymbolUniqueId pt01C = TSymbolUniqueId(1499);
+ static constexpr const TSymbolUniqueId imageSize_IImage3D1 = TSymbolUniqueId(1500);
+ static constexpr const TSymbolUniqueId pt01D = TSymbolUniqueId(1501);
+ static constexpr const TSymbolUniqueId imageSize_UImage3D1 = TSymbolUniqueId(1502);
+ static constexpr const TSymbolUniqueId pt01E = TSymbolUniqueId(1503);
+ static constexpr const TSymbolUniqueId imageSize_Image2DArray1 = TSymbolUniqueId(1504);
+ static constexpr const TSymbolUniqueId pt01F = TSymbolUniqueId(1505);
+ static constexpr const TSymbolUniqueId imageSize_IImage2DArray1 = TSymbolUniqueId(1506);
+ static constexpr const TSymbolUniqueId pt01G = TSymbolUniqueId(1507);
+ static constexpr const TSymbolUniqueId imageSize_UImage2DArray1 = TSymbolUniqueId(1508);
+ static constexpr const TSymbolUniqueId pt01H = TSymbolUniqueId(1509);
+ static constexpr const TSymbolUniqueId imageSize_ImageCube1 = TSymbolUniqueId(1510);
+ static constexpr const TSymbolUniqueId pt01I = TSymbolUniqueId(1511);
+ static constexpr const TSymbolUniqueId imageSize_IImageCube1 = TSymbolUniqueId(1512);
+ static constexpr const TSymbolUniqueId pt01J = TSymbolUniqueId(1513);
+ static constexpr const TSymbolUniqueId imageSize_UImageCube1 = TSymbolUniqueId(1514);
+ static constexpr const TSymbolUniqueId pt01K = TSymbolUniqueId(1515);
static constexpr const TSymbolUniqueId imageSize_ImageCubeArray1 = TSymbolUniqueId(1516);
static constexpr const TSymbolUniqueId pt01a = TSymbolUniqueId(1517);
static constexpr const TSymbolUniqueId imageSize_IImageCubeArray1 = TSymbolUniqueId(1518);
static constexpr const TSymbolUniqueId pt01b = TSymbolUniqueId(1519);
static constexpr const TSymbolUniqueId imageSize_UImageCubeArray1 = TSymbolUniqueId(1520);
static constexpr const TSymbolUniqueId pt01c = TSymbolUniqueId(1521);
- static constexpr const TSymbolUniqueId imageSize_ImageRect1 = TSymbolUniqueId(1522);
- static constexpr const TSymbolUniqueId pt01d = TSymbolUniqueId(1523);
- static constexpr const TSymbolUniqueId imageSize_IImageRect1 = TSymbolUniqueId(1524);
- static constexpr const TSymbolUniqueId pt01e = TSymbolUniqueId(1525);
- static constexpr const TSymbolUniqueId imageSize_UImageRect1 = TSymbolUniqueId(1526);
- static constexpr const TSymbolUniqueId pt01f = TSymbolUniqueId(1527);
- static constexpr const TSymbolUniqueId imageSize_Image1DArray1 = TSymbolUniqueId(1528);
- static constexpr const TSymbolUniqueId pt01O = TSymbolUniqueId(1529);
- static constexpr const TSymbolUniqueId imageSize_IImage1DArray1 = TSymbolUniqueId(1530);
- static constexpr const TSymbolUniqueId pt01P = TSymbolUniqueId(1531);
- static constexpr const TSymbolUniqueId imageSize_UImage1DArray1 = TSymbolUniqueId(1532);
- static constexpr const TSymbolUniqueId pt01Q = TSymbolUniqueId(1533);
- static constexpr const TSymbolUniqueId imageSize_ImageBuffer1 = TSymbolUniqueId(1534);
- static constexpr const TSymbolUniqueId pt01g = TSymbolUniqueId(1535);
- static constexpr const TSymbolUniqueId imageSize_IImageBuffer1 = TSymbolUniqueId(1536);
- static constexpr const TSymbolUniqueId pt01h = TSymbolUniqueId(1537);
- static constexpr const TSymbolUniqueId imageSize_UImageBuffer1 = TSymbolUniqueId(1538);
- static constexpr const TSymbolUniqueId pt01i = TSymbolUniqueId(1539);
- static constexpr const TSymbolUniqueId imageSize_Image2DMS1 = TSymbolUniqueId(1540);
- static constexpr const TSymbolUniqueId pt01R = TSymbolUniqueId(1541);
- static constexpr const TSymbolUniqueId imageSize_IImage2DMS1 = TSymbolUniqueId(1542);
- static constexpr const TSymbolUniqueId pt01S = TSymbolUniqueId(1543);
- static constexpr const TSymbolUniqueId imageSize_UImage2DMS1 = TSymbolUniqueId(1544);
- static constexpr const TSymbolUniqueId pt01T = TSymbolUniqueId(1545);
- static constexpr const TSymbolUniqueId imageSize_Image2DMSArray1 = TSymbolUniqueId(1546);
- static constexpr const TSymbolUniqueId pt01U = TSymbolUniqueId(1547);
- static constexpr const TSymbolUniqueId imageSize_IImage2DMSArray1 = TSymbolUniqueId(1548);
- static constexpr const TSymbolUniqueId pt01V = TSymbolUniqueId(1549);
- static constexpr const TSymbolUniqueId imageSize_UImage2DMSArray1 = TSymbolUniqueId(1550);
- static constexpr const TSymbolUniqueId pt01W = TSymbolUniqueId(1551);
- static constexpr const TSymbolUniqueId imageSamples_Image2DMS1 = TSymbolUniqueId(1552);
- static constexpr const TSymbolUniqueId imageSamples_IImage2DMS1 = TSymbolUniqueId(1553);
- static constexpr const TSymbolUniqueId imageSamples_UImage2DMS1 = TSymbolUniqueId(1554);
- static constexpr const TSymbolUniqueId imageSamples_Image2DMSArray1 = TSymbolUniqueId(1555);
- static constexpr const TSymbolUniqueId imageSamples_IImage2DMSArray1 = TSymbolUniqueId(1556);
- static constexpr const TSymbolUniqueId imageSamples_UImage2DMSArray1 = TSymbolUniqueId(1557);
+ static constexpr const TSymbolUniqueId imageSize_Image1D1 = TSymbolUniqueId(1522);
+ static constexpr const TSymbolUniqueId pt01L = TSymbolUniqueId(1523);
+ static constexpr const TSymbolUniqueId imageSize_IImage1D1 = TSymbolUniqueId(1524);
+ static constexpr const TSymbolUniqueId pt01M = TSymbolUniqueId(1525);
+ static constexpr const TSymbolUniqueId imageSize_UImage1D1 = TSymbolUniqueId(1526);
+ static constexpr const TSymbolUniqueId pt01N = TSymbolUniqueId(1527);
+ static constexpr const TSymbolUniqueId imageSize_ImageRect1 = TSymbolUniqueId(1528);
+ static constexpr const TSymbolUniqueId pt01d = TSymbolUniqueId(1529);
+ static constexpr const TSymbolUniqueId imageSize_IImageRect1 = TSymbolUniqueId(1530);
+ static constexpr const TSymbolUniqueId pt01e = TSymbolUniqueId(1531);
+ static constexpr const TSymbolUniqueId imageSize_UImageRect1 = TSymbolUniqueId(1532);
+ static constexpr const TSymbolUniqueId pt01f = TSymbolUniqueId(1533);
+ static constexpr const TSymbolUniqueId imageSize_Image1DArray1 = TSymbolUniqueId(1534);
+ static constexpr const TSymbolUniqueId pt01O = TSymbolUniqueId(1535);
+ static constexpr const TSymbolUniqueId imageSize_IImage1DArray1 = TSymbolUniqueId(1536);
+ static constexpr const TSymbolUniqueId pt01P = TSymbolUniqueId(1537);
+ static constexpr const TSymbolUniqueId imageSize_UImage1DArray1 = TSymbolUniqueId(1538);
+ static constexpr const TSymbolUniqueId pt01Q = TSymbolUniqueId(1539);
+ static constexpr const TSymbolUniqueId imageSize_ImageBuffer1 = TSymbolUniqueId(1540);
+ static constexpr const TSymbolUniqueId pt01g = TSymbolUniqueId(1541);
+ static constexpr const TSymbolUniqueId imageSize_IImageBuffer1 = TSymbolUniqueId(1542);
+ static constexpr const TSymbolUniqueId pt01h = TSymbolUniqueId(1543);
+ static constexpr const TSymbolUniqueId imageSize_UImageBuffer1 = TSymbolUniqueId(1544);
+ static constexpr const TSymbolUniqueId pt01i = TSymbolUniqueId(1545);
+ static constexpr const TSymbolUniqueId imageSize_Image2DMS1 = TSymbolUniqueId(1546);
+ static constexpr const TSymbolUniqueId pt01R = TSymbolUniqueId(1547);
+ static constexpr const TSymbolUniqueId imageSize_IImage2DMS1 = TSymbolUniqueId(1548);
+ static constexpr const TSymbolUniqueId pt01S = TSymbolUniqueId(1549);
+ static constexpr const TSymbolUniqueId imageSize_UImage2DMS1 = TSymbolUniqueId(1550);
+ static constexpr const TSymbolUniqueId pt01T = TSymbolUniqueId(1551);
+ static constexpr const TSymbolUniqueId imageSize_Image2DMSArray1 = TSymbolUniqueId(1552);
+ static constexpr const TSymbolUniqueId pt01U = TSymbolUniqueId(1553);
+ static constexpr const TSymbolUniqueId imageSize_IImage2DMSArray1 = TSymbolUniqueId(1554);
+ static constexpr const TSymbolUniqueId pt01V = TSymbolUniqueId(1555);
+ static constexpr const TSymbolUniqueId imageSize_UImage2DMSArray1 = TSymbolUniqueId(1556);
+ static constexpr const TSymbolUniqueId pt01W = TSymbolUniqueId(1557);
+ static constexpr const TSymbolUniqueId imageSamples_Image2DMS1 = TSymbolUniqueId(1558);
+ static constexpr const TSymbolUniqueId imageSamples_IImage2DMS1 = TSymbolUniqueId(1559);
+ static constexpr const TSymbolUniqueId imageSamples_UImage2DMS1 = TSymbolUniqueId(1560);
+ static constexpr const TSymbolUniqueId imageSamples_Image2DMSArray1 = TSymbolUniqueId(1561);
+ static constexpr const TSymbolUniqueId imageSamples_IImage2DMSArray1 = TSymbolUniqueId(1562);
+ static constexpr const TSymbolUniqueId imageSamples_UImage2DMSArray1 = TSymbolUniqueId(1563);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2D1_Int2_UInt1 =
- TSymbolUniqueId(1558);
+ TSymbolUniqueId(1564);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1559);
+ TSymbolUniqueId(1565);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1560);
+ TSymbolUniqueId(1566);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image3D1_Int3_UInt1 =
- TSymbolUniqueId(1561);
+ TSymbolUniqueId(1567);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1562);
+ TSymbolUniqueId(1568);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1563);
+ TSymbolUniqueId(1569);
static constexpr const TSymbolUniqueId imageAtomicAdd_ImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1564);
+ TSymbolUniqueId(1570);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1565);
+ TSymbolUniqueId(1571);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1566);
+ TSymbolUniqueId(1572);
static constexpr const TSymbolUniqueId imageAtomicAdd_ImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1567);
+ TSymbolUniqueId(1573);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1568);
+ TSymbolUniqueId(1574);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1569);
+ TSymbolUniqueId(1575);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1570);
+ TSymbolUniqueId(1576);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1571);
+ TSymbolUniqueId(1577);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1572);
+ TSymbolUniqueId(1578);
static constexpr const TSymbolUniqueId imageAtomicAdd_ImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1573);
+ TSymbolUniqueId(1579);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1574);
+ TSymbolUniqueId(1580);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1575);
+ TSymbolUniqueId(1581);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image1D1_Int1_UInt1 =
- TSymbolUniqueId(1576);
+ TSymbolUniqueId(1582);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1577);
+ TSymbolUniqueId(1583);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1578);
+ TSymbolUniqueId(1584);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1579);
+ TSymbolUniqueId(1585);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1580);
+ TSymbolUniqueId(1586);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1581);
+ TSymbolUniqueId(1587);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1582);
- static constexpr const TSymbolUniqueId pt01X = TSymbolUniqueId(1583);
+ TSymbolUniqueId(1588);
+ static constexpr const TSymbolUniqueId pt01X = TSymbolUniqueId(1589);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1584);
- static constexpr const TSymbolUniqueId pt01Y = TSymbolUniqueId(1585);
+ TSymbolUniqueId(1590);
+ static constexpr const TSymbolUniqueId pt01Y = TSymbolUniqueId(1591);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1586);
- static constexpr const TSymbolUniqueId pt01Z = TSymbolUniqueId(1587);
+ TSymbolUniqueId(1592);
+ static constexpr const TSymbolUniqueId pt01Z = TSymbolUniqueId(1593);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1588);
+ TSymbolUniqueId(1594);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1589);
+ TSymbolUniqueId(1595);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1590);
+ TSymbolUniqueId(1596);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1591);
+ TSymbolUniqueId(1597);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1592);
+ TSymbolUniqueId(1598);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1593);
+ TSymbolUniqueId(1599);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2D1_Int2_Int1 =
- TSymbolUniqueId(1594);
+ TSymbolUniqueId(1600);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2D1_Int2_Int1 =
- TSymbolUniqueId(1595);
+ TSymbolUniqueId(1601);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2D1_Int2_Int1 =
- TSymbolUniqueId(1596);
+ TSymbolUniqueId(1602);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image3D1_Int3_Int1 =
- TSymbolUniqueId(1597);
+ TSymbolUniqueId(1603);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage3D1_Int3_Int1 =
- TSymbolUniqueId(1598);
+ TSymbolUniqueId(1604);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage3D1_Int3_Int1 =
- TSymbolUniqueId(1599);
+ TSymbolUniqueId(1605);
static constexpr const TSymbolUniqueId imageAtomicAdd_ImageCube1_Int3_Int1 =
- TSymbolUniqueId(1600);
+ TSymbolUniqueId(1606);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImageCube1_Int3_Int1 =
- TSymbolUniqueId(1601);
+ TSymbolUniqueId(1607);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImageCube1_Int3_Int1 =
- TSymbolUniqueId(1602);
+ TSymbolUniqueId(1608);
static constexpr const TSymbolUniqueId imageAtomicAdd_ImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1603);
+ TSymbolUniqueId(1609);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1604);
+ TSymbolUniqueId(1610);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1605);
+ TSymbolUniqueId(1611);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DArray1_Int3_Int1 =
- TSymbolUniqueId(1606);
+ TSymbolUniqueId(1612);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1607);
+ TSymbolUniqueId(1613);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1608);
+ TSymbolUniqueId(1614);
static constexpr const TSymbolUniqueId imageAtomicAdd_ImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1609);
+ TSymbolUniqueId(1615);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1610);
+ TSymbolUniqueId(1616);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1611);
+ TSymbolUniqueId(1617);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image1D1_Int1_Int1 =
- TSymbolUniqueId(1612);
+ TSymbolUniqueId(1618);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage1D1_Int1_Int1 =
- TSymbolUniqueId(1613);
+ TSymbolUniqueId(1619);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage1D1_Int1_Int1 =
- TSymbolUniqueId(1614);
+ TSymbolUniqueId(1620);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image1DArray1_Int2_Int1 =
- TSymbolUniqueId(1615);
+ TSymbolUniqueId(1621);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1616);
+ TSymbolUniqueId(1622);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1617);
+ TSymbolUniqueId(1623);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DRect1_Int2_Int1 =
- TSymbolUniqueId(1618);
+ TSymbolUniqueId(1624);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1619);
+ TSymbolUniqueId(1625);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1620);
+ TSymbolUniqueId(1626);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1621);
+ TSymbolUniqueId(1627);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1622);
+ TSymbolUniqueId(1628);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1623);
+ TSymbolUniqueId(1629);
static constexpr const TSymbolUniqueId imageAtomicAdd_Image2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1624);
+ TSymbolUniqueId(1630);
static constexpr const TSymbolUniqueId imageAtomicAdd_IImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1625);
+ TSymbolUniqueId(1631);
static constexpr const TSymbolUniqueId imageAtomicAdd_UImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1626);
+ TSymbolUniqueId(1632);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2D1_Int2_UInt1 =
- TSymbolUniqueId(1627);
+ TSymbolUniqueId(1633);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1628);
+ TSymbolUniqueId(1634);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1629);
+ TSymbolUniqueId(1635);
static constexpr const TSymbolUniqueId imageAtomicMin_Image3D1_Int3_UInt1 =
- TSymbolUniqueId(1630);
+ TSymbolUniqueId(1636);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1631);
+ TSymbolUniqueId(1637);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1632);
+ TSymbolUniqueId(1638);
static constexpr const TSymbolUniqueId imageAtomicMin_ImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1633);
+ TSymbolUniqueId(1639);
static constexpr const TSymbolUniqueId imageAtomicMin_IImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1634);
+ TSymbolUniqueId(1640);
static constexpr const TSymbolUniqueId imageAtomicMin_UImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1635);
+ TSymbolUniqueId(1641);
static constexpr const TSymbolUniqueId imageAtomicMin_ImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1636);
+ TSymbolUniqueId(1642);
static constexpr const TSymbolUniqueId imageAtomicMin_IImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1637);
+ TSymbolUniqueId(1643);
static constexpr const TSymbolUniqueId imageAtomicMin_UImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1638);
+ TSymbolUniqueId(1644);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1639);
+ TSymbolUniqueId(1645);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1640);
+ TSymbolUniqueId(1646);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1641);
+ TSymbolUniqueId(1647);
static constexpr const TSymbolUniqueId imageAtomicMin_ImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1642);
+ TSymbolUniqueId(1648);
static constexpr const TSymbolUniqueId imageAtomicMin_IImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1643);
+ TSymbolUniqueId(1649);
static constexpr const TSymbolUniqueId imageAtomicMin_UImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1644);
+ TSymbolUniqueId(1650);
static constexpr const TSymbolUniqueId imageAtomicMin_Image1D1_Int1_UInt1 =
- TSymbolUniqueId(1645);
+ TSymbolUniqueId(1651);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1646);
+ TSymbolUniqueId(1652);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1647);
+ TSymbolUniqueId(1653);
static constexpr const TSymbolUniqueId imageAtomicMin_Image1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1648);
+ TSymbolUniqueId(1654);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1649);
+ TSymbolUniqueId(1655);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1650);
+ TSymbolUniqueId(1656);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1651);
+ TSymbolUniqueId(1657);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1652);
+ TSymbolUniqueId(1658);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1653);
+ TSymbolUniqueId(1659);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1654);
+ TSymbolUniqueId(1660);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1655);
+ TSymbolUniqueId(1661);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1656);
+ TSymbolUniqueId(1662);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1657);
+ TSymbolUniqueId(1663);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1658);
+ TSymbolUniqueId(1664);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1659);
+ TSymbolUniqueId(1665);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2D1_Int2_Int1 =
- TSymbolUniqueId(1660);
+ TSymbolUniqueId(1666);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2D1_Int2_Int1 =
- TSymbolUniqueId(1661);
+ TSymbolUniqueId(1667);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2D1_Int2_Int1 =
- TSymbolUniqueId(1662);
+ TSymbolUniqueId(1668);
static constexpr const TSymbolUniqueId imageAtomicMin_Image3D1_Int3_Int1 =
- TSymbolUniqueId(1663);
+ TSymbolUniqueId(1669);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage3D1_Int3_Int1 =
- TSymbolUniqueId(1664);
+ TSymbolUniqueId(1670);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage3D1_Int3_Int1 =
- TSymbolUniqueId(1665);
+ TSymbolUniqueId(1671);
static constexpr const TSymbolUniqueId imageAtomicMin_ImageCube1_Int3_Int1 =
- TSymbolUniqueId(1666);
+ TSymbolUniqueId(1672);
static constexpr const TSymbolUniqueId imageAtomicMin_IImageCube1_Int3_Int1 =
- TSymbolUniqueId(1667);
+ TSymbolUniqueId(1673);
static constexpr const TSymbolUniqueId imageAtomicMin_UImageCube1_Int3_Int1 =
- TSymbolUniqueId(1668);
+ TSymbolUniqueId(1674);
static constexpr const TSymbolUniqueId imageAtomicMin_ImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1669);
+ TSymbolUniqueId(1675);
static constexpr const TSymbolUniqueId imageAtomicMin_IImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1670);
+ TSymbolUniqueId(1676);
static constexpr const TSymbolUniqueId imageAtomicMin_UImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1671);
+ TSymbolUniqueId(1677);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DArray1_Int3_Int1 =
- TSymbolUniqueId(1672);
+ TSymbolUniqueId(1678);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1673);
+ TSymbolUniqueId(1679);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1674);
+ TSymbolUniqueId(1680);
static constexpr const TSymbolUniqueId imageAtomicMin_ImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1675);
+ TSymbolUniqueId(1681);
static constexpr const TSymbolUniqueId imageAtomicMin_IImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1676);
+ TSymbolUniqueId(1682);
static constexpr const TSymbolUniqueId imageAtomicMin_UImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1677);
+ TSymbolUniqueId(1683);
static constexpr const TSymbolUniqueId imageAtomicMin_Image1D1_Int1_Int1 =
- TSymbolUniqueId(1678);
+ TSymbolUniqueId(1684);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage1D1_Int1_Int1 =
- TSymbolUniqueId(1679);
+ TSymbolUniqueId(1685);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage1D1_Int1_Int1 =
- TSymbolUniqueId(1680);
+ TSymbolUniqueId(1686);
static constexpr const TSymbolUniqueId imageAtomicMin_Image1DArray1_Int2_Int1 =
- TSymbolUniqueId(1681);
+ TSymbolUniqueId(1687);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1682);
+ TSymbolUniqueId(1688);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1683);
+ TSymbolUniqueId(1689);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DRect1_Int2_Int1 =
- TSymbolUniqueId(1684);
+ TSymbolUniqueId(1690);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1685);
+ TSymbolUniqueId(1691);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1686);
+ TSymbolUniqueId(1692);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1687);
+ TSymbolUniqueId(1693);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1688);
+ TSymbolUniqueId(1694);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1689);
+ TSymbolUniqueId(1695);
static constexpr const TSymbolUniqueId imageAtomicMin_Image2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1690);
+ TSymbolUniqueId(1696);
static constexpr const TSymbolUniqueId imageAtomicMin_IImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1691);
+ TSymbolUniqueId(1697);
static constexpr const TSymbolUniqueId imageAtomicMin_UImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1692);
+ TSymbolUniqueId(1698);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2D1_Int2_UInt1 =
- TSymbolUniqueId(1693);
+ TSymbolUniqueId(1699);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1694);
+ TSymbolUniqueId(1700);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1695);
+ TSymbolUniqueId(1701);
static constexpr const TSymbolUniqueId imageAtomicMax_Image3D1_Int3_UInt1 =
- TSymbolUniqueId(1696);
+ TSymbolUniqueId(1702);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1697);
+ TSymbolUniqueId(1703);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1698);
+ TSymbolUniqueId(1704);
static constexpr const TSymbolUniqueId imageAtomicMax_ImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1699);
+ TSymbolUniqueId(1705);
static constexpr const TSymbolUniqueId imageAtomicMax_IImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1700);
+ TSymbolUniqueId(1706);
static constexpr const TSymbolUniqueId imageAtomicMax_UImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1701);
+ TSymbolUniqueId(1707);
static constexpr const TSymbolUniqueId imageAtomicMax_ImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1702);
+ TSymbolUniqueId(1708);
static constexpr const TSymbolUniqueId imageAtomicMax_IImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1703);
+ TSymbolUniqueId(1709);
static constexpr const TSymbolUniqueId imageAtomicMax_UImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1704);
+ TSymbolUniqueId(1710);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1705);
+ TSymbolUniqueId(1711);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1706);
+ TSymbolUniqueId(1712);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1707);
+ TSymbolUniqueId(1713);
static constexpr const TSymbolUniqueId imageAtomicMax_ImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1708);
+ TSymbolUniqueId(1714);
static constexpr const TSymbolUniqueId imageAtomicMax_IImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1709);
+ TSymbolUniqueId(1715);
static constexpr const TSymbolUniqueId imageAtomicMax_UImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1710);
+ TSymbolUniqueId(1716);
static constexpr const TSymbolUniqueId imageAtomicMax_Image1D1_Int1_UInt1 =
- TSymbolUniqueId(1711);
+ TSymbolUniqueId(1717);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1712);
+ TSymbolUniqueId(1718);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1713);
+ TSymbolUniqueId(1719);
static constexpr const TSymbolUniqueId imageAtomicMax_Image1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1714);
+ TSymbolUniqueId(1720);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1715);
+ TSymbolUniqueId(1721);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1716);
+ TSymbolUniqueId(1722);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1717);
+ TSymbolUniqueId(1723);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1718);
+ TSymbolUniqueId(1724);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1719);
+ TSymbolUniqueId(1725);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1720);
+ TSymbolUniqueId(1726);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1721);
+ TSymbolUniqueId(1727);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1722);
+ TSymbolUniqueId(1728);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1723);
+ TSymbolUniqueId(1729);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1724);
+ TSymbolUniqueId(1730);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1725);
+ TSymbolUniqueId(1731);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2D1_Int2_Int1 =
- TSymbolUniqueId(1726);
+ TSymbolUniqueId(1732);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2D1_Int2_Int1 =
- TSymbolUniqueId(1727);
+ TSymbolUniqueId(1733);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2D1_Int2_Int1 =
- TSymbolUniqueId(1728);
+ TSymbolUniqueId(1734);
static constexpr const TSymbolUniqueId imageAtomicMax_Image3D1_Int3_Int1 =
- TSymbolUniqueId(1729);
+ TSymbolUniqueId(1735);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage3D1_Int3_Int1 =
- TSymbolUniqueId(1730);
+ TSymbolUniqueId(1736);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage3D1_Int3_Int1 =
- TSymbolUniqueId(1731);
+ TSymbolUniqueId(1737);
static constexpr const TSymbolUniqueId imageAtomicMax_ImageCube1_Int3_Int1 =
- TSymbolUniqueId(1732);
+ TSymbolUniqueId(1738);
static constexpr const TSymbolUniqueId imageAtomicMax_IImageCube1_Int3_Int1 =
- TSymbolUniqueId(1733);
+ TSymbolUniqueId(1739);
static constexpr const TSymbolUniqueId imageAtomicMax_UImageCube1_Int3_Int1 =
- TSymbolUniqueId(1734);
+ TSymbolUniqueId(1740);
static constexpr const TSymbolUniqueId imageAtomicMax_ImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1735);
+ TSymbolUniqueId(1741);
static constexpr const TSymbolUniqueId imageAtomicMax_IImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1736);
+ TSymbolUniqueId(1742);
static constexpr const TSymbolUniqueId imageAtomicMax_UImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1737);
+ TSymbolUniqueId(1743);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DArray1_Int3_Int1 =
- TSymbolUniqueId(1738);
+ TSymbolUniqueId(1744);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1739);
+ TSymbolUniqueId(1745);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1740);
+ TSymbolUniqueId(1746);
static constexpr const TSymbolUniqueId imageAtomicMax_ImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1741);
+ TSymbolUniqueId(1747);
static constexpr const TSymbolUniqueId imageAtomicMax_IImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1742);
+ TSymbolUniqueId(1748);
static constexpr const TSymbolUniqueId imageAtomicMax_UImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1743);
+ TSymbolUniqueId(1749);
static constexpr const TSymbolUniqueId imageAtomicMax_Image1D1_Int1_Int1 =
- TSymbolUniqueId(1744);
+ TSymbolUniqueId(1750);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage1D1_Int1_Int1 =
- TSymbolUniqueId(1745);
+ TSymbolUniqueId(1751);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage1D1_Int1_Int1 =
- TSymbolUniqueId(1746);
+ TSymbolUniqueId(1752);
static constexpr const TSymbolUniqueId imageAtomicMax_Image1DArray1_Int2_Int1 =
- TSymbolUniqueId(1747);
+ TSymbolUniqueId(1753);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1748);
+ TSymbolUniqueId(1754);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1749);
+ TSymbolUniqueId(1755);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DRect1_Int2_Int1 =
- TSymbolUniqueId(1750);
+ TSymbolUniqueId(1756);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1751);
+ TSymbolUniqueId(1757);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1752);
+ TSymbolUniqueId(1758);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1753);
+ TSymbolUniqueId(1759);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1754);
+ TSymbolUniqueId(1760);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1755);
+ TSymbolUniqueId(1761);
static constexpr const TSymbolUniqueId imageAtomicMax_Image2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1756);
+ TSymbolUniqueId(1762);
static constexpr const TSymbolUniqueId imageAtomicMax_IImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1757);
+ TSymbolUniqueId(1763);
static constexpr const TSymbolUniqueId imageAtomicMax_UImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1758);
+ TSymbolUniqueId(1764);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2D1_Int2_UInt1 =
- TSymbolUniqueId(1759);
+ TSymbolUniqueId(1765);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1760);
+ TSymbolUniqueId(1766);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1761);
+ TSymbolUniqueId(1767);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image3D1_Int3_UInt1 =
- TSymbolUniqueId(1762);
+ TSymbolUniqueId(1768);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1763);
+ TSymbolUniqueId(1769);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1764);
+ TSymbolUniqueId(1770);
static constexpr const TSymbolUniqueId imageAtomicAnd_ImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1765);
+ TSymbolUniqueId(1771);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1766);
+ TSymbolUniqueId(1772);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1767);
+ TSymbolUniqueId(1773);
static constexpr const TSymbolUniqueId imageAtomicAnd_ImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1768);
+ TSymbolUniqueId(1774);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1769);
+ TSymbolUniqueId(1775);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1770);
+ TSymbolUniqueId(1776);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1771);
+ TSymbolUniqueId(1777);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1772);
+ TSymbolUniqueId(1778);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1773);
+ TSymbolUniqueId(1779);
static constexpr const TSymbolUniqueId imageAtomicAnd_ImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1774);
+ TSymbolUniqueId(1780);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1775);
+ TSymbolUniqueId(1781);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1776);
+ TSymbolUniqueId(1782);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image1D1_Int1_UInt1 =
- TSymbolUniqueId(1777);
+ TSymbolUniqueId(1783);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1778);
+ TSymbolUniqueId(1784);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1779);
+ TSymbolUniqueId(1785);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1780);
+ TSymbolUniqueId(1786);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1781);
+ TSymbolUniqueId(1787);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1782);
+ TSymbolUniqueId(1788);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1783);
+ TSymbolUniqueId(1789);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1784);
+ TSymbolUniqueId(1790);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1785);
+ TSymbolUniqueId(1791);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1786);
+ TSymbolUniqueId(1792);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1787);
+ TSymbolUniqueId(1793);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1788);
+ TSymbolUniqueId(1794);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1789);
+ TSymbolUniqueId(1795);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1790);
+ TSymbolUniqueId(1796);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1791);
+ TSymbolUniqueId(1797);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2D1_Int2_Int1 =
- TSymbolUniqueId(1792);
+ TSymbolUniqueId(1798);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2D1_Int2_Int1 =
- TSymbolUniqueId(1793);
+ TSymbolUniqueId(1799);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2D1_Int2_Int1 =
- TSymbolUniqueId(1794);
+ TSymbolUniqueId(1800);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image3D1_Int3_Int1 =
- TSymbolUniqueId(1795);
+ TSymbolUniqueId(1801);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage3D1_Int3_Int1 =
- TSymbolUniqueId(1796);
+ TSymbolUniqueId(1802);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage3D1_Int3_Int1 =
- TSymbolUniqueId(1797);
+ TSymbolUniqueId(1803);
static constexpr const TSymbolUniqueId imageAtomicAnd_ImageCube1_Int3_Int1 =
- TSymbolUniqueId(1798);
+ TSymbolUniqueId(1804);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImageCube1_Int3_Int1 =
- TSymbolUniqueId(1799);
+ TSymbolUniqueId(1805);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImageCube1_Int3_Int1 =
- TSymbolUniqueId(1800);
+ TSymbolUniqueId(1806);
static constexpr const TSymbolUniqueId imageAtomicAnd_ImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1801);
+ TSymbolUniqueId(1807);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1802);
+ TSymbolUniqueId(1808);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1803);
+ TSymbolUniqueId(1809);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DArray1_Int3_Int1 =
- TSymbolUniqueId(1804);
+ TSymbolUniqueId(1810);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1805);
+ TSymbolUniqueId(1811);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1806);
+ TSymbolUniqueId(1812);
static constexpr const TSymbolUniqueId imageAtomicAnd_ImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1807);
+ TSymbolUniqueId(1813);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1808);
+ TSymbolUniqueId(1814);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1809);
+ TSymbolUniqueId(1815);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image1D1_Int1_Int1 =
- TSymbolUniqueId(1810);
+ TSymbolUniqueId(1816);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage1D1_Int1_Int1 =
- TSymbolUniqueId(1811);
+ TSymbolUniqueId(1817);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage1D1_Int1_Int1 =
- TSymbolUniqueId(1812);
+ TSymbolUniqueId(1818);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image1DArray1_Int2_Int1 =
- TSymbolUniqueId(1813);
+ TSymbolUniqueId(1819);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1814);
+ TSymbolUniqueId(1820);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1815);
+ TSymbolUniqueId(1821);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DRect1_Int2_Int1 =
- TSymbolUniqueId(1816);
+ TSymbolUniqueId(1822);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1817);
+ TSymbolUniqueId(1823);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1818);
+ TSymbolUniqueId(1824);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1819);
+ TSymbolUniqueId(1825);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1820);
+ TSymbolUniqueId(1826);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1821);
+ TSymbolUniqueId(1827);
static constexpr const TSymbolUniqueId imageAtomicAnd_Image2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1822);
+ TSymbolUniqueId(1828);
static constexpr const TSymbolUniqueId imageAtomicAnd_IImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1823);
+ TSymbolUniqueId(1829);
static constexpr const TSymbolUniqueId imageAtomicAnd_UImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1824);
+ TSymbolUniqueId(1830);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2D1_Int2_UInt1 =
- TSymbolUniqueId(1825);
+ TSymbolUniqueId(1831);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1826);
+ TSymbolUniqueId(1832);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1827);
+ TSymbolUniqueId(1833);
static constexpr const TSymbolUniqueId imageAtomicOr_Image3D1_Int3_UInt1 =
- TSymbolUniqueId(1828);
+ TSymbolUniqueId(1834);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1829);
+ TSymbolUniqueId(1835);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1830);
+ TSymbolUniqueId(1836);
static constexpr const TSymbolUniqueId imageAtomicOr_ImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1831);
+ TSymbolUniqueId(1837);
static constexpr const TSymbolUniqueId imageAtomicOr_IImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1832);
+ TSymbolUniqueId(1838);
static constexpr const TSymbolUniqueId imageAtomicOr_UImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1833);
+ TSymbolUniqueId(1839);
static constexpr const TSymbolUniqueId imageAtomicOr_ImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1834);
+ TSymbolUniqueId(1840);
static constexpr const TSymbolUniqueId imageAtomicOr_IImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1835);
+ TSymbolUniqueId(1841);
static constexpr const TSymbolUniqueId imageAtomicOr_UImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1836);
+ TSymbolUniqueId(1842);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1837);
+ TSymbolUniqueId(1843);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1838);
+ TSymbolUniqueId(1844);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1839);
+ TSymbolUniqueId(1845);
static constexpr const TSymbolUniqueId imageAtomicOr_ImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1840);
+ TSymbolUniqueId(1846);
static constexpr const TSymbolUniqueId imageAtomicOr_IImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1841);
+ TSymbolUniqueId(1847);
static constexpr const TSymbolUniqueId imageAtomicOr_UImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1842);
+ TSymbolUniqueId(1848);
static constexpr const TSymbolUniqueId imageAtomicOr_Image1D1_Int1_UInt1 =
- TSymbolUniqueId(1843);
+ TSymbolUniqueId(1849);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1844);
+ TSymbolUniqueId(1850);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1845);
+ TSymbolUniqueId(1851);
static constexpr const TSymbolUniqueId imageAtomicOr_Image1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1846);
+ TSymbolUniqueId(1852);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1847);
+ TSymbolUniqueId(1853);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1848);
+ TSymbolUniqueId(1854);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1849);
+ TSymbolUniqueId(1855);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1850);
+ TSymbolUniqueId(1856);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1851);
+ TSymbolUniqueId(1857);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1852);
+ TSymbolUniqueId(1858);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1853);
+ TSymbolUniqueId(1859);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1854);
+ TSymbolUniqueId(1860);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1855);
+ TSymbolUniqueId(1861);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1856);
+ TSymbolUniqueId(1862);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1857);
- static constexpr const TSymbolUniqueId imageAtomicOr_Image2D1_Int2_Int1 = TSymbolUniqueId(1858);
+ TSymbolUniqueId(1863);
+ static constexpr const TSymbolUniqueId imageAtomicOr_Image2D1_Int2_Int1 = TSymbolUniqueId(1864);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2D1_Int2_Int1 =
- TSymbolUniqueId(1859);
+ TSymbolUniqueId(1865);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2D1_Int2_Int1 =
- TSymbolUniqueId(1860);
- static constexpr const TSymbolUniqueId imageAtomicOr_Image3D1_Int3_Int1 = TSymbolUniqueId(1861);
+ TSymbolUniqueId(1866);
+ static constexpr const TSymbolUniqueId imageAtomicOr_Image3D1_Int3_Int1 = TSymbolUniqueId(1867);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage3D1_Int3_Int1 =
- TSymbolUniqueId(1862);
+ TSymbolUniqueId(1868);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage3D1_Int3_Int1 =
- TSymbolUniqueId(1863);
+ TSymbolUniqueId(1869);
static constexpr const TSymbolUniqueId imageAtomicOr_ImageCube1_Int3_Int1 =
- TSymbolUniqueId(1864);
+ TSymbolUniqueId(1870);
static constexpr const TSymbolUniqueId imageAtomicOr_IImageCube1_Int3_Int1 =
- TSymbolUniqueId(1865);
+ TSymbolUniqueId(1871);
static constexpr const TSymbolUniqueId imageAtomicOr_UImageCube1_Int3_Int1 =
- TSymbolUniqueId(1866);
+ TSymbolUniqueId(1872);
static constexpr const TSymbolUniqueId imageAtomicOr_ImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1867);
+ TSymbolUniqueId(1873);
static constexpr const TSymbolUniqueId imageAtomicOr_IImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1868);
+ TSymbolUniqueId(1874);
static constexpr const TSymbolUniqueId imageAtomicOr_UImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1869);
+ TSymbolUniqueId(1875);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DArray1_Int3_Int1 =
- TSymbolUniqueId(1870);
+ TSymbolUniqueId(1876);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1871);
+ TSymbolUniqueId(1877);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1872);
+ TSymbolUniqueId(1878);
static constexpr const TSymbolUniqueId imageAtomicOr_ImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1873);
+ TSymbolUniqueId(1879);
static constexpr const TSymbolUniqueId imageAtomicOr_IImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1874);
+ TSymbolUniqueId(1880);
static constexpr const TSymbolUniqueId imageAtomicOr_UImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1875);
- static constexpr const TSymbolUniqueId imageAtomicOr_Image1D1_Int1_Int1 = TSymbolUniqueId(1876);
+ TSymbolUniqueId(1881);
+ static constexpr const TSymbolUniqueId imageAtomicOr_Image1D1_Int1_Int1 = TSymbolUniqueId(1882);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage1D1_Int1_Int1 =
- TSymbolUniqueId(1877);
+ TSymbolUniqueId(1883);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage1D1_Int1_Int1 =
- TSymbolUniqueId(1878);
+ TSymbolUniqueId(1884);
static constexpr const TSymbolUniqueId imageAtomicOr_Image1DArray1_Int2_Int1 =
- TSymbolUniqueId(1879);
+ TSymbolUniqueId(1885);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1880);
+ TSymbolUniqueId(1886);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1881);
+ TSymbolUniqueId(1887);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DRect1_Int2_Int1 =
- TSymbolUniqueId(1882);
+ TSymbolUniqueId(1888);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1883);
+ TSymbolUniqueId(1889);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1884);
+ TSymbolUniqueId(1890);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1885);
+ TSymbolUniqueId(1891);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1886);
+ TSymbolUniqueId(1892);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1887);
+ TSymbolUniqueId(1893);
static constexpr const TSymbolUniqueId imageAtomicOr_Image2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1888);
+ TSymbolUniqueId(1894);
static constexpr const TSymbolUniqueId imageAtomicOr_IImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1889);
+ TSymbolUniqueId(1895);
static constexpr const TSymbolUniqueId imageAtomicOr_UImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1890);
+ TSymbolUniqueId(1896);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2D1_Int2_UInt1 =
- TSymbolUniqueId(1891);
+ TSymbolUniqueId(1897);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1892);
+ TSymbolUniqueId(1898);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1893);
+ TSymbolUniqueId(1899);
static constexpr const TSymbolUniqueId imageAtomicXor_Image3D1_Int3_UInt1 =
- TSymbolUniqueId(1894);
+ TSymbolUniqueId(1900);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1895);
+ TSymbolUniqueId(1901);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1896);
+ TSymbolUniqueId(1902);
static constexpr const TSymbolUniqueId imageAtomicXor_ImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1897);
+ TSymbolUniqueId(1903);
static constexpr const TSymbolUniqueId imageAtomicXor_IImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1898);
+ TSymbolUniqueId(1904);
static constexpr const TSymbolUniqueId imageAtomicXor_UImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1899);
+ TSymbolUniqueId(1905);
static constexpr const TSymbolUniqueId imageAtomicXor_ImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1900);
+ TSymbolUniqueId(1906);
static constexpr const TSymbolUniqueId imageAtomicXor_IImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1901);
+ TSymbolUniqueId(1907);
static constexpr const TSymbolUniqueId imageAtomicXor_UImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1902);
+ TSymbolUniqueId(1908);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1903);
+ TSymbolUniqueId(1909);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1904);
+ TSymbolUniqueId(1910);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1905);
+ TSymbolUniqueId(1911);
static constexpr const TSymbolUniqueId imageAtomicXor_ImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1906);
+ TSymbolUniqueId(1912);
static constexpr const TSymbolUniqueId imageAtomicXor_IImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1907);
+ TSymbolUniqueId(1913);
static constexpr const TSymbolUniqueId imageAtomicXor_UImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1908);
+ TSymbolUniqueId(1914);
static constexpr const TSymbolUniqueId imageAtomicXor_Image1D1_Int1_UInt1 =
- TSymbolUniqueId(1909);
+ TSymbolUniqueId(1915);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1910);
+ TSymbolUniqueId(1916);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1911);
+ TSymbolUniqueId(1917);
static constexpr const TSymbolUniqueId imageAtomicXor_Image1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1912);
+ TSymbolUniqueId(1918);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1913);
+ TSymbolUniqueId(1919);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1914);
+ TSymbolUniqueId(1920);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1915);
+ TSymbolUniqueId(1921);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1916);
+ TSymbolUniqueId(1922);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1917);
+ TSymbolUniqueId(1923);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1918);
+ TSymbolUniqueId(1924);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1919);
+ TSymbolUniqueId(1925);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1920);
+ TSymbolUniqueId(1926);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1921);
+ TSymbolUniqueId(1927);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1922);
+ TSymbolUniqueId(1928);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1923);
+ TSymbolUniqueId(1929);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2D1_Int2_Int1 =
- TSymbolUniqueId(1924);
+ TSymbolUniqueId(1930);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2D1_Int2_Int1 =
- TSymbolUniqueId(1925);
+ TSymbolUniqueId(1931);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2D1_Int2_Int1 =
- TSymbolUniqueId(1926);
+ TSymbolUniqueId(1932);
static constexpr const TSymbolUniqueId imageAtomicXor_Image3D1_Int3_Int1 =
- TSymbolUniqueId(1927);
+ TSymbolUniqueId(1933);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage3D1_Int3_Int1 =
- TSymbolUniqueId(1928);
+ TSymbolUniqueId(1934);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage3D1_Int3_Int1 =
- TSymbolUniqueId(1929);
+ TSymbolUniqueId(1935);
static constexpr const TSymbolUniqueId imageAtomicXor_ImageCube1_Int3_Int1 =
- TSymbolUniqueId(1930);
+ TSymbolUniqueId(1936);
static constexpr const TSymbolUniqueId imageAtomicXor_IImageCube1_Int3_Int1 =
- TSymbolUniqueId(1931);
+ TSymbolUniqueId(1937);
static constexpr const TSymbolUniqueId imageAtomicXor_UImageCube1_Int3_Int1 =
- TSymbolUniqueId(1932);
+ TSymbolUniqueId(1938);
static constexpr const TSymbolUniqueId imageAtomicXor_ImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1933);
+ TSymbolUniqueId(1939);
static constexpr const TSymbolUniqueId imageAtomicXor_IImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1934);
+ TSymbolUniqueId(1940);
static constexpr const TSymbolUniqueId imageAtomicXor_UImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1935);
+ TSymbolUniqueId(1941);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DArray1_Int3_Int1 =
- TSymbolUniqueId(1936);
+ TSymbolUniqueId(1942);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1937);
+ TSymbolUniqueId(1943);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(1938);
+ TSymbolUniqueId(1944);
static constexpr const TSymbolUniqueId imageAtomicXor_ImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1939);
+ TSymbolUniqueId(1945);
static constexpr const TSymbolUniqueId imageAtomicXor_IImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1940);
+ TSymbolUniqueId(1946);
static constexpr const TSymbolUniqueId imageAtomicXor_UImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(1941);
+ TSymbolUniqueId(1947);
static constexpr const TSymbolUniqueId imageAtomicXor_Image1D1_Int1_Int1 =
- TSymbolUniqueId(1942);
+ TSymbolUniqueId(1948);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage1D1_Int1_Int1 =
- TSymbolUniqueId(1943);
+ TSymbolUniqueId(1949);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage1D1_Int1_Int1 =
- TSymbolUniqueId(1944);
+ TSymbolUniqueId(1950);
static constexpr const TSymbolUniqueId imageAtomicXor_Image1DArray1_Int2_Int1 =
- TSymbolUniqueId(1945);
+ TSymbolUniqueId(1951);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1946);
+ TSymbolUniqueId(1952);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(1947);
+ TSymbolUniqueId(1953);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DRect1_Int2_Int1 =
- TSymbolUniqueId(1948);
+ TSymbolUniqueId(1954);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1949);
+ TSymbolUniqueId(1955);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(1950);
+ TSymbolUniqueId(1956);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1951);
+ TSymbolUniqueId(1957);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1952);
+ TSymbolUniqueId(1958);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(1953);
+ TSymbolUniqueId(1959);
static constexpr const TSymbolUniqueId imageAtomicXor_Image2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1954);
+ TSymbolUniqueId(1960);
static constexpr const TSymbolUniqueId imageAtomicXor_IImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1955);
+ TSymbolUniqueId(1961);
static constexpr const TSymbolUniqueId imageAtomicXor_UImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(1956);
+ TSymbolUniqueId(1962);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2D1_Int2_UInt1 =
- TSymbolUniqueId(1957);
+ TSymbolUniqueId(1963);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1958);
+ TSymbolUniqueId(1964);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2D1_Int2_UInt1 =
- TSymbolUniqueId(1959);
+ TSymbolUniqueId(1965);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image3D1_Int3_UInt1 =
- TSymbolUniqueId(1960);
+ TSymbolUniqueId(1966);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1961);
+ TSymbolUniqueId(1967);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage3D1_Int3_UInt1 =
- TSymbolUniqueId(1962);
+ TSymbolUniqueId(1968);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1963);
+ TSymbolUniqueId(1969);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1964);
+ TSymbolUniqueId(1970);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageCube1_Int3_UInt1 =
- TSymbolUniqueId(1965);
+ TSymbolUniqueId(1971);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1966);
+ TSymbolUniqueId(1972);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1967);
+ TSymbolUniqueId(1973);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageBuffer1_Int1_UInt1 =
- TSymbolUniqueId(1968);
+ TSymbolUniqueId(1974);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1969);
+ TSymbolUniqueId(1975);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1970);
+ TSymbolUniqueId(1976);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DArray1_Int3_UInt1 =
- TSymbolUniqueId(1971);
+ TSymbolUniqueId(1977);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1972);
+ TSymbolUniqueId(1978);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1973);
+ TSymbolUniqueId(1979);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageCubeArray1_Int3_UInt1 =
- TSymbolUniqueId(1974);
+ TSymbolUniqueId(1980);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image1D1_Int1_UInt1 =
- TSymbolUniqueId(1975);
+ TSymbolUniqueId(1981);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1976);
+ TSymbolUniqueId(1982);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage1D1_Int1_UInt1 =
- TSymbolUniqueId(1977);
+ TSymbolUniqueId(1983);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1978);
+ TSymbolUniqueId(1984);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1979);
+ TSymbolUniqueId(1985);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage1DArray1_Int2_UInt1 =
- TSymbolUniqueId(1980);
+ TSymbolUniqueId(1986);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1981);
+ TSymbolUniqueId(1987);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1982);
+ TSymbolUniqueId(1988);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DRect1_Int2_UInt1 =
- TSymbolUniqueId(1983);
+ TSymbolUniqueId(1989);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1984);
+ TSymbolUniqueId(1990);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1985);
+ TSymbolUniqueId(1991);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DMS1_Int2_Int1_UInt1 =
- TSymbolUniqueId(1986);
+ TSymbolUniqueId(1992);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1987);
+ TSymbolUniqueId(1993);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1988);
+ TSymbolUniqueId(1994);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DMSArray1_Int3_Int1_UInt1 =
- TSymbolUniqueId(1989);
+ TSymbolUniqueId(1995);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2D1_Int2_Int1 =
- TSymbolUniqueId(1990);
+ TSymbolUniqueId(1996);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2D1_Int2_Int1 =
- TSymbolUniqueId(1991);
+ TSymbolUniqueId(1997);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2D1_Int2_Int1 =
- TSymbolUniqueId(1992);
+ TSymbolUniqueId(1998);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image3D1_Int3_Int1 =
- TSymbolUniqueId(1993);
+ TSymbolUniqueId(1999);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage3D1_Int3_Int1 =
- TSymbolUniqueId(1994);
+ TSymbolUniqueId(2000);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage3D1_Int3_Int1 =
- TSymbolUniqueId(1995);
+ TSymbolUniqueId(2001);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageCube1_Int3_Int1 =
- TSymbolUniqueId(1996);
+ TSymbolUniqueId(2002);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageCube1_Int3_Int1 =
- TSymbolUniqueId(1997);
+ TSymbolUniqueId(2003);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageCube1_Int3_Int1 =
- TSymbolUniqueId(1998);
+ TSymbolUniqueId(2004);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(1999);
+ TSymbolUniqueId(2005);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(2000);
+ TSymbolUniqueId(2006);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageBuffer1_Int1_Int1 =
- TSymbolUniqueId(2001);
+ TSymbolUniqueId(2007);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DArray1_Int3_Int1 =
- TSymbolUniqueId(2002);
+ TSymbolUniqueId(2008);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(2003);
+ TSymbolUniqueId(2009);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DArray1_Int3_Int1 =
- TSymbolUniqueId(2004);
+ TSymbolUniqueId(2010);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(2005);
+ TSymbolUniqueId(2011);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(2006);
+ TSymbolUniqueId(2012);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageCubeArray1_Int3_Int1 =
- TSymbolUniqueId(2007);
+ TSymbolUniqueId(2013);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image1D1_Int1_Int1 =
- TSymbolUniqueId(2008);
+ TSymbolUniqueId(2014);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage1D1_Int1_Int1 =
- TSymbolUniqueId(2009);
+ TSymbolUniqueId(2015);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage1D1_Int1_Int1 =
- TSymbolUniqueId(2010);
+ TSymbolUniqueId(2016);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image1DArray1_Int2_Int1 =
- TSymbolUniqueId(2011);
+ TSymbolUniqueId(2017);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(2012);
+ TSymbolUniqueId(2018);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage1DArray1_Int2_Int1 =
- TSymbolUniqueId(2013);
+ TSymbolUniqueId(2019);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DRect1_Int2_Int1 =
- TSymbolUniqueId(2014);
+ TSymbolUniqueId(2020);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(2015);
+ TSymbolUniqueId(2021);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DRect1_Int2_Int1 =
- TSymbolUniqueId(2016);
+ TSymbolUniqueId(2022);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(2017);
+ TSymbolUniqueId(2023);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(2018);
+ TSymbolUniqueId(2024);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DMS1_Int2_Int1_Int1 =
- TSymbolUniqueId(2019);
+ TSymbolUniqueId(2025);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2020);
+ TSymbolUniqueId(2026);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2021);
+ TSymbolUniqueId(2027);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2022);
+ TSymbolUniqueId(2028);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2D1_Int2_Float1 =
- TSymbolUniqueId(2023);
+ TSymbolUniqueId(2029);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2D1_Int2_Float1 =
- TSymbolUniqueId(2024);
+ TSymbolUniqueId(2030);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2D1_Int2_Float1 =
- TSymbolUniqueId(2025);
+ TSymbolUniqueId(2031);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image3D1_Int3_Float1 =
- TSymbolUniqueId(2026);
+ TSymbolUniqueId(2032);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage3D1_Int3_Float1 =
- TSymbolUniqueId(2027);
+ TSymbolUniqueId(2033);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage3D1_Int3_Float1 =
- TSymbolUniqueId(2028);
+ TSymbolUniqueId(2034);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageCube1_Int3_Float1 =
- TSymbolUniqueId(2029);
+ TSymbolUniqueId(2035);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageCube1_Int3_Float1 =
- TSymbolUniqueId(2030);
+ TSymbolUniqueId(2036);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageCube1_Int3_Float1 =
- TSymbolUniqueId(2031);
+ TSymbolUniqueId(2037);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageBuffer1_Int1_Float1 =
- TSymbolUniqueId(2032);
+ TSymbolUniqueId(2038);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageBuffer1_Int1_Float1 =
- TSymbolUniqueId(2033);
+ TSymbolUniqueId(2039);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageBuffer1_Int1_Float1 =
- TSymbolUniqueId(2034);
+ TSymbolUniqueId(2040);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DArray1_Int3_Float1 =
- TSymbolUniqueId(2035);
+ TSymbolUniqueId(2041);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DArray1_Int3_Float1 =
- TSymbolUniqueId(2036);
+ TSymbolUniqueId(2042);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DArray1_Int3_Float1 =
- TSymbolUniqueId(2037);
+ TSymbolUniqueId(2043);
static constexpr const TSymbolUniqueId imageAtomicExchange_ImageCubeArray1_Int3_Float1 =
- TSymbolUniqueId(2038);
+ TSymbolUniqueId(2044);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImageCubeArray1_Int3_Float1 =
- TSymbolUniqueId(2039);
+ TSymbolUniqueId(2045);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImageCubeArray1_Int3_Float1 =
- TSymbolUniqueId(2040);
+ TSymbolUniqueId(2046);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image1D1_Int1_Float1 =
- TSymbolUniqueId(2041);
+ TSymbolUniqueId(2047);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage1D1_Int1_Float1 =
- TSymbolUniqueId(2042);
+ TSymbolUniqueId(2048);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage1D1_Int1_Float1 =
- TSymbolUniqueId(2043);
+ TSymbolUniqueId(2049);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image1DArray1_Int2_Float1 =
- TSymbolUniqueId(2044);
+ TSymbolUniqueId(2050);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage1DArray1_Int2_Float1 =
- TSymbolUniqueId(2045);
+ TSymbolUniqueId(2051);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage1DArray1_Int2_Float1 =
- TSymbolUniqueId(2046);
+ TSymbolUniqueId(2052);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DRect1_Int2_Float1 =
- TSymbolUniqueId(2047);
+ TSymbolUniqueId(2053);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DRect1_Int2_Float1 =
- TSymbolUniqueId(2048);
+ TSymbolUniqueId(2054);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DRect1_Int2_Float1 =
- TSymbolUniqueId(2049);
+ TSymbolUniqueId(2055);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DMS1_Int2_Int1_Float1 =
- TSymbolUniqueId(2050);
+ TSymbolUniqueId(2056);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DMS1_Int2_Int1_Float1 =
- TSymbolUniqueId(2051);
+ TSymbolUniqueId(2057);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DMS1_Int2_Int1_Float1 =
- TSymbolUniqueId(2052);
+ TSymbolUniqueId(2058);
static constexpr const TSymbolUniqueId imageAtomicExchange_Image2DMSArray1_Int3_Int1_Float1 =
- TSymbolUniqueId(2053);
+ TSymbolUniqueId(2059);
static constexpr const TSymbolUniqueId imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Float1 =
- TSymbolUniqueId(2054);
+ TSymbolUniqueId(2060);
static constexpr const TSymbolUniqueId imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Float1 =
- TSymbolUniqueId(2055);
+ TSymbolUniqueId(2061);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2D1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2056);
+ TSymbolUniqueId(2062);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2D1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2057);
+ TSymbolUniqueId(2063);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2D1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2058);
+ TSymbolUniqueId(2064);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image3D1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2059);
+ TSymbolUniqueId(2065);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage3D1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2060);
+ TSymbolUniqueId(2066);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage3D1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2061);
+ TSymbolUniqueId(2067);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_ImageCube1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2062);
+ TSymbolUniqueId(2068);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImageCube1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2063);
+ TSymbolUniqueId(2069);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImageCube1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2064);
+ TSymbolUniqueId(2070);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_ImageBuffer1_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2065);
+ TSymbolUniqueId(2071);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImageBuffer1_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2066);
+ TSymbolUniqueId(2072);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImageBuffer1_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2067);
+ TSymbolUniqueId(2073);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2DArray1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2068);
+ TSymbolUniqueId(2074);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2DArray1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2069);
+ TSymbolUniqueId(2075);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2DArray1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2070);
+ TSymbolUniqueId(2076);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_ImageCubeArray1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2071);
+ TSymbolUniqueId(2077);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImageCubeArray1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2072);
+ TSymbolUniqueId(2078);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImageCubeArray1_Int3_UInt1_UInt1 =
- TSymbolUniqueId(2073);
+ TSymbolUniqueId(2079);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image1D1_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2074);
+ TSymbolUniqueId(2080);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage1D1_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2075);
+ TSymbolUniqueId(2081);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage1D1_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2076);
+ TSymbolUniqueId(2082);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image1DArray1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2077);
+ TSymbolUniqueId(2083);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage1DArray1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2078);
+ TSymbolUniqueId(2084);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage1DArray1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2079);
+ TSymbolUniqueId(2085);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2DRect1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2080);
+ TSymbolUniqueId(2086);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2DRect1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2081);
+ TSymbolUniqueId(2087);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2DRect1_Int2_UInt1_UInt1 =
- TSymbolUniqueId(2082);
+ TSymbolUniqueId(2088);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2DMS1_Int2_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2083);
+ TSymbolUniqueId(2089);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2DMS1_Int2_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2084);
+ TSymbolUniqueId(2090);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2DMS1_Int2_Int1_UInt1_UInt1 =
- TSymbolUniqueId(2085);
+ TSymbolUniqueId(2091);
static constexpr const TSymbolUniqueId
- imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_UInt1_UInt1 = TSymbolUniqueId(2086);
+ imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_UInt1_UInt1 = TSymbolUniqueId(2092);
static constexpr const TSymbolUniqueId
- imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_UInt1_UInt1 = TSymbolUniqueId(2087);
+ imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_UInt1_UInt1 = TSymbolUniqueId(2093);
static constexpr const TSymbolUniqueId
- imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_UInt1_UInt1 = TSymbolUniqueId(2088);
+ imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_UInt1_UInt1 = TSymbolUniqueId(2094);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2D1_Int2_Int1_Int1 =
- TSymbolUniqueId(2089);
+ TSymbolUniqueId(2095);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2D1_Int2_Int1_Int1 =
- TSymbolUniqueId(2090);
+ TSymbolUniqueId(2096);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2D1_Int2_Int1_Int1 =
- TSymbolUniqueId(2091);
+ TSymbolUniqueId(2097);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image3D1_Int3_Int1_Int1 =
- TSymbolUniqueId(2092);
+ TSymbolUniqueId(2098);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage3D1_Int3_Int1_Int1 =
- TSymbolUniqueId(2093);
+ TSymbolUniqueId(2099);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage3D1_Int3_Int1_Int1 =
- TSymbolUniqueId(2094);
+ TSymbolUniqueId(2100);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_ImageCube1_Int3_Int1_Int1 =
- TSymbolUniqueId(2095);
+ TSymbolUniqueId(2101);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImageCube1_Int3_Int1_Int1 =
- TSymbolUniqueId(2096);
+ TSymbolUniqueId(2102);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImageCube1_Int3_Int1_Int1 =
- TSymbolUniqueId(2097);
+ TSymbolUniqueId(2103);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_ImageBuffer1_Int1_Int1_Int1 =
- TSymbolUniqueId(2098);
+ TSymbolUniqueId(2104);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImageBuffer1_Int1_Int1_Int1 =
- TSymbolUniqueId(2099);
+ TSymbolUniqueId(2105);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImageBuffer1_Int1_Int1_Int1 =
- TSymbolUniqueId(2100);
+ TSymbolUniqueId(2106);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2DArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2101);
+ TSymbolUniqueId(2107);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2DArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2102);
+ TSymbolUniqueId(2108);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2DArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2103);
+ TSymbolUniqueId(2109);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_ImageCubeArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2104);
+ TSymbolUniqueId(2110);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImageCubeArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2105);
+ TSymbolUniqueId(2111);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImageCubeArray1_Int3_Int1_Int1 =
- TSymbolUniqueId(2106);
+ TSymbolUniqueId(2112);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image1D1_Int1_Int1_Int1 =
- TSymbolUniqueId(2107);
+ TSymbolUniqueId(2113);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage1D1_Int1_Int1_Int1 =
- TSymbolUniqueId(2108);
+ TSymbolUniqueId(2114);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage1D1_Int1_Int1_Int1 =
- TSymbolUniqueId(2109);
+ TSymbolUniqueId(2115);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image1DArray1_Int2_Int1_Int1 =
- TSymbolUniqueId(2110);
+ TSymbolUniqueId(2116);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage1DArray1_Int2_Int1_Int1 =
- TSymbolUniqueId(2111);
+ TSymbolUniqueId(2117);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage1DArray1_Int2_Int1_Int1 =
- TSymbolUniqueId(2112);
+ TSymbolUniqueId(2118);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2DRect1_Int2_Int1_Int1 =
- TSymbolUniqueId(2113);
+ TSymbolUniqueId(2119);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2DRect1_Int2_Int1_Int1 =
- TSymbolUniqueId(2114);
+ TSymbolUniqueId(2120);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2DRect1_Int2_Int1_Int1 =
- TSymbolUniqueId(2115);
+ TSymbolUniqueId(2121);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2DMS1_Int2_Int1_Int1_Int1 =
- TSymbolUniqueId(2116);
+ TSymbolUniqueId(2122);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_IImage2DMS1_Int2_Int1_Int1_Int1 =
- TSymbolUniqueId(2117);
+ TSymbolUniqueId(2123);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_UImage2DMS1_Int2_Int1_Int1_Int1 =
- TSymbolUniqueId(2118);
+ TSymbolUniqueId(2124);
static constexpr const TSymbolUniqueId imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_Int1_Int1 =
- TSymbolUniqueId(2119);
+ TSymbolUniqueId(2125);
static constexpr const TSymbolUniqueId
- imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_Int1_Int1 = TSymbolUniqueId(2120);
+ imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_Int1_Int1 = TSymbolUniqueId(2126);
static constexpr const TSymbolUniqueId
- imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_Int1_Int1 = TSymbolUniqueId(2121);
- static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2 = TSymbolUniqueId(2122);
- static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2 = TSymbolUniqueId(2123);
- static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2 = TSymbolUniqueId(2124);
- static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3 = TSymbolUniqueId(2125);
- static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3 = TSymbolUniqueId(2126);
- static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3 = TSymbolUniqueId(2127);
- static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3 = TSymbolUniqueId(2128);
- static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3 = TSymbolUniqueId(2129);
- static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3 = TSymbolUniqueId(2130);
- static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3 = TSymbolUniqueId(2131);
- static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3 = TSymbolUniqueId(2132);
- static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3 = TSymbolUniqueId(2133);
- static constexpr const TSymbolUniqueId imageLoad_ImageBuffer1_Int1 = TSymbolUniqueId(2134);
- static constexpr const TSymbolUniqueId imageLoad_IImageBuffer1_Int1 = TSymbolUniqueId(2135);
- static constexpr const TSymbolUniqueId imageLoad_UImageBuffer1_Int1 = TSymbolUniqueId(2136);
- static constexpr const TSymbolUniqueId imageLoad_ImageCubeArray1_Int3 = TSymbolUniqueId(2137);
- static constexpr const TSymbolUniqueId imageLoad_IImageCubeArray1_Int3 = TSymbolUniqueId(2138);
- static constexpr const TSymbolUniqueId imageLoad_UImageCubeArray1_Int3 = TSymbolUniqueId(2139);
- static constexpr const TSymbolUniqueId imageLoad_Image1D1_Int1 = TSymbolUniqueId(2140);
- static constexpr const TSymbolUniqueId imageLoad_IImage1D1_Int1 = TSymbolUniqueId(2141);
- static constexpr const TSymbolUniqueId imageLoad_UImage1D1_Int1 = TSymbolUniqueId(2142);
- static constexpr const TSymbolUniqueId imageLoad_Image1DArray1_Int2 = TSymbolUniqueId(2143);
- static constexpr const TSymbolUniqueId imageLoad_IImage1DArray1_Int2 = TSymbolUniqueId(2144);
- static constexpr const TSymbolUniqueId imageLoad_UImage1DArray1_Int2 = TSymbolUniqueId(2145);
- static constexpr const TSymbolUniqueId imageLoad_Image2DRect1_Int2 = TSymbolUniqueId(2146);
- static constexpr const TSymbolUniqueId imageLoad_IImage2DRect1_Int2 = TSymbolUniqueId(2147);
- static constexpr const TSymbolUniqueId imageLoad_UImage2DRect1_Int2 = TSymbolUniqueId(2148);
- static constexpr const TSymbolUniqueId imageLoad_Image2DMS1_Int2_Int1 = TSymbolUniqueId(2149);
- static constexpr const TSymbolUniqueId imageLoad_IImage2DMS1_Int2_Int1 = TSymbolUniqueId(2150);
- static constexpr const TSymbolUniqueId imageLoad_UImage2DMS1_Int2_Int1 = TSymbolUniqueId(2151);
+ imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_Int1_Int1 = TSymbolUniqueId(2127);
+ static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2 = TSymbolUniqueId(2128);
+ static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2 = TSymbolUniqueId(2129);
+ static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2 = TSymbolUniqueId(2130);
+ static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3 = TSymbolUniqueId(2131);
+ static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3 = TSymbolUniqueId(2132);
+ static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3 = TSymbolUniqueId(2133);
+ static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3 = TSymbolUniqueId(2134);
+ static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3 = TSymbolUniqueId(2135);
+ static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3 = TSymbolUniqueId(2136);
+ static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3 = TSymbolUniqueId(2137);
+ static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3 = TSymbolUniqueId(2138);
+ static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3 = TSymbolUniqueId(2139);
+ static constexpr const TSymbolUniqueId imageLoad_ImageCubeArray1_Int3 = TSymbolUniqueId(2140);
+ static constexpr const TSymbolUniqueId imageLoad_IImageCubeArray1_Int3 = TSymbolUniqueId(2141);
+ static constexpr const TSymbolUniqueId imageLoad_UImageCubeArray1_Int3 = TSymbolUniqueId(2142);
+ static constexpr const TSymbolUniqueId imageLoad_ImageBuffer1_Int1 = TSymbolUniqueId(2143);
+ static constexpr const TSymbolUniqueId imageLoad_IImageBuffer1_Int1 = TSymbolUniqueId(2144);
+ static constexpr const TSymbolUniqueId imageLoad_UImageBuffer1_Int1 = TSymbolUniqueId(2145);
+ static constexpr const TSymbolUniqueId imageLoad_Image1D1_Int1 = TSymbolUniqueId(2146);
+ static constexpr const TSymbolUniqueId imageLoad_IImage1D1_Int1 = TSymbolUniqueId(2147);
+ static constexpr const TSymbolUniqueId imageLoad_UImage1D1_Int1 = TSymbolUniqueId(2148);
+ static constexpr const TSymbolUniqueId imageLoad_Image1DArray1_Int2 = TSymbolUniqueId(2149);
+ static constexpr const TSymbolUniqueId imageLoad_IImage1DArray1_Int2 = TSymbolUniqueId(2150);
+ static constexpr const TSymbolUniqueId imageLoad_UImage1DArray1_Int2 = TSymbolUniqueId(2151);
+ static constexpr const TSymbolUniqueId imageLoad_Image2DRect1_Int2 = TSymbolUniqueId(2152);
+ static constexpr const TSymbolUniqueId imageLoad_IImage2DRect1_Int2 = TSymbolUniqueId(2153);
+ static constexpr const TSymbolUniqueId imageLoad_UImage2DRect1_Int2 = TSymbolUniqueId(2154);
+ static constexpr const TSymbolUniqueId imageLoad_Image2DMS1_Int2_Int1 = TSymbolUniqueId(2155);
+ static constexpr const TSymbolUniqueId imageLoad_IImage2DMS1_Int2_Int1 = TSymbolUniqueId(2156);
+ static constexpr const TSymbolUniqueId imageLoad_UImage2DMS1_Int2_Int1 = TSymbolUniqueId(2157);
static constexpr const TSymbolUniqueId imageLoad_Image2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(2152);
+ TSymbolUniqueId(2158);
static constexpr const TSymbolUniqueId imageLoad_IImage2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(2153);
+ TSymbolUniqueId(2159);
static constexpr const TSymbolUniqueId imageLoad_UImage2DMSArray1_Int3_Int1 =
- TSymbolUniqueId(2154);
- static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4 = TSymbolUniqueId(2155);
- static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4 = TSymbolUniqueId(2156);
- static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4 = TSymbolUniqueId(2157);
- static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4 = TSymbolUniqueId(2158);
- static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4 = TSymbolUniqueId(2159);
- static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4 = TSymbolUniqueId(2160);
+ TSymbolUniqueId(2160);
+ static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4 = TSymbolUniqueId(2161);
+ static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4 = TSymbolUniqueId(2162);
+ static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4 = TSymbolUniqueId(2163);
+ static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4 = TSymbolUniqueId(2164);
+ static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4 = TSymbolUniqueId(2165);
+ static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4 = TSymbolUniqueId(2166);
static constexpr const TSymbolUniqueId imageStore_Image2DArray1_Int3_Float4 =
- TSymbolUniqueId(2161);
+ TSymbolUniqueId(2167);
static constexpr const TSymbolUniqueId imageStore_IImage2DArray1_Int3_Int4 =
- TSymbolUniqueId(2162);
+ TSymbolUniqueId(2168);
static constexpr const TSymbolUniqueId imageStore_UImage2DArray1_Int3_UInt4 =
- TSymbolUniqueId(2163);
+ TSymbolUniqueId(2169);
static constexpr const TSymbolUniqueId imageStore_ImageCube1_Int3_Float4 =
- TSymbolUniqueId(2164);
- static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4 = TSymbolUniqueId(2165);
+ TSymbolUniqueId(2170);
+ static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4 = TSymbolUniqueId(2171);
static constexpr const TSymbolUniqueId imageStore_UImageCube1_Int3_UInt4 =
- TSymbolUniqueId(2166);
- static constexpr const TSymbolUniqueId imageStore_ImageBuffer1_Int1_Float4 =
- TSymbolUniqueId(2167);
- static constexpr const TSymbolUniqueId imageStore_IImageBuffer1_Int1_Int4 =
- TSymbolUniqueId(2168);
- static constexpr const TSymbolUniqueId imageStore_UImageBuffer1_Int1_UInt4 =
- TSymbolUniqueId(2169);
+ TSymbolUniqueId(2172);
static constexpr const TSymbolUniqueId imageStore_ImageCubeArray1_Int3_Float4 =
- TSymbolUniqueId(2170);
+ TSymbolUniqueId(2173);
static constexpr const TSymbolUniqueId imageStore_IImageCubeArray1_Int3_Int4 =
- TSymbolUniqueId(2171);
+ TSymbolUniqueId(2174);
static constexpr const TSymbolUniqueId imageStore_UImageCubeArray1_Int3_UInt4 =
- TSymbolUniqueId(2172);
- static constexpr const TSymbolUniqueId imageStore_Image1D1_Int1_Float4 = TSymbolUniqueId(2173);
- static constexpr const TSymbolUniqueId imageStore_IImage1D1_Int1_Int4 = TSymbolUniqueId(2174);
- static constexpr const TSymbolUniqueId imageStore_UImage1D1_Int1_UInt4 = TSymbolUniqueId(2175);
- static constexpr const TSymbolUniqueId imageStore_Image1DArray1_Int2_Float4 =
+ TSymbolUniqueId(2175);
+ static constexpr const TSymbolUniqueId imageStore_ImageBuffer1_Int1_Float4 =
TSymbolUniqueId(2176);
- static constexpr const TSymbolUniqueId imageStore_IImage1DArray1_Int2_Int4 =
+ static constexpr const TSymbolUniqueId imageStore_IImageBuffer1_Int1_Int4 =
TSymbolUniqueId(2177);
- static constexpr const TSymbolUniqueId imageStore_UImage1DArray1_Int2_UInt4 =
+ static constexpr const TSymbolUniqueId imageStore_UImageBuffer1_Int1_UInt4 =
TSymbolUniqueId(2178);
+ static constexpr const TSymbolUniqueId imageStore_Image1D1_Int1_Float4 = TSymbolUniqueId(2179);
+ static constexpr const TSymbolUniqueId imageStore_IImage1D1_Int1_Int4 = TSymbolUniqueId(2180);
+ static constexpr const TSymbolUniqueId imageStore_UImage1D1_Int1_UInt4 = TSymbolUniqueId(2181);
+ static constexpr const TSymbolUniqueId imageStore_Image1DArray1_Int2_Float4 =
+ TSymbolUniqueId(2182);
+ static constexpr const TSymbolUniqueId imageStore_IImage1DArray1_Int2_Int4 =
+ TSymbolUniqueId(2183);
+ static constexpr const TSymbolUniqueId imageStore_UImage1DArray1_Int2_UInt4 =
+ TSymbolUniqueId(2184);
static constexpr const TSymbolUniqueId imageStore_Image2DRect1_Int2_Float4 =
- TSymbolUniqueId(2179);
+ TSymbolUniqueId(2185);
static constexpr const TSymbolUniqueId imageStore_IImage2DRect1_Int2_Int4 =
- TSymbolUniqueId(2180);
+ TSymbolUniqueId(2186);
static constexpr const TSymbolUniqueId imageStore_UImage2DRect1_Int2_UInt4 =
- TSymbolUniqueId(2181);
+ TSymbolUniqueId(2187);
static constexpr const TSymbolUniqueId imageStore_Image2DMS1_Int2_Int1_Float4 =
- TSymbolUniqueId(2182);
+ TSymbolUniqueId(2188);
static constexpr const TSymbolUniqueId imageStore_IImage2DMS1_Int2_Int1_Int4 =
- TSymbolUniqueId(2183);
+ TSymbolUniqueId(2189);
static constexpr const TSymbolUniqueId imageStore_UImage2DMS1_Int2_Int1_UInt4 =
- TSymbolUniqueId(2184);
+ TSymbolUniqueId(2190);
static constexpr const TSymbolUniqueId imageStore_Image2DMSArray1_Int3_Int1_Float4 =
- TSymbolUniqueId(2185);
+ TSymbolUniqueId(2191);
static constexpr const TSymbolUniqueId imageStore_IImage2DMSArray1_Int3_Int1_Int4 =
- TSymbolUniqueId(2186);
+ TSymbolUniqueId(2192);
static constexpr const TSymbolUniqueId imageStore_UImage2DMSArray1_Int3_Int1_UInt4 =
- TSymbolUniqueId(2187);
- static constexpr const TSymbolUniqueId noise1_Float1 = TSymbolUniqueId(2188);
- static constexpr const TSymbolUniqueId noise1_Float2 = TSymbolUniqueId(2189);
- static constexpr const TSymbolUniqueId noise1_Float3 = TSymbolUniqueId(2190);
- static constexpr const TSymbolUniqueId noise1_Float4 = TSymbolUniqueId(2191);
- static constexpr const TSymbolUniqueId noise2_Float1 = TSymbolUniqueId(2192);
- static constexpr const TSymbolUniqueId noise2_Float2 = TSymbolUniqueId(2193);
- static constexpr const TSymbolUniqueId noise2_Float3 = TSymbolUniqueId(2194);
- static constexpr const TSymbolUniqueId noise2_Float4 = TSymbolUniqueId(2195);
- static constexpr const TSymbolUniqueId noise3_Float1 = TSymbolUniqueId(2196);
- static constexpr const TSymbolUniqueId noise3_Float2 = TSymbolUniqueId(2197);
- static constexpr const TSymbolUniqueId noise3_Float3 = TSymbolUniqueId(2198);
- static constexpr const TSymbolUniqueId noise3_Float4 = TSymbolUniqueId(2199);
- static constexpr const TSymbolUniqueId noise4_Float1 = TSymbolUniqueId(2200);
- static constexpr const TSymbolUniqueId noise4_Float2 = TSymbolUniqueId(2201);
- static constexpr const TSymbolUniqueId noise4_Float3 = TSymbolUniqueId(2202);
- static constexpr const TSymbolUniqueId noise4_Float4 = TSymbolUniqueId(2203);
- static constexpr const TSymbolUniqueId memoryBarrier = TSymbolUniqueId(2204);
- static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter = TSymbolUniqueId(2205);
- static constexpr const TSymbolUniqueId memoryBarrierBuffer = TSymbolUniqueId(2206);
- static constexpr const TSymbolUniqueId memoryBarrierImage = TSymbolUniqueId(2207);
- static constexpr const TSymbolUniqueId barrier = TSymbolUniqueId(2208);
- static constexpr const TSymbolUniqueId memoryBarrierShared = TSymbolUniqueId(2209);
- static constexpr const TSymbolUniqueId groupMemoryBarrier = TSymbolUniqueId(2210);
- static constexpr const TSymbolUniqueId EmitVertex = TSymbolUniqueId(2211);
- static constexpr const TSymbolUniqueId EndPrimitive = TSymbolUniqueId(2212);
- static constexpr const TSymbolUniqueId EmitStreamVertex_Int1 = TSymbolUniqueId(2213);
- static constexpr const TSymbolUniqueId EndStreamPrimitive_Int1 = TSymbolUniqueId(2214);
- static constexpr const TSymbolUniqueId subpassLoad_SubpassInput1 = TSymbolUniqueId(2215);
- static constexpr const TSymbolUniqueId pt01j = TSymbolUniqueId(2216);
- static constexpr const TSymbolUniqueId subpassLoad_ISubpassInput1 = TSymbolUniqueId(2217);
- static constexpr const TSymbolUniqueId pt01k = TSymbolUniqueId(2218);
- static constexpr const TSymbolUniqueId subpassLoad_USubpassInput1 = TSymbolUniqueId(2219);
- static constexpr const TSymbolUniqueId pt01l = TSymbolUniqueId(2220);
- static constexpr const TSymbolUniqueId subpassLoad_SubpassInputMS1_Int1 = TSymbolUniqueId(2221);
- static constexpr const TSymbolUniqueId pt01m = TSymbolUniqueId(2222);
+ TSymbolUniqueId(2193);
+ static constexpr const TSymbolUniqueId noise1_Float1 = TSymbolUniqueId(2194);
+ static constexpr const TSymbolUniqueId noise1_Float2 = TSymbolUniqueId(2195);
+ static constexpr const TSymbolUniqueId noise1_Float3 = TSymbolUniqueId(2196);
+ static constexpr const TSymbolUniqueId noise1_Float4 = TSymbolUniqueId(2197);
+ static constexpr const TSymbolUniqueId noise2_Float1 = TSymbolUniqueId(2198);
+ static constexpr const TSymbolUniqueId noise2_Float2 = TSymbolUniqueId(2199);
+ static constexpr const TSymbolUniqueId noise2_Float3 = TSymbolUniqueId(2200);
+ static constexpr const TSymbolUniqueId noise2_Float4 = TSymbolUniqueId(2201);
+ static constexpr const TSymbolUniqueId noise3_Float1 = TSymbolUniqueId(2202);
+ static constexpr const TSymbolUniqueId noise3_Float2 = TSymbolUniqueId(2203);
+ static constexpr const TSymbolUniqueId noise3_Float3 = TSymbolUniqueId(2204);
+ static constexpr const TSymbolUniqueId noise3_Float4 = TSymbolUniqueId(2205);
+ static constexpr const TSymbolUniqueId noise4_Float1 = TSymbolUniqueId(2206);
+ static constexpr const TSymbolUniqueId noise4_Float2 = TSymbolUniqueId(2207);
+ static constexpr const TSymbolUniqueId noise4_Float3 = TSymbolUniqueId(2208);
+ static constexpr const TSymbolUniqueId noise4_Float4 = TSymbolUniqueId(2209);
+ static constexpr const TSymbolUniqueId memoryBarrier = TSymbolUniqueId(2210);
+ static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter = TSymbolUniqueId(2211);
+ static constexpr const TSymbolUniqueId memoryBarrierBuffer = TSymbolUniqueId(2212);
+ static constexpr const TSymbolUniqueId memoryBarrierImage = TSymbolUniqueId(2213);
+ static constexpr const TSymbolUniqueId barrier = TSymbolUniqueId(2214);
+ static constexpr const TSymbolUniqueId memoryBarrierShared = TSymbolUniqueId(2215);
+ static constexpr const TSymbolUniqueId groupMemoryBarrier = TSymbolUniqueId(2216);
+ static constexpr const TSymbolUniqueId EmitVertex = TSymbolUniqueId(2217);
+ static constexpr const TSymbolUniqueId EndPrimitive = TSymbolUniqueId(2218);
+ static constexpr const TSymbolUniqueId EmitStreamVertex_Int1 = TSymbolUniqueId(2219);
+ static constexpr const TSymbolUniqueId EndStreamPrimitive_Int1 = TSymbolUniqueId(2220);
+ static constexpr const TSymbolUniqueId subpassLoad_SubpassInput1 = TSymbolUniqueId(2221);
+ static constexpr const TSymbolUniqueId pt01j = TSymbolUniqueId(2222);
+ static constexpr const TSymbolUniqueId subpassLoad_ISubpassInput1 = TSymbolUniqueId(2223);
+ static constexpr const TSymbolUniqueId pt01k = TSymbolUniqueId(2224);
+ static constexpr const TSymbolUniqueId subpassLoad_USubpassInput1 = TSymbolUniqueId(2225);
+ static constexpr const TSymbolUniqueId pt01l = TSymbolUniqueId(2226);
+ static constexpr const TSymbolUniqueId subpassLoad_SubpassInputMS1_Int1 = TSymbolUniqueId(2227);
+ static constexpr const TSymbolUniqueId pt01m = TSymbolUniqueId(2228);
static constexpr const TSymbolUniqueId subpassLoad_ISubpassInputMS1_Int1 =
- TSymbolUniqueId(2223);
- static constexpr const TSymbolUniqueId pt01n = TSymbolUniqueId(2224);
+ TSymbolUniqueId(2229);
+ static constexpr const TSymbolUniqueId pt01n = TSymbolUniqueId(2230);
static constexpr const TSymbolUniqueId subpassLoad_USubpassInputMS1_Int1 =
- TSymbolUniqueId(2225);
- static constexpr const TSymbolUniqueId pt01o = TSymbolUniqueId(2226);
- static constexpr const TSymbolUniqueId anyInvocation_Bool1 = TSymbolUniqueId(2227);
- static constexpr const TSymbolUniqueId allInvocations_Bool1 = TSymbolUniqueId(2228);
- static constexpr const TSymbolUniqueId allInvocationsEqual_Bool1 = TSymbolUniqueId(2229);
+ TSymbolUniqueId(2231);
+ static constexpr const TSymbolUniqueId pt01o = TSymbolUniqueId(2232);
+ static constexpr const TSymbolUniqueId anyInvocation_Bool1 = TSymbolUniqueId(2233);
+ static constexpr const TSymbolUniqueId allInvocations_Bool1 = TSymbolUniqueId(2234);
+ static constexpr const TSymbolUniqueId allInvocationsEqual_Bool1 = TSymbolUniqueId(2235);
static constexpr const TSymbolUniqueId textureVideoWEBGL_SamplerVideoWEBGL1_Float2 =
- TSymbolUniqueId(2230);
- static constexpr const TSymbolUniqueId pt00y = TSymbolUniqueId(2231);
+ TSymbolUniqueId(2236);
+ static constexpr const TSymbolUniqueId pt00y = TSymbolUniqueId(2237);
static constexpr const TSymbolUniqueId texture_SamplerVideoWEBGL1_Float2 =
- TSymbolUniqueId(2232);
- static constexpr const TSymbolUniqueId gl_DepthRangeParameters = TSymbolUniqueId(2233);
- static constexpr const TSymbolUniqueId gl_DepthRange = TSymbolUniqueId(2234);
- static constexpr const TSymbolUniqueId gl_MaxVertexAttribs = TSymbolUniqueId(2235);
- static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors = TSymbolUniqueId(2236);
- static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits = TSymbolUniqueId(2237);
- static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits = TSymbolUniqueId(2238);
- static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits = TSymbolUniqueId(2239);
- static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors = TSymbolUniqueId(2240);
- static constexpr const TSymbolUniqueId gl_MaxVaryingVectors = TSymbolUniqueId(2241);
- static constexpr const TSymbolUniqueId gl_MaxDrawBuffers = TSymbolUniqueId(2242);
- static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT = TSymbolUniqueId(2243);
- static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors = TSymbolUniqueId(2244);
- static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors = TSymbolUniqueId(2245);
- static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset = TSymbolUniqueId(2246);
- static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset = TSymbolUniqueId(2247);
- static constexpr const TSymbolUniqueId gl_MaxImageUnits = TSymbolUniqueId(2248);
- static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms = TSymbolUniqueId(2249);
- static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms = TSymbolUniqueId(2250);
- static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms = TSymbolUniqueId(2251);
- static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms = TSymbolUniqueId(2252);
+ TSymbolUniqueId(2238);
+ static constexpr const TSymbolUniqueId gl_DepthRangeParameters = TSymbolUniqueId(2239);
+ static constexpr const TSymbolUniqueId gl_DepthRange = TSymbolUniqueId(2240);
+ static constexpr const TSymbolUniqueId gl_MaxVertexAttribs = TSymbolUniqueId(2241);
+ static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors = TSymbolUniqueId(2242);
+ static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits = TSymbolUniqueId(2243);
+ static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits = TSymbolUniqueId(2244);
+ static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits = TSymbolUniqueId(2245);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors = TSymbolUniqueId(2246);
+ static constexpr const TSymbolUniqueId gl_MaxVaryingVectors = TSymbolUniqueId(2247);
+ static constexpr const TSymbolUniqueId gl_MaxDrawBuffers = TSymbolUniqueId(2248);
+ static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT = TSymbolUniqueId(2249);
+ static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors = TSymbolUniqueId(2250);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors = TSymbolUniqueId(2251);
+ static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset = TSymbolUniqueId(2252);
+ static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset = TSymbolUniqueId(2253);
+ static constexpr const TSymbolUniqueId gl_MaxImageUnits = TSymbolUniqueId(2254);
+ static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms = TSymbolUniqueId(2255);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms = TSymbolUniqueId(2256);
+ static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms = TSymbolUniqueId(2257);
+ static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms = TSymbolUniqueId(2258);
static constexpr const TSymbolUniqueId gl_MaxCombinedShaderOutputResources =
- TSymbolUniqueId(2253);
- static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount = TSymbolUniqueId(2254);
- static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize = TSymbolUniqueId(2255);
- static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents = TSymbolUniqueId(2256);
- static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits = TSymbolUniqueId(2257);
- static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters = TSymbolUniqueId(2258);
- static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounterBuffers =
TSymbolUniqueId(2259);
- static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters = TSymbolUniqueId(2260);
- static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters = TSymbolUniqueId(2261);
- static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters = TSymbolUniqueId(2262);
- static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings = TSymbolUniqueId(2263);
- static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers = TSymbolUniqueId(2264);
- static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounterBuffers =
+ static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount = TSymbolUniqueId(2260);
+ static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize = TSymbolUniqueId(2261);
+ static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents = TSymbolUniqueId(2262);
+ static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits = TSymbolUniqueId(2263);
+ static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters = TSymbolUniqueId(2264);
+ static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounterBuffers =
TSymbolUniqueId(2265);
+ static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters = TSymbolUniqueId(2266);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters = TSymbolUniqueId(2267);
+ static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters = TSymbolUniqueId(2268);
+ static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings = TSymbolUniqueId(2269);
+ static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers = TSymbolUniqueId(2270);
+ static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounterBuffers =
+ TSymbolUniqueId(2271);
static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounterBuffers =
- TSymbolUniqueId(2266);
- static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize = TSymbolUniqueId(2267);
- static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents = TSymbolUniqueId(2268);
- static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents = TSymbolUniqueId(2269);
- static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms = TSymbolUniqueId(2270);
- static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(2271);
- static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices = TSymbolUniqueId(2272);
+ TSymbolUniqueId(2272);
+ static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize = TSymbolUniqueId(2273);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents = TSymbolUniqueId(2274);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents = TSymbolUniqueId(2275);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms = TSymbolUniqueId(2276);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(2277);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices = TSymbolUniqueId(2278);
static constexpr const TSymbolUniqueId gl_MaxGeometryTotalOutputComponents =
- TSymbolUniqueId(2273);
- static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(2274);
- static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters = TSymbolUniqueId(2275);
+ TSymbolUniqueId(2279);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(2280);
+ static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters = TSymbolUniqueId(2281);
static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounterBuffers =
- TSymbolUniqueId(2276);
- static constexpr const TSymbolUniqueId gl_FragCoord = TSymbolUniqueId(2277);
- static constexpr const TSymbolUniqueId gl_FrontFacing = TSymbolUniqueId(2278);
- static constexpr const TSymbolUniqueId gl_PointCoord = TSymbolUniqueId(2279);
- static constexpr const TSymbolUniqueId gl_FragColor = TSymbolUniqueId(2280);
- static constexpr const TSymbolUniqueId gl_FragData = TSymbolUniqueId(2281);
- static constexpr const TSymbolUniqueId gl_FragDepth = TSymbolUniqueId(2282);
- static constexpr const TSymbolUniqueId gl_HelperInvocation = TSymbolUniqueId(2283);
- static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(2284);
- static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT = TSymbolUniqueId(2285);
- static constexpr const TSymbolUniqueId gl_FragDepthEXT = TSymbolUniqueId(2286);
- static constexpr const TSymbolUniqueId gl_LastFragData = TSymbolUniqueId(2287);
- static constexpr const TSymbolUniqueId gl_LastFragColor = TSymbolUniqueId(2288);
- static constexpr const TSymbolUniqueId gl_LastFragDataNV = TSymbolUniqueId(2289);
- static constexpr const TSymbolUniqueId gl_LastFragColorARM = TSymbolUniqueId(2290);
- static constexpr const TSymbolUniqueId gl_PrimitiveID = TSymbolUniqueId(2291);
- static constexpr const TSymbolUniqueId gl_Layer = TSymbolUniqueId(2292);
- static constexpr const TSymbolUniqueId gl_Position = TSymbolUniqueId(2293);
- static constexpr const TSymbolUniqueId gl_PointSize = TSymbolUniqueId(2294);
- static constexpr const TSymbolUniqueId gl_InstanceID = TSymbolUniqueId(2295);
- static constexpr const TSymbolUniqueId gl_InstanceIndex = TSymbolUniqueId(2296);
- static constexpr const TSymbolUniqueId gl_VertexID = TSymbolUniqueId(2297);
- static constexpr const TSymbolUniqueId gl_VertexIndex = TSymbolUniqueId(2298);
- static constexpr const TSymbolUniqueId gl_ViewportIndex = TSymbolUniqueId(2299);
- static constexpr const TSymbolUniqueId gl_LayerVS = TSymbolUniqueId(2300);
- static constexpr const TSymbolUniqueId gl_DrawID = TSymbolUniqueId(2301);
- static constexpr const TSymbolUniqueId gl_BaseVertex = TSymbolUniqueId(2302);
- static constexpr const TSymbolUniqueId gl_BaseInstance = TSymbolUniqueId(2303);
- static constexpr const TSymbolUniqueId angle_BaseVertex = TSymbolUniqueId(2304);
- static constexpr const TSymbolUniqueId angle_BaseInstance = TSymbolUniqueId(2305);
- static constexpr const TSymbolUniqueId gl_ClipDistance = TSymbolUniqueId(2306);
- static constexpr const TSymbolUniqueId gl_MaxClipDistances = TSymbolUniqueId(2307);
- static constexpr const TSymbolUniqueId gl_NumWorkGroups = TSymbolUniqueId(2308);
- static constexpr const TSymbolUniqueId gl_WorkGroupSize = TSymbolUniqueId(2309);
- static constexpr const TSymbolUniqueId gl_WorkGroupID = TSymbolUniqueId(2310);
- static constexpr const TSymbolUniqueId gl_LocalInvocationID = TSymbolUniqueId(2311);
- static constexpr const TSymbolUniqueId gl_GlobalInvocationID = TSymbolUniqueId(2312);
- static constexpr const TSymbolUniqueId gl_LocalInvocationIndex = TSymbolUniqueId(2313);
- static constexpr const TSymbolUniqueId gl_PrimitiveIDIn = TSymbolUniqueId(2314);
- static constexpr const TSymbolUniqueId gl_InvocationID = TSymbolUniqueId(2315);
- static constexpr const TSymbolUniqueId gl_PrimitiveIDGS = TSymbolUniqueId(2316);
- static constexpr const TSymbolUniqueId gl_LayerGS = TSymbolUniqueId(2317);
- static constexpr const TSymbolUniqueId gl_PerVertex = TSymbolUniqueId(2318);
- static constexpr const TSymbolUniqueId gl_in = TSymbolUniqueId(2319);
- static constexpr const TSymbolUniqueId gl_PerVertexOutBlock = TSymbolUniqueId(2320);
- static constexpr const TSymbolUniqueId gl_PositionGS = TSymbolUniqueId(2321);
- static constexpr const TSymbolUniqueId gl_ViewID_OVR = TSymbolUniqueId(2322);
+ TSymbolUniqueId(2282);
+ static constexpr const TSymbolUniqueId gl_FragCoord = TSymbolUniqueId(2283);
+ static constexpr const TSymbolUniqueId gl_FrontFacing = TSymbolUniqueId(2284);
+ static constexpr const TSymbolUniqueId gl_PointCoord = TSymbolUniqueId(2285);
+ static constexpr const TSymbolUniqueId gl_FragColor = TSymbolUniqueId(2286);
+ static constexpr const TSymbolUniqueId gl_FragData = TSymbolUniqueId(2287);
+ static constexpr const TSymbolUniqueId gl_FragDepth = TSymbolUniqueId(2288);
+ static constexpr const TSymbolUniqueId gl_HelperInvocation = TSymbolUniqueId(2289);
+ static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(2290);
+ static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT = TSymbolUniqueId(2291);
+ static constexpr const TSymbolUniqueId gl_FragDepthEXT = TSymbolUniqueId(2292);
+ static constexpr const TSymbolUniqueId gl_LastFragData = TSymbolUniqueId(2293);
+ static constexpr const TSymbolUniqueId gl_LastFragColor = TSymbolUniqueId(2294);
+ static constexpr const TSymbolUniqueId gl_LastFragDataNV = TSymbolUniqueId(2295);
+ static constexpr const TSymbolUniqueId gl_LastFragColorARM = TSymbolUniqueId(2296);
+ static constexpr const TSymbolUniqueId gl_PrimitiveID = TSymbolUniqueId(2297);
+ static constexpr const TSymbolUniqueId gl_Layer = TSymbolUniqueId(2298);
+ static constexpr const TSymbolUniqueId gl_Position = TSymbolUniqueId(2299);
+ static constexpr const TSymbolUniqueId gl_PointSize = TSymbolUniqueId(2300);
+ static constexpr const TSymbolUniqueId gl_InstanceID = TSymbolUniqueId(2301);
+ static constexpr const TSymbolUniqueId gl_InstanceIndex = TSymbolUniqueId(2302);
+ static constexpr const TSymbolUniqueId gl_VertexID = TSymbolUniqueId(2303);
+ static constexpr const TSymbolUniqueId gl_VertexIndex = TSymbolUniqueId(2304);
+ static constexpr const TSymbolUniqueId gl_ViewportIndex = TSymbolUniqueId(2305);
+ static constexpr const TSymbolUniqueId gl_LayerVS = TSymbolUniqueId(2306);
+ static constexpr const TSymbolUniqueId gl_DrawID = TSymbolUniqueId(2307);
+ static constexpr const TSymbolUniqueId gl_BaseVertex = TSymbolUniqueId(2308);
+ static constexpr const TSymbolUniqueId gl_BaseInstance = TSymbolUniqueId(2309);
+ static constexpr const TSymbolUniqueId angle_BaseVertex = TSymbolUniqueId(2310);
+ static constexpr const TSymbolUniqueId angle_BaseInstance = TSymbolUniqueId(2311);
+ static constexpr const TSymbolUniqueId gl_ClipDistance = TSymbolUniqueId(2312);
+ static constexpr const TSymbolUniqueId gl_MaxClipDistances = TSymbolUniqueId(2313);
+ static constexpr const TSymbolUniqueId gl_NumWorkGroups = TSymbolUniqueId(2314);
+ static constexpr const TSymbolUniqueId gl_WorkGroupSize = TSymbolUniqueId(2315);
+ static constexpr const TSymbolUniqueId gl_WorkGroupID = TSymbolUniqueId(2316);
+ static constexpr const TSymbolUniqueId gl_LocalInvocationID = TSymbolUniqueId(2317);
+ static constexpr const TSymbolUniqueId gl_GlobalInvocationID = TSymbolUniqueId(2318);
+ static constexpr const TSymbolUniqueId gl_LocalInvocationIndex = TSymbolUniqueId(2319);
+ static constexpr const TSymbolUniqueId gl_PrimitiveIDIn = TSymbolUniqueId(2320);
+ static constexpr const TSymbolUniqueId gl_InvocationID = TSymbolUniqueId(2321);
+ static constexpr const TSymbolUniqueId gl_PrimitiveIDGS = TSymbolUniqueId(2322);
+ static constexpr const TSymbolUniqueId gl_LayerGS = TSymbolUniqueId(2323);
+ static constexpr const TSymbolUniqueId gl_PerVertex = TSymbolUniqueId(2324);
+ static constexpr const TSymbolUniqueId gl_in = TSymbolUniqueId(2325);
+ static constexpr const TSymbolUniqueId gl_PerVertexOutBlock = TSymbolUniqueId(2326);
+ static constexpr const TSymbolUniqueId gl_PositionGS = TSymbolUniqueId(2327);
+ static constexpr const TSymbolUniqueId gl_ViewID_OVR = TSymbolUniqueId(2328);
}; // class BuiltInId
diff --git a/chromium/third_party/angle/src/compiler/translator/tree_util/FindFunction.h b/chromium/third_party/angle/src/compiler/translator/tree_util/FindFunction.h
index 946a135037c..ced6b7e96e4 100644
--- a/chromium/third_party/angle/src/compiler/translator/tree_util/FindFunction.h
+++ b/chromium/third_party/angle/src/compiler/translator/tree_util/FindFunction.h
@@ -18,4 +18,4 @@ class TIntermBlock;
size_t FindFirstFunctionDefinitionIndex(TIntermBlock *root);
} // namespace sh
-#endif // COMPILER_TRANSLATOR_TREEUTIL_FINDFUNCTION_H_ \ No newline at end of file
+#endif // COMPILER_TRANSLATOR_TREEUTIL_FINDFUNCTION_H_
diff --git a/chromium/third_party/angle/src/compiler/translator/tree_util/ReplaceClipDistanceVariable.h b/chromium/third_party/angle/src/compiler/translator/tree_util/ReplaceClipDistanceVariable.h
index 5325b5e1ac0..3aa5d56d5e3 100644
--- a/chromium/third_party/angle/src/compiler/translator/tree_util/ReplaceClipDistanceVariable.h
+++ b/chromium/third_party/angle/src/compiler/translator/tree_util/ReplaceClipDistanceVariable.h
@@ -32,4 +32,4 @@ ANGLE_NO_DISCARD bool ReplaceClipDistanceAssignments(TCompiler *compiler,
const TIntermTyped *clipDistanceEnableFlags);
} // namespace sh
-#endif \ No newline at end of file
+#endif
diff --git a/chromium/third_party/angle/src/compiler/translator/util.cpp b/chromium/third_party/angle/src/compiler/translator/util.cpp
index bd98d5b2961..00cd7965934 100644
--- a/chromium/third_party/angle/src/compiler/translator/util.cpp
+++ b/chromium/third_party/angle/src/compiler/translator/util.cpp
@@ -378,6 +378,8 @@ GLenum GLVariableType(const TType &type)
return GL_SAMPLER_2D_MULTISAMPLE;
case EbtSampler2DMSArray:
return GL_SAMPLER_2D_MULTISAMPLE_ARRAY;
+ case EbtSamplerCubeArray:
+ return GL_SAMPLER_CUBE_MAP_ARRAY;
case EbtISampler2D:
return GL_INT_SAMPLER_2D;
case EbtISampler3D:
@@ -390,6 +392,8 @@ GLenum GLVariableType(const TType &type)
return GL_INT_SAMPLER_2D_MULTISAMPLE;
case EbtISampler2DMSArray:
return GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY;
+ case EbtISamplerCubeArray:
+ return GL_INT_SAMPLER_CUBE_MAP_ARRAY;
case EbtUSampler2D:
return GL_UNSIGNED_INT_SAMPLER_2D;
case EbtUSampler3D:
@@ -402,12 +406,16 @@ GLenum GLVariableType(const TType &type)
return GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE;
case EbtUSampler2DMSArray:
return GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY;
+ case EbtUSamplerCubeArray:
+ return GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY;
case EbtSampler2DShadow:
return GL_SAMPLER_2D_SHADOW;
case EbtSamplerCubeShadow:
return GL_SAMPLER_CUBE_SHADOW;
case EbtSampler2DArrayShadow:
return GL_SAMPLER_2D_ARRAY_SHADOW;
+ case EbtSamplerCubeArrayShadow:
+ return GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW;
case EbtImage2D:
return GL_IMAGE_2D;
case EbtIImage2D:
@@ -432,6 +440,12 @@ GLenum GLVariableType(const TType &type)
return GL_INT_IMAGE_CUBE;
case EbtUImageCube:
return GL_UNSIGNED_INT_IMAGE_CUBE;
+ case EbtImageCubeArray:
+ return GL_IMAGE_CUBE_MAP_ARRAY;
+ case EbtIImageCubeArray:
+ return GL_INT_IMAGE_CUBE_MAP_ARRAY;
+ case EbtUImageCubeArray:
+ return GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY;
case EbtAtomicCounter:
return GL_UNSIGNED_INT_ATOMIC_COUNTER;
case EbtSamplerVideoWEBGL:
diff --git a/chromium/third_party/angle/src/gpu_info_util/SystemInfo.h b/chromium/third_party/angle/src/gpu_info_util/SystemInfo.h
index 7890bdcd049..11037600d09 100644
--- a/chromium/third_party/angle/src/gpu_info_util/SystemInfo.h
+++ b/chromium/third_party/angle/src/gpu_info_util/SystemInfo.h
@@ -126,6 +126,15 @@ void GetDualGPUInfo(SystemInfo *info);
void PrintSystemInfo(const SystemInfo &info);
VersionInfo ParseNvidiaDriverVersion(uint32_t version);
+
+#if defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_MACCATALYST)
+// Helper to get the active GPU ID from a given Core Graphics display ID.
+uint64_t GetGpuIDFromDisplayID(uint32_t displayID);
+
+// Helper to get the active GPU ID from an OpenGL display mask.
+uint64_t GetGpuIDFromOpenGLDisplayMask(uint32_t displayMask);
+#endif
+
} // namespace angle
#endif // GPU_INFO_UTIL_SYSTEM_INFO_H_
diff --git a/chromium/third_party/angle/src/gpu_info_util/SystemInfo_macos.mm b/chromium/third_party/angle/src/gpu_info_util/SystemInfo_macos.mm
index 4f74ebe54ce..25fce1ea6cb 100644
--- a/chromium/third_party/angle/src/gpu_info_util/SystemInfo_macos.mm
+++ b/chromium/third_party/angle/src/gpu_info_util/SystemInfo_macos.mm
@@ -21,52 +21,9 @@ namespace angle
namespace
{
-using PlatformDisplayID = uint32_t;
-
constexpr CGLRendererProperty kCGLRPRegistryIDLow = static_cast<CGLRendererProperty>(140);
constexpr CGLRendererProperty kCGLRPRegistryIDHigh = static_cast<CGLRendererProperty>(141);
-// Code from WebKit to get the active GPU's ID given a display ID.
-uint64_t GetGpuIDFromDisplayID(PlatformDisplayID displayID)
-{
- GLuint displayMask = CGDisplayIDToOpenGLDisplayMask(displayID);
- GLint numRenderers = 0;
- CGLRendererInfoObj rendererInfo = nullptr;
- CGLError error = CGLQueryRendererInfo(displayMask, &rendererInfo, &numRenderers);
- if (!numRenderers || !rendererInfo || error != kCGLNoError)
- return 0;
-
- // The 0th renderer should not be the software renderer.
- GLint isAccelerated;
- error = CGLDescribeRenderer(rendererInfo, 0, kCGLRPAccelerated, &isAccelerated);
- if (!isAccelerated || error != kCGLNoError)
- {
- CGLDestroyRendererInfo(rendererInfo);
- return 0;
- }
-
- GLint gpuIDLow = 0;
- GLint gpuIDHigh = 0;
-
- error = CGLDescribeRenderer(rendererInfo, 0, kCGLRPRegistryIDLow, &gpuIDLow);
-
- if (error != kCGLNoError || gpuIDLow < 0)
- {
- CGLDestroyRendererInfo(rendererInfo);
- return 0;
- }
-
- error = CGLDescribeRenderer(rendererInfo, 0, kCGLRPRegistryIDHigh, &gpuIDHigh);
- if (error != kCGLNoError || gpuIDHigh < 0)
- {
- CGLDestroyRendererInfo(rendererInfo);
- return 0;
- }
-
- CGLDestroyRendererInfo(rendererInfo);
- return static_cast<uint64_t>(gpuIDHigh) << 32 | gpuIDLow;
-}
-
std::string GetMachineModel()
{
io_service_t platformExpert = IOServiceGetMatchingService(
@@ -196,6 +153,61 @@ void SetActiveGPUIndex(SystemInfo *info)
} // anonymous namespace
+// Code from WebKit to get the active GPU's ID given a Core Graphics display ID.
+// https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/mac/PlatformScreenMac.mm
+// Used with permission.
+uint64_t GetGpuIDFromDisplayID(uint32_t displayID)
+{
+ return GetGpuIDFromOpenGLDisplayMask(CGDisplayIDToOpenGLDisplayMask(displayID));
+}
+
+// Code from WebKit to query the GPU ID given an OpenGL display mask.
+// https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/mac/PlatformScreenMac.mm
+// Used with permission.
+uint64_t GetGpuIDFromOpenGLDisplayMask(uint32_t displayMask)
+{
+ if (@available(macOS 10.13, *))
+ {
+ GLint numRenderers = 0;
+ CGLRendererInfoObj rendererInfo = nullptr;
+ CGLError error = CGLQueryRendererInfo(displayMask, &rendererInfo, &numRenderers);
+ if (!numRenderers || !rendererInfo || error != kCGLNoError)
+ return 0;
+
+ // The 0th renderer should not be the software renderer.
+ GLint isAccelerated;
+ error = CGLDescribeRenderer(rendererInfo, 0, kCGLRPAccelerated, &isAccelerated);
+ if (!isAccelerated || error != kCGLNoError)
+ {
+ CGLDestroyRendererInfo(rendererInfo);
+ return 0;
+ }
+
+ GLint gpuIDLow = 0;
+ GLint gpuIDHigh = 0;
+
+ error = CGLDescribeRenderer(rendererInfo, 0, kCGLRPRegistryIDLow, &gpuIDLow);
+ if (error != kCGLNoError)
+ {
+ CGLDestroyRendererInfo(rendererInfo);
+ return 0;
+ }
+
+ error = CGLDescribeRenderer(rendererInfo, 0, kCGLRPRegistryIDHigh, &gpuIDHigh);
+ if (error != kCGLNoError)
+ {
+ CGLDestroyRendererInfo(rendererInfo);
+ return 0;
+ }
+
+ CGLDestroyRendererInfo(rendererInfo);
+ return (static_cast<uint64_t>(static_cast<uint32_t>(gpuIDHigh)) << 32) |
+ static_cast<uint64_t>(static_cast<uint32_t>(gpuIDLow));
+ }
+
+ return 0;
+}
+
bool GetSystemInfo(SystemInfo *info)
{
{
diff --git a/chromium/third_party/angle/src/image_util/imageformats.cpp b/chromium/third_party/angle/src/image_util/imageformats.cpp
index 2ea51c4d3fa..2c7b61837de 100644
--- a/chromium/third_party/angle/src/image_util/imageformats.cpp
+++ b/chromium/third_party/angle/src/image_util/imageformats.cpp
@@ -1832,7 +1832,7 @@ void D16::WriteDepthStencil(D16 *dst, const DepthStencil *src)
void D24X8::ReadDepthStencil(DepthStencil *dst, const D24X8 *src)
{
- dst->depth = gl::normalizedToFloat<24>(src->D);
+ dst->depth = gl::normalizedToFloat<24>(src->D & 0x00ffffff);
}
void D24X8::WriteDepthStencil(D24X8 *dst, const DepthStencil *src)
diff --git a/chromium/third_party/angle/src/image_util/imageformats.h b/chromium/third_party/angle/src/image_util/imageformats.h
index ee6526eecfd..a114815c20e 100644
--- a/chromium/third_party/angle/src/image_util/imageformats.h
+++ b/chromium/third_party/angle/src/image_util/imageformats.h
@@ -751,7 +751,8 @@ struct D16
struct D24X8
{
- uint32_t D;
+ uint32_t D : 24;
+ uint32_t X : 8;
static void ReadDepthStencil(DepthStencil *dst, const D24X8 *src);
static void WriteDepthStencil(D24X8 *dst, const DepthStencil *src);
diff --git a/chromium/third_party/angle/src/libANGLE/BlobCache.cpp b/chromium/third_party/angle/src/libANGLE/BlobCache.cpp
index 737ed68115e..2c743e78636 100644
--- a/chromium/third_party/angle/src/libANGLE/BlobCache.cpp
+++ b/chromium/third_party/angle/src/libANGLE/BlobCache.cpp
@@ -13,7 +13,7 @@
#include "libANGLE/Context.h"
#include "libANGLE/Display.h"
#include "libANGLE/histogram_macros.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
namespace egl
{
@@ -69,7 +69,8 @@ void BlobCache::populate(const BlobCache::Key &key, angle::MemoryBuffer &&value,
bool BlobCache::get(angle::ScratchBuffer *scratchBuffer,
const BlobCache::Key &key,
- BlobCache::Value *valueOut)
+ BlobCache::Value *valueOut,
+ size_t *bufferSizeOut)
{
// Look into the application's cache, if there is such a cache
if (areBlobCacheFuncsSet())
@@ -102,7 +103,8 @@ bool BlobCache::get(angle::ScratchBuffer *scratchBuffer,
return false;
}
- *valueOut = BlobCache::Value(scratchMemory->data(), scratchMemory->size());
+ *valueOut = BlobCache::Value(scratchMemory->data(), scratchMemory->size());
+ *bufferSizeOut = valueSize;
return true;
}
@@ -123,7 +125,8 @@ bool BlobCache::get(angle::ScratchBuffer *scratchBuffer,
kCacheResultMax);
}
- *valueOut = BlobCache::Value(entry->first.data(), entry->first.size());
+ *valueOut = BlobCache::Value(entry->first.data(), entry->first.size());
+ *bufferSizeOut = entry->first.size();
}
else
{
diff --git a/chromium/third_party/angle/src/libANGLE/BlobCache.h b/chromium/third_party/angle/src/libANGLE/BlobCache.h
index eec906dadc7..b75796c70e2 100644
--- a/chromium/third_party/angle/src/libANGLE/BlobCache.h
+++ b/chromium/third_party/angle/src/libANGLE/BlobCache.h
@@ -102,7 +102,8 @@ class BlobCache final : angle::NonCopyable
// set, those will be used. Otherwise they key is looked up in this object's cache.
ANGLE_NO_DISCARD bool get(angle::ScratchBuffer *scratchBuffer,
const BlobCache::Key &key,
- BlobCache::Value *valueOut);
+ BlobCache::Value *valueOut,
+ size_t *bufferSizeOut);
// For querying the contents of the cache.
ANGLE_NO_DISCARD bool getAt(size_t index,
diff --git a/chromium/third_party/angle/src/libANGLE/BlobCache_unittest.cpp b/chromium/third_party/angle/src/libANGLE/BlobCache_unittest.cpp
index bfc1f7bc810..c09a89c8fac 100644
--- a/chromium/third_party/angle/src/libANGLE/BlobCache_unittest.cpp
+++ b/chromium/third_party/angle/src/libANGLE/BlobCache_unittest.cpp
@@ -58,7 +58,8 @@ TEST(BlobCacheTest, MaxSizedValue)
EXPECT_FALSE(blobCache.empty());
Blob blob;
- EXPECT_FALSE(blobCache.get(nullptr, MakeKey(0), &blob));
+ size_t blobSize;
+ EXPECT_FALSE(blobCache.get(nullptr, MakeKey(0), &blob, &blobSize));
blobCache.clear();
EXPECT_TRUE(blobCache.empty());
@@ -75,7 +76,8 @@ TEST(BlobCacheTest, ManySmallValues)
blobCache.populate(MakeKey(value), MakeBlob(1, value));
Blob qvalue;
- EXPECT_TRUE(blobCache.get(nullptr, MakeKey(value), &qvalue));
+ size_t blobSize;
+ EXPECT_TRUE(blobCache.get(nullptr, MakeKey(value), &qvalue, &blobSize));
if (qvalue.size() > 0)
{
EXPECT_EQ(value, qvalue[0]);
@@ -89,7 +91,8 @@ TEST(BlobCacheTest, ManySmallValues)
blobCache.populate(MakeKey(kSize), MakeBlob(1, kSize));
Blob qvalue;
- EXPECT_FALSE(blobCache.get(nullptr, MakeKey(0), &qvalue));
+ size_t blobSize;
+ EXPECT_FALSE(blobCache.get(nullptr, MakeKey(0), &qvalue, &blobSize));
// Putting one large element cleans out the whole stack.
blobCache.populate(MakeKey(kSize + 1), MakeBlob(kSize, kSize + 1));
@@ -98,9 +101,9 @@ TEST(BlobCacheTest, ManySmallValues)
for (size_t value = 0; value <= kSize; ++value)
{
- EXPECT_FALSE(blobCache.get(nullptr, MakeKey(value), &qvalue));
+ EXPECT_FALSE(blobCache.get(nullptr, MakeKey(value), &qvalue, &blobSize));
}
- EXPECT_TRUE(blobCache.get(nullptr, MakeKey(kSize + 1), &qvalue));
+ EXPECT_TRUE(blobCache.get(nullptr, MakeKey(kSize + 1), &qvalue, &blobSize));
if (qvalue.size() > 0)
{
EXPECT_EQ(kSize + 1, qvalue[0]);
@@ -124,7 +127,8 @@ TEST(BlobCacheTest, OversizeValue)
blobCache.populate(MakeKey(5), MakeBlob(100));
Blob qvalue;
- EXPECT_FALSE(blobCache.get(nullptr, MakeKey(5), &qvalue));
+ size_t blobSize;
+ EXPECT_FALSE(blobCache.get(nullptr, MakeKey(5), &qvalue, &blobSize));
}
} // namespace egl
diff --git a/chromium/third_party/angle/src/libANGLE/Buffer.cpp b/chromium/third_party/angle/src/libANGLE/Buffer.cpp
index 2884606f611..1f5c42aa0ec 100644
--- a/chromium/third_party/angle/src/libANGLE/Buffer.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Buffer.cpp
@@ -76,6 +76,19 @@ angle::Result Buffer::bufferData(Context *context,
{
const void *dataForImpl = data;
+ if (mState.isMapped())
+ {
+ // Per the OpenGL ES 3.0 spec, buffers are implicity unmapped when a call to
+ // BufferData happens on a mapped buffer:
+ //
+ // If any portion of the buffer object is mapped in the current context or any context
+ // current to another thread, it is as though UnmapBuffer (see section 2.10.3) is
+ // executed in each such context prior to deleting the existing data store.
+ //
+ GLboolean dontCare = GL_FALSE;
+ ANGLE_TRY(unmap(context, &dontCare));
+ }
+
// If we are using robust resource init, make sure the buffer starts cleared.
// Note: the Context is checked for nullptr because of some testing code.
// TODO(jmadill): Investigate lazier clearing.
@@ -87,7 +100,17 @@ angle::Result Buffer::bufferData(Context *context,
dataForImpl = scratchBuffer->data();
}
- ANGLE_TRY(mImpl->setData(context, target, dataForImpl, size, usage));
+ if (mImpl->setData(context, target, dataForImpl, size, usage) == angle::Result::Stop)
+ {
+ // If setData fails, the buffer contents are undefined. Set a zero size to indicate that.
+ mIndexRangeCache.clear();
+ mState.mSize = 0;
+
+ // Notify when storage changes.
+ onStateChange(angle::SubjectMessage::SubjectChanged);
+
+ return angle::Result::Stop;
+ }
mIndexRangeCache.clear();
mState.mUsage = usage;
diff --git a/chromium/third_party/angle/src/libANGLE/Caps.cpp b/chromium/third_party/angle/src/libANGLE/Caps.cpp
index 5ec8fa99eab..d150fb901b4 100644
--- a/chromium/third_party/angle/src/libANGLE/Caps.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Caps.cpp
@@ -982,6 +982,7 @@ const ExtensionInfoMap &GetExtensionInfoMap()
map["GL_CHROMIUM_bind_generates_resource"] = esOnlyExtension(&Extensions::bindGeneratesResource);
map["GL_ANGLE_robust_client_memory"] = esOnlyExtension(&Extensions::robustClientMemory);
map["GL_EXT_texture_sRGB_decode"] = esOnlyExtension(&Extensions::textureSRGBDecode);
+ map["GL_EXT_texture_sRGB_override"] = esOnlyExtension(&Extensions::textureSRGBOverride);
map["GL_EXT_sRGB_write_control"] = esOnlyExtension(&Extensions::sRGBWriteControl);
map["GL_CHROMIUM_color_buffer_float_rgb"] = enableableExtension(&Extensions::colorBufferFloatRGB);
map["GL_CHROMIUM_color_buffer_float_rgba"] = enableableExtension(&Extensions::colorBufferFloatRGBA);
@@ -1004,6 +1005,7 @@ const ExtensionInfoMap &GetExtensionInfoMap()
map["GL_ANGLE_texture_multisample"] = enableableExtension(&Extensions::textureMultisample);
map["GL_ANGLE_multi_draw"] = enableableExtension(&Extensions::multiDraw);
map["GL_ANGLE_provoking_vertex"] = enableableExtension(&Extensions::provokingVertex);
+ map["GL_CHROMIUM_texture_filtering_hint"] = enableableExtension(&Extensions::textureFilteringCHROMIUM);
map["GL_CHROMIUM_lose_context"] = enableableExtension(&Extensions::loseContextCHROMIUM);
map["GL_ANGLE_texture_external_update"] = enableableExtension(&Extensions::textureExternalUpdateANGLE);
map["GL_ANGLE_base_vertex_base_instance"] = enableableExtension(&Extensions::baseVertexBaseInstance);
@@ -1021,6 +1023,8 @@ const ExtensionInfoMap &GetExtensionInfoMap()
map["GL_ANGLE_memory_size"] = enableableExtension(&Extensions::memorySize);
map["GL_EXT_shader_non_constant_global_initializers"] = enableableExtension(&Extensions::shaderNonConstGlobalInitializersEXT);
map["GL_WEBGL_video_texture"] = enableableExtension(&Extensions::webglVideoTexture);
+ map["GL_OES_texture_cube_map_array"] = enableableExtension(&Extensions::textureCubeMapArrayOES);
+ map["GL_EXT_texture_cube_map_array"] = enableableExtension(&Extensions::textureCubeMapArrayEXT);
// clang-format on
#if defined(ANGLE_ENABLE_ASSERTS)
@@ -1387,8 +1391,8 @@ std::vector<std::string> DisplayExtensions::getStrings() const
InsertExtensionString("EGL_IMG_context_priority", contextPriority, &extensionStrings);
InsertExtensionString("EGL_KHR_create_context_no_error", createContextNoError, &extensionStrings);
InsertExtensionString("EGL_EXT_image_dma_buf_import", imageDmaBufImportEXT, &extensionStrings);
- InsertExtensionString("EGL_EXT_image_dma_buf_import_modifiers", imageDmaBufImportModifiersEXT, &extensionStrings);
-
+ InsertExtensionString("EGL_EXT_image_dma_buf_import_modifiers", imageDmaBufImportModifiersEXT, &extensionStrings);
+ InsertExtensionString("EGL_NOK_texture_from_pixmap", textureFromPixmapNOK, &extensionStrings);
// clang-format on
return extensionStrings;
diff --git a/chromium/third_party/angle/src/libANGLE/Caps.h b/chromium/third_party/angle/src/libANGLE/Caps.h
index cea011dd4cf..3713abad23c 100644
--- a/chromium/third_party/angle/src/libANGLE/Caps.h
+++ b/chromium/third_party/angle/src/libANGLE/Caps.h
@@ -492,6 +492,9 @@ struct Extensions
// GL_EXT_texture_sRGB_decode
bool textureSRGBDecode = false;
+ // GL_EXT_texture_sRGB_override
+ bool textureSRGBOverride = false;
+
// GL_EXT_sRGB_write_control
bool sRGBWriteControl = false;
@@ -585,6 +588,9 @@ struct Extensions
// GL_ANGLE_provoking_vertex
bool provokingVertex = false;
+ // GL_CHROMIUM_texture_filtering_hint
+ bool textureFilteringCHROMIUM = false;
+
// GL_CHROMIUM_lose_context
bool loseContextCHROMIUM = false;
@@ -617,6 +623,16 @@ struct Extensions
// GL_APPLE_clip_distance
bool clipDistanceAPPLE = false;
+
+ // GL_OES_texture_cube_map_array
+ bool textureCubeMapArrayOES = false;
+ // GL_EXT_texture_cube_map_array
+ bool textureCubeMapArrayEXT = false;
+ // Any version of the texture cube map array extension
+ bool textureCubeMapArrayAny() const
+ {
+ return (textureCubeMapArrayOES || textureCubeMapArrayEXT);
+ }
};
// Pointer to a boolean memeber of the Extensions struct
@@ -1066,6 +1082,9 @@ struct DisplayExtensions
// EGL_EXT_image_dma_buf_import_modifiers
bool imageDmaBufImportModifiersEXT = false;
+
+ // EGL_NOK_texture_from_pixmap
+ bool textureFromPixmapNOK = false;
};
struct DeviceExtensions
diff --git a/chromium/third_party/angle/src/libANGLE/Compiler.cpp b/chromium/third_party/angle/src/libANGLE/Compiler.cpp
index 2608b116bc9..4f6f8ae8424 100644
--- a/chromium/third_party/angle/src/libANGLE/Compiler.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Compiler.cpp
@@ -123,6 +123,10 @@ Compiler::Compiler(rx::GLImplFactory *implFactory, const State &state)
// WEBGL_video_texture
mResources.WEBGL_video_texture = extensions.webglVideoTexture;
+ // OES_texture_cube_map_array
+ mResources.OES_texture_cube_map_array = extensions.textureCubeMapArrayOES;
+ mResources.EXT_texture_cube_map_array = extensions.textureCubeMapArrayEXT;
+
// GLSL ES 3.0 constants
mResources.MaxVertexOutputVectors = caps.maxVertexOutputComponents / 4;
mResources.MaxFragmentInputVectors = caps.maxFragmentInputComponents / 4;
diff --git a/chromium/third_party/angle/src/libANGLE/Config.cpp b/chromium/third_party/angle/src/libANGLE/Config.cpp
index 33056ce2b6f..fd742981283 100644
--- a/chromium/third_party/angle/src/libANGLE/Config.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Config.cpp
@@ -62,7 +62,8 @@ Config::Config()
optimalOrientation(0),
colorComponentType(EGL_COLOR_COMPONENT_TYPE_FIXED_EXT),
recordable(EGL_FALSE),
- framebufferTarget(EGL_FALSE) // TODO: http://anglebug.com/4208
+ framebufferTarget(EGL_FALSE), // TODO: http://anglebug.com/4208
+ yInverted(EGL_FALSE)
{}
Config::~Config() {}
@@ -368,6 +369,9 @@ std::vector<const Config *> ConfigSet::filter(const AttributeMap &attributeMap)
case EGL_FRAMEBUFFER_TARGET_ANDROID:
match = config.framebufferTarget == static_cast<EGLBoolean>(attributeValue);
break;
+ case EGL_Y_INVERTED_NOK:
+ match = config.yInverted == static_cast<EGLBoolean>(attributeValue);
+ break;
default:
UNREACHABLE();
}
diff --git a/chromium/third_party/angle/src/libANGLE/Config.h b/chromium/third_party/angle/src/libANGLE/Config.h
index b4394b6d48b..0c429d74ecc 100644
--- a/chromium/third_party/angle/src/libANGLE/Config.h
+++ b/chromium/third_party/angle/src/libANGLE/Config.h
@@ -74,6 +74,9 @@ struct Config
EGLBoolean framebufferTarget; // EGL_TRUE if the config supports rendering to a ANativeWindow
// for which the buffers are passed to the HWComposer HAL as a
// framebuffer target layer.
+ EGLBoolean yInverted; // True if the drawable's framebuffer is y-inverted. This can be used to
+ // determine if y-inverted texture coordinates need to be used when
+ // texturing from this drawable when it is bound to a texture target.
};
class ConfigSet
diff --git a/chromium/third_party/angle/src/libANGLE/Context.cpp b/chromium/third_party/angle/src/libANGLE/Context.cpp
index 7ce15e5086c..c2d3868ff04 100644
--- a/chromium/third_party/angle/src/libANGLE/Context.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Context.cpp
@@ -50,6 +50,20 @@ namespace gl
{
namespace
{
+egl::ShareGroup *AllocateOrGetShareGroup(egl::Display *display, const gl::Context *shareContext)
+{
+ if (shareContext)
+ {
+ egl::ShareGroup *shareGroup = shareContext->getState().getShareGroup();
+ shareGroup->addRef();
+ return shareGroup;
+ }
+ else
+ {
+ return new egl::ShareGroup(display->getImplementation());
+ }
+}
+
template <typename T>
angle::Result GetQueryObjectParameter(const Context *context, Query *query, GLenum pname, T *params)
{
@@ -256,6 +270,7 @@ Context::Context(egl::Display *display,
const egl::DisplayExtensions &displayExtensions,
const egl::ClientExtensions &clientExtensions)
: mState(shareContext ? &shareContext->mState : nullptr,
+ AllocateOrGetShareGroup(display, shareContext),
shareTextures,
&mOverlay,
clientType,
@@ -285,7 +300,7 @@ Context::Context(egl::Display *display,
mExplicitContextAvailable(clientExtensions.explicitContext),
mCurrentDrawSurface(static_cast<egl::Surface *>(EGL_NO_SURFACE)),
mCurrentReadSurface(static_cast<egl::Surface *>(EGL_NO_SURFACE)),
- mDisplay(static_cast<egl::Display *>(EGL_NO_DISPLAY)),
+ mDisplay(display),
mWebGLContext(GetWebGLContext(attribs)),
mBufferAccessValidationEnabled(false),
mExtensionsEnabled(GetExtensionsEnabled(attribs, mWebGLContext)),
@@ -314,6 +329,9 @@ Context::Context(egl::Display *display,
{
mImageObserverBindings.emplace_back(this, imageIndex);
}
+
+ // Implementations now require the display to be set at context creation.
+ ASSERT(mDisplay);
}
void Context::initialize()
@@ -378,6 +396,13 @@ void Context::initialize()
}
}
+ if (getClientVersion() >= Version(3, 2) || mSupportedExtensions.textureCubeMapArrayAny())
+ {
+ Texture *zeroTextureCubeMapArray =
+ new Texture(mImplementation.get(), {0}, TextureType::CubeMapArray);
+ mZeroTextures[TextureType::CubeMapArray].set(this, zeroTextureCubeMapArray);
+ }
+
if (mSupportedExtensions.textureRectangle)
{
Texture *zeroTextureRectangle =
@@ -405,6 +430,8 @@ void Context::initialize()
mState.initializeZeroTextures(this, mZeroTextures);
+ ANGLE_CONTEXT_TRY(mImplementation->initialize());
+
bindVertexArray({0});
if (getClientVersion() >= Version(3, 0))
@@ -497,8 +524,6 @@ void Context::initialize()
mCopyImageDirtyBits.set(State::DIRTY_BIT_READ_FRAMEBUFFER_BINDING);
mCopyImageDirtyObjects.set(State::DIRTY_OBJECT_READ_FRAMEBUFFER);
- ANGLE_CONTEXT_TRY(mImplementation->initialize());
-
// Initialize overlay after implementation is initialized.
ANGLE_CONTEXT_TRY(mOverlay.init(this));
}
@@ -577,6 +602,7 @@ egl::Error Context::onDestroy(const egl::Display *display)
mState.mFramebufferManager->release(this);
mState.mMemoryObjectManager->release(this);
mState.mSemaphoreManager->release(this);
+ mState.mShareGroup->release(this);
mThreadPool.reset();
@@ -626,6 +652,8 @@ egl::Error Context::makeCurrent(egl::Display *display,
mHasBeenCurrent = true;
}
+ mFrameCapture->onMakeCurrent(drawSurface);
+
// TODO(jmadill): Rework this when we support ContextImpl
mState.setAllDirtyBits();
mState.setAllDirtyObjects();
@@ -4045,17 +4073,17 @@ void Context::invalidateFramebuffer(GLenum target,
GLsizei numAttachments,
const GLenum *attachments)
{
- // Only sync the FBO
- ANGLE_CONTEXT_TRY(mState.syncDirtyObject(this, target));
-
Framebuffer *framebuffer = mState.getTargetFramebuffer(target);
ASSERT(framebuffer);
+ // No-op incomplete FBOs.
if (!framebuffer->isComplete(this))
{
return;
}
+ // Only sync the FBO
+ ANGLE_CONTEXT_TRY(mState.syncDirtyObject(this, target));
ANGLE_CONTEXT_TRY(framebuffer->invalidate(this, numAttachments, attachments));
}
@@ -4782,6 +4810,9 @@ void Context::hint(GLenum target, GLenum mode)
case GL_FOG_HINT:
mState.gles1().setHint(target, mode);
break;
+ case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
+ mState.setTextureFilteringHint(mode);
+ break;
default:
UNREACHABLE();
return;
@@ -8430,6 +8461,23 @@ void Context::getRenderbufferImage(GLenum target, GLenum format, GLenum type, vo
format, type, pixels));
}
+egl::Error Context::releaseHighPowerGPU()
+{
+ return mImplementation->releaseHighPowerGPU(this);
+}
+
+egl::Error Context::reacquireHighPowerGPU()
+{
+ return mImplementation->reacquireHighPowerGPU(this);
+}
+
+void Context::onGPUSwitch()
+{
+ // Re-initialize the renderer string, which just changed, and
+ // which must be visible to applications.
+ initRendererString();
+}
+
// ErrorSet implementation.
ErrorSet::ErrorSet(Context *context) : mContext(context) {}
@@ -8804,6 +8852,7 @@ void StateCache::updateValidBindTextureTypes(Context *context)
{TextureType::External, exts.eglImageExternalOES || exts.eglStreamConsumerExternalNV},
{TextureType::Rectangle, exts.textureRectangle},
{TextureType::CubeMap, true},
+ {TextureType::CubeMapArray, exts.textureCubeMapArrayAny()},
{TextureType::VideoImage, exts.webglVideoTexture},
}};
}
diff --git a/chromium/third_party/angle/src/libANGLE/Context.h b/chromium/third_party/angle/src/libANGLE/Context.h
index ae6e9ad10f8..10fa566d004 100644
--- a/chromium/third_party/angle/src/libANGLE/Context.h
+++ b/chromium/third_party/angle/src/libANGLE/Context.h
@@ -609,6 +609,11 @@ class Context final : public egl::LabeledObject, angle::NonCopyable, public angl
Program *getActiveLinkedProgram() const;
+ // EGL_ANGLE_power_preference implementation.
+ egl::Error releaseHighPowerGPU();
+ egl::Error reacquireHighPowerGPU();
+ void onGPUSwitch();
+
private:
void initialize();
diff --git a/chromium/third_party/angle/src/libANGLE/Context_gles_ext_autogen.h b/chromium/third_party/angle/src/libANGLE/Context_gles_ext_autogen.h
index ec4ebb294a0..da266ba976b 100644
--- a/chromium/third_party/angle/src/libANGLE/Context_gles_ext_autogen.h
+++ b/chromium/third_party/angle/src/libANGLE/Context_gles_ext_autogen.h
@@ -358,6 +358,7 @@
/* GL_EXT_texture_compression_rgtc */ \
/* GL_EXT_texture_compression_s3tc */ \
/* GL_EXT_texture_compression_s3tc_srgb */ \
+ /* GL_EXT_texture_cube_map_array */ \
/* GL_EXT_texture_filter_anisotropic */ \
/* GL_EXT_texture_format_BGRA8888 */ \
/* GL_EXT_texture_sRGB_R8 */ \
@@ -388,6 +389,7 @@
void framebufferTexture3D(GLenum target, GLenum attachment, TextureTarget textargetPacked, \
TextureID texturePacked, GLint level, GLint zoffset); \
/* GL_OES_texture_border_clamp */ \
+ /* GL_OES_texture_cube_map_array */ \
/* GL_OES_texture_half_float */ \
/* GL_OES_texture_storage_multisample_2d_array */ \
/* GL_OES_vertex_array_object */ \
diff --git a/chromium/third_party/angle/src/libANGLE/Display.cpp b/chromium/third_party/angle/src/libANGLE/Display.cpp
index b10711cd075..e3ebe325daa 100644
--- a/chromium/third_party/angle/src/libANGLE/Display.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Display.cpp
@@ -26,6 +26,7 @@
#include "common/platform.h"
#include "common/string_utils.h"
#include "common/system_utils.h"
+#include "common/tls.h"
#include "common/utilities.h"
#include "libANGLE/Context.h"
#include "libANGLE/Device.h"
@@ -55,13 +56,12 @@
# elif defined(ANGLE_PLATFORM_IOS)
# include "libANGLE/renderer/gl/eagl/DisplayEAGL.h"
# elif defined(ANGLE_PLATFORM_LINUX)
-# if defined(ANGLE_USE_OZONE)
-# include "libANGLE/renderer/gl/egl/ozone/DisplayOzone.h"
-# else
-# include "libANGLE/renderer/gl/egl/DisplayEGL.h"
-# if defined(ANGLE_USE_X11)
-# include "libANGLE/renderer/gl/glx/DisplayGLX.h"
-# endif
+# include "libANGLE/renderer/gl/egl/DisplayEGL.h"
+# if defined(ANGLE_USE_GBM)
+# include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
+# endif
+# if defined(ANGLE_USE_X11)
+# include "libANGLE/renderer/gl/glx/DisplayGLX.h"
# endif
# elif defined(ANGLE_PLATFORM_ANDROID)
# include "libANGLE/renderer/gl/egl/android/DisplayAndroid.h"
@@ -88,6 +88,8 @@ namespace egl
namespace
{
+constexpr angle::SubjectIndex kGPUSwitchedSubjectIndex = 0;
+
typedef std::map<EGLNativeWindowType, Surface *> WindowSurfaceMap;
// Get a map of all EGL window surfaces to validate that no window has more than one EGL surface
// associated with it.
@@ -187,7 +189,7 @@ EGLAttrib GetDisplayTypeFromEnvironment()
#elif defined(ANGLE_ENABLE_VULKAN) && defined(ANGLE_PLATFORM_ANDROID)
return EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE;
#elif defined(ANGLE_ENABLE_OPENGL)
-# if defined(ANGLE_PLATFORM_ANDROID) || defined(ANGLE_USE_OZONE)
+# if defined(ANGLE_PLATFORM_ANDROID) || defined(ANGLE_USE_GBM)
return EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE;
# else
return EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE;
@@ -221,8 +223,18 @@ EGLAttrib GetDeviceTypeFromEnvironment()
return EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE;
}
+EGLAttrib GetPlatformTypeFromEnvironment()
+{
+#if defined(ANGLE_USE_X11) && !defined(ANGLE_USE_OZONE)
+ return EGL_PLATFORM_X11_EXT;
+#else
+ return 0;
+#endif
+}
+
rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
EGLAttrib deviceType,
+ EGLAttrib platformType,
const DisplayState &state)
{
ASSERT(displayType != EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE);
@@ -253,21 +265,30 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
# elif defined(ANGLE_PLATFORM_IOS)
impl = new rx::DisplayEAGL(state);
# elif defined(ANGLE_PLATFORM_LINUX)
-# if defined(ANGLE_USE_OZONE)
- // This might work but has never been tried, so disallow for now.
- impl = nullptr;
-# else
+# if defined(ANGLE_USE_GBM)
+ if (platformType == 0)
+ {
+ // If platformType is unknown, use DisplayGbm now. In the future, it should use
+ // DisplayEGL letting native EGL decide what display to use.
+ impl = new rx::DisplayGbm(state);
+ break;
+ }
+# endif
if (deviceType == EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE)
{
impl = new rx::DisplayEGL(state);
+ break;
}
-# if defined(ANGLE_USE_X11)
else
{
- impl = new rx::DisplayGLX(state);
- }
-# endif
+# if defined(ANGLE_USE_X11)
+ if (platformType == EGL_PLATFORM_X11_EXT)
+ {
+ impl = new rx::DisplayGLX(state);
+ break;
+ }
# endif
+ }
# elif defined(ANGLE_PLATFORM_ANDROID)
// No GL support on this platform, fail display creation.
impl = nullptr;
@@ -285,20 +306,30 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
# if defined(ANGLE_PLATFORM_WINDOWS)
impl = new rx::DisplayWGL(state);
# elif defined(ANGLE_PLATFORM_LINUX)
-# if defined(ANGLE_USE_OZONE)
- impl = new rx::DisplayOzone(state);
-# else
+# if defined(ANGLE_USE_GBM)
+ if (platformType == 0)
+ {
+ // If platformType is unknown, use DisplayGbm now. In the future, it should use
+ // DisplayEGL letting native EGL decide what display to use.
+ impl = new rx::DisplayGbm(state);
+ break;
+ }
+# endif
if (deviceType == EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE)
{
impl = new rx::DisplayEGL(state);
+ break;
}
-# if defined(ANGLE_USE_X11)
else
{
- impl = new rx::DisplayGLX(state);
- }
-# endif
+# if defined(ANGLE_USE_X11)
+ if (platformType == EGL_PLATFORM_X11_EXT)
+ {
+ impl = new rx::DisplayGLX(state);
+ break;
+ }
# endif
+ }
# elif defined(ANGLE_PLATFORM_ANDROID)
impl = new rx::DisplayAndroid(state);
# else
@@ -316,10 +347,13 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
impl = rx::CreateVulkanWin32Display(state);
}
# elif defined(ANGLE_PLATFORM_LINUX)
- if (rx::IsVulkanXcbDisplayAvailable())
+# if defined(ANGLE_USE_X11)
+ if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable())
{
impl = rx::CreateVulkanXcbDisplay(state);
+ break;
}
+# endif
# elif defined(ANGLE_PLATFORM_ANDROID)
if (rx::IsVulkanAndroidDisplayAvailable())
{
@@ -421,12 +455,71 @@ static constexpr uint32_t kScratchBufferLifetime = 64u;
} // anonymous namespace
+// ShareGroup
+ShareGroup::ShareGroup(rx::EGLImplFactory *factory)
+ : mRefCount(1), mImplementation(factory->createShareGroup())
+{}
+
+ShareGroup::~ShareGroup()
+{
+ SafeDelete(mImplementation);
+}
+
+void ShareGroup::addRef()
+{
+ // This is protected by global lock, so no atomic is required
+ mRefCount++;
+}
+
+void ShareGroup::release(const gl::Context *context)
+{
+ if (--mRefCount == 0)
+ {
+ delete this;
+ }
+}
+
+// DisplayState
DisplayState::DisplayState(EGLNativeDisplayType nativeDisplayId)
: label(nullptr), featuresAllDisabled(false), displayId(nativeDisplayId)
{}
DisplayState::~DisplayState() {}
+// Note that ANGLE support on Ozone platform is limited. Our prefered support Matrix for
+// EGL_ANGLE_platform_angle on Linux and Ozone/Linux/Fuchsia platforms should be the following:
+//
+// |--------------------------------------------------------|
+// | ANGLE type | DEVICE type | PLATFORM type | Display |
+// |--------------------------------------------------------|
+// | OPENGL | EGL | ANY | EGL |
+// | OPENGL | HARDWARE | X11_EXT | GLX |
+// | OPENGLES | HARDWARE | X11_EXT | GLX |
+// | OPENGLES | EGL | ANY | EGL |
+// | VULKAN | HARDWARE | X11_EXT | VkXcb |
+// | VULKAN | SWIFTSHADER | X11_EXT | VkXcb |
+// | OPENGLES | HARDWARE | SURFACELESS_MESA | EGL* |
+// | OPENGLES | HARDWARE | DEVICE_EXT | EGL |
+// | VULKAN | HARDWARE | SURFACELESS_MESA | VkBase** |
+// | VULKAN | SWIFTSHADER | SURFACELESS_MESA | VkBase** |
+// |--------------------------------------------------------|
+//
+// * No surfaceless support yet.
+// ** Not implemented yet.
+//
+// |-----------------------------------------------|
+// | OS | BUILD type | Default PLATFORM type |
+// |-----------------------------------------------|
+// | Linux | X11 | X11_EXT |
+// | Linux | Ozone | SURFACELESS_MESA |
+// | Fuchsia | Ozone | FUCHSIA*** |
+// |-----------------------------------------------|
+//
+// *** Chosen implicitly. No EGLAttrib available.
+//
+// For more details, please refer to
+// https://docs.google.com/document/d/1XjHiDZQISq1AMrg_l1TX1_kIKvDpU76hidn9i4cAjl8/edit?disco=AAAAJl9V_YY
+//
// static
Display *Display::GetDisplayFromNativeDisplay(EGLNativeDisplayType nativeDisplay,
const AttributeMap &attribMap)
@@ -461,14 +554,16 @@ Display *Display::GetDisplayFromNativeDisplay(EGLNativeDisplayType nativeDisplay
EGLAttrib displayType = display->mAttributeMap.get(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
EGLAttrib deviceType = display->mAttributeMap.get(EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE);
+ EGLAttrib platformType =
+ display->mAttributeMap.get(EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE);
rx::DisplayImpl *impl =
- CreateDisplayFromAttribs(displayType, deviceType, display->getState());
+ CreateDisplayFromAttribs(displayType, deviceType, platformType, display->getState());
if (impl == nullptr)
{
// No valid display implementation for these attributes
return nullptr;
}
-
+ SetUseAndroidOpenGLTlsSlot(displayType == EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE);
display->setupDisplayPlatform(impl);
}
@@ -541,6 +636,7 @@ Display *Display::GetDisplayFromDevice(Device *device, const AttributeMap &attri
Display::Display(EGLenum platform, EGLNativeDisplayType displayId, Device *eglDevice)
: mState(displayId),
mImplementation(nullptr),
+ mGPUSwitchedBinding(this, kGPUSwitchedSubjectIndex),
mAttributeMap(),
mConfigSet(),
mContextSet(),
@@ -602,6 +698,16 @@ EGLLabelKHR Display::getLabel() const
return mState.label;
}
+void Display::onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message)
+{
+ ASSERT(index == kGPUSwitchedSubjectIndex);
+ ASSERT(message == angle::SubjectMessage::SubjectChanged);
+ for (ContextSet::iterator ctx = mContextSet.begin(); ctx != mContextSet.end(); ctx++)
+ {
+ (*ctx)->onGPUSwitch();
+ }
+}
+
void Display::setupDisplayPlatform(rx::DisplayImpl *impl)
{
ASSERT(!mInitialized);
@@ -631,6 +737,7 @@ void Display::setupDisplayPlatform(rx::DisplayImpl *impl)
mState.featureOverridesDisabled = EGLStringArrayToStringVector(featuresForceDisabled);
mState.featuresAllDisabled =
static_cast<bool>(mAttributeMap.get(EGL_FEATURE_ALL_DISABLED_ANGLE, 0));
+ mImplementation->addObserver(&mGPUSwitchedBinding);
}
void Display::updateAttribsFromEnvironment(const AttributeMap &attribMap)
@@ -648,6 +755,12 @@ void Display::updateAttribsFromEnvironment(const AttributeMap &attribMap)
deviceType = GetDeviceTypeFromEnvironment();
mAttributeMap.insert(EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, deviceType);
}
+ EGLAttrib platformType = attribMap.get(EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE, 0);
+ if (platformType == 0)
+ {
+ platformType = GetPlatformTypeFromEnvironment();
+ mAttributeMap.insert(EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE, platformType);
+ }
}
Error Display::initialize()
@@ -1395,7 +1508,7 @@ static ClientExtensions GenerateClientExtensions()
extensions.x11Visual = true;
#endif
-#if defined(ANGLE_PLATFORM_LINUX) && !defined(ANGLE_USE_OZONE)
+#if defined(ANGLE_PLATFORM_LINUX)
extensions.platformANGLEDeviceTypeEGLANGLE = true;
#endif
@@ -1488,6 +1601,13 @@ Error Display::validateImageClientBuffer(const gl::Context *context,
return mImplementation->validateImageClientBuffer(context, target, clientBuffer, attribs);
}
+Error Display::valdiatePixmap(Config *config,
+ EGLNativePixmapType pixmap,
+ const AttributeMap &attributes) const
+{
+ return mImplementation->validatePixmap(config, pixmap, attributes);
+}
+
bool Display::isValidDisplay(const egl::Display *display)
{
const ANGLEPlatformDisplayMap *anglePlatformDisplayMap = GetANGLEPlatformDisplayMap();
@@ -1767,4 +1887,9 @@ void Display::returnScratchBufferImpl(angle::ScratchBuffer scratchBuffer,
bufferVector->push_back(std::move(scratchBuffer));
}
+egl::Error Display::handleGPUSwitch()
+{
+ return mImplementation->handleGPUSwitch();
+}
+
} // namespace egl
diff --git a/chromium/third_party/angle/src/libANGLE/Display.h b/chromium/third_party/angle/src/libANGLE/Display.h
index 61cc0cb2800..49dba916a14 100644
--- a/chromium/third_party/angle/src/libANGLE/Display.h
+++ b/chromium/third_party/angle/src/libANGLE/Display.h
@@ -23,6 +23,7 @@
#include "libANGLE/Error.h"
#include "libANGLE/LoggingAnnotator.h"
#include "libANGLE/MemoryProgramCache.h"
+#include "libANGLE/Observer.h"
#include "libANGLE/Version.h"
#include "platform/Feature.h"
#include "platform/FrontendFeatures.h"
@@ -36,7 +37,9 @@ class TextureManager;
namespace rx
{
class DisplayImpl;
-}
+class EGLImplFactory;
+class ShareGroupImpl;
+} // namespace rx
namespace egl
{
@@ -62,10 +65,31 @@ struct DisplayState final : private angle::NonCopyable
EGLNativeDisplayType displayId;
};
+class ShareGroup final : angle::NonCopyable
+{
+ public:
+ ShareGroup(rx::EGLImplFactory *factory);
+
+ void addRef();
+
+ void release(const gl::Context *context);
+
+ rx::ShareGroupImpl *getImplementation() const { return mImplementation; }
+
+ protected:
+ ~ShareGroup();
+
+ private:
+ size_t mRefCount;
+ rx::ShareGroupImpl *mImplementation;
+};
+
// Constant coded here as a sanity limit.
constexpr EGLAttrib kProgramCacheSizeAbsoluteMax = 0x4000000;
-class Display final : public LabeledObject, angle::NonCopyable
+class Display final : public LabeledObject,
+ public angle::ObserverInterface,
+ public angle::NonCopyable
{
public:
~Display() override;
@@ -73,6 +97,9 @@ class Display final : public LabeledObject, angle::NonCopyable
void setLabel(EGLLabelKHR label) override;
EGLLabelKHR getLabel() const override;
+ // Observer implementation.
+ void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override;
+
Error initialize();
Error terminate(const Thread *thread);
@@ -151,6 +178,9 @@ class Display final : public LabeledObject, angle::NonCopyable
EGLenum target,
EGLClientBuffer clientBuffer,
const egl::AttributeMap &attribs) const;
+ Error valdiatePixmap(Config *config,
+ EGLNativePixmapType pixmap,
+ const AttributeMap &attributes) const;
static bool isValidDisplay(const Display *display);
static bool isValidNativeDisplay(EGLNativeDisplayType display);
@@ -216,6 +246,8 @@ class Display final : public LabeledObject, angle::NonCopyable
angle::ScratchBuffer requestZeroFilledBuffer();
void returnZeroFilledBuffer(angle::ScratchBuffer zeroFilledBuffer);
+ egl::Error handleGPUSwitch();
+
private:
Display(EGLenum platform, EGLNativeDisplayType displayId, Device *eglDevice);
@@ -237,6 +269,7 @@ class Display final : public LabeledObject, angle::NonCopyable
DisplayState mState;
rx::DisplayImpl *mImplementation;
+ angle::ObserverBinding mGPUSwitchedBinding;
AttributeMap mAttributeMap;
diff --git a/chromium/third_party/angle/src/libANGLE/Error.h b/chromium/third_party/angle/src/libANGLE/Error.h
index d9c0b6da3e8..b7d7e6af0a8 100644
--- a/chromium/third_party/angle/src/libANGLE/Error.h
+++ b/chromium/third_party/angle/src/libANGLE/Error.h
@@ -100,6 +100,7 @@ using EglBadDevice = priv::ErrorStream<EGL_BAD_DEVICE_EXT>;
using EglBadDisplay = priv::ErrorStream<EGL_BAD_DISPLAY>;
using EglBadMatch = priv::ErrorStream<EGL_BAD_MATCH>;
using EglBadNativeWindow = priv::ErrorStream<EGL_BAD_NATIVE_WINDOW>;
+using EglBadNativePixmap = priv::ErrorStream<EGL_BAD_NATIVE_PIXMAP>;
using EglBadParameter = priv::ErrorStream<EGL_BAD_PARAMETER>;
using EglBadState = priv::ErrorStream<EGL_BAD_STATE_KHR>;
using EglBadStream = priv::ErrorStream<EGL_BAD_STREAM_KHR>;
diff --git a/chromium/third_party/angle/src/libANGLE/ErrorStrings.h b/chromium/third_party/angle/src/libANGLE/ErrorStrings.h
index b24ed5c60e2..bed36247a8b 100644
--- a/chromium/third_party/angle/src/libANGLE/ErrorStrings.h
+++ b/chromium/third_party/angle/src/libANGLE/ErrorStrings.h
@@ -73,6 +73,7 @@ MSG kContextLost = "Context has been lost.";
MSG kCopyAlias = "The read and write copy regions alias memory.";
MSG kCubemapFacesEqualDimensions = "Each cubemap face must have equal width and height.";
MSG kCubemapIncomplete = "Texture is not cubemap complete. All cubemaps faces must be defined and be the same size.";
+MSG kCubemapInvalidDepth = "The cubemap depth must be a multiple of 6.";
MSG kDataTypeNotAligned = "Data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type.";
MSG kDefaultFramebuffer = "Default framebuffer is bound.";
MSG kDefaultFramebufferInvalidAttachment = "Invalid attachment when the default framebuffer is bound.";
@@ -85,6 +86,7 @@ MSG kDestinationTextureTooSmall = "Destination texture too small.";
MSG kDimensionsMustBePow2 = "Texture dimensions must be power-of-two.";
MSG kDispatchIndirectBufferNotBound = "Dispatch indirect buffer must be bound.";
MSG kDrawBufferMaskMismatch = "Active draw buffers with missing fragment shader outputs.";
+MSG kDrawBuffersIndexedExtensionNotAvailable = "EXT/OES_draw_buffers_indexed is not available.";
MSG kES31OrDrawBuffersIndexedExtensionNotAvailable = "EXT/OES_draw_buffers_indexed or ES 3.1 are required but not available.";
MSG kDrawBufferTypeMismatch = "Fragment shader output type does not match the bound framebuffer attachment type.";
MSG kDrawFramebufferIncomplete = "Draw framebuffer is incomplete";
diff --git a/chromium/third_party/angle/src/libANGLE/FrameCapture.cpp b/chromium/third_party/angle/src/libANGLE/FrameCapture.cpp
index aad6f29553f..0a803634ecd 100644
--- a/chromium/third_party/angle/src/libANGLE/FrameCapture.cpp
+++ b/chromium/third_party/angle/src/libANGLE/FrameCapture.cpp
@@ -16,12 +16,15 @@
#include "sys/stat.h"
+#include "common/mathutil.h"
#include "common/system_utils.h"
#include "libANGLE/Context.h"
+#include "libANGLE/Fence.h"
#include "libANGLE/Framebuffer.h"
#include "libANGLE/Query.h"
#include "libANGLE/ResourceMap.h"
#include "libANGLE/Shader.h"
+#include "libANGLE/Surface.h"
#include "libANGLE/VertexArray.h"
#include "libANGLE/capture_gles_2_0_autogen.h"
#include "libANGLE/capture_gles_3_0_autogen.h"
@@ -48,6 +51,8 @@ constexpr char kFrameEndVarName[] = "ANGLE_CAPTURE_FRAME_END";
constexpr char kCaptureLabel[] = "ANGLE_CAPTURE_LABEL";
constexpr char kCompression[] = "ANGLE_CAPTURE_COMPRESSION";
+constexpr size_t kBinaryAlignment = 16;
+
#if defined(ANGLE_PLATFORM_ANDROID)
constexpr char kAndroidCaptureEnabled[] = "debug.angle.capture.enabled";
@@ -280,26 +285,6 @@ void WriteInlineData(const std::vector<uint8_t> &vec, std::ostream &out)
}
template <>
-void WriteInlineData<GLfloat>(const std::vector<uint8_t> &vec, std::ostream &out)
-{
- const float *data = reinterpret_cast<const GLfloat *>(vec.data());
- size_t count = vec.size() / sizeof(GLfloat);
-
- if (data == nullptr)
- {
- return;
- }
-
- WriteGLFloatValue(out, data[0]);
-
- for (size_t dataIndex = 1; dataIndex < count; ++dataIndex)
- {
- out << ", ";
- WriteGLFloatValue(out, data[dataIndex]);
- }
-}
-
-template <>
void WriteInlineData<GLchar>(const std::vector<uint8_t> &vec, std::ostream &out)
{
const GLchar *data = reinterpret_cast<const GLchar *>(vec.data());
@@ -323,8 +308,6 @@ void WriteInlineData<GLchar>(const std::vector<uint8_t> &vec, std::ostream &out)
out << "\"";
}
-constexpr size_t kInlineDataThreshold = 128;
-
void WriteStringParamReplay(std::ostream &out, const ParamCapture &param)
{
const std::vector<uint8_t> &data = param.data[0];
@@ -405,68 +388,40 @@ void WriteBinaryParamReplay(DataCounters *counters,
ASSERT(param.data.size() == 1);
const std::vector<uint8_t> &data = param.data[0];
- if (data.size() > kInlineDataThreshold)
+ ParamType overrideType = param.type;
+ if (param.type == ParamType::TGLvoidConstPointer || param.type == ParamType::TvoidConstPointer)
{
- size_t offset = binaryData->size();
- binaryData->resize(offset + data.size());
- memcpy(binaryData->data() + offset, data.data(), data.size());
- if (param.type == ParamType::TvoidConstPointer || param.type == ParamType::TvoidPointer)
- {
- out << "&gBinaryData[" << offset << "]";
- }
- else
- {
- out << "reinterpret_cast<" << ParamTypeToString(param.type) << ">(&gBinaryData["
- << offset << "])";
- }
+ overrideType = ParamType::TGLubyteConstPointer;
}
- else
+ if (overrideType == ParamType::TGLenumConstPointer || overrideType == ParamType::TGLcharPointer)
{
- ParamType overrideType = param.type;
- if (param.type == ParamType::TGLvoidConstPointer ||
- param.type == ParamType::TvoidConstPointer)
- {
- overrideType = ParamType::TGLubyteConstPointer;
- }
-
- std::string paramTypeString = ParamTypeToString(overrideType);
+ // Inline if data are of type string or enum
+ std::string paramTypeString = ParamTypeToString(param.type);
header << paramTypeString.substr(0, paramTypeString.length() - 1);
WriteParamStaticVarName(call, param, counter, header);
-
header << "[] = { ";
-
- switch (overrideType)
+ if (overrideType == ParamType::TGLenumConstPointer)
{
- case ParamType::TGLintConstPointer:
- WriteInlineData<GLint>(data, header);
- break;
- case ParamType::TGLshortConstPointer:
- WriteInlineData<GLshort>(data, header);
- break;
- case ParamType::TGLfloatConstPointer:
- WriteInlineData<GLfloat>(data, header);
- break;
- case ParamType::TGLubyteConstPointer:
- WriteInlineData<GLubyte, int>(data, header);
- break;
- case ParamType::TGLuintConstPointer:
- case ParamType::TGLenumConstPointer:
- WriteInlineData<GLuint>(data, header);
- break;
- case ParamType::TGLcharPointer:
- WriteInlineData<GLchar>(data, header);
- break;
- default:
- INFO() << "Unhandled ParamType: " << angle::ParamTypeToString(overrideType)
- << " in " << call.name();
- UNIMPLEMENTED();
- break;
+ WriteInlineData<GLuint>(data, header);
+ }
+ else
+ {
+ ASSERT(overrideType == ParamType::TGLcharPointer);
+ WriteInlineData<GLchar>(data, header);
}
-
header << " };\n";
-
WriteParamStaticVarName(call, param, counter, out);
}
+ else
+ {
+ // Store in binary file if data are not of type string or enum
+ // Round up to 16-byte boundary for cross ABI safety
+ size_t offset = rx::roundUp(binaryData->size(), kBinaryAlignment);
+ binaryData->resize(offset + data.size());
+ memcpy(binaryData->data() + offset, data.data(), data.size());
+ out << "reinterpret_cast<" << ParamTypeToString(overrideType) << ">(&gBinaryData[" << offset
+ << "])";
+ }
}
uintptr_t SyncIndexValue(GLsync sync)
@@ -521,7 +476,7 @@ void WriteCppReplayForCall(const CallCapture &call,
callOut << ", ";
}
- if (param.arrayClientPointerIndex != -1)
+ if (param.arrayClientPointerIndex != -1 && param.value.voidConstPointerVal != nullptr)
{
callOut << "gClientArrays[" << param.arrayClientPointerIndex << "]";
}
@@ -756,6 +711,8 @@ void MaybeResetResources(std::stringstream &out,
BufferSet &newBuffers = resourceTracker->getNewBuffers();
BufferCalls &bufferRegenCalls = resourceTracker->getBufferRegenCalls();
BufferCalls &bufferRestoreCalls = resourceTracker->getBufferRestoreCalls();
+ BufferCalls &bufferMapCalls = resourceTracker->getBufferMapCalls();
+ BufferCalls &bufferUnmapCalls = resourceTracker->getBufferUnmapCalls();
// If we have any new buffers generated and not deleted during the run, delete them now
if (!newBuffers.empty())
@@ -801,8 +758,42 @@ void MaybeResetResources(std::stringstream &out,
out << " ";
WriteCppReplayForCall(call, counters, out, header, binaryData);
out << ";\n";
+
+ // Also note that this buffer has been implicitly unmapped by this call
+ resourceTracker->setBufferUnmapped(id);
+ }
+ }
+
+ // Update the map/unmap of buffers to match the starting state
+ BufferSet startingBuffers = resourceTracker->getStartingBuffers();
+ for (const gl::BufferID id : startingBuffers)
+ {
+ // If the buffer was mapped at the start, but is not mapped now, we need to map
+ if (resourceTracker->getStartingBuffersMappedInitial(id) &&
+ !resourceTracker->getStartingBuffersMappedCurrent(id))
+ {
+ // Emit their map calls
+ for (CallCapture &call : bufferMapCalls[id])
+ {
+ out << " ";
+ WriteCppReplayForCall(call, counters, out, header, binaryData);
+ out << ";\n";
+ }
+ }
+ // If the buffer was unmapped at the start, but is mapped now, we need to unmap
+ if (!resourceTracker->getStartingBuffersMappedInitial(id) &&
+ resourceTracker->getStartingBuffersMappedCurrent(id))
+ {
+ // Emit their unmap calls
+ for (CallCapture &call : bufferUnmapCalls[id])
+ {
+ out << " ";
+ WriteCppReplayForCall(call, counters, out, header, binaryData);
+ out << ";\n";
+ }
}
}
+
break;
}
default:
@@ -923,6 +914,8 @@ void WriteCppReplayIndexFiles(bool compression,
const std::string &captureLabel,
uint32_t frameStart,
uint32_t frameEnd,
+ EGLint drawSurfaceWidth,
+ EGLint drawSurfaceHeight,
size_t readBufferSize,
const gl::AttribArray<size_t> &clientArraySizes,
const HasResourceTypeMap &hasResourceType)
@@ -935,6 +928,7 @@ void WriteCppReplayIndexFiles(bool compression,
header << "#pragma once\n";
header << "\n";
header << "#include \"util/gles_loader_autogen.h\"\n";
+ header << "#include \"util/egl_loader_autogen.h\"\n";
header << "\n";
header << "#include <cstdint>\n";
header << "#include <cstdio>\n";
@@ -966,6 +960,8 @@ void WriteCppReplayIndexFiles(bool compression,
header << "\n";
header << "constexpr uint32_t kReplayFrameStart = " << frameStart << ";\n";
header << "constexpr uint32_t kReplayFrameEnd = " << frameEnd << ";\n";
+ header << "constexpr EGLint kReplayDrawSurfaceWidth = " << drawSurfaceWidth << ";\n";
+ header << "constexpr EGLint kReplayDrawSurfaceHeight = " << drawSurfaceHeight << ";\n";
header << "\n";
header << "void SetupContext" << static_cast<int>(contextId) << "Replay();\n";
header << "void ReplayContext" << static_cast<int>(contextId)
@@ -978,7 +974,7 @@ void WriteCppReplayIndexFiles(bool compression,
"callback);\n";
header << "void OnFramebufferChange(GLenum target, GLuint framebuffer);\n";
header << "\n";
- for (uint32_t frameIndex = frameStart; frameIndex < frameEnd; ++frameIndex)
+ for (uint32_t frameIndex = frameStart; frameIndex <= frameEnd; ++frameIndex)
{
header << "void " << FmtReplayFunction(contextId, frameIndex) << ";\n";
}
@@ -1009,11 +1005,14 @@ void WriteCppReplayIndexFiles(bool compression,
source << "void UpdateResourceMap(ResourceMap *resourceMap, GLuint id, GLsizei "
"readBufferOffset)\n";
source << "{\n";
- source << " GLuint returnedID;\n";
- std::string captureNamespace = !captureLabel.empty() ? captureLabel + "::" : "";
- source << " memcpy(&returnedID, &" << captureNamespace
- << "gReadBuffer[readBufferOffset], sizeof(GLuint));\n";
- source << " (*resourceMap)[id] = returnedID;\n";
+ if (readBufferSize > 0)
+ {
+ source << " GLuint returnedID;\n";
+ std::string captureNamespace = !captureLabel.empty() ? captureLabel + "::" : "";
+ source << " memcpy(&returnedID, &" << captureNamespace
+ << "gReadBuffer[readBufferOffset], sizeof(GLuint));\n";
+ source << " (*resourceMap)[id] = returnedID;\n";
+ }
source << "}\n";
source << "\n";
source << "DecompressCallback gDecompressCallback;\n";
@@ -1087,7 +1086,7 @@ void WriteCppReplayIndexFiles(bool compression,
source << "{\n";
source << " switch (frameIndex)\n";
source << " {\n";
- for (uint32_t frameIndex = frameStart; frameIndex < frameEnd; ++frameIndex)
+ for (uint32_t frameIndex = frameStart; frameIndex <= frameEnd; ++frameIndex)
{
source << " case " << frameIndex << ":\n";
source << " ReplayContext" << static_cast<int>(contextId) << "Frame"
@@ -1121,7 +1120,7 @@ void WriteCppReplayIndexFiles(bool compression,
source << " if (fp == 0)\n";
source << " {\n";
source << " fprintf(stderr, \"Error loading binary data file: %s\\n\", fileName);\n";
- source << " exit(1);\n";
+ source << " return;\n";
source << " }\n";
source << " fseek(fp, 0, SEEK_END);\n";
source << " long size = ftell(fp);\n";
@@ -1540,12 +1539,20 @@ void CaptureUpdateUniformValues(const gl::State &replayState,
const gl::UniformTypeInfo *typeInfo = uniform.typeInfo;
int uniformSize = uniformCount * typeInfo->componentCount;
+ // For arrayed uniforms, we'll need to increment a read location
+ gl::UniformLocation readLoc = uniformLoc;
+
switch (typeInfo->componentType)
{
case GL_FLOAT:
{
std::vector<GLfloat> uniformBuffer(uniformSize);
- program->getUniformfv(context, uniformLoc, uniformBuffer.data());
+ for (int index = 0; index < uniformCount; index++, readLoc.value++)
+ {
+ program->getUniformfv(
+ context, readLoc,
+ static_cast<GLfloat *>(uniformBuffer.data() + index * sizeof(GLfloat)));
+ }
switch (typeInfo->type)
{
// Note: All matrix uniforms are populated without transpose
@@ -1619,7 +1626,12 @@ void CaptureUpdateUniformValues(const gl::State &replayState,
case GL_INT:
{
std::vector<GLint> uniformBuffer(uniformSize);
- program->getUniformiv(context, uniformLoc, uniformBuffer.data());
+ for (int index = 0; index < uniformCount; index++, readLoc.value++)
+ {
+ program->getUniformiv(
+ context, readLoc,
+ static_cast<GLint *>(uniformBuffer.data() + index * sizeof(GLint)));
+ }
switch (typeInfo->componentCount)
{
case 4:
@@ -1644,10 +1656,16 @@ void CaptureUpdateUniformValues(const gl::State &replayState,
}
break;
}
+ case GL_BOOL:
case GL_UNSIGNED_INT:
{
std::vector<GLuint> uniformBuffer(uniformSize);
- program->getUniformuiv(context, uniformLoc, uniformBuffer.data());
+ for (int index = 0; index < uniformCount; index++, readLoc.value++)
+ {
+ program->getUniformuiv(
+ context, readLoc,
+ static_cast<GLuint *>(uniformBuffer.data() + index * sizeof(GLuint)));
+ }
switch (typeInfo->componentCount)
{
case 4:
@@ -1882,6 +1900,32 @@ void CaptureBufferResetCalls(const gl::State &replayState,
CaptureBufferData(replayState, true, gl::BufferBinding::Array,
static_cast<GLsizeiptr>(buffer->getSize()), buffer->getMapPointer(),
buffer->getUsage()));
+
+ if (buffer->isMapped())
+ {
+ // Track calls to remap a buffer that started as mapped
+ BufferCalls &bufferMapCalls = resourceTracker->getBufferMapCalls();
+
+ Capture(&bufferMapCalls[*id],
+ CaptureBindBuffer(replayState, true, gl::BufferBinding::Array, *id));
+
+ void *dontCare = nullptr;
+ Capture(&bufferMapCalls[*id],
+ CaptureMapBufferRange(replayState, true, gl::BufferBinding::Array,
+ static_cast<GLsizeiptr>(buffer->getMapOffset()),
+ static_cast<GLsizeiptr>(buffer->getMapLength()),
+ buffer->getAccessFlags(), dontCare));
+
+ // Track the bufferID that was just mapped
+ bufferMapCalls[*id].back().params.setMappedBufferID(buffer->id());
+ }
+
+ // Track calls unmap a buffer that started as unmapped
+ BufferCalls &bufferUnmapCalls = resourceTracker->getBufferUnmapCalls();
+ Capture(&bufferUnmapCalls[*id],
+ CaptureBindBuffer(replayState, true, gl::BufferBinding::Array, *id));
+ Capture(&bufferUnmapCalls[*id],
+ CaptureUnmapBuffer(replayState, true, gl::BufferBinding::Array, GL_TRUE));
}
void CaptureMidExecutionSetup(const gl::Context *context,
@@ -1889,11 +1933,13 @@ void CaptureMidExecutionSetup(const gl::Context *context,
ResourceTracker *resourceTracker,
const ShaderSourceMap &cachedShaderSources,
const ProgramSourceMap &cachedProgramSources,
- const TextureLevelDataMap &cachedTextureLevelData)
+ const TextureLevelDataMap &cachedTextureLevelData,
+ FrameCapture *frameCapture)
{
const gl::State &apiState = context->getState();
- gl::State replayState(nullptr, nullptr, nullptr, EGL_OPENGL_ES_API, apiState.getClientVersion(),
- false, true, true, true, false, EGL_CONTEXT_PRIORITY_MEDIUM_IMG);
+ gl::State replayState(nullptr, nullptr, nullptr, nullptr, EGL_OPENGL_ES_API,
+ apiState.getClientVersion(), false, true, true, true, false,
+ EGL_CONTEXT_PRIORITY_MEDIUM_IMG);
// Small helper function to make the code more readable.
auto cap = [setupCalls](CallCapture &&call) { setupCalls->emplace_back(std::move(call)); };
@@ -1921,9 +1967,16 @@ void CaptureMidExecutionSetup(const gl::Context *context,
{
continue;
}
- ASSERT(!buffer->isMapped());
- (void)buffer->mapRange(context, 0, static_cast<GLsizeiptr>(buffer->getSize()),
- GL_MAP_READ_BIT);
+
+ // Remember if the buffer was already mapped
+ GLboolean bufferMapped = buffer->isMapped();
+
+ // If needed, map the buffer so we can capture its contents
+ if (!bufferMapped)
+ {
+ (void)buffer->mapRange(context, 0, static_cast<GLsizeiptr>(buffer->getSize()),
+ GL_MAP_READ_BIT);
+ }
// Generate binding.
cap(CaptureGenBuffers(replayState, true, 1, &id));
@@ -1940,11 +1993,35 @@ void CaptureMidExecutionSetup(const gl::Context *context,
static_cast<GLsizeiptr>(buffer->getSize()), buffer->getMapPointer(),
buffer->getUsage()));
+ if (bufferMapped)
+ {
+ void *dontCare = nullptr;
+ Capture(setupCalls,
+ CaptureMapBufferRange(replayState, true, gl::BufferBinding::Array,
+ static_cast<GLsizeiptr>(buffer->getMapOffset()),
+ static_cast<GLsizeiptr>(buffer->getMapLength()),
+ buffer->getAccessFlags(), dontCare));
+
+ frameCapture->getResouceTracker().setStartingBufferMapped(buffer->id(), true);
+
+ frameCapture->trackBufferMapping(
+ &setupCalls->back(), buffer->id(), static_cast<GLsizeiptr>(buffer->getMapOffset()),
+ static_cast<GLsizeiptr>(buffer->getMapLength()), buffer->getAccessFlags());
+ }
+ else
+ {
+ frameCapture->getResouceTracker().setStartingBufferMapped(buffer->id(), false);
+ }
+
// Generate the calls needed to restore this buffer to original state for frame looping
CaptureBufferResetCalls(replayState, resourceTracker, &id, buffer);
- GLboolean dontCare;
- (void)buffer->unmap(context, &dontCare);
+ // Unmap the buffer if it wasn't already mapped
+ if (!bufferMapped)
+ {
+ GLboolean dontCare;
+ (void)buffer->unmap(context, &dontCare);
+ }
}
// Vertex input states. Only handles GLES 2.0 states right now.
@@ -2637,6 +2714,20 @@ void CaptureMidExecutionSetup(const gl::Context *context,
}
}
+ // Capture Sync Objects
+ const gl::SyncManager &syncs = apiState.getSyncManagerForCapture();
+ for (const auto &syncIter : syncs)
+ {
+ GLsync syncID = reinterpret_cast<GLsync>(syncIter.first);
+ gl::Sync *sync = syncIter.second;
+
+ if (!sync)
+ {
+ continue;
+ }
+ cap(CaptureFenceSync(replayState, true, sync->getCondition(), sync->getFlags(), syncID));
+ }
+
// Capture GL Context states.
// TODO(http://anglebug.com/3662): Complete state capture.
auto capCap = [cap, &replayState](GLenum capEnum, bool capValue) {
@@ -2896,14 +2987,6 @@ void CaptureMidExecutionSetup(const gl::Context *context,
capCap(GL_DITHER, apiState.isDitherEnabled());
}
- const gl::SyncManager &syncs = apiState.getSyncManagerForCapture();
- for (const auto &syncIter : syncs)
- {
- // TODO: Create existing sync objects (http://anglebug.com/3662)
- (void)syncIter;
- UNIMPLEMENTED();
- }
-
// Allow the replayState object to be destroyed conveniently.
replayState.setBufferBinding(context, gl::BufferBinding::Array, nullptr);
}
@@ -3331,6 +3414,30 @@ void FrameCapture::captureCompressedTextureData(const gl::Context *context, cons
}
}
+void FrameCapture::trackBufferMapping(CallCapture *call,
+ gl::BufferID id,
+ GLintptr offset,
+ GLsizeiptr length,
+ GLbitfield accessFlags)
+{
+ // Track that the buffer was mapped
+ mResourceTracker.setBufferMapped(id);
+
+ if (accessFlags & GL_MAP_WRITE_BIT)
+ {
+ // If this buffer was mapped writable, we don't have any visibility into what
+ // happens to it. Therefore, remember the details about it, and we'll read it back
+ // on Unmap to repopulate it during replay.
+ mBufferDataMap[id] = std::make_pair(offset, length);
+
+ // Track that this buffer was potentially modified
+ mResourceTracker.setBufferModified(id);
+
+ // Track the bufferID that was just mapped for use when writing return value
+ call->params.setMappedBufferID(id);
+ }
+}
+
void FrameCapture::maybeCaptureClientData(const gl::Context *context, CallCapture &call)
{
switch (call.entryPoint)
@@ -3526,33 +3633,19 @@ void FrameCapture::maybeCaptureClientData(const gl::Context *context, CallCaptur
case gl::EntryPoint::MapBufferRange:
case gl::EntryPoint::MapBufferRangeEXT:
{
- // Use the access bits to see if contents may be modified
+ GLintptr offset =
+ call.params.getParam("offset", ParamType::TGLintptr, 1).value.GLintptrVal;
+ GLsizeiptr length =
+ call.params.getParam("length", ParamType::TGLsizeiptr, 2).value.GLsizeiptrVal;
GLbitfield access =
call.params.getParam("access", ParamType::TGLbitfield, 3).value.GLbitfieldVal;
- if (access & GL_MAP_WRITE_BIT)
- {
- // If this buffer was mapped writable, we don't have any visibility into what
- // happens to it. Therefore, remember the details about it, and we'll read it back
- // on Unmap to repopulate it during replay.
-
- gl::BufferBinding target =
- call.params.getParam("targetPacked", ParamType::TBufferBinding, 0)
- .value.BufferBindingVal;
- GLintptr offset =
- call.params.getParam("offset", ParamType::TGLintptr, 1).value.GLintptrVal;
- GLsizeiptr length =
- call.params.getParam("length", ParamType::TGLsizeiptr, 2).value.GLsizeiptrVal;
-
- gl::Buffer *buffer = context->getState().getTargetBuffer(target);
- mBufferDataMap[buffer->id()] = std::make_pair(offset, length);
-
- // Track the bufferID that was just mapped
- call.params.setMappedBufferID(buffer->id());
-
- // Remember that it was mapped writable, for use during state reset
- mResourceTracker.setBufferModified(buffer->id());
- }
+ gl::BufferBinding target =
+ call.params.getParam("targetPacked", ParamType::TBufferBinding, 0)
+ .value.BufferBindingVal;
+ gl::Buffer *buffer = context->getState().getTargetBuffer(target);
+
+ trackBufferMapping(&call, buffer->id(), offset, length, access);
break;
}
@@ -3561,6 +3654,13 @@ void FrameCapture::maybeCaptureClientData(const gl::Context *context, CallCaptur
{
// See if we need to capture the buffer contents
captureMappedBufferSnapshot(context, call);
+
+ // Track that the buffer was unmapped, for use during state reset
+ gl::BufferBinding target =
+ call.params.getParam("targetPacked", ParamType::TBufferBinding, 0)
+ .value.BufferBindingVal;
+ gl::Buffer *buffer = context->getState().getTargetBuffer(target);
+ mResourceTracker.setBufferUnmapped(buffer->id());
break;
}
@@ -3576,6 +3676,15 @@ void FrameCapture::maybeCaptureClientData(const gl::Context *context, CallCaptur
// Track that this buffer's contents have been modified
mResourceTracker.setBufferModified(buffer->id());
+ // BufferData is equivalent to UnmapBuffer, for what we're tracking.
+ // From the ES 3.1 spec in BufferData section:
+ // If any portion of the buffer object is mapped in the current context or any
+ // context current to another thread, it is as though UnmapBuffer (see section
+ // 6.3.1) is executed in each such context prior to deleting the existing data
+ // store.
+ // Track that the buffer was unmapped, for use during state reset
+ mResourceTracker.setBufferUnmapped(buffer->id());
+
break;
}
default:
@@ -3755,8 +3864,8 @@ void FrameCapture::onEndFrame(const gl::Context *context)
if (mFrameIndex == mFrameEnd)
{
WriteCppReplayIndexFiles(mCompression, mOutDirectory, context->id(), mCaptureLabel,
- mFrameStart, mFrameEnd, mReadBufferSize, mClientArraySizes,
- mHasResourceType);
+ mFrameStart, mFrameEnd, mDrawSurfaceWidth, mDrawSurfaceHeight,
+ mReadBufferSize, mClientArraySizes, mHasResourceType);
if (!mBinaryData.empty())
{
@@ -3788,10 +3897,21 @@ void FrameCapture::onEndFrame(const gl::Context *context)
{
mSetupCalls.clear();
CaptureMidExecutionSetup(context, &mSetupCalls, &mResourceTracker, mCachedShaderSources,
- mCachedProgramSources, mCachedTextureLevelData);
+ mCachedProgramSources, mCachedTextureLevelData, this);
}
}
+void FrameCapture::onMakeCurrent(const egl::Surface *drawSurface)
+{
+ if (!drawSurface)
+ return;
+
+ // Track the width and height of the draw surface as provided to makeCurrent
+ // TODO (b/159238311): Track this per context. Right now last one wins.
+ mDrawSurfaceWidth = drawSurface->getWidth();
+ mDrawSurfaceHeight = drawSurface->getHeight();
+}
+
DataCounters::DataCounters() = default;
DataCounters::~DataCounters() = default;
@@ -3844,6 +3964,26 @@ void ResourceTracker::setBufferModified(gl::BufferID id)
}
}
+void ResourceTracker::setBufferMapped(gl::BufferID id)
+{
+ // If this was a starting buffer, we may need to restore it to original state during Reset
+ if (mStartingBuffers.find(id) != mStartingBuffers.end())
+ {
+ // Track that its current state is mapped (true)
+ mStartingBuffersMappedCurrent[id] = true;
+ }
+}
+
+void ResourceTracker::setBufferUnmapped(gl::BufferID id)
+{
+ // If this was a starting buffer, we may need to restore it to original state during Reset
+ if (mStartingBuffers.find(id) != mStartingBuffers.end())
+ {
+ // Track that its current state is unmapped (false)
+ mStartingBuffersMappedCurrent[id] = false;
+ }
+}
+
bool FrameCapture::isCapturing() const
{
// Currently we will always do a capture up until the last frame. In the future we could improve
@@ -3929,10 +4069,9 @@ void CaptureStringLimit(const GLchar *str, uint32_t limit, ParamCapture *paramCa
}
}
-gl::Program *GetLinkedProgramForCapture(const gl::State &glState, gl::ShaderProgramID handle)
+gl::Program *GetProgramForCapture(const gl::State &glState, gl::ShaderProgramID handle)
{
gl::Program *program = glState.getShaderProgramManagerForCapture().getProgram(handle);
- ASSERT(program->isLinked());
return program;
}
diff --git a/chromium/third_party/angle/src/libANGLE/FrameCapture.h b/chromium/third_party/angle/src/libANGLE/FrameCapture.h
index 5c6b7b4ea9d..555b3d40180 100644
--- a/chromium/third_party/angle/src/libANGLE/FrameCapture.h
+++ b/chromium/third_party/angle/src/libANGLE/FrameCapture.h
@@ -180,6 +180,9 @@ class DataCounters final : angle::NonCopyable
using BufferSet = std::set<gl::BufferID>;
using BufferCalls = std::map<gl::BufferID, std::vector<CallCapture>>;
+// true means mapped, false means unmapped
+using BufferMapStatusMap = std::map<gl::BufferID, bool>;
+
// Helper to track resource changes during the capture
class ResourceTracker final : angle::NonCopyable
{
@@ -189,6 +192,8 @@ class ResourceTracker final : angle::NonCopyable
BufferCalls &getBufferRegenCalls() { return mBufferRegenCalls; }
BufferCalls &getBufferRestoreCalls() { return mBufferRestoreCalls; }
+ BufferCalls &getBufferMapCalls() { return mBufferMapCalls; }
+ BufferCalls &getBufferUnmapCalls() { return mBufferUnmapCalls; }
BufferSet &getStartingBuffers() { return mStartingBuffers; }
BufferSet &getNewBuffers() { return mNewBuffers; }
@@ -198,12 +203,35 @@ class ResourceTracker final : angle::NonCopyable
void setGennedBuffer(gl::BufferID id);
void setDeletedBuffer(gl::BufferID id);
void setBufferModified(gl::BufferID id);
+ void setBufferMapped(gl::BufferID id);
+ void setBufferUnmapped(gl::BufferID id);
+
+ const bool &getStartingBuffersMappedCurrent(gl::BufferID id)
+ {
+ return mStartingBuffersMappedCurrent[id];
+ }
+ const bool &getStartingBuffersMappedInitial(gl::BufferID id)
+ {
+ return mStartingBuffersMappedInitial[id];
+ }
+ void setStartingBufferMapped(gl::BufferID id, bool mapped)
+ {
+ // Track the current state (which will change throughout the trace)
+ mStartingBuffersMappedCurrent[id] = mapped;
+
+ // And the initial state, to compare during frame loop reset
+ mStartingBuffersMappedInitial[id] = mapped;
+ }
private:
// Buffer regen calls will delete and gen a buffer
BufferCalls mBufferRegenCalls;
// Buffer restore calls will restore the contents of a buffer
BufferCalls mBufferRestoreCalls;
+ // Buffer map calls will map a buffer with correct offset, length, and access flags
+ BufferCalls mBufferMapCalls;
+ // Buffer unmap calls will bind and unmap a given buffer
+ BufferCalls mBufferUnmapCalls;
// Starting buffers include all the buffers created during setup for MEC
BufferSet mStartingBuffers;
@@ -213,6 +241,11 @@ class ResourceTracker final : angle::NonCopyable
BufferSet mBuffersToRegen;
// Buffers to restore include any starting buffers with contents modified during the run
BufferSet mBuffersToRestore;
+
+ // Whether a given buffer was mapped at the start of the trace
+ BufferMapStatusMap mStartingBuffersMappedInitial;
+ // The status of buffer mapping throughout the trace, modified with each Map/Unmap call
+ BufferMapStatusMap mStartingBuffersMappedCurrent;
};
// Used by the CPP replay to filter out unnecessary code.
@@ -240,11 +273,20 @@ class FrameCapture final : angle::NonCopyable
void captureCall(const gl::Context *context, CallCapture &&call);
void onEndFrame(const gl::Context *context);
+ void onMakeCurrent(const egl::Surface *drawSurface);
bool enabled() const { return mEnabled; }
bool isCapturing() const;
void replay(gl::Context *context);
+ void trackBufferMapping(CallCapture *call,
+ gl::BufferID id,
+ GLintptr offset,
+ GLsizeiptr length,
+ GLbitfield accessFlags);
+
+ ResourceTracker &getResouceTracker() { return mResourceTracker; }
+
private:
void captureClientArraySnapshot(const gl::Context *context,
size_t vertexCount,
@@ -276,6 +318,8 @@ class FrameCapture final : angle::NonCopyable
uint32_t mFrameIndex;
uint32_t mFrameStart;
uint32_t mFrameEnd;
+ EGLint mDrawSurfaceWidth = 0;
+ EGLint mDrawSurfaceHeight = 0;
gl::AttribArray<size_t> mClientArraySizes;
size_t mReadBufferSize;
HasResourceTypeMap mHasResourceType;
@@ -333,7 +377,7 @@ void CaptureMemory(const void *source, size_t size, ParamCapture *paramCapture);
void CaptureString(const GLchar *str, ParamCapture *paramCapture);
void CaptureStringLimit(const GLchar *str, uint32_t limit, ParamCapture *paramCapture);
-gl::Program *GetLinkedProgramForCapture(const gl::State &glState, gl::ShaderProgramID handle);
+gl::Program *GetProgramForCapture(const gl::State &glState, gl::ShaderProgramID handle);
// For GetIntegerv, GetFloatv, etc.
void CaptureGetParameter(const gl::State &glState,
@@ -455,4 +499,19 @@ void WriteParamValueReplay(std::ostream &os, const CallCapture &call, T value)
}
} // namespace angle
+template <typename T>
+void CaptureTextureAndSamplerParameter_params(GLenum pname,
+ const T *param,
+ angle::ParamCapture *paramCapture)
+{
+ if (pname == GL_TEXTURE_BORDER_COLOR)
+ {
+ CaptureMemory(param, sizeof(T) * 4, paramCapture);
+ }
+ else
+ {
+ CaptureMemory(param, sizeof(T), paramCapture);
+ }
+}
+
#endif // LIBANGLE_FRAME_CAPTURE_H_
diff --git a/chromium/third_party/angle/src/libANGLE/FrameCapture_mock.cpp b/chromium/third_party/angle/src/libANGLE/FrameCapture_mock.cpp
index 39f6839e83d..de974ce54fd 100644
--- a/chromium/third_party/angle/src/libANGLE/FrameCapture_mock.cpp
+++ b/chromium/third_party/angle/src/libANGLE/FrameCapture_mock.cpp
@@ -24,5 +24,6 @@ ResourceTracker::~ResourceTracker() {}
FrameCapture::FrameCapture() {}
FrameCapture::~FrameCapture() {}
void FrameCapture::onEndFrame(const gl::Context *context) {}
+void FrameCapture::onMakeCurrent(const egl::Surface *drawSurface) {}
void FrameCapture::replay(gl::Context *context) {}
} // namespace angle
diff --git a/chromium/third_party/angle/src/libANGLE/ImageIndex.cpp b/chromium/third_party/angle/src/libANGLE/ImageIndex.cpp
index 07bb3291a99..b7576d45c72 100644
--- a/chromium/third_party/angle/src/libANGLE/ImageIndex.cpp
+++ b/chromium/third_party/angle/src/libANGLE/ImageIndex.cpp
@@ -50,6 +50,8 @@ GLint TextureTargetToLayer(TextureTarget target)
return ImageIndex::kEntireLevel;
case TextureTarget::_3D:
return ImageIndex::kEntireLevel;
+ case TextureTarget::CubeMapArray:
+ return ImageIndex::kEntireLevel;
default:
UNREACHABLE();
return 0;
@@ -105,6 +107,7 @@ bool ImageIndex::isLayered() const
case TextureType::_2DMultisampleArray:
case TextureType::CubeMap:
case TextureType::_3D:
+ case TextureType::CubeMapArray:
return mLayerIndex == kEntireLevel;
default:
return false;
@@ -122,7 +125,7 @@ bool ImageIndex::has3DLayer() const
bool ImageIndex::usesTex3D() const
{
return mType == TextureType::_3D || mType == TextureType::_2DArray ||
- mType == TextureType::_2DMultisampleArray;
+ mType == TextureType::_2DMultisampleArray || mType == TextureType::CubeMapArray;
}
TextureTarget ImageIndex::getTarget() const
diff --git a/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.cpp b/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.cpp
index 7fea58c3535..e914bb7575e 100644
--- a/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.cpp
+++ b/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.cpp
@@ -19,7 +19,10 @@
#include "libANGLE/Uniform.h"
#include "libANGLE/histogram_macros.h"
#include "libANGLE/renderer/ProgramImpl.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
+
+#define USE_SYSTEM_ZLIB
+#include "compression_utils_portable.h"
namespace gl
{
@@ -140,11 +143,27 @@ angle::Result MemoryProgramCache::getProgram(const Context *context,
ComputeHash(context, program, hashOut);
egl::BlobCache::Value binaryProgram;
- if (get(context, *hashOut, &binaryProgram))
+ size_t programSize = 0;
+ if (get(context, *hashOut, &binaryProgram, &programSize))
{
+ uint32_t uncompressedSize =
+ zlib_internal::GetGzipUncompressedSize(binaryProgram.data(), programSize);
+
+ std::vector<uint8_t> uncompressedData(uncompressedSize);
+ uLong destLen = uncompressedSize;
+ int zResult = zlib_internal::GzipUncompressHelper(uncompressedData.data(), &destLen,
+ binaryProgram.data(),
+ static_cast<uLong>(programSize));
+
+ if (zResult != Z_OK)
+ {
+ ERR() << "Failure to decompressed binary data: " << zResult << "\n";
+ return angle::Result::Incomplete;
+ }
+
angle::Result result =
- program->loadBinary(context, GL_PROGRAM_BINARY_ANGLE, binaryProgram.data(),
- static_cast<int>(binaryProgram.size()));
+ program->loadBinary(context, GL_PROGRAM_BINARY_ANGLE, uncompressedData.data(),
+ static_cast<int>(uncompressedData.size()));
ANGLE_HISTOGRAM_BOOLEAN("GPU.ANGLE.ProgramCache.LoadBinarySuccess",
result == angle::Result::Continue);
ANGLE_TRY(result);
@@ -170,9 +189,10 @@ angle::Result MemoryProgramCache::getProgram(const Context *context,
bool MemoryProgramCache::get(const Context *context,
const egl::BlobCache::Key &programHash,
- egl::BlobCache::Value *programOut)
+ egl::BlobCache::Value *programOut,
+ size_t *programSizeOut)
{
- return mBlobCache.get(context->getScratchBuffer(), programHash, programOut);
+ return mBlobCache.get(context->getScratchBuffer(), programHash, programOut, programSizeOut);
}
bool MemoryProgramCache::getAt(size_t index,
@@ -200,16 +220,45 @@ angle::Result MemoryProgramCache::putProgram(const egl::BlobCache::Key &programH
angle::MemoryBuffer serializedProgram;
ANGLE_TRY(program->serialize(context, &serializedProgram));
+ // Compress the program data
+ uLong uncompressedSize = static_cast<uLong>(serializedProgram.size());
+ uLong expectedCompressedSize = zlib_internal::GzipExpectedCompressedSize(uncompressedSize);
+
+ angle::MemoryBuffer compressedData;
+ if (!compressedData.resize(expectedCompressedSize))
+ {
+ ERR() << "Failed to allocate enough memory to hold compressed program. ("
+ << expectedCompressedSize << " bytes )";
+ return angle::Result::Incomplete;
+ }
+
+ int zResult = zlib_internal::GzipCompressHelper(compressedData.data(), &expectedCompressedSize,
+ serializedProgram.data(), uncompressedSize,
+ nullptr, nullptr);
+
+ if (zResult != Z_OK)
+ {
+ FATAL() << "Error compressing binary data: " << zResult;
+ return angle::Result::Incomplete;
+ }
+
+ // Resize the buffer to the actual compressed size
+ if (!compressedData.resize(expectedCompressedSize))
+ {
+ ERR() << "Failed to resize to actual compressed program size. (" << expectedCompressedSize
+ << " bytes )";
+ return angle::Result::Incomplete;
+ }
+
ANGLE_HISTOGRAM_COUNTS("GPU.ANGLE.ProgramCache.ProgramBinarySizeBytes",
- static_cast<int>(serializedProgram.size()));
+ static_cast<int>(compressedData.size()));
// TODO(syoussefi): to be removed. Compatibility for Chrome until it supports
// EGL_ANDROID_blob_cache. http://anglebug.com/2516
auto *platform = ANGLEPlatformCurrent();
- platform->cacheProgram(platform, programHash, serializedProgram.size(),
- serializedProgram.data());
+ platform->cacheProgram(platform, programHash, compressedData.size(), compressedData.data());
- mBlobCache.put(programHash, std::move(serializedProgram));
+ mBlobCache.put(programHash, std::move(compressedData));
return angle::Result::Continue;
}
diff --git a/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.h b/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.h
index 389e5fae945..af00b308a74 100644
--- a/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.h
+++ b/chromium/third_party/angle/src/libANGLE/MemoryProgramCache.h
@@ -35,7 +35,8 @@ class MemoryProgramCache final : angle::NonCopyable
// Check if the cache contains a binary matching the specified program.
bool get(const Context *context,
const egl::BlobCache::Key &programHash,
- egl::BlobCache::Value *programOut);
+ egl::BlobCache::Value *programOut,
+ size_t *programSizeOut);
// For querying the contents of the cache.
bool getAt(size_t index,
diff --git a/chromium/third_party/angle/src/libANGLE/OverlayWidgets.h b/chromium/third_party/angle/src/libANGLE/OverlayWidgets.h
index 7222a33f951..7a6957e6a5f 100644
--- a/chromium/third_party/angle/src/libANGLE/OverlayWidgets.h
+++ b/chromium/third_party/angle/src/libANGLE/OverlayWidgets.h
@@ -136,17 +136,33 @@ class RunningGraph : public Widget
// Out of line constructor to satisfy chromium-style.
RunningGraph(size_t n);
~RunningGraph() override;
- void add(size_t n) { runningValues[lastValueIndex] += n; }
+
+ void add(size_t n)
+ {
+ if (!ignoreFirstValue)
+ {
+ runningValues[lastValueIndex] += n;
+ }
+ }
+
void next()
{
- lastValueIndex = (lastValueIndex + 1) % runningValues.size();
- runningValues[lastValueIndex] = 0;
+ if (ignoreFirstValue)
+ {
+ ignoreFirstValue = false;
+ }
+ else
+ {
+ lastValueIndex = (lastValueIndex + 1) % runningValues.size();
+ runningValues[lastValueIndex] = 0;
+ }
}
protected:
std::vector<size_t> runningValues;
size_t lastValueIndex = 0;
Text description;
+ bool ignoreFirstValue = true;
friend class gl::Overlay;
friend class gl::OverlayState;
diff --git a/chromium/third_party/angle/src/libANGLE/Program.cpp b/chromium/third_party/angle/src/libANGLE/Program.cpp
index ec6cde1ed95..a7005a4904b 100644
--- a/chromium/third_party/angle/src/libANGLE/Program.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Program.cpp
@@ -33,7 +33,7 @@
#include "libANGLE/renderer/GLImplFactory.h"
#include "libANGLE/renderer/ProgramImpl.h"
#include "platform/FrontendFeatures.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
namespace gl
{
@@ -425,7 +425,7 @@ const sh::ShaderVariable *FindOutputVaryingOrField(const ProgramMergedVaryings &
break;
}
GLuint fieldIndex = 0;
- var = FindShaderVarField(*varying, name, &fieldIndex);
+ var = varying->findField(name, &fieldIndex);
if (var != nullptr)
{
break;
@@ -737,6 +737,7 @@ void LoadInterfaceBlock(BinaryInputStream *stream, InterfaceBlock *block)
// Saves the linking context for later use in resolveLink().
struct Program::LinkingState
{
+ std::shared_ptr<ProgramExecutable> linkedExecutable;
std::unique_ptr<ProgramLinkedResources> resources;
egl::BlobCache::Key programHash;
std::unique_ptr<rx::LinkEvent> linkEvent;
@@ -746,7 +747,7 @@ struct Program::LinkingState
const char *const g_fakepath = "C:\\fakepath";
// InfoLog implementation.
-InfoLog::InfoLog() {}
+InfoLog::InfoLog() : mLazyStream(nullptr) {}
InfoLog::~InfoLog() {}
@@ -1079,10 +1080,6 @@ ProgramState::ProgramState()
: mLabel(),
mAttachedShaders{},
mAttachedShadersMarkedForDetach{},
- mTransformFeedbackBufferMode(GL_INTERLEAVED_ATTRIBS),
- mDefaultUniformRange(0, 0),
- mSamplerUniformRange(0, 0),
- mImageUniformRange(0, 0),
mAtomicCounterUniformRange(0, 0),
mBinaryRetrieveableHint(false),
mSeparable(false),
@@ -1096,10 +1093,10 @@ ProgramState::ProgramState()
mBaseVertexLocation(-1),
mBaseInstanceLocation(-1),
mCachedBaseVertex(0),
- mCachedBaseInstance(0)
+ mCachedBaseInstance(0),
+ mExecutable(new ProgramExecutable())
{
mComputeShaderLocalSize.fill(1);
- mExecutable.setProgramState(this);
}
ProgramState::~ProgramState()
@@ -1118,14 +1115,9 @@ Shader *ProgramState::getAttachedShader(ShaderType shaderType) const
return mAttachedShaders[shaderType];
}
-size_t ProgramState::getTransformFeedbackBufferCount() const
-{
- return mTransformFeedbackStrides.size();
-}
-
GLuint ProgramState::getUniformIndexFromName(const std::string &name) const
{
- return GetResourceIndexFromName(mUniforms, name);
+ return GetResourceIndexFromName(mExecutable->mUniforms, name);
}
GLuint ProgramState::getBufferVariableIndexFromName(const std::string &name) const
@@ -1152,41 +1144,35 @@ Optional<GLuint> ProgramState::getSamplerIndex(UniformLocation location) const
bool ProgramState::isSamplerUniformIndex(GLuint index) const
{
- return mSamplerUniformRange.contains(index);
+ return mExecutable->mSamplerUniformRange.contains(index);
}
GLuint ProgramState::getSamplerIndexFromUniformIndex(GLuint uniformIndex) const
{
ASSERT(isSamplerUniformIndex(uniformIndex));
- return uniformIndex - mSamplerUniformRange.low();
+ return uniformIndex - mExecutable->mSamplerUniformRange.low();
}
GLuint ProgramState::getUniformIndexFromSamplerIndex(GLuint samplerIndex) const
{
- ASSERT(samplerIndex < mSamplerUniformRange.length());
- return samplerIndex + mSamplerUniformRange.low();
+ ASSERT(samplerIndex < mExecutable->mSamplerUniformRange.length());
+ return samplerIndex + mExecutable->mSamplerUniformRange.low();
}
bool ProgramState::isImageUniformIndex(GLuint index) const
{
- return mImageUniformRange.contains(index);
+ return mExecutable->mImageUniformRange.contains(index);
}
GLuint ProgramState::getImageIndexFromUniformIndex(GLuint uniformIndex) const
{
ASSERT(isImageUniformIndex(uniformIndex));
- return uniformIndex - mImageUniformRange.low();
-}
-
-GLuint ProgramState::getUniformIndexFromImageIndex(GLuint imageIndex) const
-{
- ASSERT(imageIndex < mImageUniformRange.length());
- return imageIndex + mImageUniformRange.low();
+ return uniformIndex - mExecutable->mImageUniformRange.low();
}
GLuint ProgramState::getAttributeLocation(const std::string &name) const
{
- for (const sh::ShaderVariable &attribute : mProgramInputs)
+ for (const sh::ShaderVariable &attribute : mExecutable->mProgramInputs)
{
if (attribute.name == name)
{
@@ -1211,12 +1197,12 @@ bool ProgramState::hasAttachedShader() const
ShaderType ProgramState::getFirstAttachedShaderStageType() const
{
- if (mExecutable.getLinkedShaderStages().none())
+ if (mExecutable->getLinkedShaderStages().none())
{
return ShaderType::InvalidEnum;
}
- return *mExecutable.getLinkedShaderStages().begin();
+ return *mExecutable->getLinkedShaderStages().begin();
}
ShaderType ProgramState::getLastAttachedShaderStageType() const
@@ -1225,13 +1211,13 @@ ShaderType ProgramState::getLastAttachedShaderStageType() const
{
const gl::ShaderType shaderType = gl::kAllGraphicsShaderTypes[i];
- if (mExecutable.hasLinkedShaderStage(shaderType))
+ if (mExecutable->hasLinkedShaderStage(shaderType))
{
return shaderType;
}
}
- if (mExecutable.hasLinkedShaderStage(ShaderType::Compute))
+ if (mExecutable->hasLinkedShaderStage(ShaderType::Compute))
{
return ShaderType::Compute;
}
@@ -1244,7 +1230,6 @@ Program::Program(rx::GLImplFactory *factory, ShaderProgramManager *manager, Shad
mProgram(factory->createProgram(mState)),
mValidated(false),
mLinked(false),
- mLinkResolved(true),
mDeleteStatus(false),
mRefCount(0),
mResourceManager(manager),
@@ -1282,25 +1267,25 @@ void Program::onDestroy(const Context *context)
}
ShaderProgramID Program::id() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mHandle;
}
void Program::setLabel(const Context *context, const std::string &label)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
mState.mLabel = label;
}
const std::string &Program::getLabel() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mLabel;
}
void Program::attachShader(const Context *context, Shader *shader)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ShaderType shaderType = shader->getType();
ASSERT(shaderType != ShaderType::InvalidEnum);
@@ -1319,7 +1304,7 @@ void Program::attachShader(const Context *context, Shader *shader)
void Program::detachShader(const Context *context, Shader *shader)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ShaderType shaderType = shader->getType();
ASSERT(shaderType != ShaderType::InvalidEnum);
@@ -1341,7 +1326,7 @@ void Program::detachShader(const Context *context, Shader *shader)
int Program::getAttachedShadersCount() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
int numAttachedShaders = 0;
for (const Shader *shader : mState.mAttachedShaders)
{
@@ -1356,19 +1341,19 @@ int Program::getAttachedShadersCount() const
const Shader *Program::getAttachedShader(ShaderType shaderType) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.getAttachedShader(shaderType);
}
void Program::bindAttributeLocation(GLuint index, const char *name)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
mAttributeBindings.bindLocation(index, name);
}
void Program::bindUniformLocation(UniformLocation location, const char *name)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
mState.mUniformLocationBindings.bindLocation(location.value, name);
}
@@ -1383,6 +1368,7 @@ void Program::bindFragmentOutputIndex(GLuint index, const char *name)
}
angle::Result Program::linkMergedVaryings(const Context *context,
+ const ProgramExecutable &executable,
const ProgramMergedVaryings &mergedVaryings)
{
ShaderType tfStage =
@@ -1395,7 +1381,7 @@ angle::Result Program::linkMergedVaryings(const Context *context,
return angle::Result::Stop;
}
- if (!mResources->varyingPacking.collectAndPackUserVaryings(
+ if (!executable.mResources->varyingPacking.collectAndPackUserVaryings(
infoLog, mergedVaryings, mState.getTransformFeedbackVaryingNames(), isSeparable()))
{
return angle::Result::Stop;
@@ -1407,26 +1393,40 @@ angle::Result Program::linkMergedVaryings(const Context *context,
return angle::Result::Continue;
}
+angle::Result Program::link(const Context *context)
+{
+ angle::Result result = linkImpl(context);
+
+ // Avoid having two ProgramExecutables if the link failed and the Program had successfully
+ // linked previously.
+ if (mLinkingState && mLinkingState->linkedExecutable)
+ {
+ mState.mExecutable = mLinkingState->linkedExecutable;
+ }
+
+ return result;
+}
+
// The attached shaders are checked for linking errors by matching up their variables.
// Uniform, input and output variables get collected.
// The code gets compiled into binaries.
-angle::Result Program::link(const Context *context)
+angle::Result Program::linkImpl(const Context *context)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
+ // Don't make any local variables pointing to anything within the ProgramExecutable, since
+ // unlink() could make a new ProgramExecutable making any references/pointers invalid.
const auto &data = context->getState();
- InfoLog &infoLog = mState.mExecutable.getInfoLog();
-
auto *platform = ANGLEPlatformCurrent();
double startTime = platform->currentTime(platform);
// Unlink the program, but do not clear the validation-related caching yet, since we can still
- // use the previously linked program if linking the shaders fails
+ // use the previously linked program if linking the shaders fails.
mLinked = false;
- infoLog.reset();
+ mState.mExecutable->getInfoLog().reset();
// Validate we have properly attached shaders before checking the cache.
- if (!linkValidateShaders(infoLog))
+ if (!linkValidateShaders(mState.mExecutable->getInfoLog()))
{
return angle::Result::Continue;
}
@@ -1454,6 +1454,7 @@ angle::Result Program::link(const Context *context)
// Cache load failed, fall through to normal linking.
unlink();
+ InfoLog &infoLog = mState.mExecutable->getInfoLog();
// Re-link shaders after the unlink call.
bool result = linkValidateShaders(infoLog);
@@ -1461,14 +1462,15 @@ angle::Result Program::link(const Context *context)
if (mState.mAttachedShaders[ShaderType::Compute])
{
- mResources.reset(new ProgramLinkedResources(
- 0, PackMode::ANGLE_RELAXED, &mState.mUniformBlocks, &mState.mUniforms,
- &mState.mShaderStorageBlocks, &mState.mBufferVariables, &mState.mAtomicCounterBuffers));
+ mState.mExecutable->mResources.reset(new ProgramLinkedResources(
+ 0, PackMode::ANGLE_RELAXED, &mState.mExecutable->mUniformBlocks,
+ &mState.mExecutable->mUniforms, &mState.mExecutable->mShaderStorageBlocks,
+ &mState.mBufferVariables, &mState.mExecutable->mAtomicCounterBuffers));
GLuint combinedImageUniforms = 0u;
if (!linkUniforms(context->getCaps(), context->getClientVersion(), infoLog,
mState.mUniformLocationBindings, &combinedImageUniforms,
- &mResources->unusedUniforms))
+ &mState.mExecutable->getResources().unusedUniforms))
{
return angle::Result::Continue;
}
@@ -1497,8 +1499,9 @@ angle::Result Program::link(const Context *context)
return angle::Result::Continue;
}
- InitUniformBlockLinker(mState, &mResources->uniformBlockLinker);
- InitShaderStorageBlockLinker(mState, &mResources->shaderStorageBlockLinker);
+ InitUniformBlockLinker(mState, &mState.mExecutable->getResources().uniformBlockLinker);
+ InitShaderStorageBlockLinker(mState,
+ &mState.mExecutable->getResources().shaderStorageBlockLinker);
}
else
{
@@ -1515,10 +1518,11 @@ angle::Result Program::link(const Context *context)
packMode = PackMode::WEBGL_STRICT;
}
- mResources.reset(new ProgramLinkedResources(
- static_cast<GLuint>(data.getCaps().maxVaryingVectors), packMode, &mState.mUniformBlocks,
- &mState.mUniforms, &mState.mShaderStorageBlocks, &mState.mBufferVariables,
- &mState.mAtomicCounterBuffers));
+ mState.mExecutable->mResources.reset(new ProgramLinkedResources(
+ static_cast<GLuint>(data.getCaps().maxVaryingVectors), packMode,
+ &mState.mExecutable->mUniformBlocks, &mState.mExecutable->mUniforms,
+ &mState.mExecutable->mShaderStorageBlocks, &mState.mBufferVariables,
+ &mState.mExecutable->mAtomicCounterBuffers));
if (!linkAttributes(context, infoLog))
{
@@ -1533,7 +1537,7 @@ angle::Result Program::link(const Context *context)
GLuint combinedImageUniforms = 0u;
if (!linkUniforms(context->getCaps(), context->getClientVersion(), infoLog,
mState.mUniformLocationBindings, &combinedImageUniforms,
- &mResources->unusedUniforms))
+ &mState.mExecutable->getResources().unusedUniforms))
{
return angle::Result::Continue;
}
@@ -1546,7 +1550,9 @@ angle::Result Program::link(const Context *context)
return angle::Result::Continue;
}
- if (!mState.mExecutable.linkValidateGlobalNames(infoLog))
+ gl::ShaderMap<const gl::ProgramState *> programStates;
+ fillProgramStateMap(&programStates);
+ if (!mState.mExecutable->linkValidateGlobalNames(infoLog, programStates))
{
return angle::Result::Continue;
}
@@ -1571,20 +1577,21 @@ angle::Result Program::link(const Context *context)
fragmentShader->hasEarlyFragmentTestsOptimization();
}
- InitUniformBlockLinker(mState, &mResources->uniformBlockLinker);
- InitShaderStorageBlockLinker(mState, &mResources->shaderStorageBlockLinker);
+ InitUniformBlockLinker(mState, &mState.mExecutable->getResources().uniformBlockLinker);
+ InitShaderStorageBlockLinker(mState,
+ &mState.mExecutable->getResources().shaderStorageBlockLinker);
ProgramPipeline *programPipeline = context->getState().getProgramPipeline();
if (programPipeline && programPipeline->usesShaderProgram(id()))
{
const ProgramMergedVaryings &mergedVaryings =
context->getState().getProgramPipeline()->getMergedVaryings();
- ANGLE_TRY(linkMergedVaryings(context, mergedVaryings));
+ ANGLE_TRY(linkMergedVaryings(context, *mState.mExecutable, mergedVaryings));
}
else
{
const ProgramMergedVaryings &mergedVaryings = getMergedVaryings();
- ANGLE_TRY(linkMergedVaryings(context, mergedVaryings));
+ ANGLE_TRY(linkMergedVaryings(context, *mState.mExecutable, mergedVaryings));
}
}
@@ -1593,13 +1600,20 @@ angle::Result Program::link(const Context *context)
mLinkingState.reset(new LinkingState());
mLinkingState->linkingFromBinary = false;
mLinkingState->programHash = programHash;
- mLinkingState->linkEvent = mProgram->link(context, *mResources, infoLog);
- mLinkResolved = false;
+ mLinkingState->linkEvent = mProgram->link(context, mState.mExecutable->getResources(), infoLog);
// Must be after mProgram->link() to avoid misleading the linker about output variables.
mState.updateProgramInterfaceInputs();
mState.updateProgramInterfaceOutputs();
+ // Linking has succeeded, so we need to save some information that may get overwritten by a
+ // later linkProgram() that could fail.
+ if (mState.mSeparable)
+ {
+ mState.mExecutable->saveLinkedStateInfo(mState);
+ mLinkingState->linkedExecutable = mState.mExecutable;
+ }
+
return angle::Result::Continue;
}
@@ -1616,7 +1630,6 @@ void Program::resolveLinkImpl(const Context *context)
angle::Result result = mLinkingState->linkEvent->wait(context);
mLinked = result == angle::Result::Continue;
- mLinkResolved = true;
std::unique_ptr<LinkingState> linkingState = std::move(mLinkingState);
if (!mLinked)
{
@@ -1636,8 +1649,9 @@ void Program::resolveLinkImpl(const Context *context)
ASSERT(mLinked);
// Mark implementation-specific unreferenced uniforms as ignored.
- mProgram->markUnusedUniformLocations(&mState.mUniformLocations, &mState.mSamplerBindings,
- &mState.mImageBindings);
+ mProgram->markUnusedUniformLocations(&mState.mUniformLocations,
+ &mState.mExecutable->mSamplerBindings,
+ &mState.mExecutable->mImageBindings);
// Must be called after markUnusedUniformLocations.
postResolveLink(context);
@@ -1646,7 +1660,7 @@ void Program::resolveLinkImpl(const Context *context)
MemoryProgramCache *cache = context->getMemoryProgramCache();
// TODO: http://anglebug.com/4530: Enable program caching for separable programs
if (cache && !isSeparable() &&
- (mState.mLinkedTransformFeedbackVaryings.empty() ||
+ (mState.mExecutable->mLinkedTransformFeedbackVaryings.empty() ||
!context->getFrontendFeatures().disableProgramCachingForTransformFeedback.enabled))
{
if (cache->putProgram(linkingState->programHash, context, this) == angle::Result::Stop)
@@ -1660,36 +1674,47 @@ void Program::resolveLinkImpl(const Context *context)
void Program::updateLinkedShaderStages()
{
- mState.mExecutable.resetLinkedShaderStages();
+ mState.mExecutable->resetLinkedShaderStages();
for (const Shader *shader : mState.mAttachedShaders)
{
if (shader)
{
- mState.mExecutable.setLinkedShaderStages(shader->getType());
+ mState.mExecutable->setLinkedShaderStages(shader->getType());
}
}
+
+ if (mState.mExecutable->hasLinkedShaderStage(ShaderType::Compute))
+ {
+ mState.mExecutable->setIsCompute(true);
+ }
+ else
+ {
+ mState.mExecutable->setIsCompute(false);
+ }
}
void ProgramState::updateTransformFeedbackStrides()
{
- if (mTransformFeedbackBufferMode == GL_INTERLEAVED_ATTRIBS)
+ if (mExecutable->mTransformFeedbackBufferMode == GL_INTERLEAVED_ATTRIBS)
{
- mTransformFeedbackStrides.resize(1);
+ mExecutable->mTransformFeedbackStrides.resize(1);
size_t totalSize = 0;
- for (const TransformFeedbackVarying &varying : mLinkedTransformFeedbackVaryings)
+ for (const TransformFeedbackVarying &varying :
+ mExecutable->mLinkedTransformFeedbackVaryings)
{
totalSize += varying.size() * VariableExternalSize(varying.type);
}
- mTransformFeedbackStrides[0] = static_cast<GLsizei>(totalSize);
+ mExecutable->mTransformFeedbackStrides[0] = static_cast<GLsizei>(totalSize);
}
else
{
- mTransformFeedbackStrides.resize(mLinkedTransformFeedbackVaryings.size());
- for (size_t i = 0; i < mLinkedTransformFeedbackVaryings.size(); i++)
+ mExecutable->mTransformFeedbackStrides.resize(
+ mExecutable->mLinkedTransformFeedbackVaryings.size());
+ for (size_t i = 0; i < mExecutable->mLinkedTransformFeedbackVaryings.size(); i++)
{
- TransformFeedbackVarying &varying = mLinkedTransformFeedbackVaryings[i];
- mTransformFeedbackStrides[i] =
+ TransformFeedbackVarying &varying = mExecutable->mLinkedTransformFeedbackVaryings[i];
+ mExecutable->mTransformFeedbackStrides[i] =
static_cast<GLsizei>(varying.size() * VariableExternalSize(varying.type));
}
}
@@ -1697,13 +1722,8 @@ void ProgramState::updateTransformFeedbackStrides()
void ProgramState::updateActiveSamplers()
{
- mExecutable.mActiveSamplerRefCounts.fill(0);
- mExecutable.updateActiveSamplers(*this);
-}
-
-void ProgramState::updateActiveImages()
-{
- mExecutable.updateActiveImages(mImageBindings);
+ mExecutable->mActiveSamplerRefCounts.fill(0);
+ mExecutable->updateActiveSamplers(*this);
}
void ProgramState::updateProgramInterfaceInputs()
@@ -1732,7 +1752,7 @@ void ProgramState::updateProgramInterfaceInputs()
// in uvec3 gl_GlobalInvocationID;
// in uint gl_LocalInvocationIndex;
// They are all vecs or uints, so no special handling is required.
- mProgramInputs.emplace_back(attribute);
+ mExecutable->mProgramInputs.emplace_back(attribute);
}
}
else if (shader->getType() == ShaderType::Fragment)
@@ -1746,12 +1766,12 @@ void ProgramState::updateProgramInterfaceInputs()
sh::ShaderVariable fieldVarying = sh::ShaderVariable(field);
fieldVarying.location = varying.location;
fieldVarying.name = varying.name + "." + field.name;
- mProgramInputs.emplace_back(fieldVarying);
+ mExecutable->mProgramInputs.emplace_back(fieldVarying);
}
}
else
{
- mProgramInputs.emplace_back(varying);
+ mExecutable->mProgramInputs.emplace_back(varying);
}
}
}
@@ -1785,12 +1805,12 @@ void ProgramState::updateProgramInterfaceOutputs()
sh::ShaderVariable fieldVarying = sh::ShaderVariable(field);
fieldVarying.location = varying.location;
fieldVarying.name = varying.name + "." + field.name;
- mOutputVariables.emplace_back(fieldVarying);
+ mExecutable->mOutputVariables.emplace_back(fieldVarying);
}
}
else
{
- mOutputVariables.emplace_back(varying);
+ mExecutable->mOutputVariables.emplace_back(varying);
}
}
}
@@ -1798,24 +1818,22 @@ void ProgramState::updateProgramInterfaceOutputs()
// Returns the program object to an unlinked state, before re-linking, or at destruction
void Program::unlink()
{
- mState.mProgramInputs.clear();
- mState.mLinkedTransformFeedbackVaryings.clear();
- mState.mUniforms.clear();
+ if (mLinkingState && mLinkingState->linkedExecutable)
+ {
+ // The new ProgramExecutable that we'll attempt to link with needs to start from a copy of
+ // the last successfully linked ProgramExecutable, so we don't lose any state information.
+ mState.mExecutable.reset(new ProgramExecutable(*mLinkingState->linkedExecutable));
+ }
+ mState.mExecutable->reset();
+
mState.mUniformLocations.clear();
- mState.mUniformBlocks.clear();
mState.mBufferVariables.clear();
- mState.mShaderStorageBlocks.clear();
mState.mActiveUniformBlockBindings.reset();
- mState.mAtomicCounterBuffers.clear();
- mState.mOutputVariables.clear();
- mState.mOutputLocations.clear();
mState.mSecondaryOutputLocations.clear();
mState.mOutputVariableTypes.clear();
mState.mDrawBufferTypeMask.reset();
mState.mActiveOutputVariables.reset();
mState.mComputeShaderLocalSize.fill(1);
- mState.mSamplerBindings.clear();
- mState.mImageBindings.clear();
mState.mNumViews = -1;
mState.mGeometryShaderInputPrimitiveType = PrimitiveMode::Triangles;
mState.mGeometryShaderOutputPrimitiveType = PrimitiveMode::TriangleStrip;
@@ -1831,8 +1849,6 @@ void Program::unlink()
mValidated = false;
mLinked = false;
-
- mState.mExecutable.reset();
}
angle::Result Program::loadBinary(const Context *context,
@@ -1840,9 +1856,9 @@ angle::Result Program::loadBinary(const Context *context,
const void *binary,
GLsizei length)
{
- InfoLog &infoLog = mState.mExecutable.getInfoLog();
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
unlink();
+ InfoLog &infoLog = mState.mExecutable->getInfoLog();
#if ANGLE_PROGRAM_BINARY_LOAD != ANGLE_ENABLED
return angle::Result::Continue;
@@ -1860,8 +1876,8 @@ angle::Result Program::loadBinary(const Context *context,
// Currently we require the full shader text to compute the program hash.
// We could also store the binary in the internal program cache.
- for (size_t uniformBlockIndex = 0; uniformBlockIndex < mState.mUniformBlocks.size();
- ++uniformBlockIndex)
+ for (size_t uniformBlockIndex = 0;
+ uniformBlockIndex < mState.mExecutable->getActiveUniformBlockCount(); ++uniformBlockIndex)
{
mDirtyBits.set(uniformBlockIndex);
}
@@ -1891,12 +1907,10 @@ angle::Result Program::loadBinary(const Context *context,
linkingState->linkingFromBinary = true;
linkingState->linkEvent = std::move(linkEvent);
result = angle::Result::Continue;
- mLinkResolved = false;
}
else
{
- result = angle::Result::Incomplete;
- mLinkResolved = true;
+ result = angle::Result::Incomplete;
}
mLinkingState = std::move(linkingState);
@@ -1910,7 +1924,7 @@ angle::Result Program::saveBinary(Context *context,
GLsizei bufSize,
GLsizei *length) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (binaryFormat)
{
*binaryFormat = GL_PROGRAM_BINARY_ANGLE;
@@ -1955,7 +1969,7 @@ angle::Result Program::saveBinary(Context *context,
GLint Program::getBinaryLength(Context *context) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (!mLinked)
{
return 0;
@@ -1974,7 +1988,7 @@ GLint Program::getBinaryLength(Context *context) const
void Program::setBinaryRetrievableHint(bool retrievable)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
// TODO(jmadill) : replace with dirty bits
mProgram->setBinaryRetrievableHint(retrievable);
mState.mBinaryRetrieveableHint = retrievable;
@@ -1982,13 +1996,13 @@ void Program::setBinaryRetrievableHint(bool retrievable)
bool Program::getBinaryRetrievableHint() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mBinaryRetrieveableHint;
}
void Program::setSeparable(bool separable)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
// TODO(yunchao) : replace with dirty bits
if (mState.mSeparable != separable)
{
@@ -1999,7 +2013,7 @@ void Program::setSeparable(bool separable)
bool Program::isSeparable() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mSeparable;
}
@@ -2016,7 +2030,7 @@ unsigned int Program::getRefCount() const
void Program::getAttachedShaders(GLsizei maxCount, GLsizei *count, ShaderProgramID *shaders) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
int total = 0;
for (const Shader *shader : mState.mAttachedShaders)
@@ -2036,7 +2050,7 @@ void Program::getAttachedShaders(GLsizei maxCount, GLsizei *count, ShaderProgram
GLuint Program::getAttributeLocation(const std::string &name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.getAttributeLocation(name);
}
@@ -2047,7 +2061,7 @@ void Program::getActiveAttribute(GLuint index,
GLenum *type,
GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (!mLinked)
{
if (bufsize > 0)
@@ -2065,8 +2079,8 @@ void Program::getActiveAttribute(GLuint index,
return;
}
- ASSERT(index < mState.mProgramInputs.size());
- const sh::ShaderVariable &attrib = mState.mProgramInputs[index];
+ ASSERT(index < mState.mExecutable->getProgramInputs().size());
+ const sh::ShaderVariable &attrib = mState.mExecutable->getProgramInputs()[index];
if (bufsize > 0)
{
@@ -2080,18 +2094,18 @@ void Program::getActiveAttribute(GLuint index,
GLint Program::getActiveAttributeCount() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (!mLinked)
{
return 0;
}
- return static_cast<GLint>(mState.mProgramInputs.size());
+ return static_cast<GLint>(mState.mExecutable->getProgramInputs().size());
}
GLint Program::getActiveAttributeMaxLength() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (!mLinked)
{
return 0;
@@ -2099,7 +2113,7 @@ GLint Program::getActiveAttributeMaxLength() const
size_t maxLength = 0;
- for (const sh::ShaderVariable &attrib : mState.mProgramInputs)
+ for (const sh::ShaderVariable &attrib : mState.mExecutable->getProgramInputs())
{
maxLength = std::max(attrib.name.length() + 1, maxLength);
}
@@ -2109,56 +2123,50 @@ GLint Program::getActiveAttributeMaxLength() const
const std::vector<sh::ShaderVariable> &Program::getAttributes() const
{
- ASSERT(mLinkResolved);
- return mState.mProgramInputs;
-}
-
-const std::vector<SamplerBinding> &Program::getSamplerBindings() const
-{
- ASSERT(mLinkResolved);
- return mState.mSamplerBindings;
+ ASSERT(!mLinkingState);
+ return mState.mExecutable->getProgramInputs();
}
const sh::WorkGroupSize &Program::getComputeShaderLocalSize() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mComputeShaderLocalSize;
}
PrimitiveMode Program::getGeometryShaderInputPrimitiveType() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mGeometryShaderInputPrimitiveType;
}
PrimitiveMode Program::getGeometryShaderOutputPrimitiveType() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mGeometryShaderOutputPrimitiveType;
}
GLint Program::getGeometryShaderInvocations() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mGeometryShaderInvocations;
}
GLint Program::getGeometryShaderMaxVertices() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mGeometryShaderMaxVertices;
}
const sh::ShaderVariable &Program::getInputResource(size_t index) const
{
- ASSERT(mLinkResolved);
- ASSERT(index < mState.mProgramInputs.size());
- return mState.mProgramInputs[index];
+ ASSERT(!mLinkingState);
+ ASSERT(index < mState.mExecutable->getProgramInputs().size());
+ return mState.mExecutable->getProgramInputs()[index];
}
GLuint Program::getInputResourceIndex(const GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
const std::string nameString = StripLastArrayIndex(name);
- for (size_t index = 0; index < mState.mProgramInputs.size(); index++)
+ for (size_t index = 0; index < mState.mExecutable->getProgramInputs().size(); index++)
{
sh::ShaderVariable resource = getInputResource(index);
if (resource.name == nameString)
@@ -2186,7 +2194,7 @@ GLuint Program::getInputResourceMaxNameSize() const
{
GLint max = 0;
- for (const sh::ShaderVariable &resource : mState.mProgramInputs)
+ for (const sh::ShaderVariable &resource : mState.mExecutable->getProgramInputs())
{
max = getResourceMaxNameSize(resource, max);
}
@@ -2198,7 +2206,7 @@ GLuint Program::getOutputResourceMaxNameSize() const
{
GLint max = 0;
- for (const sh::ShaderVariable &resource : mState.mOutputVariables)
+ for (const sh::ShaderVariable &resource : mState.mExecutable->getOutputVariables())
{
max = getResourceMaxNameSize(resource, max);
}
@@ -2256,10 +2264,10 @@ GLuint Program::getOutputResourceLocation(const GLchar *name) const
GLuint Program::getOutputResourceIndex(const GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
const std::string nameString = StripLastArrayIndex(name);
- for (size_t index = 0; index < mState.mOutputVariables.size(); index++)
+ for (size_t index = 0; index < mState.mExecutable->getOutputVariables().size(); index++)
{
sh::ShaderVariable resource = getOutputResource(index);
if (resource.name == nameString)
@@ -2273,13 +2281,13 @@ GLuint Program::getOutputResourceIndex(const GLchar *name) const
size_t Program::getOutputResourceCount() const
{
- ASSERT(mLinkResolved);
- return (mLinked ? mState.mOutputVariables.size() : 0);
+ ASSERT(!mLinkingState);
+ return (mLinked ? mState.mExecutable->getOutputVariables().size() : 0);
}
const std::vector<GLenum> &Program::getOutputVariableTypes() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mOutputVariableTypes;
}
@@ -2313,7 +2321,7 @@ void Program::getInputResourceName(GLuint index,
GLsizei *length,
GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
getResourceName(getInputResourceName(index), bufSize, length, name);
}
@@ -2322,7 +2330,7 @@ void Program::getOutputResourceName(GLuint index,
GLsizei *length,
GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
getResourceName(getOutputResourceName(index), bufSize, length, name);
}
@@ -2331,9 +2339,9 @@ void Program::getUniformResourceName(GLuint index,
GLsizei *length,
GLchar *name) const
{
- ASSERT(mLinkResolved);
- ASSERT(index < mState.mUniforms.size());
- getResourceName(mState.mUniforms[index].name, bufSize, length, name);
+ ASSERT(!mLinkingState);
+ ASSERT(index < mState.mExecutable->getUniforms().size());
+ getResourceName(mState.mExecutable->getUniforms()[index].name, bufSize, length, name);
}
void Program::getBufferVariableResourceName(GLuint index,
@@ -2341,7 +2349,7 @@ void Program::getBufferVariableResourceName(GLuint index,
GLsizei *length,
GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(index < mState.mBufferVariables.size());
getResourceName(mState.mBufferVariables[index].name, bufSize, length, name);
}
@@ -2360,7 +2368,7 @@ const std::string Program::getResourceName(const sh::ShaderVariable &resource) c
const std::string Program::getInputResourceName(GLuint index) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
const sh::ShaderVariable &resource = getInputResource(index);
return getResourceName(resource);
@@ -2368,7 +2376,7 @@ const std::string Program::getInputResourceName(GLuint index) const
const std::string Program::getOutputResourceName(GLuint index) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
const sh::ShaderVariable &resource = getOutputResource(index);
return getResourceName(resource);
@@ -2376,66 +2384,69 @@ const std::string Program::getOutputResourceName(GLuint index) const
const sh::ShaderVariable &Program::getOutputResource(size_t index) const
{
- ASSERT(mLinkResolved);
- ASSERT(index < mState.mOutputVariables.size());
- return mState.mOutputVariables[index];
+ ASSERT(!mLinkingState);
+ ASSERT(index < mState.mExecutable->getOutputVariables().size());
+ return mState.mExecutable->getOutputVariables()[index];
}
const ProgramBindings &Program::getAttributeBindings() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mAttributeBindings;
}
const ProgramAliasedBindings &Program::getUniformLocationBindings() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mUniformLocationBindings;
}
const gl::ProgramAliasedBindings &Program::getFragmentOutputLocations() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mFragmentOutputLocations;
}
const gl::ProgramAliasedBindings &Program::getFragmentOutputIndexes() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mFragmentOutputIndexes;
}
ComponentTypeMask Program::getDrawBufferTypeMask() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mDrawBufferTypeMask;
}
const std::vector<GLsizei> &Program::getTransformFeedbackStrides() const
{
- ASSERT(mLinkResolved);
- return mState.mTransformFeedbackStrides;
+ ASSERT(!mLinkingState);
+ return mState.mExecutable->getTransformFeedbackStrides();
}
GLint Program::getFragDataLocation(const std::string &name) const
{
- ASSERT(mLinkResolved);
- GLint primaryLocation =
- GetVariableLocation(mState.mOutputVariables, mState.mOutputLocations, name);
+ ASSERT(!mLinkingState);
+ GLint primaryLocation = GetVariableLocation(mState.mExecutable->getOutputVariables(),
+ mState.mExecutable->getOutputLocations(), name);
if (primaryLocation != -1)
{
return primaryLocation;
}
- return GetVariableLocation(mState.mOutputVariables, mState.mSecondaryOutputLocations, name);
+ return GetVariableLocation(mState.mExecutable->getOutputVariables(),
+ mState.mSecondaryOutputLocations, name);
}
GLint Program::getFragDataIndex(const std::string &name) const
{
- ASSERT(mLinkResolved);
- if (GetVariableLocation(mState.mOutputVariables, mState.mOutputLocations, name) != -1)
+ ASSERT(!mLinkingState);
+ if (GetVariableLocation(mState.mExecutable->getOutputVariables(),
+ mState.mExecutable->getOutputLocations(), name) != -1)
{
return 0;
}
- if (GetVariableLocation(mState.mOutputVariables, mState.mSecondaryOutputLocations, name) != -1)
+ if (GetVariableLocation(mState.mExecutable->getOutputVariables(),
+ mState.mSecondaryOutputLocations, name) != -1)
{
return 1;
}
@@ -2449,12 +2460,12 @@ void Program::getActiveUniform(GLuint index,
GLenum *type,
GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (mLinked)
{
// index must be smaller than getActiveUniformCount()
- ASSERT(index < mState.mUniforms.size());
- const LinkedUniform &uniform = mState.mUniforms[index];
+ ASSERT(index < mState.mExecutable->getUniforms().size());
+ const LinkedUniform &uniform = mState.mExecutable->getUniforms()[index];
if (bufsize > 0)
{
@@ -2484,10 +2495,10 @@ void Program::getActiveUniform(GLuint index,
GLint Program::getActiveUniformCount() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (mLinked)
{
- return static_cast<GLint>(mState.mUniforms.size());
+ return static_cast<GLint>(mState.mExecutable->getUniforms().size());
}
else
{
@@ -2497,18 +2508,18 @@ GLint Program::getActiveUniformCount() const
size_t Program::getActiveBufferVariableCount() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mLinked ? mState.mBufferVariables.size() : 0;
}
GLint Program::getActiveUniformMaxLength() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
size_t maxLength = 0;
if (mLinked)
{
- for (const LinkedUniform &uniform : mState.mUniforms)
+ for (const LinkedUniform &uniform : mState.mExecutable->getUniforms())
{
if (!uniform.name.empty())
{
@@ -2527,7 +2538,7 @@ GLint Program::getActiveUniformMaxLength() const
bool Program::isValidUniformLocation(UniformLocation location) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(angle::IsValueInRangeForNumericType<GLint>(mState.mUniformLocations.size()));
return (location.value >= 0 &&
static_cast<size_t>(location.value) < mState.mUniformLocations.size() &&
@@ -2536,15 +2547,15 @@ bool Program::isValidUniformLocation(UniformLocation location) const
const LinkedUniform &Program::getUniformByLocation(UniformLocation location) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(location.value >= 0 &&
static_cast<size_t>(location.value) < mState.mUniformLocations.size());
- return mState.mUniforms[mState.getUniformIndexFromLocation(location)];
+ return mState.mExecutable->getUniforms()[mState.getUniformIndexFromLocation(location)];
}
const VariableLocation &Program::getUniformLocation(UniformLocation location) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(location.value >= 0 &&
static_cast<size_t>(location.value) < mState.mUniformLocations.size());
return mState.mUniformLocations[location.value];
@@ -2552,20 +2563,20 @@ const VariableLocation &Program::getUniformLocation(UniformLocation location) co
const BufferVariable &Program::getBufferVariableByIndex(GLuint index) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(index < static_cast<size_t>(mState.mBufferVariables.size()));
return mState.mBufferVariables[index];
}
UniformLocation Program::getUniformLocation(const std::string &name) const
{
- ASSERT(mLinkResolved);
- return {GetVariableLocation(mState.mUniforms, mState.mUniformLocations, name)};
+ ASSERT(!mLinkingState);
+ return {GetVariableLocation(mState.mExecutable->getUniforms(), mState.mUniformLocations, name)};
}
GLuint Program::getUniformIndex(const std::string &name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.getUniformIndexFromName(name);
}
@@ -2586,7 +2597,7 @@ bool Program::shouldIgnoreUniform(UniformLocation location) const
void Program::setUniform1fv(UniformLocation location, GLsizei count, const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2599,7 +2610,7 @@ void Program::setUniform1fv(UniformLocation location, GLsizei count, const GLflo
void Program::setUniform2fv(UniformLocation location, GLsizei count, const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2612,7 +2623,7 @@ void Program::setUniform2fv(UniformLocation location, GLsizei count, const GLflo
void Program::setUniform3fv(UniformLocation location, GLsizei count, const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2625,7 +2636,7 @@ void Program::setUniform3fv(UniformLocation location, GLsizei count, const GLflo
void Program::setUniform4fv(UniformLocation location, GLsizei count, const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2641,7 +2652,7 @@ void Program::setUniform1iv(Context *context,
GLsizei count,
const GLint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2660,7 +2671,7 @@ void Program::setUniform1iv(Context *context,
void Program::setUniform2iv(UniformLocation location, GLsizei count, const GLint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2673,7 +2684,7 @@ void Program::setUniform2iv(UniformLocation location, GLsizei count, const GLint
void Program::setUniform3iv(UniformLocation location, GLsizei count, const GLint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2686,7 +2697,7 @@ void Program::setUniform3iv(UniformLocation location, GLsizei count, const GLint
void Program::setUniform4iv(UniformLocation location, GLsizei count, const GLint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2699,7 +2710,7 @@ void Program::setUniform4iv(UniformLocation location, GLsizei count, const GLint
void Program::setUniform1uiv(UniformLocation location, GLsizei count, const GLuint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2712,7 +2723,7 @@ void Program::setUniform1uiv(UniformLocation location, GLsizei count, const GLui
void Program::setUniform2uiv(UniformLocation location, GLsizei count, const GLuint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2725,7 +2736,7 @@ void Program::setUniform2uiv(UniformLocation location, GLsizei count, const GLui
void Program::setUniform3uiv(UniformLocation location, GLsizei count, const GLuint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2738,7 +2749,7 @@ void Program::setUniform3uiv(UniformLocation location, GLsizei count, const GLui
void Program::setUniform4uiv(UniformLocation location, GLsizei count, const GLuint *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2754,7 +2765,7 @@ void Program::setUniformMatrix2fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2769,7 +2780,7 @@ void Program::setUniformMatrix3fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2784,7 +2795,7 @@ void Program::setUniformMatrix4fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2799,7 +2810,7 @@ void Program::setUniformMatrix2x3fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2814,7 +2825,7 @@ void Program::setUniformMatrix2x4fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2829,7 +2840,7 @@ void Program::setUniformMatrix3x2fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2844,7 +2855,7 @@ void Program::setUniformMatrix3x4fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2859,7 +2870,7 @@ void Program::setUniformMatrix4x2fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2874,7 +2885,7 @@ void Program::setUniformMatrix4x3fv(UniformLocation location,
GLboolean transpose,
const GLfloat *v)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (shouldIgnoreUniform(location))
{
return;
@@ -2886,24 +2897,25 @@ void Program::setUniformMatrix4x3fv(UniformLocation location,
GLuint Program::getSamplerUniformBinding(const VariableLocation &uniformLocation) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
GLuint samplerIndex = mState.getSamplerIndexFromUniformIndex(uniformLocation.index);
const std::vector<GLuint> &boundTextureUnits =
- mState.mSamplerBindings[samplerIndex].boundTextureUnits;
+ mState.mExecutable->mSamplerBindings[samplerIndex].boundTextureUnits;
return boundTextureUnits[uniformLocation.arrayIndex];
}
GLuint Program::getImageUniformBinding(const VariableLocation &uniformLocation) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
GLuint imageIndex = mState.getImageIndexFromUniformIndex(uniformLocation.index);
- const std::vector<GLuint> &boundImageUnits = mState.mImageBindings[imageIndex].boundImageUnits;
+ const std::vector<GLuint> &boundImageUnits =
+ mState.mExecutable->mImageBindings[imageIndex].boundImageUnits;
return boundImageUnits[uniformLocation.arrayIndex];
}
void Program::getUniformfv(const Context *context, UniformLocation location, GLfloat *v) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
const VariableLocation &uniformLocation = mState.getUniformLocations()[location.value];
const LinkedUniform &uniform = mState.getUniforms()[uniformLocation.index];
@@ -2931,7 +2943,7 @@ void Program::getUniformfv(const Context *context, UniformLocation location, GLf
void Program::getUniformiv(const Context *context, UniformLocation location, GLint *v) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
const VariableLocation &uniformLocation = mState.getUniformLocations()[location.value];
const LinkedUniform &uniform = mState.getUniforms()[uniformLocation.index];
@@ -2959,7 +2971,7 @@ void Program::getUniformiv(const Context *context, UniformLocation location, GLi
void Program::getUniformuiv(const Context *context, UniformLocation location, GLuint *v) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
const VariableLocation &uniformLocation = mState.getUniformLocations()[location.value];
const LinkedUniform &uniform = mState.getUniforms()[uniformLocation.index];
@@ -2987,21 +2999,21 @@ void Program::getUniformuiv(const Context *context, UniformLocation location, GL
void Program::flagForDeletion()
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
mDeleteStatus = true;
}
bool Program::isFlaggedForDeletion() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mDeleteStatus;
}
void Program::validate(const Caps &caps)
{
- ASSERT(mLinkResolved);
- mState.mExecutable.resetInfoLog();
- InfoLog &infoLog = mState.mExecutable.getInfoLog();
+ ASSERT(!mLinkingState);
+ mState.mExecutable->resetInfoLog();
+ InfoLog &infoLog = mState.mExecutable->getInfoLog();
if (mLinked)
{
@@ -3015,15 +3027,15 @@ void Program::validate(const Caps &caps)
bool Program::validateSamplersImpl(InfoLog *infoLog, const Caps &caps)
{
- const ProgramExecutable &executable = mState.mExecutable;
- ASSERT(mLinkResolved);
+ const ProgramExecutable *executable = mState.mExecutable.get();
+ ASSERT(!mLinkingState);
// if any two active samplers in a program are of different types, but refer to the same
// texture image unit, and this is the current program, then ValidateProgram will fail, and
// DrawArrays and DrawElements will issue the INVALID_OPERATION error.
- for (size_t textureUnit : executable.mActiveSamplersMask)
+ for (size_t textureUnit : executable->mActiveSamplersMask)
{
- if (executable.mActiveSamplerTypes[textureUnit] == TextureType::InvalidEnum)
+ if (executable->mActiveSamplerTypes[textureUnit] == TextureType::InvalidEnum)
{
if (infoLog)
{
@@ -3043,7 +3055,7 @@ bool Program::validateSamplersImpl(InfoLog *infoLog, const Caps &caps)
bool Program::isValidated() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mValidated;
}
@@ -3052,8 +3064,9 @@ void Program::getActiveUniformBlockName(const GLuint blockIndex,
GLsizei *length,
GLchar *blockName) const
{
- ASSERT(mLinkResolved);
- GetInterfaceBlockName(blockIndex, mState.mUniformBlocks, bufSize, length, blockName);
+ ASSERT(!mLinkingState);
+ GetInterfaceBlockName(blockIndex, mState.mExecutable->getUniformBlocks(), bufSize, length,
+ blockName);
}
void Program::getActiveShaderStorageBlockName(const GLuint blockIndex,
@@ -3061,8 +3074,9 @@ void Program::getActiveShaderStorageBlockName(const GLuint blockIndex,
GLsizei *length,
GLchar *blockName) const
{
- ASSERT(mLinkResolved);
- GetInterfaceBlockName(blockIndex, mState.mShaderStorageBlocks, bufSize, length, blockName);
+ ASSERT(!mLinkingState);
+ GetInterfaceBlockName(blockIndex, mState.mExecutable->getShaderStorageBlocks(), bufSize, length,
+ blockName);
}
template <typename T>
@@ -3087,59 +3101,59 @@ GLint Program::getActiveInterfaceBlockMaxNameLength(const std::vector<T> &resour
GLint Program::getActiveUniformBlockMaxNameLength() const
{
- ASSERT(mLinkResolved);
- return getActiveInterfaceBlockMaxNameLength(mState.mUniformBlocks);
+ ASSERT(!mLinkingState);
+ return getActiveInterfaceBlockMaxNameLength(mState.mExecutable->getUniformBlocks());
}
GLint Program::getActiveShaderStorageBlockMaxNameLength() const
{
- ASSERT(mLinkResolved);
- return getActiveInterfaceBlockMaxNameLength(mState.mShaderStorageBlocks);
+ ASSERT(!mLinkingState);
+ return getActiveInterfaceBlockMaxNameLength(mState.mExecutable->getShaderStorageBlocks());
}
GLuint Program::getUniformBlockIndex(const std::string &name) const
{
- ASSERT(mLinkResolved);
- return GetInterfaceBlockIndex(mState.mUniformBlocks, name);
+ ASSERT(!mLinkingState);
+ return GetInterfaceBlockIndex(mState.mExecutable->getUniformBlocks(), name);
}
GLuint Program::getShaderStorageBlockIndex(const std::string &name) const
{
- ASSERT(mLinkResolved);
- return GetInterfaceBlockIndex(mState.mShaderStorageBlocks, name);
+ ASSERT(!mLinkingState);
+ return GetInterfaceBlockIndex(mState.mExecutable->getShaderStorageBlocks(), name);
}
const InterfaceBlock &Program::getUniformBlockByIndex(GLuint index) const
{
- ASSERT(mLinkResolved);
- ASSERT(index < static_cast<GLuint>(mState.mUniformBlocks.size()));
- return mState.mUniformBlocks[index];
+ ASSERT(!mLinkingState);
+ ASSERT(index < static_cast<GLuint>(mState.mExecutable->getActiveUniformBlockCount()));
+ return mState.mExecutable->getUniformBlocks()[index];
}
const InterfaceBlock &Program::getShaderStorageBlockByIndex(GLuint index) const
{
- ASSERT(mLinkResolved);
- ASSERT(index < static_cast<GLuint>(mState.mShaderStorageBlocks.size()));
- return mState.mShaderStorageBlocks[index];
+ ASSERT(!mLinkingState);
+ ASSERT(index < static_cast<GLuint>(mState.mExecutable->getActiveShaderStorageBlockCount()));
+ return mState.mExecutable->getShaderStorageBlocks()[index];
}
void Program::bindUniformBlock(GLuint uniformBlockIndex, GLuint uniformBlockBinding)
{
- ASSERT(mLinkResolved);
- mState.mUniformBlocks[uniformBlockIndex].binding = uniformBlockBinding;
+ ASSERT(!mLinkingState);
+ mState.mExecutable->mUniformBlocks[uniformBlockIndex].binding = uniformBlockBinding;
mState.mActiveUniformBlockBindings.set(uniformBlockIndex, uniformBlockBinding != 0);
mDirtyBits.set(DIRTY_BIT_UNIFORM_BLOCK_BINDING_0 + uniformBlockIndex);
}
GLuint Program::getUniformBlockBinding(GLuint uniformBlockIndex) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.getUniformBlockBinding(uniformBlockIndex);
}
GLuint Program::getShaderStorageBlockBinding(GLuint shaderStorageBlockIndex) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.getShaderStorageBlockBinding(shaderStorageBlockIndex);
}
@@ -3147,14 +3161,14 @@ void Program::setTransformFeedbackVaryings(GLsizei count,
const GLchar *const *varyings,
GLenum bufferMode)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
mState.mTransformFeedbackVaryingNames.resize(count);
for (GLsizei i = 0; i < count; i++)
{
mState.mTransformFeedbackVaryingNames[i] = varyings[i];
}
- mState.mTransformFeedbackBufferMode = bufferMode;
+ mState.mExecutable->mTransformFeedbackBufferMode = bufferMode;
}
void Program::getTransformFeedbackVarying(GLuint index,
@@ -3164,11 +3178,11 @@ void Program::getTransformFeedbackVarying(GLuint index,
GLenum *type,
GLchar *name) const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (mLinked)
{
- ASSERT(index < mState.mLinkedTransformFeedbackVaryings.size());
- const auto &var = mState.mLinkedTransformFeedbackVaryings[index];
+ ASSERT(index < mState.mExecutable->mLinkedTransformFeedbackVaryings.size());
+ const auto &var = mState.mExecutable->mLinkedTransformFeedbackVaryings[index];
std::string varName = var.nameWithArrayIndex();
GLsizei lastNameIdx = std::min(bufSize - 1, static_cast<GLsizei>(varName.length()));
if (length)
@@ -3193,10 +3207,10 @@ void Program::getTransformFeedbackVarying(GLuint index,
GLsizei Program::getTransformFeedbackVaryingCount() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (mLinked)
{
- return static_cast<GLsizei>(mState.mLinkedTransformFeedbackVaryings.size());
+ return static_cast<GLsizei>(mState.mExecutable->mLinkedTransformFeedbackVaryings.size());
}
else
{
@@ -3206,11 +3220,11 @@ GLsizei Program::getTransformFeedbackVaryingCount() const
GLsizei Program::getTransformFeedbackVaryingMaxLength() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
if (mLinked)
{
GLsizei maxSize = 0;
- for (const auto &var : mState.mLinkedTransformFeedbackVaryings)
+ for (const auto &var : mState.mExecutable->mLinkedTransformFeedbackVaryings)
{
maxSize =
std::max(maxSize, static_cast<GLsizei>(var.nameWithArrayIndex().length() + 1));
@@ -3226,8 +3240,8 @@ GLsizei Program::getTransformFeedbackVaryingMaxLength() const
GLenum Program::getTransformFeedbackBufferMode() const
{
- ASSERT(mLinkResolved);
- return mState.mTransformFeedbackBufferMode;
+ ASSERT(!mLinkingState);
+ return mState.mExecutable->getTransformFeedbackBufferMode();
}
bool Program::linkValidateShaders(InfoLog &infoLog)
@@ -3384,10 +3398,11 @@ bool Program::linkValidateShaders(InfoLog &infoLog)
GLuint Program::getTransformFeedbackVaryingResourceIndex(const GLchar *name) const
{
- ASSERT(mLinkResolved);
- for (GLuint tfIndex = 0; tfIndex < mState.mLinkedTransformFeedbackVaryings.size(); ++tfIndex)
+ ASSERT(!mLinkingState);
+ for (GLuint tfIndex = 0; tfIndex < mState.mExecutable->mLinkedTransformFeedbackVaryings.size();
+ ++tfIndex)
{
- const auto &tf = mState.mLinkedTransformFeedbackVaryings[tfIndex];
+ const auto &tf = mState.mExecutable->mLinkedTransformFeedbackVaryings[tfIndex];
if (tf.nameWithArrayIndex() == name)
{
return tfIndex;
@@ -3398,33 +3413,33 @@ GLuint Program::getTransformFeedbackVaryingResourceIndex(const GLchar *name) con
const TransformFeedbackVarying &Program::getTransformFeedbackVaryingResource(GLuint index) const
{
- ASSERT(mLinkResolved);
- ASSERT(index < mState.mLinkedTransformFeedbackVaryings.size());
- return mState.mLinkedTransformFeedbackVaryings[index];
+ ASSERT(!mLinkingState);
+ ASSERT(index < mState.mExecutable->mLinkedTransformFeedbackVaryings.size());
+ return mState.mExecutable->mLinkedTransformFeedbackVaryings[index];
}
bool Program::hasDrawIDUniform() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mDrawIDLocation >= 0;
}
void Program::setDrawIDUniform(GLint drawid)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(mState.mDrawIDLocation >= 0);
mProgram->setUniform1iv(mState.mDrawIDLocation, 1, &drawid);
}
bool Program::hasBaseVertexUniform() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mBaseVertexLocation >= 0;
}
void Program::setBaseVertexUniform(GLint baseVertex)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(mState.mBaseVertexLocation >= 0);
if (baseVertex == mState.mCachedBaseVertex)
{
@@ -3436,13 +3451,13 @@ void Program::setBaseVertexUniform(GLint baseVertex)
bool Program::hasBaseInstanceUniform() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mBaseInstanceLocation >= 0;
}
void Program::setBaseInstanceUniform(GLuint baseInstance)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ASSERT(mState.mBaseInstanceLocation >= 0);
if (baseInstance == mState.mCachedBaseInstance)
{
@@ -3455,7 +3470,7 @@ void Program::setBaseInstanceUniform(GLuint baseInstance)
bool Program::linkVaryings(InfoLog &infoLog) const
{
- Shader *previousShader = nullptr;
+ ShaderType previousShaderType = ShaderType::InvalidEnum;
for (ShaderType shaderType : kAllGraphicsShaderTypes)
{
Shader *currentShader = mState.mAttachedShaders[shaderType];
@@ -3464,20 +3479,29 @@ bool Program::linkVaryings(InfoLog &infoLog) const
continue;
}
- if (previousShader)
+ if (previousShaderType != ShaderType::InvalidEnum)
{
- if (!linkValidateShaderInterfaceMatching(previousShader, currentShader, isSeparable(),
- infoLog))
+ Shader *previousShader = mState.mAttachedShaders[previousShaderType];
+ const std::vector<sh::ShaderVariable> &outputVaryings =
+ previousShader->getOutputVaryings();
+
+ if (!linkValidateShaderInterfaceMatching(
+ outputVaryings, currentShader->getInputVaryings(), previousShaderType,
+ currentShader->getType(), previousShader->getShaderVersion(),
+ currentShader->getShaderVersion(), isSeparable(), infoLog))
{
return false;
}
}
- previousShader = currentShader;
+ previousShaderType = currentShader->getType();
}
Shader *vertexShader = mState.mAttachedShaders[ShaderType::Vertex];
Shader *fragmentShader = mState.mAttachedShaders[ShaderType::Fragment];
- if (!linkValidateBuiltInVaryings(vertexShader, fragmentShader, infoLog))
+ if (vertexShader && fragmentShader &&
+ !linkValidateBuiltInVaryings(vertexShader->getOutputVaryings(),
+ fragmentShader->getInputVaryings(),
+ vertexShader->getShaderVersion(), infoLog))
{
return false;
}
@@ -3500,8 +3524,9 @@ void Program::getFilteredVaryings(const std::vector<sh::ShaderVariable> &varying
}
}
-bool Program::doShaderVariablesMatch(gl::Shader *generatingShader,
- gl::Shader *consumingShader,
+bool Program::doShaderVariablesMatch(int outputShaderVersion,
+ ShaderType outputShaderType,
+ ShaderType inputShaderType,
const sh::ShaderVariable &input,
const sh::ShaderVariable &output,
bool validateGeometryShaderInputs,
@@ -3520,13 +3545,13 @@ bool Program::doShaderVariablesMatch(gl::Shader *generatingShader,
if (namesMatch || locationsMatch)
{
std::string mismatchedStructFieldName;
- LinkMismatchError linkError = LinkValidateVaryings(
- output, input, generatingShader->getShaderVersion(), validateGeometryShaderInputs,
- isSeparable, &mismatchedStructFieldName);
+ LinkMismatchError linkError =
+ LinkValidateVaryings(output, input, outputShaderVersion, validateGeometryShaderInputs,
+ isSeparable, &mismatchedStructFieldName);
if (linkError != LinkMismatchError::NO_MISMATCH)
{
LogLinkMismatch(infoLog, input.name, "varying", linkError, mismatchedStructFieldName,
- generatingShader->getType(), consumingShader->getType());
+ outputShaderType, inputShaderType);
return false;
}
@@ -3538,18 +3563,21 @@ bool Program::doShaderVariablesMatch(gl::Shader *generatingShader,
// [OpenGL ES 3.1] Chapter 7.4.1 "Shader Interface Matching" Page 91
// TODO(jiawei.shao@intel.com): add validation on input/output blocks matching
-bool Program::linkValidateShaderInterfaceMatching(gl::Shader *generatingShader,
- gl::Shader *consumingShader,
- bool isSeparable,
- gl::InfoLog &infoLog)
-{
- ASSERT(generatingShader->getShaderVersion() == consumingShader->getShaderVersion());
+bool Program::linkValidateShaderInterfaceMatching(
+ const std::vector<sh::ShaderVariable> &outputVaryings,
+ const std::vector<sh::ShaderVariable> &inputVaryings,
+ ShaderType outputShaderType,
+ ShaderType inputShaderType,
+ int outputShaderVersion,
+ int inputShaderVersion,
+ bool isSeparable,
+ gl::InfoLog &infoLog)
+{
+ ASSERT(outputShaderVersion == inputShaderVersion);
- const std::vector<sh::ShaderVariable> &outputVaryings = generatingShader->getOutputVaryings();
- const std::vector<sh::ShaderVariable> &inputVaryings = consumingShader->getInputVaryings();
std::vector<const sh::ShaderVariable *> filteredInputVaryings;
std::vector<const sh::ShaderVariable *> filteredOutputVaryings;
- bool validateGeometryShaderInputs = consumingShader->getType() == ShaderType::Geometry;
+ bool validateGeometryShaderInputs = inputShaderType == ShaderType::Geometry;
getFilteredVaryings(inputVaryings, &filteredInputVaryings);
getFilteredVaryings(outputVaryings, &filteredOutputVaryings);
@@ -3557,16 +3585,16 @@ bool Program::linkValidateShaderInterfaceMatching(gl::Shader *generatingShader,
// Separable programs require the number of inputs and outputs match
if (isSeparable && filteredInputVaryings.size() < filteredOutputVaryings.size())
{
- infoLog << GetShaderTypeString(consumingShader->getType())
+ infoLog << GetShaderTypeString(inputShaderType)
<< " does not consume all varyings generated by "
- << GetShaderTypeString(generatingShader->getType());
+ << GetShaderTypeString(outputShaderType);
return false;
}
if (isSeparable && filteredInputVaryings.size() > filteredOutputVaryings.size())
{
- infoLog << GetShaderTypeString(generatingShader->getType())
+ infoLog << GetShaderTypeString(outputShaderType)
<< " does not generate all varyings consumed by "
- << GetShaderTypeString(consumingShader->getType());
+ << GetShaderTypeString(inputShaderType);
return false;
}
@@ -3576,8 +3604,9 @@ bool Program::linkValidateShaderInterfaceMatching(gl::Shader *generatingShader,
bool match = false;
for (const sh::ShaderVariable *output : filteredOutputVaryings)
{
- if (doShaderVariablesMatch(generatingShader, consumingShader, *input, *output,
- validateGeometryShaderInputs, isSeparable, infoLog))
+ if (doShaderVariablesMatch(outputShaderVersion, outputShaderType, inputShaderType,
+ *input, *output, validateGeometryShaderInputs, isSeparable,
+ infoLog))
{
match = true;
break;
@@ -3589,8 +3618,8 @@ bool Program::linkValidateShaderInterfaceMatching(gl::Shader *generatingShader,
// if it is not active. GLSL ES 3.00.6 section 4.3.10.
if (!match && input->staticUse)
{
- infoLog << GetShaderTypeString(consumingShader->getType()) << " varying " << input->name
- << " does not match any " << GetShaderTypeString(generatingShader->getType())
+ infoLog << GetShaderTypeString(inputShaderType) << " varying " << input->name
+ << " does not match any " << GetShaderTypeString(outputShaderType)
<< " varying";
return false;
}
@@ -3612,7 +3641,7 @@ bool Program::linkUniforms(const Caps &caps,
return false;
}
- linker.getResults(&mState.mUniforms, unusedUniforms, &mState.mUniformLocations);
+ linker.getResults(&mState.mExecutable->mUniforms, unusedUniforms, &mState.mUniformLocations);
linkSamplerAndImageBindings(combinedImageUniformsCount);
@@ -3639,19 +3668,20 @@ void Program::linkSamplerAndImageBindings(GLuint *combinedImageUniforms)
{
ASSERT(combinedImageUniforms);
- // Iterate over mUniforms from the back, and find the range of atomic counters, images and
- // samplers in that order.
- auto highIter = mState.mUniforms.rbegin();
+ // Iterate over mExecutable->mUniforms from the back, and find the range of atomic counters,
+ // images and samplers in that order.
+ auto highIter = mState.mExecutable->getUniforms().rbegin();
auto lowIter = highIter;
- unsigned int high = static_cast<unsigned int>(mState.mUniforms.size());
+ unsigned int high = static_cast<unsigned int>(mState.mExecutable->getUniforms().size());
unsigned int low = high;
// Note that uniform block uniforms are not yet appended to this list.
- ASSERT(mState.mUniforms.size() == 0 || highIter->isAtomicCounter() || highIter->isImage() ||
- highIter->isSampler() || highIter->isInDefaultBlock());
+ ASSERT(mState.mExecutable->getUniforms().size() == 0 || highIter->isAtomicCounter() ||
+ highIter->isImage() || highIter->isSampler() || highIter->isInDefaultBlock());
- for (; lowIter != mState.mUniforms.rend() && lowIter->isAtomicCounter(); ++lowIter)
+ for (; lowIter != mState.mExecutable->getUniforms().rend() && lowIter->isAtomicCounter();
+ ++lowIter)
{
--low;
}
@@ -3661,29 +3691,29 @@ void Program::linkSamplerAndImageBindings(GLuint *combinedImageUniforms)
highIter = lowIter;
high = low;
- for (; lowIter != mState.mUniforms.rend() && lowIter->isImage(); ++lowIter)
+ for (; lowIter != mState.mExecutable->getUniforms().rend() && lowIter->isImage(); ++lowIter)
{
--low;
}
- mState.mImageUniformRange = RangeUI(low, high);
- *combinedImageUniforms = 0u;
+ mState.mExecutable->mImageUniformRange = RangeUI(low, high);
+ *combinedImageUniforms = 0u;
// If uniform is a image type, insert it into the mImageBindings array.
- for (unsigned int imageIndex : mState.mImageUniformRange)
+ for (unsigned int imageIndex : mState.mExecutable->getImageUniformRange())
{
// ES3.1 (section 7.6.1) and GLSL ES3.1 (section 4.4.5), Uniform*i{v} commands
// cannot load values into a uniform defined as an image. if declare without a
// binding qualifier, any uniform image variable (include all elements of
// unbound image array) shoud be bound to unit zero.
- auto &imageUniform = mState.mUniforms[imageIndex];
+ auto &imageUniform = mState.mExecutable->getUniforms()[imageIndex];
if (imageUniform.binding == -1)
{
- mState.mImageBindings.emplace_back(
+ mState.mExecutable->mImageBindings.emplace_back(
ImageBinding(imageUniform.getBasicTypeElementCount()));
}
else
{
- mState.mImageBindings.emplace_back(
+ mState.mExecutable->mImageBindings.emplace_back(
ImageBinding(imageUniform.binding, imageUniform.getBasicTypeElementCount(), false));
}
@@ -3694,42 +3724,42 @@ void Program::linkSamplerAndImageBindings(GLuint *combinedImageUniforms)
highIter = lowIter;
high = low;
- for (; lowIter != mState.mUniforms.rend() && lowIter->isSampler(); ++lowIter)
+ for (; lowIter != mState.mExecutable->getUniforms().rend() && lowIter->isSampler(); ++lowIter)
{
--low;
}
- mState.mSamplerUniformRange = RangeUI(low, high);
+ mState.mExecutable->mSamplerUniformRange = RangeUI(low, high);
// If uniform is a sampler type, insert it into the mSamplerBindings array.
- for (unsigned int samplerIndex : mState.mSamplerUniformRange)
+ for (unsigned int samplerIndex : mState.mExecutable->getSamplerUniformRange())
{
- const auto &samplerUniform = mState.mUniforms[samplerIndex];
+ const auto &samplerUniform = mState.mExecutable->getUniforms()[samplerIndex];
TextureType textureType = SamplerTypeToTextureType(samplerUniform.type);
unsigned int elementCount = samplerUniform.getBasicTypeElementCount();
SamplerFormat format = samplerUniform.typeInfo->samplerFormat;
- mState.mSamplerBindings.emplace_back(textureType, format, elementCount, false);
+ mState.mExecutable->mSamplerBindings.emplace_back(textureType, format, elementCount, false);
}
// Whatever is left constitutes the default uniforms.
- mState.mDefaultUniformRange = RangeUI(0, low);
+ mState.mExecutable->mDefaultUniformRange = RangeUI(0, low);
}
bool Program::linkAtomicCounterBuffers()
{
for (unsigned int index : mState.mAtomicCounterUniformRange)
{
- auto &uniform = mState.mUniforms[index];
+ auto &uniform = mState.mExecutable->mUniforms[index];
uniform.blockInfo.offset = uniform.offset;
uniform.blockInfo.arrayStride = (uniform.isArray() ? 4 : 0);
uniform.blockInfo.matrixStride = 0;
uniform.blockInfo.isRowMajorMatrix = false;
bool found = false;
- for (unsigned int bufferIndex = 0; bufferIndex < mState.mAtomicCounterBuffers.size();
- ++bufferIndex)
+ for (unsigned int bufferIndex = 0;
+ bufferIndex < mState.mExecutable->getActiveAtomicCounterBufferCount(); ++bufferIndex)
{
- auto &buffer = mState.mAtomicCounterBuffers[bufferIndex];
+ auto &buffer = mState.mExecutable->mAtomicCounterBuffers[bufferIndex];
if (buffer.binding == uniform.binding)
{
buffer.memberIndexes.push_back(index);
@@ -3745,8 +3775,9 @@ bool Program::linkAtomicCounterBuffers()
atomicCounterBuffer.binding = uniform.binding;
atomicCounterBuffer.memberIndexes.push_back(index);
atomicCounterBuffer.unionReferencesWith(uniform);
- mState.mAtomicCounterBuffers.push_back(atomicCounterBuffer);
- uniform.bufferIndex = static_cast<int>(mState.mAtomicCounterBuffers.size() - 1);
+ mState.mExecutable->mAtomicCounterBuffers.push_back(atomicCounterBuffer);
+ uniform.bufferIndex =
+ static_cast<int>(mState.mExecutable->getActiveAtomicCounterBufferCount() - 1);
}
}
// TODO(jie.a.chen@intel.com): Count each atomic counter buffer to validate against
@@ -3778,19 +3809,19 @@ bool Program::linkAttributes(const Context *context, InfoLog &infoLog)
// In GLSL ES 3.00.6, aliasing checks should be done with all declared attributes -
// see GLSL ES 3.00.6 section 12.46. Inactive attributes will be pruned after
// aliasing checks.
- mState.mProgramInputs = vertexShader->getAllAttributes();
+ mState.mExecutable->mProgramInputs = vertexShader->getAllAttributes();
}
else
{
// In GLSL ES 1.00.17 we only do aliasing checks for active attributes.
- mState.mProgramInputs = vertexShader->getActiveAttributes();
+ mState.mExecutable->mProgramInputs = vertexShader->getActiveAttributes();
}
GLuint maxAttribs = static_cast<GLuint>(caps.maxVertexAttributes);
std::vector<sh::ShaderVariable *> usedAttribMap(maxAttribs, nullptr);
// Assign locations to attributes that have a binding location and check for attribute aliasing.
- for (sh::ShaderVariable &attribute : mState.mProgramInputs)
+ for (sh::ShaderVariable &attribute : mState.mExecutable->mProgramInputs)
{
// GLSL ES 3.10 January 2016 section 4.3.4: Vertex shader inputs can't be arrays or
// structures, so we don't need to worry about adjusting their names or generating entries
@@ -3846,7 +3877,7 @@ bool Program::linkAttributes(const Context *context, InfoLog &infoLog)
}
// Assign locations to attributes that don't have a binding location.
- for (sh::ShaderVariable &attribute : mState.mProgramInputs)
+ for (sh::ShaderVariable &attribute : mState.mExecutable->mProgramInputs)
{
// Not set by glBindAttribLocation or by location layout qualifier
if (attribute.location == -1)
@@ -3864,15 +3895,15 @@ bool Program::linkAttributes(const Context *context, InfoLog &infoLog)
}
}
- ASSERT(mState.mExecutable.mAttributesTypeMask.none());
- ASSERT(mState.mExecutable.mAttributesMask.none());
+ ASSERT(mState.mExecutable->mAttributesTypeMask.none());
+ ASSERT(mState.mExecutable->mAttributesMask.none());
// Prune inactive attributes. This step is only needed on shaderVersion >= 300 since on earlier
// shader versions we're only processing active attributes to begin with.
if (shaderVersion >= 300)
{
- for (auto attributeIter = mState.mProgramInputs.begin();
- attributeIter != mState.mProgramInputs.end();)
+ for (auto attributeIter = mState.mExecutable->getProgramInputs().begin();
+ attributeIter != mState.mExecutable->getProgramInputs().end();)
{
if (attributeIter->active)
{
@@ -3880,12 +3911,12 @@ bool Program::linkAttributes(const Context *context, InfoLog &infoLog)
}
else
{
- attributeIter = mState.mProgramInputs.erase(attributeIter);
+ attributeIter = mState.mExecutable->mProgramInputs.erase(attributeIter);
}
}
}
- for (const sh::ShaderVariable &attribute : mState.mProgramInputs)
+ for (const sh::ShaderVariable &attribute : mState.mExecutable->getProgramInputs())
{
ASSERT(attribute.active);
ASSERT(attribute.location != -1);
@@ -3897,16 +3928,16 @@ bool Program::linkAttributes(const Context *context, InfoLog &infoLog)
// Built-in active program inputs don't have a bound attribute.
if (!attribute.isBuiltIn())
{
- mState.mExecutable.mActiveAttribLocationsMask.set(location);
- mState.mExecutable.mMaxActiveAttribLocation =
- std::max(mState.mExecutable.mMaxActiveAttribLocation, location + 1);
+ mState.mExecutable->mActiveAttribLocationsMask.set(location);
+ mState.mExecutable->mMaxActiveAttribLocation =
+ std::max(mState.mExecutable->mMaxActiveAttribLocation, location + 1);
ComponentType componentType =
GLenumToComponentType(VariableComponentType(attribute.type));
SetComponentTypeMask(componentType, location,
- &mState.mExecutable.mAttributesTypeMask);
- mState.mExecutable.mAttributesMask.set(location);
+ &mState.mExecutable->mAttributesTypeMask);
+ mState.mExecutable->mAttributesMask.set(location);
location++;
}
@@ -4124,21 +4155,12 @@ LinkMismatchError Program::LinkValidateVaryings(const sh::ShaderVariable &output
return LinkMismatchError::NO_MISMATCH;
}
-bool Program::linkValidateBuiltInVaryings(Shader *vertexShader,
- Shader *fragmentShader,
+bool Program::linkValidateBuiltInVaryings(const std::vector<sh::ShaderVariable> &vertexVaryings,
+ const std::vector<sh::ShaderVariable> &fragmentVaryings,
+ int vertexShaderVersion,
InfoLog &infoLog)
{
- if (!vertexShader || !fragmentShader)
- {
- // We can't validate an interface if we don't have both a producer and a consumer
- return true;
- }
-
- const auto &vertexVaryings = vertexShader->getOutputVaryings();
- const auto &fragmentVaryings = fragmentShader->getInputVaryings();
- int shaderVersion = vertexShader->getShaderVersion();
-
- if (shaderVersion != 100)
+ if (vertexShaderVersion != 100)
{
// Only ESSL 1.0 has restrictions on matching input and output invariance
return true;
@@ -4294,7 +4316,7 @@ bool Program::linkValidateTransformFeedback(const Version &version,
// TODO(jmadill): Investigate implementation limits on D3D11
componentCount = VariableComponentCount(var->type) * elementCount;
- if (mState.mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS &&
+ if (mState.mExecutable->getTransformFeedbackBufferMode() == GL_SEPARATE_ATTRIBS &&
componentCount > static_cast<GLuint>(caps.maxTransformFeedbackSeparateComponents))
{
infoLog << "Transform feedback varying " << tfVaryingName << " components ("
@@ -4304,7 +4326,7 @@ bool Program::linkValidateTransformFeedback(const Version &version,
}
totalComponents += componentCount;
- if (mState.mTransformFeedbackBufferMode == GL_INTERLEAVED_ATTRIBS &&
+ if (mState.mExecutable->getTransformFeedbackBufferMode() == GL_INTERLEAVED_ATTRIBS &&
totalComponents > static_cast<GLuint>(caps.maxTransformFeedbackInterleavedComponents))
{
infoLog << "Transform feedback varying total components (" << totalComponents
@@ -4320,7 +4342,7 @@ void Program::gatherTransformFeedbackVaryings(const ProgramMergedVaryings &varyi
ShaderType stage)
{
// Gather the linked varyings that are used for transform feedback, they should all exist.
- mState.mLinkedTransformFeedbackVaryings.clear();
+ mState.mExecutable->mLinkedTransformFeedbackVaryings.clear();
for (const std::string &tfVaryingName : mState.mTransformFeedbackVaryingNames)
{
std::vector<unsigned int> subscripts;
@@ -4340,17 +4362,18 @@ void Program::gatherTransformFeedbackVaryings(const ProgramMergedVaryings &varyi
const sh::ShaderVariable *varying = ref.get(stage);
if (baseName == varying->name)
{
- mState.mLinkedTransformFeedbackVaryings.emplace_back(
+ mState.mExecutable->mLinkedTransformFeedbackVaryings.emplace_back(
*varying, static_cast<GLuint>(subscript));
break;
}
else if (varying->isStruct())
{
GLuint fieldIndex = 0;
- const auto *field = FindShaderVarField(*varying, tfVaryingName, &fieldIndex);
+ const auto *field = varying->findField(tfVaryingName, &fieldIndex);
if (field != nullptr)
{
- mState.mLinkedTransformFeedbackVaryings.emplace_back(*field, *varying);
+ mState.mExecutable->mLinkedTransformFeedbackVaryings.emplace_back(*field,
+ *varying);
break;
}
}
@@ -4574,7 +4597,7 @@ bool Program::linkOutputVariables(const Caps &caps,
GLuint combinedImageUniformsCount,
GLuint combinedShaderStorageBlocksCount)
{
- InfoLog &infoLog = mState.mExecutable.getInfoLog();
+ InfoLog &infoLog = mState.mExecutable->getInfoLog();
Shader *fragmentShader = mState.mAttachedShaders[ShaderType::Fragment];
ASSERT(mState.mOutputVariableTypes.empty());
@@ -4645,7 +4668,7 @@ bool Program::linkOutputVariables(const Caps &caps,
if (fragmentShader && fragmentShader->getShaderVersion() == 100)
return true;
- mState.mOutputVariables = outputVariables;
+ mState.mExecutable->mOutputVariables = outputVariables;
// TODO(jmadill): any caps validation here?
// EXT_blend_func_extended doesn't specify anything related to binding specific elements of an
@@ -4681,9 +4704,11 @@ bool Program::linkOutputVariables(const Caps &caps,
continue;
}
for (unsigned int outputVariableIndex = 0;
- outputVariableIndex < mState.mOutputVariables.size(); outputVariableIndex++)
+ outputVariableIndex < mState.mExecutable->getOutputVariables().size();
+ outputVariableIndex++)
{
- const sh::ShaderVariable &outputVariable = mState.mOutputVariables[outputVariableIndex];
+ const sh::ShaderVariable &outputVariable =
+ mState.mExecutable->getOutputVariables()[outputVariableIndex];
// Check that the binding corresponds to an output array and its array index fits.
if (outputVariable.isBuiltIn() || !outputVariable.isArray() ||
!angle::BeginsWith(outputVariable.name, binding.first,
@@ -4697,7 +4722,7 @@ bool Program::linkOutputVariables(const Caps &caps,
// This index may differ from the index used for the array's base.
auto &outputLocations = mFragmentOutputIndexes.getBindingByName(binding.first) == 1
? mState.mSecondaryOutputLocations
- : mState.mOutputLocations;
+ : mState.mExecutable->mOutputLocations;
unsigned int location = binding.second.location;
VariableLocation locationInfo(arrayIndex, outputVariableIndex);
if (location >= outputLocations.size())
@@ -4719,10 +4744,12 @@ bool Program::linkOutputVariables(const Caps &caps,
// Reserve locations for output variables whose location is fixed in the shader or through the
// API. Otherwise, the remaining unallocated outputs will be processed later.
- for (unsigned int outputVariableIndex = 0; outputVariableIndex < mState.mOutputVariables.size();
+ for (unsigned int outputVariableIndex = 0;
+ outputVariableIndex < mState.mExecutable->getOutputVariables().size();
outputVariableIndex++)
{
- const sh::ShaderVariable &outputVariable = mState.mOutputVariables[outputVariableIndex];
+ const sh::ShaderVariable &outputVariable =
+ mState.mExecutable->getOutputVariables()[outputVariableIndex];
// Don't store outputs for gl_FragDepth, gl_FragColor, etc.
if (outputVariable.isBuiltIn())
@@ -4738,7 +4765,7 @@ bool Program::linkOutputVariables(const Caps &caps,
auto &outputLocations = isOutputSecondaryForLink(outputVariable)
? mState.mSecondaryOutputLocations
- : mState.mOutputLocations;
+ : mState.mExecutable->mOutputLocations;
// GLSL ES 3.10 section 4.3.6: Output variables cannot be arrays of arrays or arrays of
// structures, so we may use getBasicTypeElementCount().
@@ -4751,7 +4778,8 @@ bool Program::linkOutputVariables(const Caps &caps,
return false;
}
AssignOutputLocations(outputLocations, baseLocation, elementCount, reservedLocations,
- outputVariableIndex, mState.mOutputVariables[outputVariableIndex]);
+ outputVariableIndex,
+ mState.mExecutable->mOutputVariables[outputVariableIndex]);
}
// Here we assign locations for the output variables that don't yet have them. Note that we're
@@ -4767,10 +4795,12 @@ bool Program::linkOutputVariables(const Caps &caps,
maxLocation = extensions.maxDualSourceDrawBuffers;
}
- for (unsigned int outputVariableIndex = 0; outputVariableIndex < mState.mOutputVariables.size();
+ for (unsigned int outputVariableIndex = 0;
+ outputVariableIndex < mState.mExecutable->getOutputVariables().size();
outputVariableIndex++)
{
- const sh::ShaderVariable &outputVariable = mState.mOutputVariables[outputVariableIndex];
+ const sh::ShaderVariable &outputVariable =
+ mState.mExecutable->getOutputVariables()[outputVariableIndex];
// Don't store outputs for gl_FragDepth, gl_FragColor, etc.
if (outputVariable.isBuiltIn())
@@ -4779,7 +4809,7 @@ bool Program::linkOutputVariables(const Caps &caps,
int fixedLocation = getOutputLocationForLink(outputVariable);
auto &outputLocations = isOutputSecondaryForLink(outputVariable)
? mState.mSecondaryOutputLocations
- : mState.mOutputLocations;
+ : mState.mExecutable->mOutputLocations;
unsigned int baseLocation = 0;
unsigned int elementCount = outputVariable.getBasicTypeElementCount();
if (fixedLocation != -1)
@@ -4800,7 +4830,7 @@ bool Program::linkOutputVariables(const Caps &caps,
}
AssignOutputLocations(outputLocations, baseLocation, elementCount, reservedLocations,
outputVariableIndex,
- mState.mOutputVariables[outputVariableIndex]);
+ mState.mExecutable->mOutputVariables[outputVariableIndex]);
}
// Check for any elements assigned above the max location that are actually used.
@@ -4825,9 +4855,9 @@ bool Program::linkOutputVariables(const Caps &caps,
void Program::setUniformValuesFromBindingQualifiers()
{
- for (unsigned int samplerIndex : mState.mSamplerUniformRange)
+ for (unsigned int samplerIndex : mState.mExecutable->getSamplerUniformRange())
{
- const auto &samplerUniform = mState.mUniforms[samplerIndex];
+ const auto &samplerUniform = mState.mExecutable->getUniforms()[samplerIndex];
if (samplerUniform.binding != -1)
{
UniformLocation location = getUniformLocation(samplerUniform.name);
@@ -4850,9 +4880,10 @@ void Program::setUniformValuesFromBindingQualifiers()
void Program::initInterfaceBlockBindings()
{
// Set initial bindings from shader.
- for (unsigned int blockIndex = 0; blockIndex < mState.mUniformBlocks.size(); blockIndex++)
+ for (unsigned int blockIndex = 0; blockIndex < mState.mExecutable->getActiveUniformBlockCount();
+ blockIndex++)
{
- InterfaceBlock &uniformBlock = mState.mUniformBlocks[blockIndex];
+ InterfaceBlock &uniformBlock = mState.mExecutable->mUniformBlocks[blockIndex];
bindUniformBlock(blockIndex, uniformBlock.binding);
}
}
@@ -4864,7 +4895,7 @@ void Program::updateSamplerUniform(Context *context,
{
ASSERT(mState.isSamplerUniformIndex(locationInfo.index));
GLuint samplerIndex = mState.getSamplerIndexFromUniformIndex(locationInfo.index);
- SamplerBinding &samplerBinding = mState.mSamplerBindings[samplerIndex];
+ SamplerBinding &samplerBinding = mState.mExecutable->mSamplerBindings[samplerIndex];
std::vector<GLuint> &boundTextureUnits = samplerBinding.boundTextureUnits;
if (samplerBinding.unreferenced)
@@ -4882,26 +4913,26 @@ void Program::updateSamplerUniform(Context *context,
boundTextureUnits[arrayIndex + locationInfo.arrayIndex] = newTextureUnit;
// Update the reference counts.
- uint32_t &oldRefCount = mState.mExecutable.mActiveSamplerRefCounts[oldTextureUnit];
- uint32_t &newRefCount = mState.mExecutable.mActiveSamplerRefCounts[newTextureUnit];
+ uint32_t &oldRefCount = mState.mExecutable->mActiveSamplerRefCounts[oldTextureUnit];
+ uint32_t &newRefCount = mState.mExecutable->mActiveSamplerRefCounts[newTextureUnit];
ASSERT(oldRefCount > 0);
ASSERT(newRefCount < std::numeric_limits<uint32_t>::max());
oldRefCount--;
newRefCount++;
// Check for binding type change.
- TextureType &newSamplerType = mState.mExecutable.mActiveSamplerTypes[newTextureUnit];
- TextureType &oldSamplerType = mState.mExecutable.mActiveSamplerTypes[oldTextureUnit];
- SamplerFormat &newSamplerFormat = mState.mExecutable.mActiveSamplerFormats[newTextureUnit];
- SamplerFormat &oldSamplerFormat = mState.mExecutable.mActiveSamplerFormats[oldTextureUnit];
+ TextureType &newSamplerType = mState.mExecutable->mActiveSamplerTypes[newTextureUnit];
+ TextureType &oldSamplerType = mState.mExecutable->mActiveSamplerTypes[oldTextureUnit];
+ SamplerFormat &newSamplerFormat = mState.mExecutable->mActiveSamplerFormats[newTextureUnit];
+ SamplerFormat &oldSamplerFormat = mState.mExecutable->mActiveSamplerFormats[oldTextureUnit];
if (newRefCount == 1)
{
newSamplerType = samplerBinding.textureType;
newSamplerFormat = samplerBinding.format;
- mState.mExecutable.mActiveSamplersMask.set(newTextureUnit);
- mState.mExecutable.mActiveSamplerShaderBits[newTextureUnit] =
- mState.mUniforms[locationInfo.index].activeShaders();
+ mState.mExecutable->mActiveSamplersMask.set(newTextureUnit);
+ mState.mExecutable->mActiveSamplerShaderBits[newTextureUnit] =
+ mState.mExecutable->getUniforms()[locationInfo.index].activeShaders();
}
else
{
@@ -4921,7 +4952,7 @@ void Program::updateSamplerUniform(Context *context,
{
oldSamplerType = TextureType::InvalidEnum;
oldSamplerFormat = SamplerFormat::InvalidEnum;
- mState.mExecutable.mActiveSamplersMask.reset(oldTextureUnit);
+ mState.mExecutable->mActiveSamplersMask.reset(oldTextureUnit);
}
else
{
@@ -4947,7 +4978,8 @@ void Program::updateSamplerUniform(Context *context,
void ProgramState::setSamplerUniformTextureTypeAndFormat(size_t textureUnitIndex)
{
- mExecutable.setSamplerUniformTextureTypeAndFormat(textureUnitIndex, mSamplerBindings);
+ mExecutable->setSamplerUniformTextureTypeAndFormat(textureUnitIndex,
+ mExecutable->mSamplerBindings);
}
template <typename T>
@@ -4959,7 +4991,7 @@ GLsizei Program::clampUniformCount(const VariableLocation &locationInfo,
if (count == 1)
return 1;
- const LinkedUniform &linkedUniform = mState.mUniforms[locationInfo.index];
+ const LinkedUniform &linkedUniform = mState.mExecutable->getUniforms()[locationInfo.index];
// OpenGL ES 3.0.4 spec pg 67: "Values for any array element that exceeds the highest array
// element index used, as reported by GetActiveUniform, will be ignored by the GL."
@@ -4989,7 +5021,7 @@ GLsizei Program::clampMatrixUniformCount(UniformLocation location,
return clampUniformCount(locationInfo, count, cols * rows, v);
}
- const LinkedUniform &linkedUniform = mState.mUniforms[locationInfo.index];
+ const LinkedUniform &linkedUniform = mState.mExecutable->getUniforms()[locationInfo.index];
// OpenGL ES 3.0.4 spec pg 67: "Values for any array element that exceeds the highest array
// element index used, as reported by GetActiveUniform, will be ignored by the GL."
@@ -5051,7 +5083,7 @@ angle::Result Program::syncState(const Context *context)
{
if (mDirtyBits.any())
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
ANGLE_TRY(mProgram->syncState(context, mDirtyBits));
mDirtyBits.reset();
}
@@ -5145,8 +5177,8 @@ angle::Result Program::serialize(const Context *context, angle::MemoryBuffer *bi
WriteInterfaceBlock(&stream, shaderStorageBlock);
}
- stream.writeInt(mState.mAtomicCounterBuffers.size());
- for (const auto &atomicCounterBuffer : mState.mAtomicCounterBuffers)
+ stream.writeInt(mState.mExecutable->getActiveAtomicCounterBufferCount());
+ for (const auto &atomicCounterBuffer : mState.mExecutable->getAtomicCounterBuffers())
{
WriteShaderVariableBuffer(&stream, atomicCounterBuffer);
}
@@ -5238,7 +5270,7 @@ angle::Result Program::serialize(const Context *context, angle::MemoryBuffer *bi
stream.writeInt(mState.getAtomicCounterUniformRange().low());
stream.writeInt(mState.getAtomicCounterUniformRange().high());
- mState.mExecutable.save(&stream);
+ mState.mExecutable->save(&stream);
mProgram->save(context, &stream);
@@ -5288,17 +5320,17 @@ angle::Result Program::deserialize(const Context *context,
mState.mEarlyFramentTestsOptimization = stream.readInt<bool>();
unsigned int attribCount = stream.readInt<unsigned int>();
- ASSERT(mState.mProgramInputs.empty());
+ ASSERT(mState.mExecutable->getProgramInputs().empty());
for (unsigned int attribIndex = 0; attribIndex < attribCount; ++attribIndex)
{
sh::ShaderVariable attrib;
LoadShaderVar(&stream, &attrib);
attrib.location = stream.readInt<int>();
- mState.mProgramInputs.push_back(attrib);
+ mState.mExecutable->mProgramInputs.push_back(attrib);
}
unsigned int uniformCount = stream.readInt<unsigned int>();
- ASSERT(mState.mUniforms.empty());
+ ASSERT(mState.mExecutable->getUniforms().empty());
for (unsigned int uniformIndex = 0; uniformIndex < uniformCount; ++uniformIndex)
{
LinkedUniform uniform;
@@ -5317,7 +5349,7 @@ angle::Result Program::deserialize(const Context *context,
uniform.setActive(shaderType, stream.readBool());
}
- mState.mUniforms.push_back(uniform);
+ mState.mExecutable->mUniforms.push_back(uniform);
}
const unsigned int uniformIndexCount = stream.readInt<unsigned int>();
@@ -5334,13 +5366,13 @@ angle::Result Program::deserialize(const Context *context,
}
unsigned int uniformBlockCount = stream.readInt<unsigned int>();
- ASSERT(mState.mUniformBlocks.empty());
+ ASSERT(mState.mExecutable->getUniformBlocks().empty());
for (unsigned int uniformBlockIndex = 0; uniformBlockIndex < uniformBlockCount;
++uniformBlockIndex)
{
InterfaceBlock uniformBlock;
LoadInterfaceBlock(&stream, &uniformBlock);
- mState.mUniformBlocks.push_back(uniformBlock);
+ mState.mExecutable->mUniformBlocks.push_back(uniformBlock);
mState.mActiveUniformBlockBindings.set(uniformBlockIndex, uniformBlock.binding != 0);
}
@@ -5355,23 +5387,23 @@ angle::Result Program::deserialize(const Context *context,
}
unsigned int shaderStorageBlockCount = stream.readInt<unsigned int>();
- ASSERT(mState.mShaderStorageBlocks.empty());
+ ASSERT(mState.mExecutable->getShaderStorageBlocks().empty());
for (unsigned int shaderStorageBlockIndex = 0;
shaderStorageBlockIndex < shaderStorageBlockCount; ++shaderStorageBlockIndex)
{
InterfaceBlock shaderStorageBlock;
LoadInterfaceBlock(&stream, &shaderStorageBlock);
- mState.mShaderStorageBlocks.push_back(shaderStorageBlock);
+ mState.mExecutable->mShaderStorageBlocks.push_back(shaderStorageBlock);
}
unsigned int atomicCounterBufferCount = stream.readInt<unsigned int>();
- ASSERT(mState.mAtomicCounterBuffers.empty());
+ ASSERT(mState.mExecutable->getAtomicCounterBuffers().empty());
for (unsigned int bufferIndex = 0; bufferIndex < atomicCounterBufferCount; ++bufferIndex)
{
AtomicCounterBuffer atomicCounterBuffer;
LoadShaderVariableBuffer(&stream, &atomicCounterBuffer);
- mState.mAtomicCounterBuffers.push_back(atomicCounterBuffer);
+ mState.mExecutable->mAtomicCounterBuffers.push_back(atomicCounterBuffer);
}
unsigned int transformFeedbackVaryingCount = stream.readInt<unsigned int>();
@@ -5384,7 +5416,7 @@ angle::Result Program::deserialize(const Context *context,
return angle::Result::Incomplete;
}
- ASSERT(mState.mLinkedTransformFeedbackVaryings.empty());
+ ASSERT(mState.mExecutable->mLinkedTransformFeedbackVaryings.empty());
for (unsigned int transformFeedbackVaryingIndex = 0;
transformFeedbackVaryingIndex < transformFeedbackVaryingCount;
++transformFeedbackVaryingIndex)
@@ -5396,31 +5428,31 @@ angle::Result Program::deserialize(const Context *context,
GLuint arrayIndex = stream.readInt<GLuint>();
- mState.mLinkedTransformFeedbackVaryings.emplace_back(varying, arrayIndex);
+ mState.mExecutable->mLinkedTransformFeedbackVaryings.emplace_back(varying, arrayIndex);
}
- stream.readInt(&mState.mTransformFeedbackBufferMode);
+ stream.readInt(&mState.mExecutable->mTransformFeedbackBufferMode);
unsigned int outputCount = stream.readInt<unsigned int>();
- ASSERT(mState.mOutputVariables.empty());
+ ASSERT(mState.mExecutable->getOutputVariables().empty());
for (unsigned int outputIndex = 0; outputIndex < outputCount; ++outputIndex)
{
sh::ShaderVariable output;
LoadShaderVar(&stream, &output);
output.location = stream.readInt<int>();
output.index = stream.readInt<int>();
- mState.mOutputVariables.push_back(output);
+ mState.mExecutable->mOutputVariables.push_back(output);
}
unsigned int outputVarCount = stream.readInt<unsigned int>();
- ASSERT(mState.mOutputLocations.empty());
+ ASSERT(mState.mExecutable->getOutputLocations().empty());
for (unsigned int outputIndex = 0; outputIndex < outputVarCount; ++outputIndex)
{
VariableLocation locationData;
stream.readInt(&locationData.arrayIndex);
stream.readInt(&locationData.index);
stream.readBool(&locationData.ignored);
- mState.mOutputLocations.push_back(locationData);
+ mState.mExecutable->mOutputLocations.push_back(locationData);
}
unsigned int secondaryOutputVarCount = stream.readInt<unsigned int>();
@@ -5448,25 +5480,27 @@ angle::Result Program::deserialize(const Context *context,
unsigned int defaultUniformRangeLow = stream.readInt<unsigned int>();
unsigned int defaultUniformRangeHigh = stream.readInt<unsigned int>();
- mState.mDefaultUniformRange = RangeUI(defaultUniformRangeLow, defaultUniformRangeHigh);
+ mState.mExecutable->mDefaultUniformRange =
+ RangeUI(defaultUniformRangeLow, defaultUniformRangeHigh);
- unsigned int samplerRangeLow = stream.readInt<unsigned int>();
- unsigned int samplerRangeHigh = stream.readInt<unsigned int>();
- mState.mSamplerUniformRange = RangeUI(samplerRangeLow, samplerRangeHigh);
- unsigned int samplerCount = stream.readInt<unsigned int>();
+ unsigned int samplerRangeLow = stream.readInt<unsigned int>();
+ unsigned int samplerRangeHigh = stream.readInt<unsigned int>();
+ mState.mExecutable->mSamplerUniformRange = RangeUI(samplerRangeLow, samplerRangeHigh);
+ unsigned int samplerCount = stream.readInt<unsigned int>();
for (unsigned int samplerIndex = 0; samplerIndex < samplerCount; ++samplerIndex)
{
TextureType textureType = stream.readEnum<TextureType>();
SamplerFormat format = stream.readEnum<SamplerFormat>();
size_t bindingCount = stream.readInt<size_t>();
bool unreferenced = stream.readBool();
- mState.mSamplerBindings.emplace_back(textureType, format, bindingCount, unreferenced);
+ mState.mExecutable->mSamplerBindings.emplace_back(textureType, format, bindingCount,
+ unreferenced);
}
- unsigned int imageRangeLow = stream.readInt<unsigned int>();
- unsigned int imageRangeHigh = stream.readInt<unsigned int>();
- mState.mImageUniformRange = RangeUI(imageRangeLow, imageRangeHigh);
- unsigned int imageBindingCount = stream.readInt<unsigned int>();
+ unsigned int imageRangeLow = stream.readInt<unsigned int>();
+ unsigned int imageRangeHigh = stream.readInt<unsigned int>();
+ mState.mExecutable->mImageUniformRange = RangeUI(imageRangeLow, imageRangeHigh);
+ unsigned int imageBindingCount = stream.readInt<unsigned int>();
for (unsigned int imageIndex = 0; imageIndex < imageBindingCount; ++imageIndex)
{
unsigned int elementCount = stream.readInt<unsigned int>();
@@ -5475,7 +5509,7 @@ angle::Result Program::deserialize(const Context *context,
{
imageBinding.boundImageUnits[i] = stream.readInt<unsigned int>();
}
- mState.mImageBindings.emplace_back(imageBinding);
+ mState.mExecutable->mImageBindings.emplace_back(imageBinding);
}
unsigned int atomicCounterRangeLow = stream.readInt<unsigned int>();
@@ -5490,10 +5524,10 @@ angle::Result Program::deserialize(const Context *context,
mState.updateTransformFeedbackStrides();
}
- mState.mExecutable.load(&stream);
+ mState.mExecutable->load(&stream);
postResolveLink(context);
- mState.mExecutable.updateCanDrawWith();
+ mState.mExecutable->updateCanDrawWith();
return angle::Result::Continue;
}
@@ -5501,7 +5535,7 @@ angle::Result Program::deserialize(const Context *context,
void Program::postResolveLink(const gl::Context *context)
{
mState.updateActiveSamplers();
- mState.updateActiveImages();
+ mState.mExecutable->updateActiveImages(getExecutable());
setUniformValuesFromBindingQualifiers();
@@ -5517,4 +5551,17 @@ void Program::postResolveLink(const gl::Context *context)
}
}
+void Program::fillProgramStateMap(ShaderMap<const ProgramState *> *programStatesOut)
+{
+ for (ShaderType shaderType : AllShaderTypes())
+ {
+ (*programStatesOut)[shaderType] = nullptr;
+ if (mState.getExecutable().hasLinkedShaderStage(shaderType) ||
+ mState.getAttachedShader(shaderType))
+ {
+ (*programStatesOut)[shaderType] = &mState;
+ }
+ }
+}
+
} // namespace gl
diff --git a/chromium/third_party/angle/src/libANGLE/Program.h b/chromium/third_party/angle/src/libANGLE/Program.h
index 7dedf32339b..41a57e09231 100644
--- a/chromium/third_party/angle/src/libANGLE/Program.h
+++ b/chromium/third_party/angle/src/libANGLE/Program.h
@@ -51,6 +51,7 @@ struct Caps;
class Context;
struct Extensions;
class Framebuffer;
+class ProgramExecutable;
class Shader;
class ShaderProgramManager;
class State;
@@ -151,45 +152,6 @@ struct BindingInfo
bool valid;
};
-// A varying with tranform feedback enabled. If it's an array, either the whole array or one of its
-// elements specified by 'arrayIndex' can set to be enabled.
-struct TransformFeedbackVarying : public sh::ShaderVariable
-{
- TransformFeedbackVarying(const sh::ShaderVariable &varyingIn, GLuint arrayIndexIn)
- : sh::ShaderVariable(varyingIn), arrayIndex(arrayIndexIn)
- {
- ASSERT(!isArrayOfArrays());
- }
-
- TransformFeedbackVarying(const sh::ShaderVariable &field, const sh::ShaderVariable &parent)
- : arrayIndex(GL_INVALID_INDEX)
- {
- sh::ShaderVariable *thisVar = this;
- *thisVar = field;
- interpolation = parent.interpolation;
- isInvariant = parent.isInvariant;
- name = parent.name + "." + name;
- mappedName = parent.mappedName + "." + mappedName;
- }
-
- std::string nameWithArrayIndex() const
- {
- std::stringstream fullNameStr;
- fullNameStr << name;
- if (arrayIndex != GL_INVALID_INDEX)
- {
- fullNameStr << "[" << arrayIndex << "]";
- }
- return fullNameStr.str();
- }
- GLsizei size() const
- {
- return (isArray() && arrayIndex == GL_INVALID_INDEX ? getOutermostArraySize() : 1);
- }
-
- GLuint arrayIndex;
-};
-
struct ProgramBinding
{
ProgramBinding() : location(GL_INVALID_INDEX), aliased(false) {}
@@ -252,61 +214,77 @@ class ProgramState final : angle::NonCopyable
{
return mTransformFeedbackVaryingNames;
}
- GLint getTransformFeedbackBufferMode() const { return mTransformFeedbackBufferMode; }
+ GLint getTransformFeedbackBufferMode() const
+ {
+ return mExecutable->getTransformFeedbackBufferMode();
+ }
GLuint getUniformBlockBinding(GLuint uniformBlockIndex) const
{
- ASSERT(uniformBlockIndex < mUniformBlocks.size());
- return mUniformBlocks[uniformBlockIndex].binding;
+ return mExecutable->getUniformBlockBinding(uniformBlockIndex);
}
GLuint getShaderStorageBlockBinding(GLuint blockIndex) const
{
- ASSERT(blockIndex < mShaderStorageBlocks.size());
- return mShaderStorageBlocks[blockIndex].binding;
+ return mExecutable->getShaderStorageBlockBinding(blockIndex);
}
const UniformBlockBindingMask &getActiveUniformBlockBindingsMask() const
{
return mActiveUniformBlockBindings;
}
- const std::vector<sh::ShaderVariable> &getProgramInputs() const { return mProgramInputs; }
+ const std::vector<sh::ShaderVariable> &getProgramInputs() const
+ {
+ return mExecutable->getProgramInputs();
+ }
DrawBufferMask getActiveOutputVariables() const { return mActiveOutputVariables; }
- const std::vector<sh::ShaderVariable> &getOutputVariables() const { return mOutputVariables; }
- const std::vector<VariableLocation> &getOutputLocations() const { return mOutputLocations; }
+ const std::vector<sh::ShaderVariable> &getOutputVariables() const
+ {
+ return mExecutable->getOutputVariables();
+ }
+ const std::vector<VariableLocation> &getOutputLocations() const
+ {
+ return mExecutable->getOutputLocations();
+ }
const std::vector<VariableLocation> &getSecondaryOutputLocations() const
{
return mSecondaryOutputLocations;
}
- const std::vector<LinkedUniform> &getUniforms() const { return mUniforms; }
+ const std::vector<LinkedUniform> &getUniforms() const { return mExecutable->getUniforms(); }
const std::vector<VariableLocation> &getUniformLocations() const { return mUniformLocations; }
- const std::vector<InterfaceBlock> &getUniformBlocks() const { return mUniformBlocks; }
+ const std::vector<InterfaceBlock> &getUniformBlocks() const
+ {
+ return mExecutable->getUniformBlocks();
+ }
const std::vector<InterfaceBlock> &getShaderStorageBlocks() const
{
- return mShaderStorageBlocks;
+ return mExecutable->getShaderStorageBlocks();
}
const std::vector<BufferVariable> &getBufferVariables() const { return mBufferVariables; }
- const std::vector<SamplerBinding> &getSamplerBindings() const { return mSamplerBindings; }
- const std::vector<ImageBinding> &getImageBindings() const { return mImageBindings; }
+ const std::vector<SamplerBinding> &getSamplerBindings() const
+ {
+ return mExecutable->getSamplerBindings();
+ }
+ const std::vector<ImageBinding> &getImageBindings() const
+ {
+ return mExecutable->getImageBindings();
+ }
const sh::WorkGroupSize &getComputeShaderLocalSize() const { return mComputeShaderLocalSize; }
- const RangeUI &getDefaultUniformRange() const { return mDefaultUniformRange; }
- const RangeUI &getSamplerUniformRange() const { return mSamplerUniformRange; }
- const RangeUI &getImageUniformRange() const { return mImageUniformRange; }
+ const RangeUI &getDefaultUniformRange() const { return mExecutable->getDefaultUniformRange(); }
+ const RangeUI &getSamplerUniformRange() const { return mExecutable->getSamplerUniformRange(); }
+ const RangeUI &getImageUniformRange() const { return mExecutable->getImageUniformRange(); }
const RangeUI &getAtomicCounterUniformRange() const { return mAtomicCounterUniformRange; }
const std::vector<TransformFeedbackVarying> &getLinkedTransformFeedbackVaryings() const
{
- return mLinkedTransformFeedbackVaryings;
+ return mExecutable->getLinkedTransformFeedbackVaryings();
}
const std::vector<GLsizei> &getTransformFeedbackStrides() const
{
- return mTransformFeedbackStrides;
+ return mExecutable->getTransformFeedbackStrides();
}
const std::vector<AtomicCounterBuffer> &getAtomicCounterBuffers() const
{
- return mAtomicCounterBuffers;
+ return mExecutable->getAtomicCounterBuffers();
}
- // Count the number of uniform and storage buffer declarations, counting arrays as one.
- size_t getTransformFeedbackBufferCount() const;
-
GLuint getUniformIndexFromName(const std::string &name) const;
GLuint getUniformIndexFromLocation(UniformLocation location) const;
Optional<GLuint> getSamplerIndex(UniformLocation location) const;
@@ -315,7 +293,6 @@ class ProgramState final : angle::NonCopyable
GLuint getUniformIndexFromSamplerIndex(GLuint samplerIndex) const;
bool isImageUniformIndex(GLuint index) const;
GLuint getImageIndexFromUniformIndex(GLuint uniformIndex) const;
- GLuint getUniformIndexFromImageIndex(GLuint imageIndex) const;
GLuint getAttributeLocation(const std::string &name) const;
GLuint getBufferVariableIndexFromName(const std::string &name) const;
@@ -333,19 +310,18 @@ class ProgramState final : angle::NonCopyable
return mUniformLocationBindings;
}
- const ProgramExecutable &getProgramExecutable() const { return mExecutable; }
- ProgramExecutable &getProgramExecutable() { return mExecutable; }
-
- bool hasDefaultUniforms() const { return !getDefaultUniformRange().empty(); }
- bool hasTextures() const { return !getSamplerBindings().empty(); }
- bool hasUniformBuffers() const { return !getUniformBlocks().empty(); }
- bool hasStorageBuffers() const { return !getShaderStorageBlocks().empty(); }
- bool hasAtomicCounterBuffers() const { return !getAtomicCounterBuffers().empty(); }
- bool hasImages() const { return !getImageBindings().empty(); }
- bool hasTransformFeedbackOutput() const
+ const ProgramExecutable &getExecutable() const
{
- return !getLinkedTransformFeedbackVaryings().empty();
+ ASSERT(mExecutable);
+ return *mExecutable;
}
+ ProgramExecutable &getExecutable()
+ {
+ ASSERT(mExecutable);
+ return *mExecutable;
+ }
+
+ bool hasImages() const { return !getImageBindings().empty(); }
bool hasEarlyFragmentTestsOptimization() const { return mEarlyFramentTestsOptimization; }
bool isShaderMarkedForDetach(gl::ShaderType shaderType) const
@@ -355,7 +331,7 @@ class ProgramState final : angle::NonCopyable
// A Program can only either be graphics or compute, but never both, so it
// can answer isCompute() based on which shaders it has.
- bool isCompute() const { return mExecutable.hasLinkedShaderStage(ShaderType::Compute); }
+ bool isCompute() const { return mExecutable->hasLinkedShaderStage(ShaderType::Compute); }
private:
friend class MemoryProgramCache;
@@ -363,7 +339,6 @@ class ProgramState final : angle::NonCopyable
void updateTransformFeedbackStrides();
void updateActiveSamplers();
- void updateActiveImages();
void updateProgramInterfaceInputs();
void updateProgramInterfaceOutputs();
@@ -379,49 +354,14 @@ class ProgramState final : angle::NonCopyable
uint32_t mLocationsUsedForXfbExtension;
std::vector<std::string> mTransformFeedbackVaryingNames;
- std::vector<TransformFeedbackVarying> mLinkedTransformFeedbackVaryings;
- GLenum mTransformFeedbackBufferMode;
// For faster iteration on the blocks currently being bound.
UniformBlockBindingMask mActiveUniformBlockBindings;
- // Vertex attributes, Fragment input varyings, etc.
- std::vector<sh::ShaderVariable> mProgramInputs;
-
- // Uniforms are sorted in order:
- // 1. Non-opaque uniforms
- // 2. Sampler uniforms
- // 3. Image uniforms
- // 4. Atomic counter uniforms
- // 5. Uniform block uniforms
- // This makes opaque uniform validation easier, since we don't need a separate list.
- // For generating the entries and naming them we follow the spec: GLES 3.1 November 2016 section
- // 7.3.1.1 Naming Active Resources. There's a separate entry for each struct member and each
- // inner array of an array of arrays. Names and mapped names of uniforms that are arrays include
- // [0] in the end. This makes implementation of queries simpler.
- std::vector<LinkedUniform> mUniforms;
-
std::vector<VariableLocation> mUniformLocations;
- std::vector<InterfaceBlock> mUniformBlocks;
std::vector<BufferVariable> mBufferVariables;
- std::vector<InterfaceBlock> mShaderStorageBlocks;
- std::vector<AtomicCounterBuffer> mAtomicCounterBuffers;
- RangeUI mDefaultUniformRange;
- RangeUI mSamplerUniformRange;
- RangeUI mImageUniformRange;
RangeUI mAtomicCounterUniformRange;
- // An array of the samplers that are used by the program
- std::vector<SamplerBinding> mSamplerBindings;
-
- // An array of the images that are used by the program
- std::vector<ImageBinding> mImageBindings;
-
- // Names and mapped names of output variables that are arrays include [0] in the end, similarly
- // to uniforms.
- std::vector<sh::ShaderVariable> mOutputVariables;
- std::vector<VariableLocation> mOutputLocations;
-
// EXT_blend_func_extended secondary outputs (ones with index 1) in ESSL 3.00 shaders.
std::vector<VariableLocation> mSecondaryOutputLocations;
@@ -455,14 +395,11 @@ class ProgramState final : angle::NonCopyable
GLint mCachedBaseVertex;
GLuint mCachedBaseInstance;
- // The size of the data written to each transform feedback buffer per vertex.
- std::vector<GLsizei> mTransformFeedbackStrides;
-
// Note that this has nothing to do with binding layout qualifiers that can be set for some
// uniforms in GLES3.1+. It is used to pre-set the location of uniforms.
ProgramAliasedBindings mUniformLocationBindings;
- ProgramExecutable mExecutable;
+ std::shared_ptr<ProgramExecutable> mExecutable;
};
struct ProgramVaryingRef
@@ -496,7 +433,7 @@ class Program final : angle::NonCopyable, public LabeledObject
ANGLE_INLINE rx::ProgramImpl *getImplementation() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mProgram;
}
@@ -514,6 +451,7 @@ class Program final : angle::NonCopyable, public LabeledObject
void bindFragmentOutputIndex(GLuint index, const char *name);
angle::Result linkMergedVaryings(const Context *context,
+ const ProgramExecutable &executable,
const ProgramMergedVaryings &mergedVaryings);
// KHR_parallel_shader_compile
@@ -526,7 +464,7 @@ class Program final : angle::NonCopyable, public LabeledObject
bool isLinked() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mLinked;
}
@@ -565,7 +503,7 @@ class Program final : angle::NonCopyable, public LabeledObject
const std::vector<GLenum> &getOutputVariableTypes() const;
DrawBufferMask getActiveOutputVariables() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mActiveOutputVariables;
}
@@ -587,15 +525,14 @@ class Program final : angle::NonCopyable, public LabeledObject
const std::vector<VariableLocation> &getUniformLocations() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.mUniformLocations;
}
const LinkedUniform &getUniformByIndex(GLuint index) const
{
- ASSERT(mLinkResolved);
- ASSERT(index < static_cast<size_t>(mState.mUniforms.size()));
- return mState.mUniforms[index];
+ ASSERT(!mLinkingState);
+ return mState.mExecutable->getUniformByIndex(index);
}
const BufferVariable &getBufferVariableByIndex(GLuint index) const;
@@ -672,20 +609,20 @@ class Program final : angle::NonCopyable, public LabeledObject
ANGLE_INLINE GLuint getActiveUniformBlockCount() const
{
- ASSERT(mLinkResolved);
- return static_cast<GLuint>(mState.mUniformBlocks.size());
+ ASSERT(!mLinkingState);
+ return static_cast<GLuint>(mState.mExecutable->getActiveUniformBlockCount());
}
ANGLE_INLINE GLuint getActiveAtomicCounterBufferCount() const
{
- ASSERT(mLinkResolved);
- return static_cast<GLuint>(mState.mAtomicCounterBuffers.size());
+ ASSERT(!mLinkingState);
+ return static_cast<GLuint>(mState.mExecutable->getActiveAtomicCounterBufferCount());
}
ANGLE_INLINE GLuint getActiveShaderStorageBlockCount() const
{
- ASSERT(mLinkResolved);
- return static_cast<GLuint>(mState.mShaderStorageBlocks.size());
+ ASSERT(!mLinkingState);
+ return static_cast<GLuint>(mState.mExecutable->getActiveShaderStorageBlockCount());
}
GLint getActiveUniformBlockMaxNameLength() const;
@@ -726,13 +663,13 @@ class Program final : angle::NonCopyable, public LabeledObject
ANGLE_INLINE void addRef()
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
mRefCount++;
}
ANGLE_INLINE void release(const Context *context)
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
mRefCount--;
if (mRefCount == 0 && mDeleteStatus)
@@ -764,11 +701,10 @@ class Program final : angle::NonCopyable, public LabeledObject
Optional<bool> getCachedValidateSamplersResult() { return mCachedValidateSamplersResult; }
void setCachedValidateSamplersResult(bool result) { mCachedValidateSamplersResult = result; }
- const std::vector<SamplerBinding> &getSamplerBindings() const;
const std::vector<ImageBinding> &getImageBindings() const
{
- ASSERT(mLinkResolved);
- return mState.mImageBindings;
+ ASSERT(!mLinkingState);
+ return mState.mExecutable->getImageBindings();
}
const sh::WorkGroupSize &getComputeShaderLocalSize() const;
PrimitiveMode getGeometryShaderInputPrimitiveType() const;
@@ -778,7 +714,7 @@ class Program final : angle::NonCopyable, public LabeledObject
const ProgramState &getState() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState;
}
@@ -817,7 +753,7 @@ class Program final : angle::NonCopyable, public LabeledObject
int getNumViews() const
{
- ASSERT(mLinkResolved);
+ ASSERT(!mLinkingState);
return mState.getNumViews();
}
@@ -844,7 +780,7 @@ class Program final : angle::NonCopyable, public LabeledObject
// Try to resolve linking. Inlined to make sure its overhead is as low as possible.
void resolveLink(const Context *context)
{
- if (!mLinkResolved)
+ if (mLinkingState)
{
resolveLinkImpl(context);
}
@@ -852,39 +788,42 @@ class Program final : angle::NonCopyable, public LabeledObject
ANGLE_INLINE bool hasAnyDirtyBit() const { return mDirtyBits.any(); }
- gl::ProgramLinkedResources &getResources() const
- {
- ASSERT(mResources);
- return *mResources;
- }
-
// Writes a program's binary to the output memory buffer.
angle::Result serialize(const Context *context, angle::MemoryBuffer *binaryOut) const;
rx::Serial serial() const { return mSerial; }
- const ProgramExecutable &getExecutable() const { return mState.getProgramExecutable(); }
- ProgramExecutable &getExecutable() { return mState.getProgramExecutable(); }
+ const ProgramExecutable &getExecutable() const { return mState.getExecutable(); }
+ ProgramExecutable &getExecutable() { return mState.getExecutable(); }
const char *validateDrawStates(const State &state, const gl::Extensions &extensions) const;
static void getFilteredVaryings(const std::vector<sh::ShaderVariable> &varyings,
std::vector<const sh::ShaderVariable *> *filteredVaryingsOut);
- static bool doShaderVariablesMatch(gl::Shader *generatingShader,
- gl::Shader *consumingShader,
+ static bool doShaderVariablesMatch(int outputShaderVersion,
+ ShaderType outputShaderType,
+ ShaderType inputShaderType,
const sh::ShaderVariable &input,
const sh::ShaderVariable &output,
bool validateGeometryShaderInputs,
bool isSeparable,
gl::InfoLog &infoLog);
- static bool linkValidateShaderInterfaceMatching(Shader *generatingShader,
- Shader *consumingShader,
- bool isSeparable,
- InfoLog &infoLog);
- static bool linkValidateBuiltInVaryings(Shader *vertexShader,
- Shader *fragmentShader,
+ static bool linkValidateShaderInterfaceMatching(
+ const std::vector<sh::ShaderVariable> &outputVaryings,
+ const std::vector<sh::ShaderVariable> &inputVaryings,
+ ShaderType outputShaderType,
+ ShaderType inputShaderType,
+ int outputShaderVersion,
+ int inputShaderVersion,
+ bool isSeparable,
+ InfoLog &infoLog);
+ static bool linkValidateBuiltInVaryings(const std::vector<sh::ShaderVariable> &vertexVaryings,
+ const std::vector<sh::ShaderVariable> &fragmentVaryings,
+ int vertexShaderVersion,
InfoLog &infoLog);
+ void fillProgramStateMap(ShaderMap<const ProgramState *> *programStatesOut);
+
private:
struct LinkingState;
@@ -896,6 +835,8 @@ class Program final : angle::NonCopyable, public LabeledObject
void unlink();
void deleteSelf(const Context *context);
+ angle::Result linkImpl(const Context *context);
+
bool linkValidateShaders(InfoLog &infoLog);
bool linkAttributes(const Context *context, InfoLog &infoLog);
bool linkInterfaceBlocks(const Caps &caps,
@@ -1001,7 +942,6 @@ class Program final : angle::NonCopyable, public LabeledObject
ProgramAliasedBindings mFragmentOutputIndexes;
bool mLinked;
- bool mLinkResolved;
std::unique_ptr<LinkingState> mLinkingState;
bool mDeleteStatus; // Flag to indicate that the program can be deleted when no longer in use
@@ -1014,9 +954,6 @@ class Program final : angle::NonCopyable, public LabeledObject
Optional<bool> mCachedValidateSamplersResult;
DirtyBits mDirtyBits;
-
- // TODO: http://anglebug.com/4514: Remove
- std::unique_ptr<gl::ProgramLinkedResources> mResources;
};
} // namespace gl
diff --git a/chromium/third_party/angle/src/libANGLE/ProgramExecutable.cpp b/chromium/third_party/angle/src/libANGLE/ProgramExecutable.cpp
index e09a64baf43..b7e16f4f0b4 100644
--- a/chromium/third_party/angle/src/libANGLE/ProgramExecutable.cpp
+++ b/chromium/third_party/angle/src/libANGLE/ProgramExecutable.cpp
@@ -17,18 +17,77 @@ namespace gl
{
ProgramExecutable::ProgramExecutable()
- : mProgramState(nullptr),
- mProgramPipelineState(nullptr),
- mMaxActiveAttribLocation(0),
+ : mMaxActiveAttribLocation(0),
mAttributesTypeMask(0),
mAttributesMask(0),
mActiveSamplersMask(0),
mActiveSamplerRefCounts{},
mActiveImagesMask(0),
- mCanDrawWith(false)
+ mCanDrawWith(false),
+ mTransformFeedbackBufferMode(GL_INTERLEAVED_ATTRIBS),
+ mDefaultUniformRange(0, 0),
+ mSamplerUniformRange(0, 0),
+ mImageUniformRange(0, 0),
+ mPipelineHasGraphicsUniformBuffers(false),
+ mPipelineHasComputeUniformBuffers(false),
+ mPipelineHasGraphicsStorageBuffers(false),
+ mPipelineHasComputeStorageBuffers(false),
+ mPipelineHasGraphicsAtomicCounterBuffers(false),
+ mPipelineHasComputeAtomicCounterBuffers(false),
+ mPipelineHasGraphicsDefaultUniforms(false),
+ mPipelineHasComputeDefaultUniforms(false),
+ mPipelineHasGraphicsTextures(false),
+ mPipelineHasComputeTextures(false),
+ mPipelineHasGraphicsImages(false),
+ mPipelineHasComputeImages(false),
+ mIsCompute(false)
{
- mActiveSamplerTypes.fill(TextureType::InvalidEnum);
- mActiveSamplerFormats.fill(SamplerFormat::InvalidEnum);
+ reset();
+}
+
+ProgramExecutable::ProgramExecutable(const ProgramExecutable &other)
+ : mLinkedGraphicsShaderStages(other.mLinkedGraphicsShaderStages),
+ mLinkedComputeShaderStages(other.mLinkedComputeShaderStages),
+ mActiveAttribLocationsMask(other.mActiveAttribLocationsMask),
+ mMaxActiveAttribLocation(other.mMaxActiveAttribLocation),
+ mAttributesTypeMask(other.mAttributesTypeMask),
+ mAttributesMask(other.mAttributesMask),
+ mActiveSamplersMask(other.mActiveSamplersMask),
+ mActiveSamplerRefCounts(other.mActiveSamplerRefCounts),
+ mActiveSamplerTypes(other.mActiveSamplerTypes),
+ mActiveSamplerFormats(other.mActiveSamplerFormats),
+ mActiveSamplerShaderBits(other.mActiveSamplerShaderBits),
+ mActiveImagesMask(other.mActiveImagesMask),
+ mActiveImageShaderBits(other.mActiveImageShaderBits),
+ mCanDrawWith(other.mCanDrawWith),
+ mOutputVariables(other.mOutputVariables),
+ mOutputLocations(other.mOutputLocations),
+ mProgramInputs(other.mProgramInputs),
+ mLinkedTransformFeedbackVaryings(other.mLinkedTransformFeedbackVaryings),
+ mTransformFeedbackStrides(other.mTransformFeedbackStrides),
+ mTransformFeedbackBufferMode(other.mTransformFeedbackBufferMode),
+ mUniforms(other.mUniforms),
+ mDefaultUniformRange(other.mDefaultUniformRange),
+ mSamplerUniformRange(other.mSamplerUniformRange),
+ mUniformBlocks(other.mUniformBlocks),
+ mAtomicCounterBuffers(other.mAtomicCounterBuffers),
+ mImageUniformRange(other.mImageUniformRange),
+ mShaderStorageBlocks(other.mShaderStorageBlocks),
+ mPipelineHasGraphicsUniformBuffers(other.mPipelineHasGraphicsUniformBuffers),
+ mPipelineHasComputeUniformBuffers(other.mPipelineHasComputeUniformBuffers),
+ mPipelineHasGraphicsStorageBuffers(other.mPipelineHasGraphicsStorageBuffers),
+ mPipelineHasComputeStorageBuffers(other.mPipelineHasComputeStorageBuffers),
+ mPipelineHasGraphicsAtomicCounterBuffers(other.mPipelineHasGraphicsAtomicCounterBuffers),
+ mPipelineHasComputeAtomicCounterBuffers(other.mPipelineHasComputeAtomicCounterBuffers),
+ mPipelineHasGraphicsDefaultUniforms(other.mPipelineHasGraphicsDefaultUniforms),
+ mPipelineHasComputeDefaultUniforms(other.mPipelineHasComputeDefaultUniforms),
+ mPipelineHasGraphicsTextures(other.mPipelineHasGraphicsTextures),
+ mPipelineHasComputeTextures(other.mPipelineHasComputeTextures),
+ mPipelineHasGraphicsImages(other.mPipelineHasGraphicsImages),
+ mPipelineHasComputeImages(other.mPipelineHasComputeImages),
+ mIsCompute(other.mIsCompute)
+{
+ reset();
}
ProgramExecutable::~ProgramExecutable() = default;
@@ -47,6 +106,28 @@ void ProgramExecutable::reset()
mActiveSamplerFormats.fill(SamplerFormat::InvalidEnum);
mActiveImagesMask.reset();
+
+ mProgramInputs.clear();
+ mLinkedTransformFeedbackVaryings.clear();
+ mUniforms.clear();
+ mUniformBlocks.clear();
+ mShaderStorageBlocks.clear();
+ mAtomicCounterBuffers.clear();
+ mOutputVariables.clear();
+ mOutputLocations.clear();
+ mSamplerBindings.clear();
+ mImageBindings.clear();
+
+ mPipelineHasGraphicsUniformBuffers = false;
+ mPipelineHasComputeUniformBuffers = false;
+ mPipelineHasGraphicsStorageBuffers = false;
+ mPipelineHasComputeStorageBuffers = false;
+ mPipelineHasGraphicsAtomicCounterBuffers = false;
+ mPipelineHasComputeAtomicCounterBuffers = false;
+ mPipelineHasGraphicsDefaultUniforms = false;
+ mPipelineHasComputeDefaultUniforms = false;
+ mPipelineHasGraphicsTextures = false;
+ mPipelineHasComputeTextures = false;
}
void ProgramExecutable::load(gl::BinaryInputStream *stream)
@@ -61,6 +142,18 @@ void ProgramExecutable::load(gl::BinaryInputStream *stream)
mLinkedGraphicsShaderStages = ShaderBitSet(stream->readInt<uint8_t>());
mLinkedComputeShaderStages = ShaderBitSet(stream->readInt<uint8_t>());
+ mIsCompute = stream->readBool();
+
+ mPipelineHasGraphicsUniformBuffers = stream->readBool();
+ mPipelineHasComputeUniformBuffers = stream->readBool();
+ mPipelineHasGraphicsStorageBuffers = stream->readBool();
+ mPipelineHasComputeStorageBuffers = stream->readBool();
+ mPipelineHasGraphicsAtomicCounterBuffers = stream->readBool();
+ mPipelineHasComputeAtomicCounterBuffers = stream->readBool();
+ mPipelineHasGraphicsDefaultUniforms = stream->readBool();
+ mPipelineHasComputeDefaultUniforms = stream->readBool();
+ mPipelineHasGraphicsTextures = stream->readBool();
+ mPipelineHasComputeTextures = stream->readBool();
}
void ProgramExecutable::save(gl::BinaryOutputStream *stream) const
@@ -74,46 +167,18 @@ void ProgramExecutable::save(gl::BinaryOutputStream *stream) const
stream->writeInt(mLinkedGraphicsShaderStages.bits());
stream->writeInt(mLinkedComputeShaderStages.bits());
-}
-
-const ProgramState *ProgramExecutable::getProgramState(ShaderType shaderType) const
-{
- if (mProgramState &&
- (hasLinkedShaderStage(shaderType) || mProgramState->getAttachedShader(shaderType)))
- {
- return mProgramState;
- }
- else if (mProgramPipelineState && (hasLinkedShaderStage(shaderType) ||
- mProgramPipelineState->getShaderProgram(shaderType)))
- {
- return &mProgramPipelineState->getShaderProgram(shaderType)->getState();
- }
-
- return nullptr;
-}
-
-bool ProgramExecutable::isCompute() const
-{
- ASSERT(mProgramState || mProgramPipelineState);
-
- if (mProgramState)
- {
- return mProgramState->isCompute();
- }
-
- return mProgramPipelineState->isCompute();
-}
-
-void ProgramExecutable::setIsCompute(bool isComputeIn)
-{
- // A Program can only either be graphics or compute, but never both, so it can answer
- // isCompute() based on which shaders it has. However, a PPO can have both graphics and compute
- // programs attached, so we don't know if the PPO is a 'graphics' or 'compute' PPO until the
- // actual draw/dispatch call, which is why only PPOs need to record the type of call here.
- if (mProgramPipelineState)
- {
- mProgramPipelineState->setIsCompute(isComputeIn);
- }
+ stream->writeInt(static_cast<bool>(mIsCompute));
+
+ stream->writeInt(static_cast<bool>(mPipelineHasGraphicsUniformBuffers));
+ stream->writeInt(static_cast<bool>(mPipelineHasComputeUniformBuffers));
+ stream->writeInt(static_cast<bool>(mPipelineHasGraphicsStorageBuffers));
+ stream->writeInt(static_cast<bool>(mPipelineHasComputeStorageBuffers));
+ stream->writeInt(static_cast<bool>(mPipelineHasGraphicsAtomicCounterBuffers));
+ stream->writeInt(static_cast<bool>(mPipelineHasComputeAtomicCounterBuffers));
+ stream->writeInt(static_cast<bool>(mPipelineHasGraphicsDefaultUniforms));
+ stream->writeInt(static_cast<bool>(mPipelineHasComputeDefaultUniforms));
+ stream->writeInt(static_cast<bool>(mPipelineHasGraphicsTextures));
+ stream->writeInt(static_cast<bool>(mPipelineHasComputeTextures));
}
int ProgramExecutable::getInfoLogLength() const
@@ -134,7 +199,7 @@ std::string ProgramExecutable::getInfoLogString() const
bool ProgramExecutable::isAttribLocationActive(size_t attribLocation) const
{
// TODO(timvp): http://anglebug.com/3570: Enable this assert here somehow.
- // ASSERT(mLinkResolved);
+ // ASSERT(!mLinkingState);
ASSERT(attribLocation < mActiveAttribLocationsMask.size());
return mActiveAttribLocationsMask[attribLocation];
}
@@ -142,98 +207,53 @@ bool ProgramExecutable::isAttribLocationActive(size_t attribLocation) const
AttributesMask ProgramExecutable::getAttributesMask() const
{
// TODO(timvp): http://anglebug.com/3570: Enable this assert here somehow.
- // ASSERT(mLinkResolved);
+ // ASSERT(!mLinkingState);
return mAttributesMask;
}
bool ProgramExecutable::hasDefaultUniforms() const
{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->hasDefaultUniforms();
- }
-
- return mProgramPipelineState->hasDefaultUniforms();
+ return !getDefaultUniformRange().empty() ||
+ (isCompute() ? mPipelineHasComputeDefaultUniforms : mPipelineHasGraphicsDefaultUniforms);
}
bool ProgramExecutable::hasTextures() const
{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->hasTextures();
- }
-
- return mProgramPipelineState->hasTextures();
+ return !getSamplerBindings().empty() ||
+ (isCompute() ? mPipelineHasComputeTextures : mPipelineHasGraphicsTextures);
}
+// TODO: http://anglebug.com/3570: Remove mHas*UniformBuffers once PPO's have valid data in
+// mUniformBlocks
bool ProgramExecutable::hasUniformBuffers() const
{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->hasUniformBuffers();
- }
-
- return mProgramPipelineState->hasUniformBuffers();
+ return !getUniformBlocks().empty() ||
+ (isCompute() ? mPipelineHasComputeUniformBuffers : mPipelineHasGraphicsUniformBuffers);
}
bool ProgramExecutable::hasStorageBuffers() const
{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->hasStorageBuffers();
- }
-
- return mProgramPipelineState->hasStorageBuffers();
+ return !getShaderStorageBlocks().empty() ||
+ (isCompute() ? mPipelineHasComputeStorageBuffers : mPipelineHasGraphicsStorageBuffers);
}
bool ProgramExecutable::hasAtomicCounterBuffers() const
{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->hasAtomicCounterBuffers();
- }
-
- return mProgramPipelineState->hasAtomicCounterBuffers();
+ return !getAtomicCounterBuffers().empty() ||
+ (isCompute() ? mPipelineHasComputeAtomicCounterBuffers
+ : mPipelineHasGraphicsAtomicCounterBuffers);
}
bool ProgramExecutable::hasImages() const
{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->hasImages();
- }
-
- return mProgramPipelineState->hasImages();
-}
-
-bool ProgramExecutable::hasTransformFeedbackOutput() const
-{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->hasTransformFeedbackOutput();
- }
-
- return mProgramPipelineState->hasTransformFeedbackOutput();
+ return !getImageBindings().empty() ||
+ (isCompute() ? mPipelineHasComputeImages : mPipelineHasGraphicsImages);
}
-size_t ProgramExecutable::getTransformFeedbackBufferCount(const gl::State &glState) const
+GLuint ProgramExecutable::getUniformIndexFromImageIndex(GLuint imageIndex) const
{
- ASSERT(mProgramState || mProgramPipelineState);
- if (mProgramState)
- {
- return mProgramState->getTransformFeedbackBufferCount();
- }
-
- // TODO(timvp): http://anglebug.com/3570: Support program pipelines
-
- return 0;
+ ASSERT(imageIndex < mImageUniformRange.length());
+ return imageIndex + mImageUniformRange.low();
}
void ProgramExecutable::updateActiveSamplers(const ProgramState &programState)
@@ -273,25 +293,30 @@ void ProgramExecutable::updateActiveSamplers(const ProgramState &programState)
}
}
-void ProgramExecutable::updateActiveImages(std::vector<ImageBinding> &imageBindings)
+void ProgramExecutable::updateActiveImages(const ProgramExecutable &executable)
{
- const bool compute = isCompute() ? true : false;
- for (uint32_t imageIndex = 0; imageIndex < imageBindings.size(); ++imageIndex)
+ for (uint32_t imageIndex = 0; imageIndex < mImageBindings.size(); ++imageIndex)
{
- const gl::ImageBinding &imageBinding = imageBindings[imageIndex];
+ const gl::ImageBinding &imageBinding = mImageBindings[imageIndex];
if (imageBinding.unreferenced)
+ {
continue;
+ }
- uint32_t uniformIndex = mProgramState->getUniformIndexFromImageIndex(imageIndex);
- const gl::LinkedUniform &imageUniform = mProgramState->getUniforms()[uniformIndex];
+ uint32_t uniformIndex = executable.getUniformIndexFromImageIndex(imageIndex);
+ const gl::LinkedUniform &imageUniform = executable.getUniforms()[uniformIndex];
const ShaderBitSet shaderBits = imageUniform.activeShaders();
for (GLint imageUnit : imageBinding.boundImageUnits)
{
mActiveImagesMask.set(imageUnit);
- if (compute)
+ if (isCompute())
+ {
mActiveImageShaderBits[imageUnit].set(gl::ShaderType::Compute);
+ }
else
+ {
mActiveImageShaderBits[imageUnit] = shaderBits;
+ }
}
}
}
@@ -340,7 +365,9 @@ void ProgramExecutable::setSamplerUniformTextureTypeAndFormat(
mActiveSamplerFormats[textureUnitIndex] = foundFormat;
}
-bool ProgramExecutable::linkValidateGlobalNames(InfoLog &infoLog) const
+bool ProgramExecutable::linkValidateGlobalNames(
+ InfoLog &infoLog,
+ const ShaderMap<const ProgramState *> &programStates) const
{
std::unordered_map<std::string, const sh::ShaderVariable *> uniformMap;
using BlockAndFieldPair = std::pair<const sh::InterfaceBlock *, const sh::ShaderVariable *>;
@@ -348,7 +375,7 @@ bool ProgramExecutable::linkValidateGlobalNames(InfoLog &infoLog) const
for (ShaderType shaderType : kAllGraphicsShaderTypes)
{
- const ProgramState *programState = getProgramState(shaderType);
+ const ProgramState *programState = programStates[shaderType];
if (!programState)
{
continue;
@@ -428,7 +455,7 @@ bool ProgramExecutable::linkValidateGlobalNames(InfoLog &infoLog) const
}
// Validate no uniform names conflict with attribute names
- const ProgramState *programState = getProgramState(ShaderType::Vertex);
+ const ProgramState *programState = programStates[ShaderType::Vertex];
if (programState)
{
Shader *vertexShader = programState->getAttachedShader(ShaderType::Vertex);
@@ -465,4 +492,16 @@ void ProgramExecutable::updateCanDrawWith()
(hasLinkedShaderStage(ShaderType::Vertex) && hasLinkedShaderStage(ShaderType::Fragment));
}
+void ProgramExecutable::saveLinkedStateInfo(const ProgramState &state)
+{
+ for (ShaderType shaderType : getLinkedShaderStages())
+ {
+ Shader *shader = state.getAttachedShader(shaderType);
+ ASSERT(shader);
+ mLinkedOutputVaryings[shaderType] = shader->getOutputVaryings();
+ mLinkedInputVaryings[shaderType] = shader->getInputVaryings();
+ mLinkedShaderVersions[shaderType] = shader->getShaderVersion();
+ }
+}
+
} // namespace gl
diff --git a/chromium/third_party/angle/src/libANGLE/ProgramExecutable.h b/chromium/third_party/angle/src/libANGLE/ProgramExecutable.h
index e0717779cb2..344701058a6 100644
--- a/chromium/third_party/angle/src/libANGLE/ProgramExecutable.h
+++ b/chromium/third_party/angle/src/libANGLE/ProgramExecutable.h
@@ -12,6 +12,9 @@
#include "BinaryStream.h"
#include "libANGLE/Caps.h"
#include "libANGLE/InfoLog.h"
+#include "libANGLE/ProgramLinkedResources.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/Uniform.h"
#include "libANGLE/VaryingPacking.h"
#include "libANGLE/angletypes.h"
@@ -53,6 +56,45 @@ struct ImageBinding
bool unreferenced;
};
+// A varying with transform feedback enabled. If it's an array, either the whole array or one of its
+// elements specified by 'arrayIndex' can set to be enabled.
+struct TransformFeedbackVarying : public sh::ShaderVariable
+{
+ TransformFeedbackVarying(const sh::ShaderVariable &varyingIn, GLuint arrayIndexIn)
+ : sh::ShaderVariable(varyingIn), arrayIndex(arrayIndexIn)
+ {
+ ASSERT(!isArrayOfArrays());
+ }
+
+ TransformFeedbackVarying(const sh::ShaderVariable &field, const sh::ShaderVariable &parent)
+ : arrayIndex(GL_INVALID_INDEX)
+ {
+ sh::ShaderVariable *thisVar = this;
+ *thisVar = field;
+ interpolation = parent.interpolation;
+ isInvariant = parent.isInvariant;
+ name = parent.name + "." + name;
+ mappedName = parent.mappedName + "." + mappedName;
+ }
+
+ std::string nameWithArrayIndex() const
+ {
+ std::stringstream fullNameStr;
+ fullNameStr << name;
+ if (arrayIndex != GL_INVALID_INDEX)
+ {
+ fullNameStr << "[" << arrayIndex << "]";
+ }
+ return fullNameStr.str();
+ }
+ GLsizei size() const
+ {
+ return (isArray() && arrayIndex == GL_INVALID_INDEX ? getOutermostArraySize() : 1);
+ }
+
+ GLuint arrayIndex;
+};
+
class ProgramState;
class ProgramPipelineState;
@@ -60,6 +102,7 @@ class ProgramExecutable
{
public:
ProgramExecutable();
+ ProgramExecutable(const ProgramExecutable &other);
virtual ~ProgramExecutable();
void reset();
@@ -67,8 +110,6 @@ class ProgramExecutable
void save(gl::BinaryOutputStream *stream) const;
void load(gl::BinaryInputStream *stream);
- const ProgramState *getProgramState(ShaderType shaderType) const;
-
int getInfoLogLength() const;
InfoLog &getInfoLog() { return mInfoLog; }
void getInfoLog(GLsizei bufSize, GLsizei *length, char *infoLog) const;
@@ -108,7 +149,12 @@ class ProgramExecutable
return isCompute() ? mLinkedComputeShaderStages.count()
: mLinkedGraphicsShaderStages.count();
}
- bool isCompute() const;
+
+ // A PPO can have both graphics and compute programs attached, so
+ // we don't know if the PPO is a 'graphics' or 'compute' PPO until the
+ // actual draw/dispatch call.
+ bool isCompute() const { return mIsCompute; }
+ void setIsCompute(bool isCompute) { mIsCompute = isCompute; }
const AttributesMask &getActiveAttribLocationsMask() const
{
@@ -146,29 +192,96 @@ class ProgramExecutable
bool hasStorageBuffers() const;
bool hasAtomicCounterBuffers() const;
bool hasImages() const;
- bool hasTransformFeedbackOutput() const;
+ bool hasTransformFeedbackOutput() const
+ {
+ return !getLinkedTransformFeedbackVaryings().empty();
+ }
// Count the number of uniform and storage buffer declarations, counting arrays as one.
- size_t getTransformFeedbackBufferCount(const gl::State &glState) const;
+ size_t getTransformFeedbackBufferCount() const { return mTransformFeedbackStrides.size(); }
- bool linkValidateGlobalNames(InfoLog &infoLog) const;
+ bool linkValidateGlobalNames(InfoLog &infoLog,
+ const ShaderMap<const ProgramState *> &programStates) const;
- // TODO: http://anglebug.com/4520: Remove mProgramState/mProgramPipelineState
- void setProgramState(ProgramState *state)
+ void updateCanDrawWith();
+ bool hasVertexAndFragmentShader() const { return mCanDrawWith; }
+
+ const std::vector<sh::ShaderVariable> &getProgramInputs() const { return mProgramInputs; }
+ const std::vector<sh::ShaderVariable> &getOutputVariables() const { return mOutputVariables; }
+ const std::vector<VariableLocation> &getOutputLocations() const { return mOutputLocations; }
+ const std::vector<LinkedUniform> &getUniforms() const { return mUniforms; }
+ const std::vector<InterfaceBlock> &getUniformBlocks() const { return mUniformBlocks; }
+ const std::vector<SamplerBinding> &getSamplerBindings() const { return mSamplerBindings; }
+ const std::vector<ImageBinding> &getImageBindings() const { return mImageBindings; }
+ const RangeUI &getDefaultUniformRange() const { return mDefaultUniformRange; }
+ const RangeUI &getSamplerUniformRange() const { return mSamplerUniformRange; }
+ const RangeUI &getImageUniformRange() const { return mImageUniformRange; }
+ const std::vector<TransformFeedbackVarying> &getLinkedTransformFeedbackVaryings() const
+ {
+ return mLinkedTransformFeedbackVaryings;
+ }
+ GLint getTransformFeedbackBufferMode() const { return mTransformFeedbackBufferMode; }
+ GLuint getUniformBlockBinding(GLuint uniformBlockIndex) const
+ {
+ ASSERT(uniformBlockIndex < mUniformBlocks.size());
+ return mUniformBlocks[uniformBlockIndex].binding;
+ }
+ GLuint getShaderStorageBlockBinding(GLuint blockIndex) const
{
- ASSERT(!mProgramState && !mProgramPipelineState);
- mProgramState = state;
+ ASSERT(blockIndex < mShaderStorageBlocks.size());
+ return mShaderStorageBlocks[blockIndex].binding;
}
- void setProgramPipelineState(ProgramPipelineState *state)
+ const std::vector<GLsizei> &getTransformFeedbackStrides() const
{
- ASSERT(!mProgramState && !mProgramPipelineState);
- mProgramPipelineState = state;
+ return mTransformFeedbackStrides;
+ }
+ const std::vector<AtomicCounterBuffer> &getAtomicCounterBuffers() const
+ {
+ return mAtomicCounterBuffers;
+ }
+ const std::vector<InterfaceBlock> &getShaderStorageBlocks() const
+ {
+ return mShaderStorageBlocks;
+ }
+ const LinkedUniform &getUniformByIndex(GLuint index) const
+ {
+ ASSERT(index < static_cast<size_t>(mUniforms.size()));
+ return mUniforms[index];
}
- void setIsCompute(bool isComputeIn);
+ ANGLE_INLINE GLuint getActiveUniformBlockCount() const
+ {
+ return static_cast<GLuint>(mUniformBlocks.size());
+ }
- void updateCanDrawWith();
- bool hasVertexAndFragmentShader() const { return mCanDrawWith; }
+ ANGLE_INLINE GLuint getActiveAtomicCounterBufferCount() const
+ {
+ return static_cast<GLuint>(mAtomicCounterBuffers.size());
+ }
+
+ ANGLE_INLINE GLuint getActiveShaderStorageBlockCount() const
+ {
+ return static_cast<GLuint>(mShaderStorageBlocks.size());
+ }
+
+ GLuint getUniformIndexFromImageIndex(GLuint imageIndex) const;
+
+ gl::ProgramLinkedResources &getResources() const
+ {
+ ASSERT(mResources);
+ return *mResources;
+ }
+
+ void saveLinkedStateInfo(const ProgramState &state);
+ std::vector<sh::ShaderVariable> getLinkedOutputVaryings(ShaderType shaderType)
+ {
+ return mLinkedOutputVaryings[shaderType];
+ }
+ std::vector<sh::ShaderVariable> getLinkedInputVaryings(ShaderType shaderType)
+ {
+ return mLinkedInputVaryings[shaderType];
+ }
+ int getLinkedShaderVersion(ShaderType shaderType) { return mLinkedShaderVersions[shaderType]; }
private:
// TODO(timvp): http://anglebug.com/3570: Investigate removing these friend
@@ -178,16 +291,12 @@ class ProgramExecutable
friend class ProgramState;
void updateActiveSamplers(const ProgramState &programState);
- void updateActiveImages(std::vector<ImageBinding> &imageBindings);
+ void updateActiveImages(const ProgramExecutable &executable);
// Scans the sampler bindings for type conflicts with sampler 'textureUnitIndex'.
void setSamplerUniformTextureTypeAndFormat(size_t textureUnitIndex,
std::vector<SamplerBinding> &samplerBindings);
- // TODO: http://anglebug.com/4520: Remove mProgramState/mProgramPipelineState
- ProgramState *mProgramState;
- ProgramPipelineState *mProgramPipelineState;
-
InfoLog mInfoLog;
ShaderBitSet mLinkedGraphicsShaderStages;
@@ -211,6 +320,64 @@ class ProgramExecutable
ActiveTextureArray<ShaderBitSet> mActiveImageShaderBits;
bool mCanDrawWith;
+
+ // Names and mapped names of output variables that are arrays include [0] in the end, similarly
+ // to uniforms.
+ std::vector<sh::ShaderVariable> mOutputVariables;
+ std::vector<VariableLocation> mOutputLocations;
+ // Vertex attributes, Fragment input varyings, etc.
+ std::vector<sh::ShaderVariable> mProgramInputs;
+ std::vector<TransformFeedbackVarying> mLinkedTransformFeedbackVaryings;
+ // The size of the data written to each transform feedback buffer per vertex.
+ std::vector<GLsizei> mTransformFeedbackStrides;
+ GLenum mTransformFeedbackBufferMode;
+ // Uniforms are sorted in order:
+ // 1. Non-opaque uniforms
+ // 2. Sampler uniforms
+ // 3. Image uniforms
+ // 4. Atomic counter uniforms
+ // 5. Uniform block uniforms
+ // This makes opaque uniform validation easier, since we don't need a separate list.
+ // For generating the entries and naming them we follow the spec: GLES 3.1 November 2016 section
+ // 7.3.1.1 Naming Active Resources. There's a separate entry for each struct member and each
+ // inner array of an array of arrays. Names and mapped names of uniforms that are arrays include
+ // [0] in the end. This makes implementation of queries simpler.
+ std::vector<LinkedUniform> mUniforms;
+ RangeUI mDefaultUniformRange;
+ RangeUI mSamplerUniformRange;
+ std::vector<InterfaceBlock> mUniformBlocks;
+ std::vector<AtomicCounterBuffer> mAtomicCounterBuffers;
+ RangeUI mImageUniformRange;
+ std::vector<InterfaceBlock> mShaderStorageBlocks;
+
+ // An array of the samplers that are used by the program
+ std::vector<SamplerBinding> mSamplerBindings;
+
+ // An array of the images that are used by the program
+ std::vector<ImageBinding> mImageBindings;
+
+ // TODO: http://anglebug.com/3570: Remove mPipelineHas*UniformBuffers once PPO's have valid data
+ // in mUniformBlocks
+ bool mPipelineHasGraphicsUniformBuffers;
+ bool mPipelineHasComputeUniformBuffers;
+ bool mPipelineHasGraphicsStorageBuffers;
+ bool mPipelineHasComputeStorageBuffers;
+ bool mPipelineHasGraphicsAtomicCounterBuffers;
+ bool mPipelineHasComputeAtomicCounterBuffers;
+ bool mPipelineHasGraphicsDefaultUniforms;
+ bool mPipelineHasComputeDefaultUniforms;
+ bool mPipelineHasGraphicsTextures;
+ bool mPipelineHasComputeTextures;
+ bool mPipelineHasGraphicsImages;
+ bool mPipelineHasComputeImages;
+
+ bool mIsCompute;
+
+ ShaderMap<std::vector<sh::ShaderVariable>> mLinkedOutputVaryings;
+ ShaderMap<std::vector<sh::ShaderVariable>> mLinkedInputVaryings;
+ ShaderMap<int> mLinkedShaderVersions;
+ // TODO: http://anglebug.com/4514: Remove
+ std::unique_ptr<gl::ProgramLinkedResources> mResources;
};
} // namespace gl
diff --git a/chromium/third_party/angle/src/libANGLE/ProgramPipeline.cpp b/chromium/third_party/angle/src/libANGLE/ProgramPipeline.cpp
index cbeb3af1cdf..74b60b0bd68 100644
--- a/chromium/third_party/angle/src/libANGLE/ProgramPipeline.cpp
+++ b/chromium/third_party/angle/src/libANGLE/ProgramPipeline.cpp
@@ -24,20 +24,21 @@ namespace gl
ProgramPipelineState::ProgramPipelineState()
: mLabel(),
- mIsCompute(false),
mActiveShaderProgram(nullptr),
mValid(false),
- mHasBeenBound(false)
+ mHasBeenBound(false),
+ mExecutable(new ProgramExecutable())
{
- mExecutable.setProgramPipelineState(this);
-
for (const ShaderType shaderType : gl::AllShaderTypes())
{
mPrograms[shaderType] = nullptr;
}
}
-ProgramPipelineState::~ProgramPipelineState() {}
+ProgramPipelineState::~ProgramPipelineState()
+{
+ SafeDelete(mExecutable);
+}
const std::string &ProgramPipelineState::getLabel() const
{
@@ -120,104 +121,6 @@ bool ProgramPipelineState::usesShaderProgram(ShaderProgramID programId) const
return false;
}
-bool ProgramPipelineState::hasDefaultUniforms() const
-{
- for (const gl::ShaderType shaderType : mExecutable.getLinkedShaderStages())
- {
- const Program *shaderProgram = getShaderProgram(shaderType);
- if (shaderProgram && shaderProgram->getState().hasDefaultUniforms())
- {
- return true;
- }
- }
-
- return false;
-}
-
-bool ProgramPipelineState::hasTextures() const
-{
- for (const gl::ShaderType shaderType : mExecutable.getLinkedShaderStages())
- {
- const Program *shaderProgram = getShaderProgram(shaderType);
- if (shaderProgram && shaderProgram->getState().hasTextures())
- {
- return true;
- }
- }
-
- return false;
-}
-
-bool ProgramPipelineState::hasUniformBuffers() const
-{
- for (const gl::ShaderType shaderType : mExecutable.getLinkedShaderStages())
- {
- const Program *shaderProgram = getShaderProgram(shaderType);
- if (shaderProgram && shaderProgram->getState().hasUniformBuffers())
- {
- return true;
- }
- }
-
- return false;
-}
-
-bool ProgramPipelineState::hasStorageBuffers() const
-{
- for (const gl::ShaderType shaderType : mExecutable.getLinkedShaderStages())
- {
- const Program *shaderProgram = getShaderProgram(shaderType);
- if (shaderProgram && shaderProgram->getState().hasStorageBuffers())
- {
- return true;
- }
- }
-
- return false;
-}
-
-bool ProgramPipelineState::hasAtomicCounterBuffers() const
-{
- for (const gl::ShaderType shaderType : mExecutable.getLinkedShaderStages())
- {
- const Program *shaderProgram = getShaderProgram(shaderType);
- if (shaderProgram && shaderProgram->getState().hasAtomicCounterBuffers())
- {
- return true;
- }
- }
-
- return false;
-}
-
-bool ProgramPipelineState::hasImages() const
-{
- for (const gl::ShaderType shaderType : mExecutable.getLinkedShaderStages())
- {
- const Program *shaderProgram = getShaderProgram(shaderType);
- if (shaderProgram && shaderProgram->getState().hasImages())
- {
- return true;
- }
- }
-
- return false;
-}
-
-bool ProgramPipelineState::hasTransformFeedbackOutput() const
-{
- for (const gl::ShaderType shaderType : mExecutable.getLinkedShaderStages())
- {
- const Program *shaderProgram = getShaderProgram(shaderType);
- if (shaderProgram && shaderProgram->getState().hasTransformFeedbackOutput())
- {
- return true;
- }
- }
-
- return false;
-}
-
ProgramPipeline::ProgramPipeline(rx::GLImplFactory *factory, ProgramPipelineID handle)
: RefCountObject(factory->generateSerial(), handle),
mProgramPipelineImpl(factory->createProgramPipeline(mState))
@@ -277,18 +180,18 @@ void ProgramPipeline::useProgramStages(const Context *context,
void ProgramPipeline::updateLinkedShaderStages()
{
- mState.mExecutable.resetLinkedShaderStages();
+ mState.mExecutable->resetLinkedShaderStages();
for (const ShaderType shaderType : gl::AllShaderTypes())
{
Program *program = mState.mPrograms[shaderType];
if (program)
{
- mState.mExecutable.setLinkedShaderStages(shaderType);
+ mState.mExecutable->setLinkedShaderStages(shaderType);
}
}
- mState.mExecutable.updateCanDrawWith();
+ mState.mExecutable->updateCanDrawWith();
}
void ProgramPipeline::updateExecutableAttributes()
@@ -300,43 +203,129 @@ void ProgramPipeline::updateExecutableAttributes()
return;
}
+ const ProgramExecutable &vertexExecutable = vertexProgram->getExecutable();
+ mState.mExecutable->mActiveAttribLocationsMask = vertexExecutable.mActiveAttribLocationsMask;
+ mState.mExecutable->mMaxActiveAttribLocation = vertexExecutable.mMaxActiveAttribLocation;
+ mState.mExecutable->mAttributesTypeMask = vertexExecutable.mAttributesTypeMask;
+ mState.mExecutable->mAttributesMask = vertexExecutable.mAttributesMask;
+}
+
+void ProgramPipeline::updateTransformFeedbackMembers()
+{
+ Program *vertexProgram = getShaderProgram(gl::ShaderType::Vertex);
+
+ if (!vertexProgram)
+ {
+ return;
+ }
+
const ProgramExecutable &vertexExecutable = vertexProgram->getExecutable();
- mState.mExecutable.mActiveAttribLocationsMask = vertexExecutable.mActiveAttribLocationsMask;
- mState.mExecutable.mMaxActiveAttribLocation = vertexExecutable.mMaxActiveAttribLocation;
- mState.mExecutable.mAttributesTypeMask = vertexExecutable.mAttributesTypeMask;
- mState.mExecutable.mAttributesMask = vertexExecutable.mAttributesMask;
+ mState.mExecutable->mTransformFeedbackStrides = vertexExecutable.mTransformFeedbackStrides;
+ mState.mExecutable->mLinkedTransformFeedbackVaryings =
+ vertexExecutable.mLinkedTransformFeedbackVaryings;
}
void ProgramPipeline::updateExecutableTextures()
{
- for (const ShaderType shaderType : mState.mExecutable.getLinkedShaderStages())
+ for (const ShaderType shaderType : mState.mExecutable->getLinkedShaderStages())
{
const Program *program = getShaderProgram(shaderType);
if (program)
{
- mState.mExecutable.mActiveSamplersMask |=
+ mState.mExecutable->mActiveSamplersMask |=
program->getExecutable().getActiveSamplersMask();
- mState.mExecutable.mActiveImagesMask |= program->getExecutable().getActiveImagesMask();
+ mState.mExecutable->mActiveImagesMask |= program->getExecutable().getActiveImagesMask();
// Updates mActiveSamplerRefCounts, mActiveSamplerTypes, and mActiveSamplerFormats
- mState.mExecutable.updateActiveSamplers(program->getState());
+ mState.mExecutable->updateActiveSamplers(program->getState());
+ }
+ }
+}
+
+void ProgramPipeline::updateHasBooleans()
+{
+ // Need to check all of the shader stages, not just linked, so we handle Compute correctly.
+ for (const gl::ShaderType shaderType : kAllGraphicsShaderTypes)
+ {
+ const Program *shaderProgram = getShaderProgram(shaderType);
+ if (shaderProgram)
+ {
+ const ProgramExecutable &executable = shaderProgram->getExecutable();
+
+ if (executable.hasUniformBuffers())
+ {
+ mState.mExecutable->mPipelineHasGraphicsUniformBuffers = true;
+ }
+ if (executable.hasStorageBuffers())
+ {
+ mState.mExecutable->mPipelineHasGraphicsStorageBuffers = true;
+ }
+ if (executable.hasAtomicCounterBuffers())
+ {
+ mState.mExecutable->mPipelineHasGraphicsAtomicCounterBuffers = true;
+ }
+ if (executable.hasDefaultUniforms())
+ {
+ mState.mExecutable->mPipelineHasGraphicsDefaultUniforms = true;
+ }
+ if (executable.hasTextures())
+ {
+ mState.mExecutable->mPipelineHasGraphicsTextures = true;
+ }
+ if (executable.hasImages())
+ {
+ mState.mExecutable->mPipelineHasGraphicsImages = true;
+ }
+ }
+ }
+
+ const Program *computeProgram = getShaderProgram(ShaderType::Compute);
+ if (computeProgram)
+ {
+ const ProgramExecutable &executable = computeProgram->getExecutable();
+
+ if (executable.hasUniformBuffers())
+ {
+ mState.mExecutable->mPipelineHasComputeUniformBuffers = true;
+ }
+ if (executable.hasStorageBuffers())
+ {
+ mState.mExecutable->mPipelineHasComputeStorageBuffers = true;
+ }
+ if (executable.hasAtomicCounterBuffers())
+ {
+ mState.mExecutable->mPipelineHasComputeAtomicCounterBuffers = true;
+ }
+ if (executable.hasDefaultUniforms())
+ {
+ mState.mExecutable->mPipelineHasComputeDefaultUniforms = true;
+ }
+ if (executable.hasTextures())
+ {
+ mState.mExecutable->mPipelineHasComputeTextures = true;
+ }
+ if (executable.hasImages())
+ {
+ mState.mExecutable->mPipelineHasComputeImages = true;
}
}
}
void ProgramPipeline::updateExecutable()
{
- mState.mExecutable.reset();
+ mState.mExecutable->reset();
// Vertex Shader ProgramExecutable properties
updateExecutableAttributes();
+ updateTransformFeedbackMembers();
// All Shader ProgramExecutable properties
updateExecutableTextures();
+ updateHasBooleans();
}
ProgramMergedVaryings ProgramPipeline::getMergedVaryings() const
{
- ASSERT(!mState.mExecutable.isCompute());
+ ASSERT(!mState.mExecutable->isCompute());
// Varyings are matched between pairs of consecutive stages, by location if assigned or
// by name otherwise. Note that it's possible for one stage to specify location and the other
@@ -458,7 +447,7 @@ angle::Result ProgramPipeline::link(const Context *context)
{
if (!getExecutable().isCompute())
{
- InfoLog &infoLog = mState.mExecutable.getInfoLog();
+ InfoLog &infoLog = mState.mExecutable->getInfoLog();
infoLog.reset();
const State &state = context->getState();
@@ -480,7 +469,9 @@ angle::Result ProgramPipeline::link(const Context *context)
return angle::Result::Stop;
}
- if (!mState.mExecutable.linkValidateGlobalNames(infoLog))
+ gl::ShaderMap<const gl::ProgramState *> programStates;
+ fillProgramStateMap(&programStates);
+ if (!mState.mExecutable->linkValidateGlobalNames(infoLog, programStates))
{
return angle::Result::Stop;
}
@@ -494,8 +485,9 @@ angle::Result ProgramPipeline::link(const Context *context)
{
Program *program = mState.mPrograms[shaderType];
ASSERT(program);
- program->getResources().varyingPacking.reset();
- ANGLE_TRY(program->linkMergedVaryings(context, mergedVaryings));
+ program->getExecutable().getResources().varyingPacking.reset();
+ ANGLE_TRY(
+ program->linkMergedVaryings(context, program->getExecutable(), mergedVaryings));
}
}
@@ -506,28 +498,29 @@ angle::Result ProgramPipeline::link(const Context *context)
bool ProgramPipeline::linkVaryings(InfoLog &infoLog) const
{
- Shader *previousShader = nullptr;
+ ShaderType previousShaderType = ShaderType::InvalidEnum;
for (ShaderType shaderType : getExecutable().getLinkedShaderStages())
{
- Program *currentProgram = mState.mPrograms[shaderType];
- ASSERT(currentProgram);
+ Program *program = getShaderProgram(shaderType);
+ ASSERT(program);
+ ProgramExecutable &executable = program->getExecutable();
- Shader *currentShader =
- const_cast<Shader *>(currentProgram->getState().getAttachedShader(shaderType));
- if (!currentShader)
+ if (previousShaderType != ShaderType::InvalidEnum)
{
- continue;
- }
+ Program *previousProgram = getShaderProgram(previousShaderType);
+ ASSERT(previousProgram);
+ ProgramExecutable &previousExecutable = previousProgram->getExecutable();
- if (previousShader)
- {
if (!Program::linkValidateShaderInterfaceMatching(
- previousShader, currentShader, currentProgram->isSeparable(), infoLog))
+ previousExecutable.getLinkedOutputVaryings(previousShaderType),
+ executable.getLinkedInputVaryings(shaderType), previousShaderType, shaderType,
+ previousExecutable.getLinkedShaderVersion(previousShaderType),
+ executable.getLinkedShaderVersion(shaderType), true, infoLog))
{
return false;
}
}
- previousShader = currentShader;
+ previousShaderType = shaderType;
}
Program *vertexProgram = mState.mPrograms[ShaderType::Vertex];
@@ -536,22 +529,22 @@ bool ProgramPipeline::linkVaryings(InfoLog &infoLog) const
{
return false;
}
-
- Shader *vertexShader =
- const_cast<Shader *>(vertexProgram->getState().getAttachedShader(ShaderType::Vertex));
- Shader *fragmentShader =
- const_cast<Shader *>(fragmentProgram->getState().getAttachedShader(ShaderType::Fragment));
- return Program::linkValidateBuiltInVaryings(vertexShader, fragmentShader, infoLog);
+ ProgramExecutable &vertexExecutable = vertexProgram->getExecutable();
+ ProgramExecutable &fragmentExecutable = fragmentProgram->getExecutable();
+ return Program::linkValidateBuiltInVaryings(
+ vertexExecutable.getLinkedOutputVaryings(ShaderType::Vertex),
+ fragmentExecutable.getLinkedInputVaryings(ShaderType::Fragment),
+ vertexExecutable.getLinkedShaderVersion(ShaderType::Vertex), infoLog);
}
void ProgramPipeline::validate(const gl::Context *context)
{
const Caps &caps = context->getCaps();
mState.mValid = true;
- InfoLog &infoLog = mState.mExecutable.getInfoLog();
+ InfoLog &infoLog = mState.mExecutable->getInfoLog();
infoLog.reset();
- for (const ShaderType shaderType : mState.mExecutable.getLinkedShaderStages())
+ for (const ShaderType shaderType : mState.mExecutable->getLinkedShaderStages())
{
Program *shaderProgram = mState.mPrograms[shaderType];
if (shaderProgram)
@@ -579,7 +572,7 @@ void ProgramPipeline::validate(const gl::Context *context)
{
mState.mValid = false;
- for (const ShaderType shaderType : mState.mExecutable.getLinkedShaderStages())
+ for (const ShaderType shaderType : mState.mExecutable->getLinkedShaderStages())
{
Program *shaderProgram = mState.mPrograms[shaderType];
ASSERT(shaderProgram);
@@ -627,4 +620,18 @@ angle::Result ProgramPipeline::syncState(const Context *context)
return angle::Result::Continue;
}
+void ProgramPipeline::fillProgramStateMap(ShaderMap<const ProgramState *> *programStatesOut)
+{
+ for (ShaderType shaderType : AllShaderTypes())
+ {
+ (*programStatesOut)[shaderType] = nullptr;
+
+ Program *program = getShaderProgram(shaderType);
+ if (program)
+ {
+ (*programStatesOut)[shaderType] = &program->getState();
+ }
+ }
+}
+
} // namespace gl
diff --git a/chromium/third_party/angle/src/libANGLE/ProgramPipeline.h b/chromium/third_party/angle/src/libANGLE/ProgramPipeline.h
index c778a7eb281..95d152fab8b 100644
--- a/chromium/third_party/angle/src/libANGLE/ProgramPipeline.h
+++ b/chromium/third_party/angle/src/libANGLE/ProgramPipeline.h
@@ -38,14 +38,16 @@ class ProgramPipelineState final : angle::NonCopyable
const std::string &getLabel() const;
- // A PPO can have both graphics and compute programs attached, so
- // we don't know if the PPO is a 'graphics' or 'compute' PPO until the
- // actual draw/dispatch call.
- bool isCompute() const { return mIsCompute; }
- void setIsCompute(bool isCompute) { mIsCompute = isCompute; }
-
- const ProgramExecutable &getProgramExecutable() const { return mExecutable; }
- ProgramExecutable &getProgramExecutable() { return mExecutable; }
+ const ProgramExecutable &getProgramExecutable() const
+ {
+ ASSERT(mExecutable);
+ return *mExecutable;
+ }
+ ProgramExecutable &getProgramExecutable()
+ {
+ ASSERT(mExecutable);
+ return *mExecutable;
+ }
void activeShaderProgram(Program *shaderProgram);
void useProgramStages(const Context *context, GLbitfield stages, Program *shaderProgram);
@@ -58,14 +60,6 @@ class ProgramPipelineState final : angle::NonCopyable
bool usesShaderProgram(ShaderProgramID program) const;
- bool hasDefaultUniforms() const;
- bool hasTextures() const;
- bool hasUniformBuffers() const;
- bool hasStorageBuffers() const;
- bool hasAtomicCounterBuffers() const;
- bool hasImages() const;
- bool hasTransformFeedbackOutput() const;
-
private:
void useProgramStage(const Context *context, ShaderType shaderType, Program *shaderProgram);
@@ -73,8 +67,6 @@ class ProgramPipelineState final : angle::NonCopyable
std::string mLabel;
- bool mIsCompute;
-
// The active shader program
Program *mActiveShaderProgram;
// The shader programs for each stage.
@@ -84,7 +76,7 @@ class ProgramPipelineState final : angle::NonCopyable
GLboolean mHasBeenBound;
- ProgramExecutable mExecutable;
+ ProgramExecutable *mExecutable;
};
class ProgramPipeline final : public RefCountObject<ProgramPipelineID>, public LabeledObject
@@ -119,10 +111,6 @@ class ProgramPipeline final : public RefCountObject<ProgramPipelineID>, public L
void useProgramStages(const Context *context, GLbitfield stages, Program *shaderProgram);
- void updateExecutableAttributes();
- void updateExecutableTextures();
- void updateExecutable();
-
Program *getShaderProgram(ShaderType shaderType) const { return mState.mPrograms[shaderType]; }
ProgramMergedVaryings getMergedVaryings() const;
@@ -158,8 +146,16 @@ class ProgramPipeline final : public RefCountObject<ProgramPipelineID>, public L
angle::Result syncState(const Context *context);
void setDirtyBit(DirtyBitType dirtyBitType) { mDirtyBits.set(dirtyBitType); }
+ void updateExecutableTextures();
+
+ void fillProgramStateMap(gl::ShaderMap<const gl::ProgramState *> *programStatesOut);
+
private:
void updateLinkedShaderStages();
+ void updateExecutableAttributes();
+ void updateTransformFeedbackMembers();
+ void updateHasBooleans();
+ void updateExecutable();
std::unique_ptr<rx::ProgramPipelineImpl> mProgramPipelineImpl;
diff --git a/chromium/third_party/angle/src/libANGLE/Shader.cpp b/chromium/third_party/angle/src/libANGLE/Shader.cpp
index 847a0881f9c..c0674d0e850 100644
--- a/chromium/third_party/angle/src/libANGLE/Shader.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Shader.cpp
@@ -654,7 +654,7 @@ std::string Shader::getTransformFeedbackVaryingMappedName(const std::string &tfV
else if (varying.isStruct())
{
GLuint fieldIndex = 0;
- const auto *field = FindShaderVarField(varying, tfVaryingName, &fieldIndex);
+ const auto *field = varying.findField(tfVaryingName, &fieldIndex);
ASSERT(field != nullptr && !field->isStruct() && !field->isArray());
return varying.mappedName + "." + field->mappedName;
}
diff --git a/chromium/third_party/angle/src/libANGLE/State.cpp b/chromium/third_party/angle/src/libANGLE/State.cpp
index cce0cea8b67..8b356613f76 100644
--- a/chromium/third_party/angle/src/libANGLE/State.cpp
+++ b/chromium/third_party/angle/src/libANGLE/State.cpp
@@ -306,6 +306,7 @@ ANGLE_INLINE void ActiveTexturesCache::set(ContextID contextID,
}
State::State(const State *shareContextState,
+ egl::ShareGroup *shareGroup,
TextureManager *shareTextures,
const OverlayType *overlay,
const EGLenum clientType,
@@ -320,6 +321,7 @@ State::State(const State *shareContextState,
mClientType(clientType),
mContextPriority(contextPriority),
mClientVersion(clientVersion),
+ mShareGroup(shareGroup),
mBufferManager(AllocateOrGetSharedResourceManager(shareContextState, &State::mBufferManager)),
mShaderProgramManager(
AllocateOrGetSharedResourceManager(shareContextState, &State::mShaderProgramManager)),
@@ -352,6 +354,7 @@ State::State(const State *shareContextState,
mStencilBackRef(0),
mLineWidth(0),
mGenerateMipmapHint(GL_NONE),
+ mTextureFilteringHint(GL_NONE),
mFragmentShaderDerivativeHint(GL_NONE),
mBindGeneratesResource(bindGeneratesResource),
mClientArraysEnabled(clientArraysEnabled),
@@ -419,6 +422,7 @@ void State::initialize(Context *context)
mSampleMaskValues.fill(~GLbitfield(0));
mGenerateMipmapHint = GL_DONT_CARE;
+ mTextureFilteringHint = GL_DONT_CARE;
mFragmentShaderDerivativeHint = GL_DONT_CARE;
mLineWidth = 1.0f;
@@ -465,6 +469,10 @@ void State::initialize(Context *context)
mShaderStorageBuffers.resize(caps.maxShaderStorageBufferBindings);
mImageUnits.resize(caps.maxImageUnits);
}
+ if (extensions.textureCubeMapArrayAny())
+ {
+ mSamplerTextures[TextureType::CubeMapArray].resize(caps.maxCombinedTextureImageUnits);
+ }
if (nativeExtensions.textureRectangle)
{
mSamplerTextures[TextureType::Rectangle].resize(caps.maxCombinedTextureImageUnits);
@@ -559,7 +567,9 @@ void State::reset(const Context *context)
mExecutable = nullptr;
if (mTransformFeedback.get())
+ {
mTransformFeedback->onBindingChanged(context, false);
+ }
mTransformFeedback.set(context, nullptr);
for (QueryType type : angle::AllEnums<QueryType>())
@@ -621,7 +631,7 @@ ANGLE_INLINE void State::updateActiveTextureState(const Context *context,
}
}
- if (texture && mProgram)
+ if (texture && mExecutable)
{
const SamplerState &samplerState =
sampler ? sampler->getSamplerState() : texture->getSamplerState();
@@ -1428,6 +1438,18 @@ void State::setGenerateMipmapHint(GLenum hint)
mDirtyBits.set(DIRTY_BIT_EXTENDED);
}
+void State::setTextureFilteringHint(GLenum hint)
+{
+ mTextureFilteringHint = hint;
+ // Note: we don't add a dirty bit for this flag as it's not expected to be toggled at
+ // runtime.
+}
+
+GLenum State::getTextureFilteringHint() const
+{
+ return mTextureFilteringHint;
+}
+
void State::setFragmentShaderDerivativeHint(GLenum hint)
{
mFragmentShaderDerivativeHint = hint;
@@ -1560,7 +1582,9 @@ void State::invalidateTexture(TextureType type)
void State::setSamplerBinding(const Context *context, GLuint textureUnit, Sampler *sampler)
{
if (mSamplers[textureUnit].get() == sampler)
+ {
return;
+ }
mSamplers[textureUnit].set(context, sampler);
mDirtyBits.set(DIRTY_BIT_SAMPLER_BINDINGS);
@@ -2477,6 +2501,9 @@ angle::Result State::getIntegerv(const Context *context, GLenum pname, GLint *pa
case GL_GENERATE_MIPMAP_HINT:
*params = mGenerateMipmapHint;
break;
+ case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
+ *params = mTextureFilteringHint;
+ break;
case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES:
*params = mFragmentShaderDerivativeHint;
break;
@@ -2708,6 +2735,12 @@ angle::Result State::getIntegerv(const Context *context, GLenum pname, GLint *pa
TextureType::_2DMultisampleArray)
.value;
break;
+ case GL_TEXTURE_BINDING_CUBE_MAP_ARRAY:
+ ASSERT(mActiveSampler < mMaxCombinedTextureImageUnits);
+ *params = getSamplerTextureId(static_cast<unsigned int>(mActiveSampler),
+ TextureType::CubeMapArray)
+ .value;
+ break;
case GL_TEXTURE_BINDING_EXTERNAL_OES:
ASSERT(mActiveSampler < mMaxCombinedTextureImageUnits);
*params = getSamplerTextureId(static_cast<unsigned int>(mActiveSampler),
@@ -3099,7 +3132,7 @@ angle::Result State::syncTextures(const Context *context)
Texture *texture = mActiveTexturesCache[textureIndex];
if (texture && texture->hasAnyDirtyBit())
{
- ANGLE_TRY(texture->syncState(context));
+ ANGLE_TRY(texture->syncState(context, TextureCommand::Other));
}
}
@@ -3117,7 +3150,7 @@ angle::Result State::syncImages(const Context *context)
Texture *texture = mImageUnits[imageUnitIndex].texture.get();
if (texture && texture->hasAnyDirtyBit())
{
- ANGLE_TRY(texture->syncState(context));
+ ANGLE_TRY(texture->syncState(context, TextureCommand::Other));
}
}
@@ -3236,6 +3269,13 @@ angle::Result State::onProgramExecutableChange(const Context *context, Program *
// generated executable code will be installed as part of the current rendering state."
ASSERT(program->isLinked());
+ // If this Program is currently active, we need to update the State's pointer to the current
+ // ProgramExecutable if we just changed it.
+ if (mProgram == program)
+ {
+ mExecutable = &program->getExecutable();
+ }
+
mDirtyBits.set(DIRTY_BIT_PROGRAM_EXECUTABLE);
if (program->hasAnyDirtyBit())
@@ -3266,7 +3306,7 @@ angle::Result State::onProgramExecutableChange(const Context *context, Program *
if (image->hasAnyDirtyBit())
{
- ANGLE_TRY(image->syncState(context));
+ ANGLE_TRY(image->syncState(context, TextureCommand::Other));
}
if (mRobustResourceInit && image->initState() == InitState::MayNeedInit)
@@ -3311,7 +3351,7 @@ angle::Result State::onProgramPipelineExecutableChange(const Context *context,
if (image->hasAnyDirtyBit())
{
- ANGLE_TRY(image->syncState(context));
+ ANGLE_TRY(image->syncState(context, TextureCommand::Other));
}
if (mRobustResourceInit && image->initState() == InitState::MayNeedInit)
@@ -3365,22 +3405,43 @@ void State::setImageUnit(const Context *context,
onImageStateChange(context, unit);
}
+void State::updatePPOActiveTextures()
+{
+ // TODO(http://anglebug.com/4559): Use the Subject/Observer pattern for
+ // Programs in PPOs so we can remove this.
+ if (!mProgram)
+ {
+ // There is no Program bound, so we are updating the textures for a separable Program.
+ // Only that Program's Executable has been updated so far, so we need to update the
+ // Executable for each of the PPO's in case the Program is in there as well.
+ for (ResourceMap<ProgramPipeline, ProgramPipelineID>::Iterator ppoIterator =
+ mProgramPipelineManager->begin();
+ ppoIterator != mProgramPipelineManager->end(); ++ppoIterator)
+ {
+ ProgramPipeline *pipeline = ppoIterator->second;
+ pipeline->updateExecutableTextures();
+ }
+ }
+}
+
// Handle a dirty texture event.
void State::onActiveTextureChange(const Context *context, size_t textureUnit)
{
- if (mProgram)
+ if (mExecutable)
{
TextureType type = mExecutable->getActiveSamplerTypes()[textureUnit];
Texture *activeTexture = (type != TextureType::InvalidEnum)
? getTextureForActiveSampler(type, textureUnit)
: nullptr;
updateActiveTexture(context, textureUnit, activeTexture);
+
+ updatePPOActiveTextures();
}
}
void State::onActiveTextureStateChange(const Context *context, size_t textureUnit)
{
- if (mProgram)
+ if (mExecutable)
{
TextureType type = mExecutable->getActiveSamplerTypes()[textureUnit];
Texture *activeTexture = (type != TextureType::InvalidEnum)
@@ -3393,7 +3454,7 @@ void State::onActiveTextureStateChange(const Context *context, size_t textureUni
void State::onImageStateChange(const Context *context, size_t unit)
{
- if (mProgram)
+ if (mExecutable)
{
const ImageUnit &image = mImageUnits[unit];
@@ -3411,6 +3472,8 @@ void State::onImageStateChange(const Context *context, size_t unit)
{
mDirtyObjects.set(DIRTY_OBJECT_IMAGES_INIT);
}
+
+ updatePPOActiveTextures();
}
}
diff --git a/chromium/third_party/angle/src/libANGLE/State.h b/chromium/third_party/angle/src/libANGLE/State.h
index f9161d4a8a6..777d186648b 100644
--- a/chromium/third_party/angle/src/libANGLE/State.h
+++ b/chromium/third_party/angle/src/libANGLE/State.h
@@ -30,6 +30,11 @@
#include "libANGLE/VertexArray.h"
#include "libANGLE/angletypes.h"
+namespace egl
+{
+class ShareGroup;
+} // namespace egl
+
namespace gl
{
class BufferManager;
@@ -85,6 +90,7 @@ class State : angle::NonCopyable
{
public:
State(const State *shareContextState,
+ egl::ShareGroup *shareGroup,
TextureManager *shareTextures,
const OverlayType *overlay,
const EGLenum clientType,
@@ -111,6 +117,7 @@ class State : angle::NonCopyable
const TextureCapsMap &getTextureCaps() const { return mTextureCaps; }
const Extensions &getExtensions() const { return mExtensions; }
const Limitations &getLimitations() const { return mLimitations; }
+ egl::ShareGroup *getShareGroup() const { return mShareGroup; }
bool isWebGL() const { return mExtensions.webglCompatibility; }
@@ -255,6 +262,8 @@ class State : angle::NonCopyable
// Hint setters
void setGenerateMipmapHint(GLenum hint);
+ void setTextureFilteringHint(GLenum hint);
+ GLenum getTextureFilteringHint() const;
void setFragmentShaderDerivativeHint(GLenum hint);
// GL_CHROMIUM_bind_generates_resource
@@ -811,6 +820,8 @@ class State : angle::NonCopyable
angle::Result syncProgram(const Context *context);
angle::Result syncProgramPipeline(const Context *context);
+ void updatePPOActiveTextures();
+
using DirtyObjectHandler = angle::Result (State::*)(const Context *context);
static constexpr DirtyObjectHandler kDirtyObjectHandlers[DIRTY_OBJECT_MAX] = {
&State::syncTexturesInit, &State::syncImagesInit, &State::syncReadAttachments,
@@ -853,6 +864,8 @@ class State : angle::NonCopyable
Extensions mExtensions;
Limitations mLimitations;
+ egl::ShareGroup *mShareGroup;
+
// Resource managers.
BufferManager *mBufferManager;
ShaderProgramManager *mShaderProgramManager;
@@ -895,6 +908,7 @@ class State : angle::NonCopyable
GLfloat mLineWidth;
GLenum mGenerateMipmapHint;
+ GLenum mTextureFilteringHint;
GLenum mFragmentShaderDerivativeHint;
const bool mBindGeneratesResource;
diff --git a/chromium/third_party/angle/src/libANGLE/Surface.cpp b/chromium/third_party/angle/src/libANGLE/Surface.cpp
index d4e504cca1d..13602591422 100644
--- a/chromium/third_party/angle/src/libANGLE/Surface.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Surface.cpp
@@ -91,6 +91,11 @@ Surface::Surface(EGLint surfaceType,
mLargestPbuffer = (attributes.get(EGL_LARGEST_PBUFFER, EGL_FALSE) == EGL_TRUE);
}
+ if (mType == EGL_PIXMAP_BIT)
+ {
+ mRenderBuffer = EGL_SINGLE_BUFFER;
+ }
+
mGLColorspace =
static_cast<EGLenum>(attributes.get(EGL_GL_COLORSPACE, EGL_GL_COLORSPACE_LINEAR));
mVGAlphaFormat =
diff --git a/chromium/third_party/angle/src/libANGLE/Texture.cpp b/chromium/third_party/angle/src/libANGLE/Texture.cpp
index f97e8dc4462..da12bb9208e 100644
--- a/chromium/third_party/angle/src/libANGLE/Texture.cpp
+++ b/chromium/third_party/angle/src/libANGLE/Texture.cpp
@@ -95,6 +95,7 @@ bool SwizzleState::operator!=(const SwizzleState &other) const
TextureState::TextureState(TextureType type)
: mType(type),
mSamplerState(SamplerState::CreateDefaultForTarget(type)),
+ mSrgbOverride(SrgbOverride::Default),
mBaseLevel(0),
mMaxLevel(1000),
mDepthStencilTextureMode(GL_DEPTH_COMPONENT),
@@ -484,7 +485,7 @@ bool TextureState::computeLevelCompleteness(TextureTarget target, size_t level)
return false;
}
}
- else if (mType == TextureType::_2DArray)
+ else if (IsArrayTextureType(mType))
{
if (levelImageDesc.size.depth != baseImageDesc.size.depth)
{
@@ -599,7 +600,7 @@ void TextureState::setImageDescChain(GLuint baseLevel,
int relativeLevel = (level - baseLevel);
Extents levelSize(std::max<int>(baseSize.width >> relativeLevel, 1),
std::max<int>(baseSize.height >> relativeLevel, 1),
- (mType == TextureType::_2DArray)
+ (IsArrayTextureType(mType))
? baseSize.depth
: std::max<int>(baseSize.depth >> relativeLevel, 1));
ImageDesc levelInfo(levelSize, format, initState);
@@ -859,6 +860,22 @@ GLenum Texture::getSRGBDecode() const
return mState.mSamplerState.getSRGBDecode();
}
+void Texture::setSRGBOverride(const Context *context, GLenum sRGBOverride)
+{
+ SrgbOverride oldOverride = mState.mSrgbOverride;
+ mState.mSrgbOverride =
+ (sRGBOverride == GL_SRGB) ? SrgbOverride::Enabled : SrgbOverride::Default;
+ if (mState.mSrgbOverride != oldOverride)
+ {
+ signalDirtyState(DIRTY_BIT_SRGB_OVERRIDE);
+ }
+}
+
+GLenum Texture::getSRGBOverride() const
+{
+ return (mState.mSrgbOverride == SrgbOverride::Enabled) ? GL_SRGB : GL_NONE;
+}
+
const SamplerState &Texture::getSamplerState() const
{
return mState.mSamplerState;
@@ -1280,7 +1297,7 @@ angle::Result Texture::copyTexture(Context *context,
unpackPremultiplyAlpha, unpackUnmultiplyAlpha, source));
const auto &sourceDesc =
- source->mState.getImageDesc(NonCubeTextureTypeToTarget(source->getType()), 0);
+ source->mState.getImageDesc(NonCubeTextureTypeToTarget(source->getType()), sourceLevel);
const InternalFormat &internalFormatInfo = GetInternalFormatInfo(internalFormat, type);
mState.setImageDesc(
target, level,
@@ -1484,10 +1501,7 @@ angle::Result Texture::generateMipmap(Context *context)
return angle::Result::Continue;
}
- if (hasAnyDirtyBit())
- {
- ANGLE_TRY(syncState(context));
- }
+ ANGLE_TRY(syncState(context, TextureCommand::GenerateMipmap));
// Clear the base image(s) immediately if needed
if (context->isRobustResourceInitEnabled())
@@ -1509,7 +1523,7 @@ angle::Result Texture::generateMipmap(Context *context)
ANGLE_TRY(mTexture->generateMipmap(context));
- // Propagate the format and size of the bsae mip to the smaller ones. Cube maps are guaranteed
+ // Propagate the format and size of the base mip to the smaller ones. Cube maps are guaranteed
// to have faces of the same size and format so any faces can be picked.
const ImageDesc &baseImageInfo = mState.getImageDesc(mState.getBaseImageTarget(), baseLevel);
mState.setImageDescChain(baseLevel, maxLevel, baseImageInfo.size, baseImageInfo.format,
@@ -1770,10 +1784,10 @@ GLuint Texture::getNativeID() const
return mTexture->getNativeID();
}
-angle::Result Texture::syncState(const Context *context)
+angle::Result Texture::syncState(const Context *context, TextureCommand source)
{
- ASSERT(hasAnyDirtyBit());
- ANGLE_TRY(mTexture->syncState(context, mDirtyBits));
+ ASSERT(hasAnyDirtyBit() || source == TextureCommand::GenerateMipmap);
+ ANGLE_TRY(mTexture->syncState(context, mDirtyBits, source));
mDirtyBits.reset();
return angle::Result::Continue;
}
@@ -1989,7 +2003,7 @@ angle::Result Texture::getTexImage(const Context *context,
{
if (hasAnyDirtyBit())
{
- ANGLE_TRY(syncState(context));
+ ANGLE_TRY(syncState(context, TextureCommand::Other));
}
return mTexture->getTexImage(context, packState, packBuffer, target, level, format, type,
diff --git a/chromium/third_party/angle/src/libANGLE/Texture.h b/chromium/third_party/angle/src/libANGLE/Texture.h
index 8d12ffb3d05..5f9c9d903bc 100644
--- a/chromium/third_party/angle/src/libANGLE/Texture.h
+++ b/chromium/third_party/angle/src/libANGLE/Texture.h
@@ -99,6 +99,14 @@ struct ContextBindingCount
uint32_t imageBindingCount;
};
+// The source of the syncState call. Knowing why syncState is being called can help the back-end
+// make more-informed decisions.
+enum class TextureCommand
+{
+ GenerateMipmap,
+ Other,
+};
+
// State from Table 6.9 (state per texture object) in the OpenGL ES 3.0.2 spec.
class TextureState final : private angle::NonCopyable
{
@@ -151,6 +159,8 @@ class TextureState final : private angle::NonCopyable
return getBindingCount(contextID).imageBindingCount > 0;
}
+ gl::SrgbOverride getSRGBOverride() const { return mSrgbOverride; }
+
// Returns the desc of the base level. Only valid for cube-complete/mip-complete textures.
const ImageDesc &getBaseLevelDesc() const;
@@ -216,6 +226,8 @@ class TextureState final : private angle::NonCopyable
SamplerState mSamplerState;
+ SrgbOverride mSrgbOverride;
+
GLuint mBaseLevel;
GLuint mMaxLevel;
@@ -308,6 +320,9 @@ class Texture final : public RefCountObject<TextureID>,
void setSRGBDecode(const Context *context, GLenum sRGBDecode);
GLenum getSRGBDecode() const;
+ void setSRGBOverride(const Context *context, GLenum sRGBOverride);
+ GLenum getSRGBOverride() const;
+
const SamplerState &getSamplerState() const;
angle::Result setBaseLevel(const Context *context, GLuint baseLevel);
@@ -549,6 +564,7 @@ class Texture final : public RefCountObject<TextureID>,
DIRTY_BIT_COMPARE_MODE,
DIRTY_BIT_COMPARE_FUNC,
DIRTY_BIT_SRGB_DECODE,
+ DIRTY_BIT_SRGB_OVERRIDE,
DIRTY_BIT_BORDER_COLOR,
// Texture state
@@ -572,7 +588,7 @@ class Texture final : public RefCountObject<TextureID>,
};
using DirtyBits = angle::BitSet<DIRTY_BIT_COUNT>;
- angle::Result syncState(const Context *context);
+ angle::Result syncState(const Context *context, TextureCommand source);
bool hasAnyDirtyBit() const { return mDirtyBits.any(); }
// ObserverInterface implementation.
diff --git a/chromium/third_party/angle/src/libANGLE/VaryingPacking.cpp b/chromium/third_party/angle/src/libANGLE/VaryingPacking.cpp
index df73f53fdc2..25155eb7da1 100644
--- a/chromium/third_party/angle/src/libANGLE/VaryingPacking.cpp
+++ b/chromium/third_party/angle/src/libANGLE/VaryingPacking.cpp
@@ -530,9 +530,8 @@ bool VaryingPacking::collectAndPackUserVaryings(gl::InfoLog &infoLog,
}
if (input->isStruct())
{
- GLuint fieldIndex = 0;
- const sh::ShaderVariable *field =
- FindShaderVarField(*input, tfVarying, &fieldIndex);
+ GLuint fieldIndex = 0;
+ const sh::ShaderVariable *field = input->findField(tfVarying, &fieldIndex);
if (field != nullptr)
{
ASSERT(!field->isStruct() && !field->isArray());
diff --git a/chromium/third_party/angle/src/libANGLE/WorkerThread.cpp b/chromium/third_party/angle/src/libANGLE/WorkerThread.cpp
index 0a96e9101be..5f5b7067931 100644
--- a/chromium/third_party/angle/src/libANGLE/WorkerThread.cpp
+++ b/chromium/third_party/angle/src/libANGLE/WorkerThread.cpp
@@ -10,13 +10,15 @@
#include "libANGLE/WorkerThread.h"
-#if (ANGLE_STD_ASYNC_WORKERS == ANGLE_ENABLED)
+#include "libANGLE/trace.h"
+
+#if (ANGLE_DELEGATE_WORKERS == ANGLE_ENABLED) || (ANGLE_STD_ASYNC_WORKERS == ANGLE_ENABLED)
# include <condition_variable>
# include <future>
# include <mutex>
# include <queue>
# include <thread>
-#endif // (ANGLE_STD_ASYNC_WORKERS == ANGLE_ENABLED)
+#endif // (ANGLE_DELEGATE_WORKERS == ANGLE_ENABLED) || (ANGLE_STD_ASYNC_WORKERS == ANGLE_ENABLED)
namespace angle
{
@@ -88,7 +90,7 @@ class AsyncWaitableEvent final : public WaitableEvent
friend class AsyncWorkerPool;
void setFuture(std::future<void> &&future);
- // To block wait() when the task is stil in queue to be run.
+ // To block wait() when the task is still in queue to be run.
// Also to protect the concurrent accesses from both main thread and
// background threads to the member fields.
std::mutex mMutex;
@@ -105,6 +107,7 @@ void AsyncWaitableEvent::setFuture(std::future<void> &&future)
void AsyncWaitableEvent::wait()
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "AsyncWaitableEvent::wait");
{
std::unique_lock<std::mutex> lock(mMutex);
mCondition.wait(lock, [this] { return !mIsPending; });
@@ -186,7 +189,10 @@ void AsyncWorkerPool::checkToRunPendingTasks()
auto closure = task.second;
auto future = std::async(std::launch::async, [closure, this] {
- (*closure)();
+ {
+ ANGLE_TRACE_EVENT0("gpu.angle", "AsyncWorkerPool::RunTask");
+ (*closure)();
+ }
{
std::lock_guard<std::mutex> lock(mMutex);
ASSERT(mRunningThreads != 0);
@@ -207,21 +213,129 @@ void AsyncWorkerPool::checkToRunPendingTasks()
}
#endif // (ANGLE_STD_ASYNC_WORKERS == ANGLE_ENABLED)
+#if (ANGLE_DELEGATE_WORKERS == ANGLE_ENABLED)
+class DelegateWaitableEvent final : public WaitableEvent
+{
+ public:
+ DelegateWaitableEvent() = default;
+ ~DelegateWaitableEvent() override = default;
+
+ void wait() override;
+ bool isReady() override;
+
+ void markAsReady();
+
+ private:
+ // To protect the concurrent accesses from both main thread and background
+ // threads to the member fields.
+ std::mutex mMutex;
+
+ bool mIsReady = false;
+ std::condition_variable mCondition;
+};
+
+void DelegateWaitableEvent::markAsReady()
+{
+ std::lock_guard<std::mutex> lock(mMutex);
+ mIsReady = true;
+ mCondition.notify_all();
+}
+
+void DelegateWaitableEvent::wait()
+{
+ std::unique_lock<std::mutex> lock(mMutex);
+ mCondition.wait(lock, [this] { return mIsReady; });
+}
+
+bool DelegateWaitableEvent::isReady()
+{
+ std::lock_guard<std::mutex> lock(mMutex);
+ return mIsReady;
+}
+
+class DelegateWorkerPool final : public WorkerThreadPool
+{
+ public:
+ DelegateWorkerPool() = default;
+ ~DelegateWorkerPool() override = default;
+
+ std::shared_ptr<WaitableEvent> postWorkerTask(std::shared_ptr<Closure> task) override;
+
+ void setMaxThreads(size_t maxThreads) override;
+ bool isAsync() override;
+};
+
+// A function wrapper to execute the closure and to notify the waitable
+// event after the execution.
+class DelegateWorkerTask
+{
+ public:
+ DelegateWorkerTask(std::shared_ptr<Closure> task,
+ std::shared_ptr<DelegateWaitableEvent> waitable)
+ : mTask(task), mWaitable(waitable)
+ {}
+ DelegateWorkerTask() = delete;
+ DelegateWorkerTask(DelegateWorkerTask &) = delete;
+
+ static void RunTask(void *userData)
+ {
+ DelegateWorkerTask *workerTask = static_cast<DelegateWorkerTask *>(userData);
+ (*workerTask->mTask)();
+ workerTask->mWaitable->markAsReady();
+
+ // Delete the task after its execution.
+ delete workerTask;
+ }
+
+ private:
+ ~DelegateWorkerTask() = default;
+
+ std::shared_ptr<Closure> mTask;
+ std::shared_ptr<DelegateWaitableEvent> mWaitable;
+};
+
+std::shared_ptr<WaitableEvent> DelegateWorkerPool::postWorkerTask(std::shared_ptr<Closure> task)
+{
+ auto waitable = std::make_shared<DelegateWaitableEvent>();
+
+ // The task will be deleted bu RunTask(...) its execution.
+ DelegateWorkerTask *workerTask = new DelegateWorkerTask(task, waitable);
+ auto *platform = ANGLEPlatformCurrent();
+ platform->postWorkerTask(platform, DelegateWorkerTask::RunTask, workerTask);
+
+ return waitable;
+}
+
+void DelegateWorkerPool::setMaxThreads(size_t maxThreads) {}
+
+bool DelegateWorkerPool::isAsync()
+{
+ return true;
+}
+#endif
+
// static
std::shared_ptr<WorkerThreadPool> WorkerThreadPool::Create(bool multithreaded)
{
std::shared_ptr<WorkerThreadPool> pool(nullptr);
-#if (ANGLE_STD_ASYNC_WORKERS == ANGLE_ENABLED)
+
+#if (ANGLE_DELEGATE_WORKERS == ANGLE_ENABLED)
+ const bool hasPostWorkerTaskImpl = ANGLEPlatformCurrent()->postWorkerTask;
+ if (hasPostWorkerTaskImpl && multithreaded)
+ {
+ pool = std::shared_ptr<WorkerThreadPool>(new DelegateWorkerPool());
+ }
+#endif
+#if (!pool && ANGLE_STD_ASYNC_WORKERS == ANGLE_ENABLED)
if (multithreaded)
{
- pool = std::shared_ptr<WorkerThreadPool>(static_cast<WorkerThreadPool *>(
- new AsyncWorkerPool(std::thread::hardware_concurrency())));
+ pool = std::shared_ptr<WorkerThreadPool>(
+ new AsyncWorkerPool(std::thread::hardware_concurrency()));
}
#endif
if (!pool)
{
- return std::shared_ptr<WorkerThreadPool>(
- static_cast<WorkerThreadPool *>(new SingleThreadedWorkerPool()));
+ return std::shared_ptr<WorkerThreadPool>(new SingleThreadedWorkerPool());
}
return pool;
}
diff --git a/chromium/third_party/angle/src/libANGLE/angletypes.cpp b/chromium/third_party/angle/src/libANGLE/angletypes.cpp
index 4262816f563..779c9b2ad0c 100644
--- a/chromium/third_party/angle/src/libANGLE/angletypes.cpp
+++ b/chromium/third_party/angle/src/libANGLE/angletypes.cpp
@@ -288,6 +288,13 @@ void BlendStateExt::setColorMask(const bool red,
mColorMask = expandColorMaskValue(red, green, blue, alpha);
}
+void BlendStateExt::setColorMaskIndexed(const size_t index, const uint8_t value)
+{
+ ASSERT(index < mMaxDrawBuffers);
+ ASSERT(value <= 0xF);
+ ColorMaskStorage::SetValueIndexed(index, value, &mColorMask);
+}
+
void BlendStateExt::setColorMaskIndexed(const size_t index,
const bool red,
const bool green,
@@ -298,6 +305,12 @@ void BlendStateExt::setColorMaskIndexed(const size_t index,
ColorMaskStorage::SetValueIndexed(index, PackColorMask(red, green, blue, alpha), &mColorMask);
}
+uint8_t BlendStateExt::getColorMaskIndexed(const size_t index) const
+{
+ ASSERT(index < mMaxDrawBuffers);
+ return ColorMaskStorage::GetValueIndexed(index, mColorMask);
+}
+
void BlendStateExt::getColorMaskIndexed(const size_t index,
bool *red,
bool *green,
@@ -350,6 +363,20 @@ void BlendStateExt::setEquationsIndexed(const size_t index,
&mEquationAlpha);
}
+void BlendStateExt::setEquationsIndexed(const size_t index,
+ const size_t sourceIndex,
+ const BlendStateExt &source)
+{
+ ASSERT(index < mMaxDrawBuffers);
+ ASSERT(sourceIndex < source.mMaxDrawBuffers);
+ EquationStorage::SetValueIndexed(
+ index, EquationStorage::GetValueIndexed(sourceIndex, source.mEquationColor),
+ &mEquationColor);
+ EquationStorage::SetValueIndexed(
+ index, EquationStorage::GetValueIndexed(sourceIndex, source.mEquationAlpha),
+ &mEquationAlpha);
+}
+
GLenum BlendStateExt::getEquationColorIndexed(size_t index) const
{
ASSERT(index < mMaxDrawBuffers);
@@ -426,6 +453,22 @@ void BlendStateExt::setFactorsIndexed(const size_t index,
FactorStorage::SetValueIndexed(index, FromGLenum<BlendFactorType>(dstAlpha), &mDstAlpha);
}
+void BlendStateExt::setFactorsIndexed(const size_t index,
+ const size_t sourceIndex,
+ const BlendStateExt &source)
+{
+ ASSERT(index < mMaxDrawBuffers);
+ ASSERT(sourceIndex < source.mMaxDrawBuffers);
+ FactorStorage::SetValueIndexed(
+ index, FactorStorage::GetValueIndexed(sourceIndex, source.mSrcColor), &mSrcColor);
+ FactorStorage::SetValueIndexed(
+ index, FactorStorage::GetValueIndexed(sourceIndex, source.mDstColor), &mDstColor);
+ FactorStorage::SetValueIndexed(
+ index, FactorStorage::GetValueIndexed(sourceIndex, source.mSrcAlpha), &mSrcAlpha);
+ FactorStorage::SetValueIndexed(
+ index, FactorStorage::GetValueIndexed(sourceIndex, source.mDstAlpha), &mDstAlpha);
+}
+
GLenum BlendStateExt::getSrcColorIndexed(size_t index) const
{
ASSERT(index < mMaxDrawBuffers);
diff --git a/chromium/third_party/angle/src/libANGLE/angletypes.h b/chromium/third_party/angle/src/libANGLE/angletypes.h
index 7e77d926d0a..e9e955b58f0 100644
--- a/chromium/third_party/angle/src/libANGLE/angletypes.h
+++ b/chromium/third_party/angle/src/libANGLE/angletypes.h
@@ -554,11 +554,13 @@ class BlendStateExt final
const bool alpha) const;
ColorMaskStorage::Type expandColorMaskIndexed(const size_t index) const;
void setColorMask(const bool red, const bool green, const bool blue, const bool alpha);
+ void setColorMaskIndexed(const size_t index, const uint8_t value);
void setColorMaskIndexed(const size_t index,
const bool red,
const bool green,
const bool blue,
const bool alpha);
+ uint8_t getColorMaskIndexed(const size_t index) const;
void getColorMaskIndexed(const size_t index,
bool *red,
bool *green,
@@ -573,6 +575,9 @@ class BlendStateExt final
EquationStorage::Type expandEquationAlphaIndexed(const size_t index) const;
void setEquations(const GLenum modeColor, const GLenum modeAlpha);
void setEquationsIndexed(const size_t index, const GLenum modeColor, const GLenum modeAlpha);
+ void setEquationsIndexed(const size_t index,
+ const size_t otherIndex,
+ const BlendStateExt &other);
GLenum getEquationColorIndexed(size_t index) const;
GLenum getEquationAlphaIndexed(size_t index) const;
DrawBufferMask compareEquations(const EquationStorage::Type color,
@@ -594,6 +599,7 @@ class BlendStateExt final
const GLenum dstColor,
const GLenum srcAlpha,
const GLenum dstAlpha);
+ void setFactorsIndexed(const size_t index, const size_t otherIndex, const BlendStateExt &other);
GLenum getSrcColorIndexed(size_t index) const;
GLenum getDstColorIndexed(size_t index) const;
GLenum getSrcAlphaIndexed(size_t index) const;
@@ -630,6 +636,8 @@ using StorageBuffersMask = angle::BitSet<IMPLEMENTATION_MAX_SHADER_STORAGE_BUFFE
template <typename T>
using TexLevelArray = std::array<T, IMPLEMENTATION_MAX_TEXTURE_LEVELS>;
+using TexLevelMask = angle::BitSet<IMPLEMENTATION_MAX_TEXTURE_LEVELS>;
+
enum class ComponentType
{
Float = 0,
diff --git a/chromium/third_party/angle/src/libANGLE/angletypes_unittest.cpp b/chromium/third_party/angle/src/libANGLE/angletypes_unittest.cpp
index 85f715c25af..6bb4ce419aa 100644
--- a/chromium/third_party/angle/src/libANGLE/angletypes_unittest.cpp
+++ b/chromium/third_party/angle/src/libANGLE/angletypes_unittest.cpp
@@ -99,6 +99,12 @@ TEST(BlendStateExt, ColorMask)
blendStateExt.setColorMaskIndexed(3, false, true, false, true);
ASSERT_EQ(blendStateExt.mColorMask, is64Bit ? 0x050A050505u : 0x5A555u);
+ blendStateExt.setColorMaskIndexed(3, 0xF);
+ ASSERT_EQ(blendStateExt.getColorMaskIndexed(3), 0xF);
+
+ blendStateExt.setColorMaskIndexed(3, 0xA);
+ ASSERT_EQ(blendStateExt.getColorMaskIndexed(3), 0xA);
+
bool r, g, b, a;
blendStateExt.getColorMaskIndexed(3, &r, &g, &b, &a);
ASSERT_FALSE(r);
@@ -141,6 +147,16 @@ TEST(BlendStateExt, BlendEquations)
const gl::DrawBufferMask diff =
blendStateExt.compareEquations(otherEquationColor, otherEquationAlpha);
ASSERT_EQ(diff.to_ulong(), 40u);
+
+ // Copy buffer 3 to buffer 0
+ blendStateExt.setEquationsIndexed(0, 3, blendStateExt);
+ ASSERT_EQ(blendStateExt.getEquationColorIndexed(0), static_cast<GLenum>(GL_MAX));
+ ASSERT_EQ(blendStateExt.getEquationAlphaIndexed(0), static_cast<GLenum>(GL_FUNC_SUBTRACT));
+
+ // Copy buffer 5 to buffer 0
+ blendStateExt.setEquationsIndexed(0, 5, blendStateExt);
+ ASSERT_EQ(blendStateExt.getEquationColorIndexed(0), static_cast<GLenum>(GL_MIN));
+ ASSERT_EQ(blendStateExt.getEquationAlphaIndexed(0), static_cast<GLenum>(GL_FUNC_ADD));
}
// Test blend factors manipulations
@@ -181,6 +197,34 @@ TEST(BlendStateExt, BlendFactors)
const gl::DrawBufferMask diff =
blendStateExt.compareFactors(otherSrcColor, otherDstColor, otherSrcAlpha, otherDstAlpha);
ASSERT_EQ(diff.to_ulong(), 169u);
+
+ // Copy buffer 0 to buffer 1
+ blendStateExt.setFactorsIndexed(1, 0, blendStateExt);
+ ASSERT_EQ(blendStateExt.getSrcColorIndexed(1), static_cast<GLenum>(GL_ONE));
+ ASSERT_EQ(blendStateExt.getDstColorIndexed(1), static_cast<GLenum>(GL_DST_COLOR));
+ ASSERT_EQ(blendStateExt.getSrcAlphaIndexed(1), static_cast<GLenum>(GL_SRC_ALPHA));
+ ASSERT_EQ(blendStateExt.getDstAlphaIndexed(1), static_cast<GLenum>(GL_DST_ALPHA));
+
+ // Copy buffer 3 to buffer 1
+ blendStateExt.setFactorsIndexed(1, 3, blendStateExt);
+ ASSERT_EQ(blendStateExt.getSrcColorIndexed(1), static_cast<GLenum>(GL_SRC_COLOR));
+ ASSERT_EQ(blendStateExt.getDstColorIndexed(1), static_cast<GLenum>(GL_ONE));
+ ASSERT_EQ(blendStateExt.getSrcAlphaIndexed(1), static_cast<GLenum>(GL_SRC_ALPHA));
+ ASSERT_EQ(blendStateExt.getDstAlphaIndexed(1), static_cast<GLenum>(GL_DST_ALPHA));
+
+ // Copy buffer 5 to buffer 1
+ blendStateExt.setFactorsIndexed(1, 5, blendStateExt);
+ ASSERT_EQ(blendStateExt.getSrcColorIndexed(1), static_cast<GLenum>(GL_SRC_COLOR));
+ ASSERT_EQ(blendStateExt.getDstColorIndexed(1), static_cast<GLenum>(GL_DST_COLOR));
+ ASSERT_EQ(blendStateExt.getSrcAlphaIndexed(1), static_cast<GLenum>(GL_ONE));
+ ASSERT_EQ(blendStateExt.getDstAlphaIndexed(1), static_cast<GLenum>(GL_DST_ALPHA));
+
+ // Copy buffer 7 to buffer 1
+ blendStateExt.setFactorsIndexed(1, 7, blendStateExt);
+ ASSERT_EQ(blendStateExt.getSrcColorIndexed(1), static_cast<GLenum>(GL_SRC_COLOR));
+ ASSERT_EQ(blendStateExt.getDstColorIndexed(1), static_cast<GLenum>(GL_DST_COLOR));
+ ASSERT_EQ(blendStateExt.getSrcAlphaIndexed(1), static_cast<GLenum>(GL_SRC_ALPHA));
+ ASSERT_EQ(blendStateExt.getDstAlphaIndexed(1), static_cast<GLenum>(GL_ONE));
}
} // namespace angle
diff --git a/chromium/third_party/angle/src/libANGLE/capture_gles_2_0_params.cpp b/chromium/third_party/angle/src/libANGLE/capture_gles_2_0_params.cpp
index 295bd250ade..677a0716baf 100644
--- a/chromium/third_party/angle/src/libANGLE/capture_gles_2_0_params.cpp
+++ b/chromium/third_party/angle/src/libANGLE/capture_gles_2_0_params.cpp
@@ -307,7 +307,7 @@ void CaptureGetAttachedShaders_count(const State &glState,
ShaderProgramID *shaders,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ paramCapture->readBufferSizeBytes = sizeof(GLsizei);
}
void CaptureGetAttachedShaders_shadersPacked(const State &glState,
@@ -318,7 +318,7 @@ void CaptureGetAttachedShaders_shadersPacked(const State &glState,
ShaderProgramID *shaders,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ paramCapture->readBufferSizeBytes = sizeof(ShaderProgramID) * maxCount;
}
void CaptureGetAttribLocation_name(const State &glState,
@@ -346,7 +346,7 @@ void CaptureGetBufferParameteriv_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ paramCapture->readBufferSizeBytes = 8;
}
void CaptureGetFloatv_data(const State &glState,
@@ -398,7 +398,7 @@ void CaptureGetProgramInfoLog_infoLog(const State &glState,
GLchar *infoLog,
ParamCapture *paramCapture)
{
- gl::Program *programObj = GetLinkedProgramForCapture(glState, program);
+ gl::Program *programObj = GetProgramForCapture(glState, program);
ASSERT(programObj);
paramCapture->readBufferSizeBytes = programObj->getExecutable().getInfoLogLength() + 1;
}
@@ -423,7 +423,7 @@ void CaptureGetRenderbufferParameteriv_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ paramCapture->readBufferSizeBytes = sizeof(GLint);
}
void CaptureGetShaderInfoLog_length(const State &glState,
@@ -515,7 +515,9 @@ void CaptureGetTexParameterfv_params(const State &glState,
GLfloat *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ // page 190 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ // TEXTURE_BORDER_COLOR: 4 floats, ints, uints
+ paramCapture->readBufferSizeBytes = sizeof(GLfloat) * 4;
}
void CaptureGetTexParameteriv_params(const State &glState,
@@ -525,10 +527,9 @@ void CaptureGetTexParameteriv_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
- if (params)
- {
- paramCapture->readBufferSizeBytes = sizeof(GLint);
- }
+ // page 190 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ // TEXTURE_BORDER_COLOR: 4 floats, ints, uints
+ paramCapture->readBufferSizeBytes = sizeof(GLint) * 4;
}
void CaptureGetUniformLocation_name(const State &glState,
@@ -714,7 +715,7 @@ void CaptureTexParameterfv_params(const State &glState,
const GLfloat *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLfloat>(pname, params, paramCapture);
}
void CaptureTexParameteriv_params(const State &glState,
@@ -724,7 +725,7 @@ void CaptureTexParameteriv_params(const State &glState,
const GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLint>(pname, params, paramCapture);
}
void CaptureTexSubImage2D_pixels(const State &glState,
diff --git a/chromium/third_party/angle/src/libANGLE/capture_gles_3_0_params.cpp b/chromium/third_party/angle/src/libANGLE/capture_gles_3_0_params.cpp
index 5d7e5b42405..0359e2dc84d 100644
--- a/chromium/third_party/angle/src/libANGLE/capture_gles_3_0_params.cpp
+++ b/chromium/third_party/angle/src/libANGLE/capture_gles_3_0_params.cpp
@@ -433,7 +433,8 @@ void CaptureGetSamplerParameterfv_params(const State &glState,
GLfloat *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ // page 458 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ paramCapture->readBufferSizeBytes = 4 * sizeof(GLfloat);
}
void CaptureGetSamplerParameteriv_params(const State &glState,
@@ -443,7 +444,8 @@ void CaptureGetSamplerParameteriv_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ // page 458 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ paramCapture->readBufferSizeBytes = 4 * sizeof(GLint);
}
void CaptureGetSynciv_length(const State &glState,
@@ -642,7 +644,7 @@ void CaptureSamplerParameterfv_param(const State &glState,
const GLfloat *param,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLfloat>(pname, param, paramCapture);
}
void CaptureSamplerParameteriv_param(const State &glState,
@@ -652,7 +654,7 @@ void CaptureSamplerParameteriv_param(const State &glState,
const GLint *param,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLint>(pname, param, paramCapture);
}
void CaptureTexImage3D_pixels(const State &glState,
@@ -732,7 +734,7 @@ void CaptureUniform1uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLuint), paramCapture);
}
void CaptureUniform2uiv_value(const State &glState,
@@ -742,7 +744,7 @@ void CaptureUniform2uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLuint) * 2, paramCapture);
}
void CaptureUniform3uiv_value(const State &glState,
@@ -752,7 +754,7 @@ void CaptureUniform3uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLuint) * 3, paramCapture);
}
void CaptureUniform4uiv_value(const State &glState,
@@ -762,7 +764,7 @@ void CaptureUniform4uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLuint) * 4, paramCapture);
}
void CaptureUniformMatrix2x3fv_value(const State &glState,
@@ -773,7 +775,7 @@ void CaptureUniformMatrix2x3fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLfloat) * 6, paramCapture);
}
void CaptureUniformMatrix2x4fv_value(const State &glState,
@@ -784,7 +786,7 @@ void CaptureUniformMatrix2x4fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLfloat) * 8, paramCapture);
}
void CaptureUniformMatrix3x2fv_value(const State &glState,
@@ -795,7 +797,7 @@ void CaptureUniformMatrix3x2fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLfloat) * 6, paramCapture);
}
void CaptureUniformMatrix3x4fv_value(const State &glState,
@@ -806,7 +808,7 @@ void CaptureUniformMatrix3x4fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLfloat) * 12, paramCapture);
}
void CaptureUniformMatrix4x2fv_value(const State &glState,
@@ -817,7 +819,7 @@ void CaptureUniformMatrix4x2fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLfloat) * 8, paramCapture);
}
void CaptureUniformMatrix4x3fv_value(const State &glState,
@@ -828,7 +830,7 @@ void CaptureUniformMatrix4x3fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(value, count * sizeof(GLfloat) * 12, paramCapture);
}
void CaptureVertexAttribI4iv_v(const State &glState,
diff --git a/chromium/third_party/angle/src/libANGLE/capture_gles_3_1_params.cpp b/chromium/third_party/angle/src/libANGLE/capture_gles_3_1_params.cpp
index 32faf79f88e..393c5ec75e6 100644
--- a/chromium/third_party/angle/src/libANGLE/capture_gles_3_1_params.cpp
+++ b/chromium/third_party/angle/src/libANGLE/capture_gles_3_1_params.cpp
@@ -38,7 +38,11 @@ void CaptureDrawArraysIndirect_indirect(const State &glState,
const void *indirect,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ // DrawArraysIndirect requires that all data sourced for the command,
+ // including the DrawArraysIndirectCommand structure, be in buffer objects,
+ // and may not be called when the default vertex array object is bound.
+ // Indirect pointer is automatically captured in capture_gles_3_1_autogen.cpp
+ assert(!isCallValid || glState.getTargetBuffer(gl::BufferBinding::DrawIndirect));
}
void CaptureDrawElementsIndirect_indirect(const State &glState,
@@ -48,7 +52,11 @@ void CaptureDrawElementsIndirect_indirect(const State &glState,
const void *indirect,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ // DrawElementsIndirect requires that all data sourced for the command,
+ // including the DrawElementsIndirectCommand structure, be in buffer objects,
+ // and may not be called when the default vertex array object is bound
+ // Indirect pointer is automatically captured in capture_gles_3_1_autogen.cpp
+ assert(!isCallValid || glState.getTargetBuffer(gl::BufferBinding::DrawIndirect));
}
void CaptureGenProgramPipelines_pipelinesPacked(const State &glState,
@@ -98,7 +106,7 @@ void CaptureGetProgramInterfaceiv_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureMemory(params, sizeof(GLint), paramCapture);
}
void CaptureGetProgramPipelineInfoLog_length(const State &glState,
diff --git a/chromium/third_party/angle/src/libANGLE/capture_gles_3_2_params.cpp b/chromium/third_party/angle/src/libANGLE/capture_gles_3_2_params.cpp
index 6a391a72c79..a5c5c468ff7 100644
--- a/chromium/third_party/angle/src/libANGLE/capture_gles_3_2_params.cpp
+++ b/chromium/third_party/angle/src/libANGLE/capture_gles_3_2_params.cpp
@@ -250,7 +250,8 @@ void CaptureGetSamplerParameterIiv_params(const State &glState,
GLint *params,
ParamCapture *paramsParam)
{
- UNIMPLEMENTED();
+ // page 458 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ paramsParam->readBufferSizeBytes = sizeof(GLint) * 4;
}
void CaptureGetSamplerParameterIuiv_params(const State &glState,
@@ -260,7 +261,8 @@ void CaptureGetSamplerParameterIuiv_params(const State &glState,
GLuint *params,
ParamCapture *paramsParam)
{
- UNIMPLEMENTED();
+ // page 458 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ paramsParam->readBufferSizeBytes = sizeof(GLuint) * 4;
}
void CaptureGetTexParameterIiv_params(const State &glState,
@@ -270,7 +272,9 @@ void CaptureGetTexParameterIiv_params(const State &glState,
GLint *params,
ParamCapture *paramsParam)
{
- UNIMPLEMENTED();
+ // page 192 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ // TEXTURE_BORDER_COLOR: 4 floats, ints, uints
+ paramsParam->readBufferSizeBytes = sizeof(GLint) * 4;
}
void CaptureGetTexParameterIuiv_params(const State &glState,
@@ -280,7 +284,9 @@ void CaptureGetTexParameterIuiv_params(const State &glState,
GLuint *params,
ParamCapture *paramsParam)
{
- UNIMPLEMENTED();
+ // page 192 https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
+ // TEXTURE_BORDER_COLOR: 4 floats, ints, uints
+ paramsParam->readBufferSizeBytes = sizeof(GLuint) * 4;
}
void CaptureGetnUniformfv_params(const State &glState,
@@ -380,7 +386,7 @@ void CaptureSamplerParameterIiv_param(const State &glState,
const GLint *param,
ParamCapture *paramParam)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLint>(pname, param, paramParam);
}
void CaptureSamplerParameterIuiv_param(const State &glState,
@@ -390,7 +396,7 @@ void CaptureSamplerParameterIuiv_param(const State &glState,
const GLuint *param,
ParamCapture *paramParam)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLuint>(pname, param, paramParam);
}
void CaptureTexParameterIiv_params(const State &glState,
@@ -400,7 +406,7 @@ void CaptureTexParameterIiv_params(const State &glState,
const GLint *params,
ParamCapture *paramParam)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLint>(pname, params, paramParam);
}
void CaptureTexParameterIuiv_params(const State &glState,
@@ -410,7 +416,7 @@ void CaptureTexParameterIuiv_params(const State &glState,
const GLuint *params,
ParamCapture *paramParam)
{
- UNIMPLEMENTED();
+ CaptureTextureAndSamplerParameter_params<GLuint>(pname, params, paramParam);
}
} // namespace gl
diff --git a/chromium/third_party/angle/src/libANGLE/capture_gles_ext_autogen.h b/chromium/third_party/angle/src/libANGLE/capture_gles_ext_autogen.h
index 4393e2af344..7a82b7e85ac 100644
--- a/chromium/third_party/angle/src/libANGLE/capture_gles_ext_autogen.h
+++ b/chromium/third_party/angle/src/libANGLE/capture_gles_ext_autogen.h
@@ -1230,6 +1230,8 @@ angle::CallCapture CaptureImportSemaphoreFdEXT(const State &glState,
// GL_EXT_texture_compression_s3tc_srgb
+// GL_EXT_texture_cube_map_array
+
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_format_BGRA8888
@@ -1778,6 +1780,8 @@ angle::CallCapture CaptureTexGenxvOES(const State &glState,
GLenum pname,
const GLfixed *params);
+// GL_OES_texture_cube_map_array
+
// GL_OES_texture_half_float
// GL_OES_texture_storage_multisample_2d_array
diff --git a/chromium/third_party/angle/src/libANGLE/capture_gles_ext_params.cpp b/chromium/third_party/angle/src/libANGLE/capture_gles_ext_params.cpp
index 3e668804d7b..e867c992e3b 100644
--- a/chromium/third_party/angle/src/libANGLE/capture_gles_ext_params.cpp
+++ b/chromium/third_party/angle/src/libANGLE/capture_gles_ext_params.cpp
@@ -10,6 +10,7 @@
#include "libANGLE/capture_gles_2_0_autogen.h"
#include "libANGLE/capture_gles_3_0_autogen.h"
+#include "libANGLE/capture_gles_3_2_autogen.h"
using namespace angle;
@@ -2364,7 +2365,7 @@ void CaptureGetQueryObjectuivEXT_params(const State &glState,
GLuint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ paramCapture->readBufferSizeBytes = sizeof(GLuint);
}
void CaptureGetQueryivEXT_params(const State &glState,
@@ -3143,7 +3144,8 @@ void CaptureGetSamplerParameterIivOES_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureGetSamplerParameterIiv_params(glState, isCallValid, sampler, pname, params,
+ paramCapture);
}
void CaptureGetSamplerParameterIuivOES_params(const State &glState,
@@ -3153,7 +3155,8 @@ void CaptureGetSamplerParameterIuivOES_params(const State &glState,
GLuint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureGetSamplerParameterIuiv_params(glState, isCallValid, sampler, pname, params,
+ paramCapture);
}
void CaptureGetTexParameterIivOES_params(const State &glState,
@@ -3163,7 +3166,8 @@ void CaptureGetTexParameterIivOES_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureGetTexParameterIiv_params(glState, isCallValid, targetPacked, pname, params,
+ paramCapture);
}
void CaptureGetTexParameterIuivOES_params(const State &glState,
@@ -3173,7 +3177,8 @@ void CaptureGetTexParameterIuivOES_params(const State &glState,
GLuint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureGetTexParameterIuiv_params(glState, isCallValid, targetPacked, pname, params,
+ paramCapture);
}
void CaptureSamplerParameterIivOES_param(const State &glState,
@@ -3183,7 +3188,7 @@ void CaptureSamplerParameterIivOES_param(const State &glState,
const GLint *param,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureSamplerParameterIiv_param(glState, isCallValid, sampler, pname, param, paramCapture);
}
void CaptureSamplerParameterIuivOES_param(const State &glState,
@@ -3193,7 +3198,7 @@ void CaptureSamplerParameterIuivOES_param(const State &glState,
const GLuint *param,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureSamplerParameterIuiv_param(glState, isCallValid, sampler, pname, param, paramCapture);
}
void CaptureTexParameterIivOES_params(const State &glState,
@@ -3203,7 +3208,7 @@ void CaptureTexParameterIivOES_params(const State &glState,
const GLint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureTexParameterIiv_params(glState, isCallValid, targetPacked, pname, params, paramCapture);
}
void CaptureTexParameterIuivOES_params(const State &glState,
@@ -3213,7 +3218,7 @@ void CaptureTexParameterIuivOES_params(const State &glState,
const GLuint *params,
ParamCapture *paramCapture)
{
- UNIMPLEMENTED();
+ CaptureTexParameterIuiv_params(glState, isCallValid, targetPacked, pname, params, paramCapture);
}
void CaptureGetTexGenfvOES_params(const State &glState,
diff --git a/chromium/third_party/angle/src/libANGLE/formatutils.cpp b/chromium/third_party/angle/src/libANGLE/formatutils.cpp
index 057d9545995..ba93b1e232c 100644
--- a/chromium/third_party/angle/src/libANGLE/formatutils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/formatutils.cpp
@@ -964,17 +964,17 @@ static InternalFormatInfoMap BuildInternalFormatInfoMap()
// From GL_IMG_texture_compression_pvrtc
// | Internal format | W | H | D | BS |CC| SRGB | Texture supported | Filterable | Texture attachment | Renderbuffer | Blend
- AddCompressedFormat(&map, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, 1, 1, 1, 1, 3, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
- AddCompressedFormat(&map, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, 1, 1, 1, 1, 3, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
- AddCompressedFormat(&map, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, 1, 1, 1, 1, 4, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
- AddCompressedFormat(&map, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, 1, 1, 1, 1, 4, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, 4, 4, 1, 64, 3, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, 8, 4, 1, 64, 3, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, 4, 4, 1, 64, 4, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, 8, 4, 1, 64, 4, false, RequireExt<&Extensions::compressedTexturePVRTC>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
// From GL_EXT_pvrtc_sRGB
// | Internal format | W | H | D | BS |CC| SRGB | Texture supported | Filterable | Texture attachment | Renderbuffer | Blend
- AddCompressedFormat(&map, GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, 1, 1, 1, 1, 3, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
- AddCompressedFormat(&map, GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, 1, 1, 1, 1, 3, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
- AddCompressedFormat(&map, GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, 1, 1, 1, 1, 4, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
- AddCompressedFormat(&map, GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, 1, 1, 1, 1, 4, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, 8, 4, 1, 64, 3, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, 4, 4, 1, 64, 3, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, 8, 4, 1, 64, 4, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
+ AddCompressedFormat(&map, GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, 4, 4, 1, 64, 4, true, RequireExt<&Extensions::compressedTexturePVRTCsRGB>, AlwaysSupported, NeverSupported, NeverSupported, NeverSupported);
// For STENCIL_INDEX8 we chose a normalized component type for the following reasons:
// - Multisampled buffer are disallowed for non-normalized integer component types and we want to support it for STENCIL_INDEX8
@@ -1311,14 +1311,51 @@ bool InternalFormat::computeCompressedImageSize(const Extents &size, GLuint *res
CheckedNumeric<GLuint> checkedDepth(size.depth);
CheckedNumeric<GLuint> checkedBlockWidth(compressedBlockWidth);
CheckedNumeric<GLuint> checkedBlockHeight(compressedBlockHeight);
+ GLuint minBlockWidth, minBlockHeight;
+ std::tie(minBlockWidth, minBlockHeight) = getCompressedImageMinBlocks();
ASSERT(compressed);
auto numBlocksWide = (checkedWidth + checkedBlockWidth - 1u) / checkedBlockWidth;
auto numBlocksHigh = (checkedHeight + checkedBlockHeight - 1u) / checkedBlockHeight;
- auto bytes = numBlocksWide * numBlocksHigh * pixelBytes * checkedDepth;
+ if (numBlocksWide.IsValid() && numBlocksWide.ValueOrDie() < minBlockWidth)
+ numBlocksWide = minBlockWidth;
+ if (numBlocksHigh.IsValid() && numBlocksHigh.ValueOrDie() < minBlockHeight)
+ numBlocksHigh = minBlockHeight;
+ auto bytes = numBlocksWide * numBlocksHigh * pixelBytes * checkedDepth;
return CheckedMathResult(bytes, resultOut);
}
+std::pair<GLuint, GLuint> InternalFormat::getCompressedImageMinBlocks() const
+{
+ GLuint minBlockWidth = 0;
+ GLuint minBlockHeight = 0;
+
+ // Per the specification, a PVRTC block needs information from the 3 nearest blocks.
+ // GL_IMG_texture_compression_pvrtc specifies the minimum size requirement in pixels, but
+ // ANGLE's texture tables are written in terms of blocks. The 4BPP formats use 4x4 blocks, and
+ // the 2BPP formats, 8x4 blocks. Therefore, both kinds of formats require a minimum of 2x2
+ // blocks.
+ switch (internalFormat)
+ {
+ case GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG:
+ case GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG:
+ case GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:
+ case GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:
+ case GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT:
+ case GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT:
+ case GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT:
+ case GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT:
+ minBlockWidth = 2;
+ minBlockHeight = 2;
+ break;
+
+ default:
+ break;
+ }
+
+ return std::make_pair(minBlockWidth, minBlockHeight);
+}
+
bool InternalFormat::computeSkipBytes(GLenum formatType,
GLuint rowPitch,
GLuint depthPitch,
diff --git a/chromium/third_party/angle/src/libANGLE/formatutils.h b/chromium/third_party/angle/src/libANGLE/formatutils.h
index fa177f005a0..ba9aeae2894 100644
--- a/chromium/third_party/angle/src/libANGLE/formatutils.h
+++ b/chromium/third_party/angle/src/libANGLE/formatutils.h
@@ -156,6 +156,8 @@ struct InternalFormat
ANGLE_NO_DISCARD bool computeCompressedImageSize(const Extents &size, GLuint *resultOut) const;
+ ANGLE_NO_DISCARD std::pair<GLuint, GLuint> getCompressedImageMinBlocks() const;
+
ANGLE_NO_DISCARD bool computeSkipBytes(GLenum formatType,
GLuint rowPitch,
GLuint depthPitch,
diff --git a/chromium/third_party/angle/src/libANGLE/queryutils.cpp b/chromium/third_party/angle/src/libANGLE/queryutils.cpp
index f4c249fe67e..c707095f78e 100644
--- a/chromium/third_party/angle/src/libANGLE/queryutils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/queryutils.cpp
@@ -304,6 +304,9 @@ void QueryTexParameterBase(const Context *context,
case GL_TEXTURE_SRGB_DECODE_EXT:
*params = CastFromGLintStateValue<ParamType>(pname, texture->getSRGBDecode());
break;
+ case GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT:
+ *params = CastFromGLintStateValue<ParamType>(pname, texture->getSRGBOverride());
+ break;
case GL_DEPTH_STENCIL_TEXTURE_MODE:
*params =
CastFromGLintStateValue<ParamType>(pname, texture->getDepthStencilTextureMode());
@@ -432,6 +435,9 @@ void SetTexParameterBase(Context *context, Texture *texture, GLenum pname, const
case GL_TEXTURE_SRGB_DECODE_EXT:
texture->setSRGBDecode(context, ConvertToGLenum(pname, params[0]));
break;
+ case GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT:
+ texture->setSRGBOverride(context, ConvertToGLenum(pname, params[0]));
+ break;
case GL_TEXTURE_CROP_RECT_OES:
texture->setCrop(gl::Rectangle(ConvertTexParam<isGLfixed, GLint>(pname, params[0]),
ConvertTexParam<isGLfixed, GLint>(pname, params[1]),
@@ -2973,6 +2979,7 @@ bool GetQueryParameterInfo(const State &glState,
case GL_PACK_ALIGNMENT:
case GL_UNPACK_ALIGNMENT:
case GL_GENERATE_MIPMAP_HINT:
+ case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
case GL_RED_BITS:
case GL_GREEN_BITS:
case GL_BLUE_BITS:
@@ -3595,6 +3602,17 @@ bool GetQueryParameterInfo(const State &glState,
}
}
+ if (extensions.textureCubeMapArrayAny())
+ {
+ switch (pname)
+ {
+ case GL_TEXTURE_BINDING_CUBE_MAP_ARRAY:
+ *type = GL_INT;
+ *numParams = 1;
+ return true;
+ }
+ }
+
if (glState.getClientVersion() < Version(3, 1))
{
return false;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.cpp b/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.cpp
index a2fce071e68..6c1e6ddec00 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.cpp
@@ -50,4 +50,14 @@ egl::ContextPriority ContextImpl::getContextPriority() const
return egl::ContextPriority::Medium;
}
+egl::Error ContextImpl::releaseHighPowerGPU(gl::Context *)
+{
+ return egl::NoError();
+}
+
+egl::Error ContextImpl::reacquireHighPowerGPU(gl::Context *)
+{
+ return egl::NoError();
+}
+
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.h b/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.h
index 93df2b8fc09..465c44f20e6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/ContextImpl.h
@@ -191,6 +191,10 @@ class ContextImpl : public GLImplFactory
virtual egl::ContextPriority getContextPriority() const;
+ // EGL_ANGLE_power_preference implementation.
+ virtual egl::Error releaseHighPowerGPU(gl::Context *context);
+ virtual egl::Error reacquireHighPowerGPU(gl::Context *context);
+
protected:
const gl::State &mState;
gl::MemoryProgramCache *mMemoryProgramCache;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp b/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp
index 523002f1fe7..2f965817dea 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp
@@ -34,6 +34,11 @@ const egl::DisplayExtensions &DisplayImpl::getExtensions() const
return mExtensions;
}
+egl::Error DisplayImpl::handleGPUSwitch()
+{
+ return egl::NoError();
+}
+
egl::Error DisplayImpl::validateClientBuffer(const egl::Config *configuration,
EGLenum buftype,
EGLClientBuffer clientBuffer,
@@ -52,6 +57,14 @@ egl::Error DisplayImpl::validateImageClientBuffer(const gl::Context *context,
return egl::EglBadDisplay() << "DisplayImpl::validateImageClientBuffer unimplemented.";
}
+egl::Error DisplayImpl::validatePixmap(egl::Config *config,
+ EGLNativePixmapType pixmap,
+ const egl::AttributeMap &attributes) const
+{
+ UNREACHABLE();
+ return egl::EglBadDisplay() << "DisplayImpl::valdiatePixmap unimplemented.";
+}
+
const egl::Caps &DisplayImpl::getCaps() const
{
if (!mCapsInitialized)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.h b/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.h
index 044616237a8..66e47bc913f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/DisplayImpl.h
@@ -13,6 +13,7 @@
#include "libANGLE/Caps.h"
#include "libANGLE/Config.h"
#include "libANGLE/Error.h"
+#include "libANGLE/Observer.h"
#include "libANGLE/Stream.h"
#include "libANGLE/Version.h"
#include "libANGLE/renderer/EGLImplFactory.h"
@@ -51,7 +52,14 @@ struct ConfigDesc;
class DeviceImpl;
class StreamProducerImpl;
-class DisplayImpl : public EGLImplFactory
+class ShareGroupImpl : angle::NonCopyable
+{
+ public:
+ ShareGroupImpl() {}
+ virtual ~ShareGroupImpl() {}
+};
+
+class DisplayImpl : public EGLImplFactory, public angle::Subject
{
public:
DisplayImpl(const egl::DisplayState &state);
@@ -78,6 +86,9 @@ class DisplayImpl : public EGLImplFactory
EGLenum target,
EGLClientBuffer clientBuffer,
const egl::AttributeMap &attribs) const;
+ virtual egl::Error validatePixmap(egl::Config *config,
+ EGLNativePixmapType pixmap,
+ const egl::AttributeMap &attributes) const;
virtual std::string getVendorString() const = 0;
@@ -102,6 +113,8 @@ class DisplayImpl : public EGLImplFactory
const egl::DisplayState &getState() const { return mState; }
+ virtual egl::Error handleGPUSwitch();
+
protected:
const egl::DisplayState &mState;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/EGLImplFactory.h b/chromium/third_party/angle/src/libANGLE/renderer/EGLImplFactory.h
index 3748953ba2c..855131b68c5 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/EGLImplFactory.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/EGLImplFactory.h
@@ -35,6 +35,7 @@ class EGLSyncImpl;
class ImageImpl;
class ExternalImageSiblingImpl;
class SurfaceImpl;
+class ShareGroupImpl;
class EGLImplFactory : angle::NonCopyable
{
@@ -76,6 +77,8 @@ class EGLImplFactory : angle::NonCopyable
const egl::AttributeMap &attribs);
virtual EGLSyncImpl *createSync(const egl::AttributeMap &attribs);
+
+ virtual ShareGroupImpl *createShareGroup() = 0;
};
inline ExternalImageSiblingImpl *EGLImplFactory::createExternalImageSibling(
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/Format_table_autogen.cpp b/chromium/third_party/angle/src/libANGLE/renderer/Format_table_autogen.cpp
index 1ed99655f1b..b90a84ea62c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/Format_table_autogen.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/Format_table_autogen.cpp
@@ -131,14 +131,14 @@ const Format gFormatInfoTable[] = {
{ FormatID::L32_FLOAT, GL_LUMINANCE32F_EXT, GL_LUMINANCE32F_EXT, GenerateMip<L32F>, NoCopyFunctions, ReadColor<L32F, GLfloat>, WriteColor<L32F, GLfloat>, GL_FLOAT, 0, 0, 0, 0, 32, 0, 0, 4, std::numeric_limits<GLuint>::max(), false, false, false, gl::VertexAttribType::Float },
{ FormatID::L8A8_UNORM, GL_LUMINANCE8_ALPHA8_EXT, GL_LUMINANCE8_ALPHA8_EXT, GenerateMip<L8A8>, NoCopyFunctions, ReadColor<L8A8, GLfloat>, WriteColor<L8A8, GLfloat>, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 8, 8, 0, 0, 2, std::numeric_limits<GLuint>::max(), false, false, false, gl::VertexAttribType::InvalidEnum },
{ FormatID::L8_UNORM, GL_LUMINANCE8_EXT, GL_LUMINANCE8_EXT, GenerateMip<L8>, NoCopyFunctions, ReadColor<L8, GLfloat>, WriteColor<L8, GLfloat>, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 8, 0, 0, 1, std::numeric_limits<GLuint>::max(), false, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
- { FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 1, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
+ { FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK, GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, nullptr, NoCopyFunctions, nullptr, nullptr, GL_UNSIGNED_NORMALIZED, 0, 0, 0, 0, 0, 0, 0, 8, std::numeric_limits<GLuint>::max(), true, false, false, gl::VertexAttribType::InvalidEnum },
{ FormatID::R10G10B10A2_SINT, GL_RGB10_A2_SINT_ANGLEX, GL_RGB10_A2_SINT_ANGLEX, GenerateMip<R10G10B10A2S>, NoCopyFunctions, ReadColor<R10G10B10A2S, GLint>, WriteColor<R10G10B10A2S, GLint>, GL_INT, 10, 10, 10, 2, 0, 0, 0, 4, std::numeric_limits<GLuint>::max(), false, false, false, gl::VertexAttribType::Int2101010 },
{ FormatID::R10G10B10A2_SNORM, GL_RGB10_A2_SNORM_ANGLEX, GL_RGB10_A2_SNORM_ANGLEX, GenerateMip<R10G10B10A2S>, NoCopyFunctions, ReadColor<R10G10B10A2S, GLfloat>, WriteColor<R10G10B10A2S, GLfloat>, GL_SIGNED_NORMALIZED, 10, 10, 10, 2, 0, 0, 0, 4, std::numeric_limits<GLuint>::max(), false, false, false, gl::VertexAttribType::Int2101010 },
{ FormatID::R10G10B10A2_SSCALED, GL_RGB10_A2_SSCALED_ANGLEX, GL_RGB10_A2_SSCALED_ANGLEX, GenerateMip<R10G10B10A2S>, NoCopyFunctions, ReadColor<R10G10B10A2S, GLint>, WriteColor<R10G10B10A2S, GLint>, GL_INT, 10, 10, 10, 2, 0, 0, 0, 4, std::numeric_limits<GLuint>::max(), false, false, true, gl::VertexAttribType::Int2101010 },
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/ShaderImpl.cpp b/chromium/third_party/angle/src/libANGLE/renderer/ShaderImpl.cpp
index 254e85824b6..ab544c4207b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/ShaderImpl.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/ShaderImpl.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/ShaderImpl.h"
#include "libANGLE/Context.h"
+#include "libANGLE/trace.h"
namespace rx
{
@@ -46,6 +47,7 @@ class TranslateTask : public angle::Closure
void operator()() override
{
+ ANGLE_TRACE_EVENT1("gpu.angle", "TranslateTask::run", "source", mSource);
const char *source = mSource.c_str();
mResult = sh::Compile(mHandle, &source, 1, mOptions);
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl.h b/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl.h
index c064e223249..8a003339cee 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl.h
@@ -187,7 +187,8 @@ class TextureImpl : public FramebufferAttachmentObjectImpl
virtual GLint getNativeID() const;
virtual angle::Result syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits) = 0;
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source) = 0;
virtual GLenum getColorReadFormat(const gl::Context *context);
virtual GLenum getColorReadType(const gl::Context *context);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl_mock.h b/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl_mock.h
index abc04402a43..9bf87466264 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl_mock.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/TextureImpl_mock.h
@@ -129,7 +129,10 @@ class MockTextureImpl : public TextureImpl
MOCK_METHOD2(setBaseLevel, angle::Result(const gl::Context *, GLuint));
- MOCK_METHOD2(syncState, angle::Result(const gl::Context *, const gl::Texture::DirtyBits &));
+ MOCK_METHOD3(syncState,
+ angle::Result(const gl::Context *,
+ const gl::Texture::DirtyBits &,
+ gl::TextureCommand source));
MOCK_METHOD0(destructor, void());
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/angle_format_data.json b/chromium/third_party/angle/src/libANGLE/renderer/angle_format_data.json
index 7167a2ad253..02c6d8c9a0f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/angle_format_data.json
+++ b/chromium/third_party/angle/src/libANGLE/renderer/angle_format_data.json
@@ -262,27 +262,27 @@
"blockPixelBytes": "16"
},
"PVRTC1_RGB_4BPP_UNORM_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
},
"PVRTC1_RGB_2BPP_UNORM_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
},
"PVRTC1_RGBA_4BPP_UNORM_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
},
"PVRTC1_RGBA_2BPP_UNORM_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
},
"PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
},
"PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
},
"PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
},
"PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK": {
- "blockPixelBytes": "1"
+ "blockPixelBytes": "8"
}
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp
index 321761f365a..bcc68442b7c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp
@@ -225,6 +225,11 @@ ExternalImageSiblingImpl *DisplayD3D::createExternalImageSibling(const gl::Conte
return mRenderer->createExternalImageSibling(context, target, buffer, attribs);
}
+ShareGroupImpl *DisplayD3D::createShareGroup()
+{
+ return new ShareGroupD3D();
+}
+
egl::Error DisplayD3D::makeCurrent(egl::Surface *drawSurface,
egl::Surface *readSurface,
gl::Context *context)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.h
index 8f69d84ef01..7e32af442bb 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.h
@@ -16,6 +16,9 @@
namespace rx
{
+class ShareGroupD3D : public ShareGroupImpl
+{};
+
class DisplayD3D : public DisplayImpl, public d3d::Context
{
public:
@@ -57,6 +60,8 @@ class DisplayD3D : public DisplayImpl, public d3d::Context
EGLClientBuffer buffer,
const egl::AttributeMap &attribs) override;
+ ShareGroupImpl *createShareGroup() override;
+
egl::Error makeCurrent(egl::Surface *drawSurface,
egl::Surface *readSurface,
gl::Context *context) override;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
index 29a14007100..50f9b26270f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
@@ -34,8 +34,6 @@ ClearParameters GetClearParameters(const gl::State &state, GLbitfield mask)
ClearParameters clearParams;
memset(&clearParams, 0, sizeof(ClearParameters));
- const auto &blendStateArray = state.getBlendStateArray();
-
clearParams.colorF = state.getColorClearValue();
clearParams.colorType = GL_FLOAT;
clearParams.clearDepth = false;
@@ -63,15 +61,15 @@ ClearParameters GetClearParameters(const gl::State &state, GLbitfield mask)
const bool clearColor =
(mask & GL_COLOR_BUFFER_BIT) && framebufferObject->hasEnabledDrawBuffer();
- ASSERT(blendStateArray.size() == gl::IMPLEMENTATION_MAX_DRAW_BUFFERS);
- for (size_t i = 0; i < blendStateArray.size(); i++)
+ if (clearColor)
+ {
+ clearParams.clearColor.set();
+ }
+ else
{
- clearParams.clearColor[i] = clearColor;
- clearParams.colorMaskRed[i] = blendStateArray[i].colorMaskRed;
- clearParams.colorMaskGreen[i] = blendStateArray[i].colorMaskGreen;
- clearParams.colorMaskBlue[i] = blendStateArray[i].colorMaskBlue;
- clearParams.colorMaskAlpha[i] = blendStateArray[i].colorMaskAlpha;
+ clearParams.clearColor.reset();
}
+ clearParams.colorMask = state.getBlendStateExt().mColorMask;
if (mask & GL_DEPTH_BUFFER_BIT)
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.h
index 1d357746935..14a44e90cbb 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.h
@@ -40,10 +40,7 @@ struct ClearParameters
gl::ColorI colorI;
gl::ColorUI colorUI;
GLenum colorType;
- gl::DrawBufferMask colorMaskRed;
- gl::DrawBufferMask colorMaskGreen;
- gl::DrawBufferMask colorMaskBlue;
- gl::DrawBufferMask colorMaskAlpha;
+ gl::BlendStateExt::ColorMaskStorage::Type colorMask;
bool clearDepth;
float depthValue;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
index aabe067c626..38e52eae00d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
@@ -236,7 +236,7 @@ angle::Result HLSLCompiler::compileToBinary(d3d::Context *context,
HRESULT result = S_OK;
{
- ANGLE_TRACE_EVENT0("gpu.angle", "D3DCompile");
+ ANGLE_TRACE_EVENT1("gpu.angle", "D3DCompile", "source", hlsl);
SCOPED_ANGLE_HISTOGRAM_TIMER("GPU.ANGLE.D3DCompileMS");
result = mD3DCompileFunc(hlsl.c_str(), hlsl.length(), gl::g_fakepath, macros, nullptr,
"main", profile.c_str(), configs[i].flags, 0, &binary,
@@ -247,6 +247,7 @@ angle::Result HLSLCompiler::compileToBinary(d3d::Context *context,
{
std::string message = static_cast<const char *>(errorMessage->GetBufferPointer());
SafeRelease(errorMessage);
+ ANGLE_TRACE_EVENT1("gpu.angle", "D3DCompile::Error", "error", errorMessage);
infoLog.appendSanitized(message.c_str());
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index 48065968449..ebbde728de9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -29,6 +29,7 @@
#include "libANGLE/renderer/d3d/ShaderExecutableD3D.h"
#include "libANGLE/renderer/d3d/VertexDataManager.h"
#include "libANGLE/renderer/renderer_utils.h"
+#include "libANGLE/trace.h"
using namespace angle;
@@ -898,6 +899,7 @@ class ProgramD3D::LoadBinaryTask : public ProgramD3D::GetExecutableTask
angle::Result run() override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::LoadBinaryTask::run");
if (!mDataCopySucceeded)
{
mInfoLog << "Failed to copy program binary data to local buffer.";
@@ -1307,7 +1309,7 @@ angle::Result ProgramD3D::loadBinaryShaderExecutables(d3d::Context *contextD3D,
stream->readInt<unsigned int>(), gl::TextureType::_2D));
}
- initializeUniformStorage(mState.getProgramExecutable().getLinkedShaderStages());
+ initializeUniformStorage(mState.getExecutable().getLinkedShaderStages());
dirtyAllUniforms();
@@ -1685,6 +1687,7 @@ class ProgramD3D::GetVertexExecutableTask : public ProgramD3D::GetExecutableTask
GetVertexExecutableTask(ProgramD3D *program) : GetExecutableTask(program) {}
angle::Result run() override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::GetVertexExecutableTask::run");
if (!mProgram->mState.getAttachedShader(gl::ShaderType::Vertex))
{
return angle::Result::Continue;
@@ -1712,6 +1715,7 @@ class ProgramD3D::GetPixelExecutableTask : public ProgramD3D::GetExecutableTask
GetPixelExecutableTask(ProgramD3D *program) : GetExecutableTask(program) {}
angle::Result run() override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::GetPixelExecutableTask::run");
if (!mProgram->mState.getAttachedShader(gl::ShaderType::Fragment))
{
return angle::Result::Continue;
@@ -1747,6 +1751,7 @@ class ProgramD3D::GetGeometryExecutableTask : public ProgramD3D::GetExecutableTa
angle::Result run() override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::GetGeometryExecutableTask::run");
// Auto-generate the geometry shader here, if we expect to be using point rendering in
// D3D11.
if (mProgram->usesGeometryShader(mState, gl::PrimitiveMode::Points))
@@ -1768,6 +1773,7 @@ class ProgramD3D::GetComputeExecutableTask : public ProgramD3D::GetExecutableTas
GetComputeExecutableTask(ProgramD3D *program) : GetExecutableTask(program) {}
angle::Result run() override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::GetComputeExecutableTask::run");
mProgram->updateCachedImage2DBindLayoutFromComputeShader();
ShaderExecutableD3D *computeExecutable = nullptr;
ANGLE_TRY(mProgram->getComputeExecutableForImage2DBindLayout(this, &computeExecutable,
@@ -1806,6 +1812,7 @@ class ProgramD3D::GraphicsProgramLinkEvent final : public LinkEvent
angle::Result wait(const gl::Context *context) override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::GraphicsProgramLinkEvent::wait");
WaitableEvent::WaitMany(&mWaitEvents);
ANGLE_TRY(checkTask(context, mVertexTask.get()));
@@ -1906,6 +1913,7 @@ class ProgramD3D::ComputeProgramLinkEvent final : public LinkEvent
angle::Result wait(const gl::Context *context) override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::ComputeProgramLinkEvent::wait");
mWaitEvent->wait();
angle::Result result = mComputeTask->getResult();
@@ -1925,6 +1933,7 @@ class ProgramD3D::ComputeProgramLinkEvent final : public LinkEvent
std::unique_ptr<LinkEvent> ProgramD3D::compileProgramExecutables(const gl::Context *context,
gl::InfoLog &infoLog)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::compileProgramExecutables");
// Ensure the compiler is initialized to avoid race conditions.
angle::Result result = mRenderer->ensureHLSLCompilerInitialized(GetImplAs<ContextD3D>(context));
if (result != angle::Result::Continue)
@@ -1950,6 +1959,7 @@ std::unique_ptr<LinkEvent> ProgramD3D::compileProgramExecutables(const gl::Conte
std::unique_ptr<LinkEvent> ProgramD3D::compileComputeExecutable(const gl::Context *context,
gl::InfoLog &infoLog)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::compileComputeExecutable");
// Ensure the compiler is initialized to avoid race conditions.
angle::Result result = mRenderer->ensureHLSLCompilerInitialized(GetImplAs<ContextD3D>(context));
if (result != angle::Result::Continue)
@@ -1982,6 +1992,7 @@ angle::Result ProgramD3D::getComputeExecutableForImage2DBindLayout(
ShaderExecutableD3D **outExecutable,
gl::InfoLog *infoLog)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::getComputeExecutableForImage2DBindLayout");
if (mCachedComputeExecutableIndex.valid())
{
*outExecutable =
@@ -2023,6 +2034,7 @@ std::unique_ptr<LinkEvent> ProgramD3D::link(const gl::Context *context,
const gl::ProgramLinkedResources &resources,
gl::InfoLog &infoLog)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramD3D::link");
const auto &data = context->getState();
reset();
@@ -2353,7 +2365,7 @@ const std::vector<D3DUBOCacheUseSB> &ProgramD3D::getShaderUniformBufferCacheUseS
void ProgramD3D::dirtyAllUniforms()
{
- mShaderUniformsDirty = mState.getProgramExecutable().getLinkedShaderStages();
+ mShaderUniformsDirty = mState.getExecutable().getLinkedShaderStages();
}
void ProgramD3D::markUniformsClean()
@@ -3049,7 +3061,7 @@ void ProgramD3D::updateCachedInputLayout(Serial associatedSerial, const gl::Stat
const auto &vertexAttributes = state.getVertexArray()->getVertexAttributes();
const gl::AttributesMask &attributesMask =
- mState.getProgramExecutable().getActiveAttribLocationsMask();
+ mState.getExecutable().getActiveAttribLocationsMask();
for (size_t locationIndex : attributesMask)
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.h
index 4fca19da1ae..fff7922d1f3 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.h
@@ -339,7 +339,7 @@ class ProgramD3D : public ProgramImpl
bool hasShaderStage(gl::ShaderType shaderType) const
{
- return mState.getProgramExecutable().getLinkedShaderStages()[shaderType];
+ return mState.getExecutable().getLinkedShaderStages()[shaderType];
}
void assignImage2DRegisters(unsigned int startImageIndex,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.h
index 89c5e2714c5..9c2b90f25e6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.h
@@ -141,6 +141,7 @@ class BufferFactoryD3D : angle::NonCopyable
const gl::VertexBinding &binding,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *bytesRequiredOut) const = 0;
};
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp
index 14038a3df4b..066daf0b71a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp
@@ -16,6 +16,7 @@
#include "libANGLE/features.h"
#include "libANGLE/renderer/d3d/ProgramD3D.h"
#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/trace.h"
namespace rx
{
@@ -36,6 +37,7 @@ class TranslateTaskD3D : public angle::Closure
void operator()() override
{
+ ANGLE_TRACE_EVENT1("gpu.angle", "TranslateTask::run", "source", mSource);
std::vector<const char *> srcStrings;
if (!mSourcePath.empty())
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp
index 0febb9bfe32..38c8a36508d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp
@@ -681,7 +681,8 @@ angle::Result TextureD3D::setBaseLevel(const gl::Context *context, GLuint baseLe
}
angle::Result TextureD3D::syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits)
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source)
{
// This could be improved using dirty bits.
return angle::Result::Continue;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.h
index c0ab57b999e..91d008ba23e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.h
@@ -107,7 +107,8 @@ class TextureD3D : public TextureImpl, public angle::ObserverInterface
angle::Result setBaseLevel(const gl::Context *context, GLuint baseLevel) override;
angle::Result syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits) override;
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source) override;
angle::Result initializeContents(const gl::Context *context,
const gl::ImageIndex &imageIndex) override;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp
index bd32101c35a..acb27adfcc6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp
@@ -96,11 +96,12 @@ angle::Result VertexBufferInterface::getSpaceRequired(const gl::Context *context
const gl::VertexBinding &binding,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *spaceInBytesOut) const
{
unsigned int spaceRequired = 0;
ANGLE_TRY(mFactory->getVertexSpaceRequired(context, attrib, binding, count, instances,
- &spaceRequired));
+ baseInstance, &spaceRequired));
// Align to 16-byte boundary
unsigned int alignedSpaceRequired = roundUpPow2(spaceRequired, 16u);
@@ -171,11 +172,13 @@ angle::Result StreamingVertexBufferInterface::storeDynamicAttribute(
GLint start,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *outStreamOffset,
const uint8_t *sourceData)
{
unsigned int spaceRequired = 0;
- ANGLE_TRY(getSpaceRequired(context, attrib, binding, count, instances, &spaceRequired));
+ ANGLE_TRY(
+ getSpaceRequired(context, attrib, binding, count, instances, baseInstance, &spaceRequired));
// Protect against integer overflow
angle::CheckedNumeric<unsigned int> checkedPosition(mWritePosition);
@@ -184,8 +187,19 @@ angle::Result StreamingVertexBufferInterface::storeDynamicAttribute(
mReservedSpace = 0;
+ size_t adjustedCount = count;
+ GLuint divisor = binding.getDivisor();
+
+ if (instances != 0 && divisor != 0)
+ {
+ // The attribute is an instanced attribute and it's an draw instance call
+ // Extra number of elements are copied at the beginning to make sure
+ // the driver is referencing the correct data with non-zero baseInstance
+ adjustedCount += UnsignedCeilDivide(baseInstance, divisor);
+ }
+
ANGLE_TRY(mVertexBuffer->storeVertexAttributes(context, attrib, binding, currentValueType,
- start, count, instances, mWritePosition,
+ start, adjustedCount, instances, mWritePosition,
sourceData));
if (outStreamOffset)
@@ -202,11 +216,12 @@ angle::Result StreamingVertexBufferInterface::reserveVertexSpace(const gl::Conte
const gl::VertexAttribute &attrib,
const gl::VertexBinding &binding,
size_t count,
- GLsizei instances)
+ GLsizei instances,
+ GLuint baseInstance)
{
unsigned int requiredSpace = 0;
ANGLE_TRY(mFactory->getVertexSpaceRequired(context, attrib, binding, count, instances,
- &requiredSpace));
+ baseInstance, &requiredSpace));
// Align to 16-byte boundary
auto alignedRequiredSpace = rx::CheckedRoundUp(requiredSpace, 16u);
@@ -277,7 +292,7 @@ angle::Result StaticVertexBufferInterface::storeStaticAttribute(const gl::Contex
const uint8_t *sourceData)
{
unsigned int spaceRequired = 0;
- ANGLE_TRY(getSpaceRequired(context, attrib, binding, count, instances, &spaceRequired));
+ ANGLE_TRY(getSpaceRequired(context, attrib, binding, count, instances, 0, &spaceRequired));
ANGLE_TRY(setBufferSize(context, spaceRequired));
ASSERT(attrib.enabled);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.h
index 5baeb79f679..45a16c6bf52 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.h
@@ -102,6 +102,7 @@ class VertexBufferInterface : angle::NonCopyable
const gl::VertexBinding &binding,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *spaceInBytesOut) const;
BufferFactoryD3D *const mFactory;
VertexBuffer *mVertexBuffer;
@@ -124,6 +125,7 @@ class StreamingVertexBufferInterface : public VertexBufferInterface
GLint start,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *outStreamOffset,
const uint8_t *sourceData);
@@ -131,7 +133,8 @@ class StreamingVertexBufferInterface : public VertexBufferInterface
const gl::VertexAttribute &attribute,
const gl::VertexBinding &binding,
size_t count,
- GLsizei instances);
+ GLsizei instances,
+ GLuint baseInstance);
private:
angle::Result reserveSpace(const gl::Context *context, unsigned int size);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp
index b418b5dcc3f..43fcdc8de5a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp
@@ -114,7 +114,7 @@ bool DirectStoragePossible(const gl::Context *context,
{
unsigned int elementSize = 0;
angle::Result error =
- factory->getVertexSpaceRequired(context, attrib, binding, 1, 0, &elementSize);
+ factory->getVertexSpaceRequired(context, attrib, binding, 1, 0, 0, &elementSize);
ASSERT(error == angle::Result::Continue);
alignment = std::min<size_t>(elementSize, 4);
}
@@ -312,8 +312,9 @@ angle::Result VertexDataManager::prepareVertexData(
return angle::Result::Continue;
}
+ // prepareVertexData is only called by Renderer9 which don't support baseInstance
ANGLE_TRY(storeDynamicAttribs(context, translatedAttribs, mDynamicAttribsMaskCache, start,
- count, instances));
+ count, instances, 0u));
PromoteDynamicAttribs(context, *translatedAttribs, mDynamicAttribsMaskCache, count);
@@ -370,7 +371,7 @@ angle::Result VertexDataManager::StoreStaticAttrib(const gl::Context *context,
unsigned int streamOffset = 0;
translated->storage = nullptr;
- ANGLE_TRY(bufferD3D->getFactory()->getVertexSpaceRequired(context, attrib, binding, 1, 0,
+ ANGLE_TRY(bufferD3D->getFactory()->getVertexSpaceRequired(context, attrib, binding, 1, 0, 0,
&translated->stride));
auto *staticBuffer = bufferD3D->getStaticVertexBuffer(attrib, binding);
@@ -418,7 +419,8 @@ angle::Result VertexDataManager::storeDynamicAttribs(
const gl::AttributesMask &dynamicAttribsMask,
GLint start,
size_t count,
- GLsizei instances)
+ GLsizei instances,
+ GLuint baseInstance)
{
// Instantiating this class will ensure the streaming buffer is never left mapped.
class StreamingBufferUnmapper final : NonCopyable
@@ -442,14 +444,16 @@ angle::Result VertexDataManager::storeDynamicAttribs(
for (auto attribIndex : dynamicAttribsMask)
{
const auto &dynamicAttrib = (*translatedAttribs)[attribIndex];
- ANGLE_TRY(reserveSpaceForAttrib(context, dynamicAttrib, start, count, instances));
+ ANGLE_TRY(
+ reserveSpaceForAttrib(context, dynamicAttrib, start, count, instances, baseInstance));
}
// Store dynamic attributes
for (auto attribIndex : dynamicAttribsMask)
{
auto *dynamicAttrib = &(*translatedAttribs)[attribIndex];
- ANGLE_TRY(storeDynamicAttrib(context, dynamicAttrib, start, count, instances));
+ ANGLE_TRY(
+ storeDynamicAttrib(context, dynamicAttrib, start, count, instances, baseInstance));
}
return angle::Result::Continue;
@@ -482,7 +486,8 @@ angle::Result VertexDataManager::reserveSpaceForAttrib(const gl::Context *contex
const TranslatedAttribute &translatedAttrib,
GLint start,
size_t count,
- GLsizei instances)
+ GLsizei instances,
+ GLuint baseInstance)
{
ASSERT(translatedAttrib.attribute && translatedAttrib.binding);
const auto &attrib = *translatedAttrib.attribute;
@@ -502,7 +507,9 @@ angle::Result VertexDataManager::reserveSpaceForAttrib(const gl::Context *contex
{
// Vertices do not apply the 'start' offset when the divisor is non-zero even when doing
// a non-instanced draw call
- GLint firstVertexIndex = binding.getDivisor() > 0 ? 0 : start;
+ GLint firstVertexIndex = binding.getDivisor() > 0
+ ? UnsignedCeilDivide(baseInstance, binding.getDivisor())
+ : start;
int64_t maxVertexCount =
static_cast<int64_t>(firstVertexIndex) + static_cast<int64_t>(totalCount);
@@ -513,14 +520,16 @@ angle::Result VertexDataManager::reserveSpaceForAttrib(const gl::Context *contex
maxByte <= static_cast<int64_t>(bufferD3D->getSize()),
"Vertex buffer is not big enough for the draw call.", GL_INVALID_OPERATION);
}
- return mStreamingBuffer.reserveVertexSpace(context, attrib, binding, totalCount, instances);
+ return mStreamingBuffer.reserveVertexSpace(context, attrib, binding, totalCount, instances,
+ baseInstance);
}
angle::Result VertexDataManager::storeDynamicAttrib(const gl::Context *context,
TranslatedAttribute *translated,
GLint start,
size_t count,
- GLsizei instances)
+ GLsizei instances,
+ GLuint baseInstance)
{
ASSERT(translated->attribute && translated->binding);
const auto &attrib = *translated->attribute;
@@ -533,7 +542,8 @@ angle::Result VertexDataManager::storeDynamicAttrib(const gl::Context *context,
BufferD3D *storage = buffer ? GetImplAs<BufferD3D>(buffer) : nullptr;
// Instanced vertices do not apply the 'start' offset
- GLint firstVertexIndex = (binding.getDivisor() > 0 ? 0 : start);
+ GLint firstVertexIndex =
+ (binding.getDivisor() > 0 ? UnsignedCeilDivide(baseInstance, binding.getDivisor()) : start);
// Compute source data pointer
const uint8_t *sourceData = nullptr;
@@ -554,14 +564,14 @@ angle::Result VertexDataManager::storeDynamicAttrib(const gl::Context *context,
translated->storage = nullptr;
ANGLE_TRY(
- mFactory->getVertexSpaceRequired(context, attrib, binding, 1, 0, &translated->stride));
+ mFactory->getVertexSpaceRequired(context, attrib, binding, 1, 0, 0, &translated->stride));
size_t totalCount = gl::ComputeVertexBindingElementCount(binding.getDivisor(), count,
static_cast<size_t>(instances));
ANGLE_TRY(mStreamingBuffer.storeDynamicAttribute(
context, attrib, binding, translated->currentValueType, firstVertexIndex,
- static_cast<GLsizei>(totalCount), instances, &streamOffset, sourceData));
+ static_cast<GLsizei>(totalCount), instances, baseInstance, &streamOffset, sourceData));
VertexBuffer *vertexBuffer = mStreamingBuffer.getVertexBuffer();
@@ -593,13 +603,13 @@ angle::Result VertexDataManager::storeCurrentValue(
const auto &attrib = *translated->attribute;
const auto &binding = *translated->binding;
- ANGLE_TRY(buffer.reserveVertexSpace(context, attrib, binding, 1, 0));
+ ANGLE_TRY(buffer.reserveVertexSpace(context, attrib, binding, 1, 0, 0));
const uint8_t *sourceData =
reinterpret_cast<const uint8_t *>(currentValue.Values.FloatValues);
unsigned int streamOffset;
ANGLE_TRY(buffer.storeDynamicAttribute(context, attrib, binding, currentValue.Type, 0, 1, 0,
- &streamOffset, sourceData));
+ 0, &streamOffset, sourceData));
buffer.getVertexBuffer()->hintUnmapResource();
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.h
index 80d3c16ad7d..50400db0279 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.h
@@ -111,7 +111,8 @@ class VertexDataManager : angle::NonCopyable
const gl::AttributesMask &dynamicAttribsMask,
GLint start,
size_t count,
- GLsizei instances);
+ GLsizei instances,
+ GLuint baseInstance);
// Promote static usage of dynamic buffers.
static void PromoteDynamicAttribs(const gl::Context *context,
@@ -140,13 +141,15 @@ class VertexDataManager : angle::NonCopyable
const TranslatedAttribute &translatedAttrib,
GLint start,
size_t count,
- GLsizei instances);
+ GLsizei instances,
+ GLuint baseInstance);
angle::Result storeDynamicAttrib(const gl::Context *context,
TranslatedAttribute *translated,
GLint start,
size_t count,
- GLsizei instances);
+ GLsizei instances,
+ GLuint baseInstance);
BufferFactoryD3D *const mFactory;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
index 93d4af6e7ad..05739707d26 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
@@ -287,16 +287,7 @@ angle::Result Clear11::ensureResourcesInitialized(const gl::Context *context)
mDepthStencilStateKey.stencilBackFunc = GL_ALWAYS;
// Initialize BlendStateKey with defaults
- for (gl::BlendState &blendState : mBlendStateKey.blendStateArray)
- {
- blendState.blend = false;
- blendState.sourceBlendRGB = GL_ONE;
- blendState.sourceBlendAlpha = GL_ONE;
- blendState.destBlendRGB = GL_ZERO;
- blendState.destBlendAlpha = GL_ZERO;
- blendState.blendEquationRGB = GL_FUNC_ADD;
- blendState.blendEquationAlpha = GL_FUNC_ADD;
- }
+ mBlendStateKey.blendStateExt = gl::BlendStateExt(mRenderer->getNativeCaps().maxDrawBuffers);
mResourcesInitialized = true;
return angle::Result::Continue;
@@ -468,11 +459,8 @@ angle::Result Clear11::clearFramebuffer(const gl::Context *context,
const auto &colorAttachments = fboData.getColorAttachments();
for (auto colorAttachmentIndex : fboData.getEnabledDrawBuffers())
{
- const uint8_t colorMask =
- gl_d3d11::ConvertColorMask(clearParams.colorMaskRed[colorAttachmentIndex],
- clearParams.colorMaskGreen[colorAttachmentIndex],
- clearParams.colorMaskBlue[colorAttachmentIndex],
- clearParams.colorMaskAlpha[colorAttachmentIndex]);
+ const uint8_t colorMask = gl::BlendStateExt::ColorMaskStorage::GetValueIndexed(
+ colorAttachmentIndex, clearParams.colorMask);
commonColorMask |= colorMask;
@@ -501,10 +489,10 @@ angle::Result Clear11::clearFramebuffer(const gl::Context *context,
<< ").";
}
- if ((formatInfo.redBits == 0 || !clearParams.colorMaskRed[colorAttachmentIndex]) &&
- (formatInfo.greenBits == 0 || !clearParams.colorMaskGreen[colorAttachmentIndex]) &&
- (formatInfo.blueBits == 0 || !clearParams.colorMaskBlue[colorAttachmentIndex]) &&
- (formatInfo.alphaBits == 0 || !clearParams.colorMaskAlpha[colorAttachmentIndex]))
+ bool r, g, b, a;
+ gl::BlendStateExt::UnpackColorMask(colorMask, &r, &g, &b, &a);
+ if ((formatInfo.redBits == 0 || !r) && (formatInfo.greenBits == 0 || !g) &&
+ (formatInfo.blueBits == 0 || !b) && (formatInfo.alphaBits == 0 || !a))
{
// Every channel either does not exist in the render target or is masked out
continue;
@@ -514,11 +502,9 @@ angle::Result Clear11::clearFramebuffer(const gl::Context *context,
ASSERT(framebufferRTV.valid());
if ((!(mRenderer->getRenderer11DeviceCaps().supportsClearView) && needScissoredClear) ||
- clearParams.colorType != GL_FLOAT ||
- (formatInfo.redBits > 0 && !clearParams.colorMaskRed[colorAttachmentIndex]) ||
- (formatInfo.greenBits > 0 && !clearParams.colorMaskGreen[colorAttachmentIndex]) ||
- (formatInfo.blueBits > 0 && !clearParams.colorMaskBlue[colorAttachmentIndex]) ||
- (formatInfo.alphaBits > 0 && !clearParams.colorMaskAlpha[colorAttachmentIndex]))
+ clearParams.colorType != GL_FLOAT || (formatInfo.redBits > 0 && !r) ||
+ (formatInfo.greenBits > 0 && !g) || (formatInfo.blueBits > 0 && !b) ||
+ (formatInfo.alphaBits > 0 && !a))
{
rtvs[numRtvs] = framebufferRTV.get();
rtvMasks[numRtvs] = gl_d3d11::GetColorMask(formatInfo) & colorMask;
@@ -650,17 +636,13 @@ angle::Result Clear11::clearFramebuffer(const gl::Context *context,
ASSERT(numRtvs <= static_cast<uint32_t>(mRenderer->getNativeCaps().maxDrawBuffers));
// Setup BlendStateKey parameters
- for (size_t i = 0; i < mBlendStateKey.blendStateArray.size(); i++)
+ mBlendStateKey.blendStateExt.setColorMask(false, false, false, false);
+ for (size_t i = 0; i < numRtvs; i++)
{
- gl::BlendState &blendState = mBlendStateKey.blendStateArray[i];
- blendState.colorMaskRed = clearParams.colorMaskRed[i];
- blendState.colorMaskGreen = clearParams.colorMaskGreen[i];
- blendState.colorMaskBlue = clearParams.colorMaskBlue[i];
- blendState.colorMaskAlpha = clearParams.colorMaskAlpha[i];
+ mBlendStateKey.blendStateExt.setColorMaskIndexed(i, rtvMasks[i]);
}
mBlendStateKey.rtvMax = static_cast<uint16_t>(numRtvs);
- memcpy(mBlendStateKey.rtvMasks, &rtvMasks[0], sizeof(mBlendStateKey.rtvMasks));
// Get BlendState
const d3d11::BlendState *blendState = nullptr;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp
index d07349423b2..52689a90156 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp
@@ -264,7 +264,7 @@ angle::Result Context11::drawArrays(const gl::Context *context,
{
ASSERT(count > 0);
ANGLE_TRY(mRenderer->getStateManager()->updateState(
- context, mode, first, count, gl::DrawElementsType::InvalidEnum, nullptr, 0, 0));
+ context, mode, first, count, gl::DrawElementsType::InvalidEnum, nullptr, 0, 0, 0));
return mRenderer->drawArrays(context, mode, first, count, 0, 0);
}
@@ -275,8 +275,9 @@ angle::Result Context11::drawArraysInstanced(const gl::Context *context,
GLsizei instanceCount)
{
ASSERT(count > 0);
- ANGLE_TRY(mRenderer->getStateManager()->updateState(
- context, mode, first, count, gl::DrawElementsType::InvalidEnum, nullptr, instanceCount, 0));
+ ANGLE_TRY(mRenderer->getStateManager()->updateState(context, mode, first, count,
+ gl::DrawElementsType::InvalidEnum, nullptr,
+ instanceCount, 0, 0));
return mRenderer->drawArrays(context, mode, first, count, instanceCount, 0);
}
@@ -288,8 +289,9 @@ angle::Result Context11::drawArraysInstancedBaseInstance(const gl::Context *cont
GLuint baseInstance)
{
ASSERT(count > 0);
- ANGLE_TRY(mRenderer->getStateManager()->updateState(
- context, mode, first, count, gl::DrawElementsType::InvalidEnum, nullptr, instanceCount, 0));
+ ANGLE_TRY(mRenderer->getStateManager()->updateState(context, mode, first, count,
+ gl::DrawElementsType::InvalidEnum, nullptr,
+ instanceCount, 0, baseInstance));
return mRenderer->drawArrays(context, mode, first, count, instanceCount, baseInstance);
}
@@ -312,15 +314,17 @@ ANGLE_INLINE angle::Result Context11::drawElementsImpl(const gl::Context *contex
GLint startVertex;
ANGLE_TRY(ComputeStartVertex(GetImplAs<Context11>(context), indexRange, baseVertex,
&startVertex));
- ANGLE_TRY(mRenderer->getStateManager()->updateState(
- context, mode, startVertex, indexCount, indexType, indices, instanceCount, baseVertex));
+ ANGLE_TRY(mRenderer->getStateManager()->updateState(context, mode, startVertex, indexCount,
+ indexType, indices, instanceCount,
+ baseVertex, baseInstance));
return mRenderer->drawElements(context, mode, startVertex, indexCount, indexType, indices,
instanceCount, baseVertex, baseInstance);
}
else
{
ANGLE_TRY(mRenderer->getStateManager()->updateState(context, mode, 0, indexCount, indexType,
- indices, instanceCount, baseVertex));
+ indices, instanceCount, baseVertex,
+ baseInstance));
return mRenderer->drawElements(context, mode, 0, indexCount, indexType, indices,
instanceCount, baseVertex, baseInstance);
}
@@ -413,14 +417,14 @@ angle::Result Context11::drawArraysIndirect(const gl::Context *context,
ANGLE_TRY(mRenderer->getStateManager()->updateState(context, mode, cmd->first, cmd->count,
gl::DrawElementsType::InvalidEnum,
- nullptr, cmd->instanceCount, 0));
+ nullptr, cmd->instanceCount, 0, 0));
return mRenderer->drawArrays(context, mode, cmd->first, cmd->count, cmd->instanceCount,
cmd->baseInstance);
}
else
{
ANGLE_TRY(mRenderer->getStateManager()->updateState(
- context, mode, 0, 0, gl::DrawElementsType::InvalidEnum, nullptr, 0, 0));
+ context, mode, 0, 0, gl::DrawElementsType::InvalidEnum, nullptr, 0, 0, 0));
return mRenderer->drawArraysIndirect(context, indirect);
}
}
@@ -453,14 +457,14 @@ angle::Result Context11::drawElementsIndirect(const gl::Context *context,
ANGLE_TRY(mRenderer->getStateManager()->updateState(context, mode, startVertex, cmd->count,
type, indices, cmd->primCount,
- cmd->baseVertex));
+ cmd->baseVertex, cmd->baseInstance));
return mRenderer->drawElements(context, mode, static_cast<GLint>(indexRange.start),
cmd->count, type, indices, cmd->primCount, 0, 0);
}
else
{
ANGLE_TRY(
- mRenderer->getStateManager()->updateState(context, mode, 0, 0, type, nullptr, 0, 0));
+ mRenderer->getStateManager()->updateState(context, mode, 0, 0, type, nullptr, 0, 0, 0));
return mRenderer->drawElementsIndirect(context, indirect);
}
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.h
index 71d06037baf..2bd6bc3710f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.h
@@ -25,4 +25,4 @@ class Program11 : public ProgramD3D
};
} // namespace rx
-#endif // LIBANGLE_RENDERER_D3D_D3D11_PROGRAM11_H_ \ No newline at end of file
+#endif // LIBANGLE_RENDERER_D3D_D3D11_PROGRAM11_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
index feda997191b..504ef4b9b4b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
@@ -45,31 +45,28 @@ void RenderStateCache::clear()
// static
d3d11::BlendStateKey RenderStateCache::GetBlendStateKey(const gl::Context *context,
Framebuffer11 *framebuffer11,
- const gl::BlendStateArray &blendStateArray,
+ const gl::BlendStateExt &blendStateExt,
bool sampleAlphaToCoverage)
{
d3d11::BlendStateKey key;
- // All elements of the BlendStateArray inside the key should be initialized for the caching to
+ // All fields of the BlendStateExt inside the key should be initialized for the caching to
// work correctly. Due to mrt_perf_workaround, the actual indices of active draw buffers may be
// different, so both arrays should be tracked.
+ key.blendStateExt = gl::BlendStateExt(blendStateExt.mMaxDrawBuffers);
const gl::AttachmentList &colorbuffers = framebuffer11->getColorAttachmentsForRender(context);
const gl::DrawBufferMask colorAttachmentsForRenderMask =
framebuffer11->getLastColorAttachmentsForRenderMask();
- ASSERT(blendStateArray.size() == colorAttachmentsForRenderMask.size());
+ ASSERT(blendStateExt.mMaxDrawBuffers <= colorAttachmentsForRenderMask.size());
ASSERT(colorbuffers.size() == colorAttachmentsForRenderMask.count());
size_t keyBlendIndex = 0;
+
+ // With blending disabled, factors and equations are ignored when building
+ // D3D11_RENDER_TARGET_BLEND_DESC, so we can reduce the amount of unique keys by
+ // enforcing default values.
for (size_t sourceIndex : colorAttachmentsForRenderMask)
{
- const gl::BlendState &blendState = blendStateArray[sourceIndex];
- gl::BlendState &keyBlendState = key.blendStateArray[keyBlendIndex];
-
- // With blending disabled, factors and equations are ignored when building
- // D3D11_RENDER_TARGET_BLEND_DESC, so we can reduce the amount of unique keys by
- // enforcing default values.
- keyBlendState = gl::BlendState();
-
ASSERT(keyBlendIndex < colorbuffers.size());
const gl::FramebufferAttachment *attachment = colorbuffers[keyBlendIndex];
@@ -81,44 +78,26 @@ d3d11::BlendStateKey RenderStateCache::GetBlendStateKey(const gl::Context *conte
continue;
}
- // These values are used only for caching (hash calculation) purposes.
- // Actual write color mask value is derived below.
- keyBlendState.colorMaskRed = blendState.colorMaskRed;
- keyBlendState.colorMaskGreen = blendState.colorMaskGreen;
- keyBlendState.colorMaskBlue = blendState.colorMaskBlue;
- keyBlendState.colorMaskAlpha = blendState.colorMaskAlpha;
+ const uint8_t colorMask = blendStateExt.getColorMaskIndexed(sourceIndex);
const gl::InternalFormat &internalFormat = *attachment->getFormat().info;
+ key.blendStateExt.setColorMaskIndexed(keyBlendIndex,
+ gl_d3d11::GetColorMask(internalFormat) & colorMask);
key.rtvMax = static_cast<uint16_t>(keyBlendIndex) + 1;
- key.rtvMasks[keyBlendIndex] =
- gl_d3d11::GetColorMask(internalFormat) &
- gl_d3d11::ConvertColorMask(blendState.colorMaskRed, blendState.colorMaskGreen,
- blendState.colorMaskBlue, blendState.colorMaskAlpha);
// Some D3D11 drivers produce unexpected results when blending is enabled for integer
// attachments. Per OpenGL ES spec, it must be ignored anyway. When blending is disabled,
// the state remains default to reduce the number of unique keys.
- if (blendState.blend && !internalFormat.isInt())
+ if (blendStateExt.mEnabledMask.test(sourceIndex) && !internalFormat.isInt())
{
- keyBlendState.blend = true;
- keyBlendState.sourceBlendRGB = blendState.sourceBlendRGB;
- keyBlendState.sourceBlendAlpha = blendState.sourceBlendAlpha;
- keyBlendState.destBlendRGB = blendState.destBlendRGB;
- keyBlendState.destBlendAlpha = blendState.destBlendAlpha;
- keyBlendState.blendEquationRGB = blendState.blendEquationRGB;
- keyBlendState.blendEquationAlpha = blendState.blendEquationAlpha;
+ key.blendStateExt.setEnabledIndexed(keyBlendIndex, true);
+ key.blendStateExt.setEquationsIndexed(keyBlendIndex, sourceIndex, blendStateExt);
+ key.blendStateExt.setFactorsIndexed(keyBlendIndex, sourceIndex, blendStateExt);
}
keyBlendIndex++;
}
- // Initialize remaining slots in key.blendStateArray
- if (keyBlendIndex < key.blendStateArray.size())
- {
- std::fill(key.blendStateArray.begin() + keyBlendIndex, key.blendStateArray.end(),
- gl::BlendState());
- }
-
key.sampleAlphaToCoverage = sampleAlphaToCoverage ? 1 : 0;
return key;
}
@@ -138,8 +117,8 @@ angle::Result RenderStateCache::getBlendState(const gl::Context *context,
TrimCache(kMaxStates, kGCLimit, "blend state", &mBlendStateCache);
// Create a new blend state and insert it into the cache
- D3D11_BLEND_DESC blendDesc;
- const gl::BlendStateArray &blendStateArray = key.blendStateArray;
+ D3D11_BLEND_DESC blendDesc = {}; // avoid undefined fields
+ const gl::BlendStateExt &blendStateExt = key.blendStateExt;
blendDesc.AlphaToCoverageEnable = key.sampleAlphaToCoverage != 0 ? TRUE : FALSE;
blendDesc.IndependentBlendEnable = key.rtvMax > 1 ? TRUE : FALSE;
@@ -148,26 +127,29 @@ angle::Result RenderStateCache::getBlendState(const gl::Context *context,
// feature level. Given that we do not expose GL entrypoints that set per-buffer blend states on
// systems lower than FL10_1, this array will be always valid.
- ASSERT(blendStateArray.size() >= D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT);
- for (size_t i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; i++)
+ for (size_t i = 0; i < blendStateExt.mMaxDrawBuffers; i++)
{
D3D11_RENDER_TARGET_BLEND_DESC &rtDesc = blendDesc.RenderTarget[i];
- rtDesc = {}; // otherwise its content may be undefined
-
- const gl::BlendState &blendState = blendStateArray[i];
- if (blendState.blend)
+ if (blendStateExt.mEnabledMask.test(i))
{
- rtDesc.BlendEnable = true;
- rtDesc.SrcBlend = gl_d3d11::ConvertBlendFunc(blendState.sourceBlendRGB, false);
- rtDesc.DestBlend = gl_d3d11::ConvertBlendFunc(blendState.destBlendRGB, false);
- rtDesc.BlendOp = gl_d3d11::ConvertBlendOp(blendState.blendEquationRGB);
- rtDesc.SrcBlendAlpha = gl_d3d11::ConvertBlendFunc(blendState.sourceBlendAlpha, true);
- rtDesc.DestBlendAlpha = gl_d3d11::ConvertBlendFunc(blendState.destBlendAlpha, true);
- rtDesc.BlendOpAlpha = gl_d3d11::ConvertBlendOp(blendState.blendEquationAlpha);
+ rtDesc.BlendEnable = true;
+ rtDesc.SrcBlend =
+ gl_d3d11::ConvertBlendFunc(blendStateExt.getSrcColorIndexed(i), false);
+ rtDesc.DestBlend =
+ gl_d3d11::ConvertBlendFunc(blendStateExt.getDstColorIndexed(i), false);
+ rtDesc.BlendOp = gl_d3d11::ConvertBlendOp(blendStateExt.getEquationColorIndexed(i));
+ rtDesc.SrcBlendAlpha =
+ gl_d3d11::ConvertBlendFunc(blendStateExt.getSrcAlphaIndexed(i), true);
+ rtDesc.DestBlendAlpha =
+ gl_d3d11::ConvertBlendFunc(blendStateExt.getDstAlphaIndexed(i), true);
+ rtDesc.BlendOpAlpha =
+ gl_d3d11::ConvertBlendOp(blendStateExt.getEquationAlphaIndexed(i));
}
- rtDesc.RenderTargetWriteMask = key.rtvMasks[i];
+ // blendStateExt.colorMask follows the same packing scheme as
+ // D3D11_RENDER_TARGET_BLEND_DESC.RenderTargetWriteMask
+ rtDesc.RenderTargetWriteMask = blendStateExt.getColorMaskIndexed(i);
}
d3d11::BlendState d3dBlendState;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h
index 5bfc59313eb..bd853fe86e4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h
@@ -69,7 +69,7 @@ class RenderStateCache : angle::NonCopyable
static d3d11::BlendStateKey GetBlendStateKey(const gl::Context *context,
Framebuffer11 *framebuffer11,
- const gl::BlendStateArray &blendStateArray,
+ const gl::BlendStateExt &blendStateExt,
bool sampleAlphaToCoverage);
angle::Result getBlendState(const gl::Context *context,
Renderer11 *renderer,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
index cda38c47d2f..9894787c1d6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
@@ -3843,6 +3843,7 @@ angle::Result Renderer11::getVertexSpaceRequired(const gl::Context *context,
const gl::VertexBinding &binding,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *bytesRequiredOut) const
{
if (!attrib.enabled)
@@ -3861,7 +3862,8 @@ angle::Result Renderer11::getVertexSpaceRequired(const gl::Context *context,
else
{
// Round up to divisor, if possible
- elementCount = UnsignedCeilDivide(static_cast<unsigned int>(instances), divisor);
+ elementCount =
+ UnsignedCeilDivide(static_cast<unsigned int>(instances + baseInstance), divisor);
}
ASSERT(elementCount > 0);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
index cb98bfa0d18..c933bcd866c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
@@ -374,6 +374,7 @@ class Renderer11 : public RendererD3D
const gl::VertexBinding &binding,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *bytesRequiredOut) const override;
angle::Result readFromAttachment(const gl::Context *context,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
index 9ca2a89718e..7636fe09e1d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
@@ -194,7 +194,7 @@ void SortAttributesByLayout(const ProgramD3D &programD3D,
sortedAttributesOut->clear();
const AttribIndexArray &locationToSemantic = programD3D.getAttribLocationToD3DSemantics();
- const gl::ProgramExecutable &executable = programD3D.getState().getProgramExecutable();
+ const gl::ProgramExecutable &executable = programD3D.getState().getExecutable();
for (auto locationIndex : executable.getActiveAttribLocationsMask())
{
@@ -541,9 +541,10 @@ void ShaderConstants11::onViewportChange(const gl::Rectangle &glViewport,
}
// Update the ShaderConstants with a new first vertex and return whether the update dirties them.
-ANGLE_INLINE bool ShaderConstants11::onFirstVertexChange(GLint firstVertex, GLint baseVertex)
+ANGLE_INLINE bool ShaderConstants11::onFirstVertexChange(GLint firstVertex)
{
- uint32_t newFirstVertex = static_cast<uint32_t>(firstVertex + baseVertex);
+ // firstVertex should already include baseVertex, if any.
+ uint32_t newFirstVertex = static_cast<uint32_t>(firstVertex);
bool firstVertexDirty = (mVertex.firstVertex != newFirstVertex);
if (firstVertexDirty)
@@ -668,7 +669,7 @@ StateManager11::StateManager11(Renderer11 *renderer)
: mRenderer(renderer),
mInternalDirtyBits(),
mCurSampleAlphaToCoverage(false),
- mCurBlendStateArray(),
+ mCurBlendStateExt(),
mCurBlendColor(0, 0, 0, 0),
mCurSampleMask(0),
mCurStencilRef(0),
@@ -951,63 +952,40 @@ void StateManager11::syncState(const gl::Context *context, const gl::State::Dirt
{
case gl::State::DIRTY_BIT_BLEND_EQUATIONS:
{
- const gl::BlendStateArray &blendStateArray = state.getBlendStateArray();
- const size_t statesCount = mIndependentBlendStates ? blendStateArray.size() : 1;
- for (size_t i = 0; i < statesCount; i++)
+ const gl::BlendStateExt &blendStateExt = state.getBlendStateExt();
+ ASSERT(mCurBlendStateExt.mMaxDrawBuffers == blendStateExt.mMaxDrawBuffers);
+ // Compare blend equations only for buffers with blending enabled because
+ // subsequent sync stages enforce default values for buffers with blending disabled.
+ if ((blendStateExt.mEnabledMask &
+ mCurBlendStateExt.compareEquations(blendStateExt.mEquationColor,
+ blendStateExt.mEquationAlpha))
+ .any())
{
- const gl::BlendState &blendState = blendStateArray[i];
- if (!blendState.blend)
- {
- // Subsequent sync stages enforce default values for buffers with disabled
- // blending anyway, no need to touch internal dirty bits.
- continue;
- }
- const gl::BlendState &curBlendState = mCurBlendStateArray[i];
- if (blendState.blendEquationRGB != curBlendState.blendEquationRGB ||
- blendState.blendEquationAlpha != curBlendState.blendEquationAlpha)
- {
- mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
- break;
- }
+ mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
}
break;
}
case gl::State::DIRTY_BIT_BLEND_FUNCS:
{
- const gl::BlendStateArray &blendStateArray = state.getBlendStateArray();
- const size_t statesCount = mIndependentBlendStates ? blendStateArray.size() : 1;
- for (size_t i = 0; i < statesCount; i++)
+ const gl::BlendStateExt &blendStateExt = state.getBlendStateExt();
+ ASSERT(mCurBlendStateExt.mMaxDrawBuffers == blendStateExt.mMaxDrawBuffers);
+ // Compare blend factors only for buffers with blending enabled because
+ // subsequent sync stages enforce default values for buffers with blending disabled.
+ if ((blendStateExt.mEnabledMask &
+ mCurBlendStateExt.compareFactors(
+ blendStateExt.mSrcColor, blendStateExt.mDstColor, blendStateExt.mSrcAlpha,
+ blendStateExt.mDstAlpha))
+ .any())
{
- const gl::BlendState &blendState = blendStateArray[i];
- if (!blendState.blend)
- {
- // Subsequent sync stages enforce default values for buffers with disabled
- // blending anyway, no need to touch internal dirty bits.
- continue;
- }
- const gl::BlendState &curBlendState = mCurBlendStateArray[i];
- if (blendState.sourceBlendRGB != curBlendState.sourceBlendRGB ||
- blendState.destBlendRGB != curBlendState.destBlendRGB ||
- blendState.sourceBlendAlpha != curBlendState.sourceBlendAlpha ||
- blendState.destBlendAlpha != curBlendState.destBlendAlpha)
- {
- mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
- break;
- }
+ mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
}
break;
}
case gl::State::DIRTY_BIT_BLEND_ENABLED:
{
- const gl::BlendStateArray &blendStateArray = state.getBlendStateArray();
- const size_t statesCount = mIndependentBlendStates ? blendStateArray.size() : 1;
- for (size_t i = 0; i < statesCount; i++)
+ if (state.getBlendStateExt().mEnabledMask != mCurBlendStateExt.mEnabledMask)
{
- if (blendStateArray[i].blend != mCurBlendStateArray[i].blend)
- {
- mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
- break;
- }
+ mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
}
break;
}
@@ -1025,20 +1003,9 @@ void StateManager11::syncState(const gl::Context *context, const gl::State::Dirt
break;
case gl::State::DIRTY_BIT_COLOR_MASK:
{
- const gl::BlendStateArray &blendStateArray = state.getBlendStateArray();
- const size_t statesCount = mIndependentBlendStates ? blendStateArray.size() : 1;
- for (size_t i = 0; i < statesCount; i++)
+ if (state.getBlendStateExt().mColorMask != mCurBlendStateExt.mColorMask)
{
- const gl::BlendState &blendState = blendStateArray[i];
- const gl::BlendState &curBlendState = mCurBlendStateArray[i];
- if (blendState.colorMaskRed != curBlendState.colorMaskRed ||
- blendState.colorMaskGreen != curBlendState.colorMaskGreen ||
- blendState.colorMaskBlue != curBlendState.colorMaskBlue ||
- blendState.colorMaskAlpha != curBlendState.colorMaskAlpha)
- {
- mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
- break;
- }
+ mInternalDirtyBits.set(DIRTY_BIT_BLEND_STATE);
}
break;
}
@@ -1262,7 +1229,7 @@ void StateManager11::handleMultiviewDrawFramebufferChange(const gl::Context *con
}
angle::Result StateManager11::syncBlendState(const gl::Context *context,
- const gl::BlendStateArray &blendStateArray,
+ const gl::BlendStateExt &blendStateExt,
const gl::ColorF &blendColor,
unsigned int sampleMask,
bool sampleAlphaToCoverage,
@@ -1270,7 +1237,7 @@ angle::Result StateManager11::syncBlendState(const gl::Context *context,
{
const d3d11::BlendState *dxBlendState = nullptr;
const d3d11::BlendStateKey &key = RenderStateCache::GetBlendStateKey(
- context, mFramebuffer11, blendStateArray, sampleAlphaToCoverage);
+ context, mFramebuffer11, blendStateExt, sampleAlphaToCoverage);
ANGLE_TRY(mRenderer->getBlendState(context, key, &dxBlendState));
@@ -1288,7 +1255,7 @@ angle::Result StateManager11::syncBlendState(const gl::Context *context,
mRenderer->getDeviceContext()->OMSetBlendState(dxBlendState->get(), blendColors, sampleMask);
- mCurBlendStateArray = blendStateArray;
+ mCurBlendStateExt = blendStateExt;
mCurBlendColor = blendColor;
mCurSampleMask = sampleMask;
mCurSampleAlphaToCoverage = sampleAlphaToCoverage;
@@ -1960,6 +1927,10 @@ angle::Result StateManager11::ensureInitialized(const gl::Context *context)
mIndependentBlendStates = extensions.drawBuffersIndexedAny(); // requires FL10_1
+ // FL9_3 is limited to 4; ES3.1 context on FL11_0 is limited to 7
+ mCurBlendStateExt =
+ gl::BlendStateExt(GetImplAs<Context11>(context)->getNativeCaps().maxDrawBuffers);
+
ANGLE_TRY(mVertexDataManager.initialize(context));
mCurrentAttributes.reserve(gl::MAX_VERTEX_ATTRIBS);
@@ -2077,7 +2048,7 @@ angle::Result StateManager11::syncCurrentValueAttribs(
const gl::Context *context,
const std::vector<gl::VertexAttribCurrentValueData> &currentValues)
{
- const gl::ProgramExecutable &executable = mProgramD3D->getState().getProgramExecutable();
+ const gl::ProgramExecutable &executable = mProgramD3D->getState().getExecutable();
const auto &activeAttribsMask = executable.getActiveAttribLocationsMask();
const auto &dirtyActiveAttribs = (activeAttribsMask & mDirtyCurrentValueAttribs);
@@ -2197,7 +2168,8 @@ angle::Result StateManager11::updateState(const gl::Context *context,
gl::DrawElementsType indexTypeOrInvalid,
const void *indices,
GLsizei instanceCount,
- GLint baseVertex)
+ GLint baseVertex,
+ GLuint baseInstance)
{
const gl::State &glState = context->getState();
@@ -2241,7 +2213,7 @@ angle::Result StateManager11::updateState(const gl::Context *context,
ANGLE_TRY(mVertexArray11->syncStateForDraw(context, firstVertex, vertexOrIndexCount,
indexTypeOrInvalid, indices, instanceCount,
- baseVertex));
+ baseVertex, baseInstance));
// Changes in the draw call can affect the vertex buffer translations.
if (!mLastFirstVertex.valid() || mLastFirstVertex.value() != firstVertex)
@@ -2253,7 +2225,18 @@ angle::Result StateManager11::updateState(const gl::Context *context,
// The ShaderConstants only need to be updated when the program uses vertexID
if (mProgramD3D->usesVertexID())
{
- if (mShaderConstants.onFirstVertexChange(firstVertex, baseVertex))
+ GLint firstVertexOnChange = firstVertex + baseVertex;
+ ASSERT(mVertexArray11);
+ if (mVertexArray11->hasActiveDynamicAttrib(context) &&
+ indexTypeOrInvalid != gl::DrawElementsType::InvalidEnum)
+ {
+ // drawElements with Dynamic attribute
+ // the firstVertex is already including baseVertex when
+ // doing ComputeStartVertex
+ firstVertexOnChange = firstVertex;
+ }
+
+ if (mShaderConstants.onFirstVertexChange(firstVertexOnChange))
{
mInternalDirtyBits.set(DIRTY_BIT_DRIVER_UNIFORMS);
}
@@ -2300,7 +2283,7 @@ angle::Result StateManager11::updateState(const gl::Context *context,
break;
case DIRTY_BIT_BLEND_STATE:
ANGLE_TRY(syncBlendState(
- context, glState.getBlendStateArray(), glState.getBlendColor(), sampleMask,
+ context, glState.getBlendStateExt(), glState.getBlendColor(), sampleMask,
glState.isSampleAlphaToCoverageEnabled(), glState.hasConstantAlphaBlendFunc()));
break;
case DIRTY_BIT_DEPTH_STENCIL_STATE:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.h
index 92ce6b5ecc7..2c72fec8d4d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.h
@@ -44,7 +44,7 @@ class ShaderConstants11 : angle::NonCopyable
const D3D11_VIEWPORT &dxViewport,
bool is9_3,
bool presentPathFast);
- bool onFirstVertexChange(GLint firstVertex, GLint baseVertex);
+ bool onFirstVertexChange(GLint firstVertex);
void onImageLayerChange(gl::ShaderType shaderType, unsigned int imageIndex, int layer);
void onSamplerChange(gl::ShaderType shaderType,
unsigned int samplerIndex,
@@ -239,7 +239,8 @@ class StateManager11 final : angle::NonCopyable
gl::DrawElementsType indexTypeOrInvalid,
const void *indices,
GLsizei instanceCount,
- GLint baseVertex);
+ GLint baseVertex,
+ GLuint baseInstance);
void setShaderResourceShared(gl::ShaderType shaderType,
UINT resourceSlot,
@@ -313,7 +314,7 @@ class StateManager11 final : angle::NonCopyable
ID3D11Resource *resource);
angle::Result syncBlendState(const gl::Context *context,
- const gl::BlendStateArray &blendStateArray,
+ const gl::BlendStateExt &blendStateExt,
const gl::ColorF &blendColor,
unsigned int sampleMask,
bool sampleAlphaToCoverage,
@@ -466,7 +467,7 @@ class StateManager11 final : angle::NonCopyable
bool mCurSampleAlphaToCoverage;
// Blend State
- gl::BlendStateArray mCurBlendStateArray;
+ gl::BlendStateExt mCurBlendStateExt;
gl::ColorF mCurBlendColor;
unsigned int mCurSampleMask;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp
index b0e27c9f0c6..0f6450707c3 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp
@@ -127,7 +127,8 @@ angle::Result VertexArray11::syncStateForDraw(const gl::Context *context,
gl::DrawElementsType indexTypeOrInvalid,
const void *indices,
GLsizei instances,
- GLint baseVertex)
+ GLint baseVertex,
+ GLuint baseInstance)
{
Renderer11 *renderer = GetImplAs<Context11>(context)->getRenderer();
StateManager11 *stateManager = renderer->getStateManager();
@@ -159,7 +160,8 @@ angle::Result VertexArray11::syncStateForDraw(const gl::Context *context,
{
ANGLE_TRY(updateDynamicAttribs(context, stateManager->getVertexDataManager(),
firstVertex, vertexOrIndexCount, indexTypeOrInvalid,
- indices, instances, baseVertex, activeDynamicAttribs));
+ indices, instances, baseVertex, baseInstance,
+ activeDynamicAttribs));
stateManager->invalidateInputLayout();
}
}
@@ -293,6 +295,7 @@ angle::Result VertexArray11::updateDynamicAttribs(const gl::Context *context,
const void *indices,
GLsizei instances,
GLint baseVertex,
+ GLuint baseInstance,
const gl::AttributesMask &activeDynamicAttribs)
{
const auto &glState = context->getState();
@@ -316,8 +319,9 @@ angle::Result VertexArray11::updateDynamicAttribs(const gl::Context *context,
dynamicAttrib->divisor = dynamicAttrib->binding->getDivisor() * mAppliedNumViewsToDivisor;
}
- ANGLE_TRY(vertexDataManager->storeDynamicAttribs(
- context, &mTranslatedAttribs, activeDynamicAttribs, startVertex, vertexCount, instances));
+ ANGLE_TRY(vertexDataManager->storeDynamicAttribs(context, &mTranslatedAttribs,
+ activeDynamicAttribs, startVertex, vertexCount,
+ instances, baseInstance));
VertexDataManager::PromoteDynamicAttribs(context, mTranslatedAttribs, activeDynamicAttribs,
vertexCount);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h
index e259e0fe619..a154ad5cc8b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h
@@ -39,7 +39,8 @@ class VertexArray11 : public VertexArrayImpl
gl::DrawElementsType indexTypeOrInvalid,
const void *indices,
GLsizei instances,
- GLint baseVertex);
+ GLint baseVertex,
+ GLuint baseInstance);
// This will check the dynamic attribs mask.
bool hasActiveDynamicAttrib(const gl::Context *context);
@@ -72,6 +73,7 @@ class VertexArray11 : public VertexArrayImpl
const void *indices,
GLsizei instances,
GLint baseVertex,
+ GLuint baseInstance,
const gl::AttributesMask &activeDynamicAttribs);
angle::Result updateElementArrayStorage(const gl::Context *context,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
index 5ea6f957db4..2a5c69607f2 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
@@ -30,7 +30,7 @@
#include "libANGLE/renderer/d3d/d3d11/texture_format_table.h"
#include "libANGLE/renderer/driver_utils.h"
#include "platform/FeaturesD3D.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
namespace rx
{
@@ -2223,6 +2223,7 @@ void SetPositionLayerTexCoord3DVertex(PositionLayerTexCoord3DVertex *vertex,
BlendStateKey::BlendStateKey()
{
memset(this, 0, sizeof(BlendStateKey));
+ blendStateExt = gl::BlendStateExt();
}
BlendStateKey::BlendStateKey(const BlendStateKey &other)
@@ -2382,11 +2383,7 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps,
bool isIvyBridge = false;
bool isAMD = IsAMD(adapterDesc.VendorId);
bool isFeatureLevel9_3 = (deviceCaps.featureLevel <= D3D_FEATURE_LEVEL_9_3);
-#if defined(ANGLE_ENABLE_WINDOWS_UWP)
- bool isWin10 = true;
-#else
- bool isWin10 = IsWindows10OrGreater();
-#endif
+
IntelDriverVersion capsVersion = IntelDriverVersion(0);
if (isIntel)
{
@@ -2465,13 +2462,14 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps,
ANGLE_FEATURE_CONDITION(features, selectViewInGeometryShader,
!deviceCaps.supportsVpRtIndexWriteFromVertexShader);
- // NVidia drivers have no trouble clearing textures without showing corruption. AMD ones do.
- // Intel drivers that have trouble have been blocklisted to the DX9 runtime by Chromium.
- ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, isNvidia || isIntel);
+ // NVidia drivers have no trouble clearing textures without showing corruption.
+ // Intel and AMD drivers that have trouble have been blocklisted by Chromium. In the case of
+ // Intel, they've been blocklisted to the DX9 runtime.
+ ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, true);
- // Don't translate uniform block to StructuredBuffer on Windows 7 and earlier. This is targeted
- // to work around a bug that fails to allocate ShaderResourceView for StructuredBuffer.
- ANGLE_FEATURE_CONDITION(features, dontTranslateUniformBlockToStructuredBuffer, !isWin10);
+ // There is an issue(crbug.com/1112112) when translating uniform block to StructuredBuffer,
+ // so disable this feature temporarily.
+ ANGLE_FEATURE_CONDITION(features, dontTranslateUniformBlockToStructuredBuffer, true);
// Call platform hooks for testing overrides.
auto *platform = ANGLEPlatformCurrent();
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h
index 39ce379edfa..8ccf712fb50 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h
@@ -148,9 +148,7 @@ struct BlendStateKey final
BlendStateKey();
BlendStateKey(const BlendStateKey &other);
- gl::BlendStateArray blendStateArray;
-
- uint8_t rtvMasks[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT];
+ gl::BlendStateExt blendStateExt;
// Use two 16-bit ints to round the struct nicely.
uint16_t rtvMax;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
index d783db120ce..60629deeccc 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
@@ -1949,10 +1949,12 @@ void Renderer9::clear(const ClearParameters &clearParams,
? 0.0f
: clearParams.colorF.blue));
- if ((formatInfo.redBits > 0 && !clearParams.colorMaskRed[0]) ||
- (formatInfo.greenBits > 0 && !clearParams.colorMaskGreen[0]) ||
- (formatInfo.blueBits > 0 && !clearParams.colorMaskBlue[0]) ||
- (formatInfo.alphaBits > 0 && !clearParams.colorMaskAlpha[0]))
+ const uint8_t colorMask =
+ gl::BlendStateExt::ColorMaskStorage::GetValueIndexed(0, clearParams.colorMask);
+ bool r, g, b, a;
+ gl::BlendStateExt::UnpackColorMask(colorMask, &r, &g, &b, &a);
+ if ((formatInfo.redBits > 0 && !r) || (formatInfo.greenBits > 0 && !g) ||
+ (formatInfo.blueBits > 0 && !b) || (formatInfo.alphaBits > 0 && !a))
{
needMaskedColorClear = true;
}
@@ -2019,11 +2021,11 @@ void Renderer9::clear(const ClearParameters &clearParams,
if (clearColor)
{
- mDevice->SetRenderState(D3DRS_COLORWRITEENABLE,
- gl_d3d9::ConvertColorMask(clearParams.colorMaskRed[0],
- clearParams.colorMaskGreen[0],
- clearParams.colorMaskBlue[0],
- clearParams.colorMaskAlpha[0]));
+ // clearParams.colorMask follows the same packing scheme as
+ // D3DCOLORWRITEENABLE_RED/GREEN/BLUE/ALPHA
+ mDevice->SetRenderState(
+ D3DRS_COLORWRITEENABLE,
+ gl::BlendStateExt::ColorMaskStorage::GetValueIndexed(0, clearParams.colorMask));
}
else
{
@@ -2974,6 +2976,7 @@ angle::Result Renderer9::getVertexSpaceRequired(const gl::Context *context,
const gl::VertexBinding &binding,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *bytesRequiredOut) const
{
if (!attrib.enabled)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.h b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.h
index 5c8eee4454b..f3064f767e0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.h
@@ -374,6 +374,7 @@ class Renderer9 : public RendererD3D
const gl::VertexBinding &binding,
size_t count,
GLsizei instances,
+ GLuint baseInstance,
unsigned int *bytesRequiredOut) const override;
angle::Result copyToRenderTarget(const gl::Context *context,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp
index 7761db83b54..8cfd8540323 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp
@@ -78,7 +78,7 @@ angle::Result VertexBuffer9::storeVertexAttributes(const gl::Context *context,
unsigned int mapSize = 0;
ANGLE_TRY(
- mRenderer->getVertexSpaceRequired(context, attrib, binding, count, instances, &mapSize));
+ mRenderer->getVertexSpaceRequired(context, attrib, binding, count, instances, 0, &mapSize));
HRESULT result =
mVertexBuffer->Lock(offset, mapSize, reinterpret_cast<void **>(&mapPtr), lockFlags);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
index 8464962e473..de43e63a2c4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
@@ -17,7 +17,7 @@
#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
#include "libANGLE/renderer/driver_utils.h"
#include "platform/FeaturesD3D.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
#include "third_party/systeminfo/SystemInfo.h"
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h
index da41eb87fc5..c4f846ef7ea 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h
@@ -28,6 +28,7 @@ enum VendorID : uint32_t
// This is Qualcomm PCI Vendor ID.
// Android doesn't have a PCI bus, but all we need is a unique id.
VENDOR_ID_QUALCOMM = 0x5143,
+ VENDOR_ID_VMWARE = 0x15AD,
};
enum AndroidDeviceID : uint32_t
@@ -74,6 +75,11 @@ inline bool IsQualcomm(uint32_t vendorId)
return vendorId == VENDOR_ID_QUALCOMM;
}
+inline bool IsVMWare(uint32_t vendorId)
+{
+ return vendorId == VENDOR_ID_VMWARE;
+}
+
inline bool IsNexus5X(uint32_t vendorId, uint32_t deviceId)
{
return IsQualcomm(vendorId) && deviceId == ANDROID_DEVICE_ID_NEXUS5X;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.cpp
index a05a871b06a..228307a98fa 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.cpp
@@ -395,10 +395,52 @@ angle::Result BlitGL::copySubImageToLUMAWorkaroundTexture(const gl::Context *con
angle::Result BlitGL::blitColorBufferWithShader(const gl::Context *context,
const gl::Framebuffer *source,
+ const GLuint destTexture,
+ const gl::TextureTarget destTarget,
+ const size_t destLevel,
+ const gl::Rectangle &sourceAreaIn,
+ const gl::Rectangle &destAreaIn,
+ GLenum filter,
+ bool writeAlpha)
+{
+ ANGLE_TRY(initializeResources(context));
+ mStateManager->bindFramebuffer(GL_FRAMEBUFFER, mScratchFBO);
+ ANGLE_GL_TRY(context, mFunctions->framebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
+ ToGLenum(destTarget), destTexture,
+ static_cast<GLint>(destLevel)));
+ GLenum status = ANGLE_GL_TRY(context, mFunctions->checkFramebufferStatus(GL_FRAMEBUFFER));
+ if (status != GL_FRAMEBUFFER_COMPLETE)
+ {
+ return angle::Result::Stop;
+ }
+ angle::Result result = blitColorBufferWithShader(context, source, mScratchFBO, sourceAreaIn,
+ destAreaIn, filter, writeAlpha);
+ // Unbind the texture from the the scratch framebuffer.
+ ANGLE_GL_TRY(context, mFunctions->framebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
+ GL_RENDERBUFFER, 0));
+ return result;
+}
+
+angle::Result BlitGL::blitColorBufferWithShader(const gl::Context *context,
+ const gl::Framebuffer *source,
const gl::Framebuffer *dest,
const gl::Rectangle &sourceAreaIn,
const gl::Rectangle &destAreaIn,
- GLenum filter)
+ GLenum filter,
+ bool writeAlpha)
+{
+ const FramebufferGL *destGL = GetImplAs<FramebufferGL>(dest);
+ return blitColorBufferWithShader(context, source, destGL->getFramebufferID(), sourceAreaIn,
+ destAreaIn, filter, writeAlpha);
+}
+
+angle::Result BlitGL::blitColorBufferWithShader(const gl::Context *context,
+ const gl::Framebuffer *source,
+ const GLuint destFramebuffer,
+ const gl::Rectangle &sourceAreaIn,
+ const gl::Rectangle &destAreaIn,
+ GLenum filter,
+ bool writeAlpha)
{
ANGLE_TRY(initializeResources(context));
@@ -488,6 +530,9 @@ angle::Result BlitGL::blitColorBufferWithShader(const gl::Context *context,
ANGLE_TRY(scopedState.enter(context, destArea, ScopedGLState::KEEP_SCISSOR));
scopedState.willUseTextureUnit(context, 0);
+ // Set the write color mask to potentially not write alpha
+ mStateManager->setColorMask(true, true, true, writeAlpha);
+
// Set uniforms
mStateManager->activeTexture(0);
mStateManager->bindTexture(gl::TextureType::_2D, textureId);
@@ -501,8 +546,7 @@ angle::Result BlitGL::blitColorBufferWithShader(const gl::Context *context,
ANGLE_GL_TRY(context, mFunctions->uniform1i(blitProgram->multiplyAlphaLocation, 0));
ANGLE_GL_TRY(context, mFunctions->uniform1i(blitProgram->unMultiplyAlphaLocation, 0));
- const FramebufferGL *destGL = GetImplAs<FramebufferGL>(dest);
- mStateManager->bindFramebuffer(GL_DRAW_FRAMEBUFFER, destGL->getFramebufferID());
+ mStateManager->bindFramebuffer(GL_DRAW_FRAMEBUFFER, destFramebuffer);
mStateManager->bindVertexArray(mVAO, 0);
ANGLE_GL_TRY(context, mFunctions->drawArrays(GL_TRIANGLES, 0, 3));
@@ -984,6 +1028,85 @@ angle::Result BlitGL::clearRenderableTextureAlphaToOne(const gl::Context *contex
return angle::Result::Continue;
}
+angle::Result BlitGL::generateSRGBMipmap(const gl::Context *context,
+ TextureGL *source,
+ GLuint baseLevel,
+ GLuint levelCount,
+ const gl::Extents &sourceBaseLevelSize)
+{
+ ANGLE_TRY(initializeResources(context));
+
+ const gl::TextureType sourceType = gl::TextureType::_2D;
+ const gl::TextureTarget sourceTarget = gl::TextureTarget::_2D;
+
+ ScopedGLState scopedState;
+ ANGLE_TRY(scopedState.enter(
+ context, gl::Rectangle(0, 0, sourceBaseLevelSize.width, sourceBaseLevelSize.height)));
+ scopedState.willUseTextureUnit(context, 0);
+ mStateManager->activeTexture(0);
+
+ // Copy source to a linear intermediate texture.
+ GLuint linearTexture = mScratchTextures[0];
+ mStateManager->bindTexture(sourceType, linearTexture);
+ ANGLE_GL_TRY(context, mFunctions->texImage2D(
+ ToGLenum(sourceTarget), 0, mSRGBMipmapGenerationFormat.internalFormat,
+ sourceBaseLevelSize.width, sourceBaseLevelSize.height, 0,
+ mSRGBMipmapGenerationFormat.format, mSRGBMipmapGenerationFormat.type,
+ nullptr));
+
+ mStateManager->bindFramebuffer(GL_FRAMEBUFFER, mScratchFBO);
+ ANGLE_GL_TRY(context,
+ mFunctions->framebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
+ ToGLenum(sourceTarget), linearTexture, 0));
+ mStateManager->setFramebufferSRGBEnabled(context, true);
+
+ // Use a shader to do the sRGB to linear conversion. glBlitFramebuffer does not always do this
+ // conversion for us.
+ BlitProgram *blitProgram = nullptr;
+ ANGLE_TRY(getBlitProgram(context, sourceType, GL_FLOAT, GL_FLOAT, &blitProgram));
+
+ mStateManager->useProgram(blitProgram->program);
+ ANGLE_GL_TRY(context, mFunctions->uniform1i(blitProgram->sourceTextureLocation, 0));
+ ANGLE_GL_TRY(context, mFunctions->uniform2f(blitProgram->scaleLocation, 1.0f, 1.0f));
+ ANGLE_GL_TRY(context, mFunctions->uniform2f(blitProgram->offsetLocation, 0.0f, 0.0f));
+ ANGLE_GL_TRY(context, mFunctions->uniform1i(blitProgram->multiplyAlphaLocation, 0));
+ ANGLE_GL_TRY(context, mFunctions->uniform1i(blitProgram->unMultiplyAlphaLocation, 0));
+
+ mStateManager->bindTexture(sourceType, source->getTextureID());
+ ANGLE_TRY(source->setMinFilter(context, GL_NEAREST));
+
+ mStateManager->bindVertexArray(mVAO, 0);
+ ANGLE_GL_TRY(context, mFunctions->drawArrays(GL_TRIANGLES, 0, 3));
+
+ // Generate mipmaps on the linear texture
+ mStateManager->bindTexture(sourceType, linearTexture);
+ ANGLE_GL_TRY_ALWAYS_CHECK(context, mFunctions->generateMipmap(ToGLenum(sourceTarget)));
+ ANGLE_GL_TRY(context, mFunctions->texParameteri(ToGLenum(sourceTarget), GL_TEXTURE_MIN_FILTER,
+ GL_NEAREST));
+
+ // Copy back to the source texture from the mips generated in the linear texture
+ for (GLuint levelIdx = 0; levelIdx < levelCount; levelIdx++)
+ {
+ gl::Extents levelSize(std::max(sourceBaseLevelSize.width >> levelIdx, 1),
+ std::max(sourceBaseLevelSize.height >> levelIdx, 1), 1);
+
+ ANGLE_GL_TRY(context, mFunctions->framebufferTexture2D(
+ GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, ToGLenum(sourceTarget),
+ source->getTextureID(), baseLevel + levelIdx));
+ mStateManager->setViewport(gl::Rectangle(0, 0, levelSize.width, levelSize.height));
+
+ ANGLE_GL_TRY(context, mFunctions->texParameteri(ToGLenum(sourceTarget),
+ GL_TEXTURE_BASE_LEVEL, levelIdx));
+
+ ANGLE_GL_TRY(context, mFunctions->drawArrays(GL_TRIANGLES, 0, 3));
+ }
+
+ ANGLE_TRY(orphanScratchTextures(context));
+
+ ANGLE_TRY(scopedState.exit(context));
+ return angle::Result::Continue;
+}
+
angle::Result BlitGL::initializeResources(const gl::Context *context)
{
for (size_t i = 0; i < ArraySize(mScratchTextures); i++)
@@ -1034,6 +1157,27 @@ angle::Result BlitGL::initializeResources(const gl::Context *context)
}
}
+ constexpr GLenum potentialSRGBMipmapGenerationFormats[] = {
+ GL_RGBA16, GL_RGBA16F, GL_RGBA32F,
+ GL_RGBA8, // RGBA8 can have precision loss when generating mipmaps of a sRGBA8 texture
+ };
+ for (GLenum internalFormat : potentialSRGBMipmapGenerationFormats)
+ {
+ if (nativegl::SupportsNativeRendering(mFunctions, gl::TextureType::_2D, internalFormat))
+ {
+ const gl::InternalFormat &internalFormatInfo =
+ gl::GetSizedInternalFormatInfo(internalFormat);
+
+ // Pass the 'format' instead of 'internalFormat' to make sure we use unsized formats
+ // when available to increase support.
+ mSRGBMipmapGenerationFormat =
+ nativegl::GetTexImageFormat(mFunctions, mFeatures, internalFormatInfo.format,
+ internalFormatInfo.format, internalFormatInfo.type);
+ break;
+ }
+ }
+ ASSERT(mSRGBMipmapGenerationFormat.internalFormat != GL_NONE);
+
return angle::Result::Continue;
}
@@ -1045,12 +1189,34 @@ angle::Result BlitGL::orphanScratchTextures(const gl::Context *context)
gl::PixelUnpackState unpack;
mStateManager->setPixelUnpackState(unpack);
mStateManager->setPixelUnpackBuffer(nullptr);
- GLint swizzle[4] = {GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA};
+ if (mFunctions->isAtLeastGL(gl::Version(3, 3)))
+ {
+ constexpr GLint swizzle[4] = {GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA};
+ ANGLE_GL_TRY(context, mFunctions->texParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA,
+ swizzle));
+ }
+ else if (mFunctions->isAtLeastGLES(gl::Version(3, 0)))
+ {
+ ANGLE_GL_TRY(context,
+ mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_RED));
+ ANGLE_GL_TRY(context,
+ mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_GREEN));
+ ANGLE_GL_TRY(context,
+ mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_BLUE));
+ ANGLE_GL_TRY(context,
+ mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_ALPHA));
+ }
+
+ ANGLE_GL_TRY(context, mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0));
+ ANGLE_GL_TRY(context, mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1000));
+ ANGLE_GL_TRY(context, mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
+ GL_NEAREST_MIPMAP_LINEAR));
ANGLE_GL_TRY(context,
- mFunctions->texParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzle));
+ mFunctions->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
ANGLE_GL_TRY(context, mFunctions->texImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 0, GL_RGBA,
GL_UNSIGNED_BYTE, nullptr));
}
+
return angle::Result::Continue;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.h
index 4677391b802..3fb50babce9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/BlitGL.h
@@ -13,6 +13,7 @@
#include "common/angleutils.h"
#include "libANGLE/Error.h"
#include "libANGLE/angletypes.h"
+#include "libANGLE/renderer/gl/formatutilsgl.h"
#include <map>
@@ -69,7 +70,26 @@ class BlitGL : angle::NonCopyable
const gl::Framebuffer *dest,
const gl::Rectangle &sourceArea,
const gl::Rectangle &destArea,
- GLenum filter);
+ GLenum filter,
+ bool writeAlpha);
+
+ angle::Result blitColorBufferWithShader(const gl::Context *context,
+ const gl::Framebuffer *source,
+ const GLuint destFramebuffer,
+ const gl::Rectangle &sourceArea,
+ const gl::Rectangle &destArea,
+ GLenum filter,
+ bool writeAlpha);
+
+ angle::Result blitColorBufferWithShader(const gl::Context *context,
+ const gl::Framebuffer *source,
+ const GLuint destTexture,
+ const gl::TextureTarget destTarget,
+ const size_t destLevel,
+ const gl::Rectangle &sourceArea,
+ const gl::Rectangle &destArea,
+ GLenum filter,
+ bool writeAlpha);
angle::Result copySubTexture(const gl::Context *context,
TextureGL *source,
@@ -135,6 +155,12 @@ class BlitGL : angle::NonCopyable
gl::TextureTarget target,
size_t level);
+ angle::Result generateSRGBMipmap(const gl::Context *context,
+ TextureGL *source,
+ GLuint baseLevel,
+ GLuint levelCount,
+ const gl::Extents &sourceBaseLevelSize);
+
angle::Result initializeResources(const gl::Context *context);
private:
@@ -172,6 +198,8 @@ class BlitGL : angle::NonCopyable
GLuint mVAO;
GLuint mVertexBuffer;
+
+ nativegl::TexImageFormat mSRGBMipmapGenerationFormat;
};
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.h
index b6c30afee6e..89e507c5484 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.h
@@ -83,4 +83,4 @@ class ClearMultiviewGL : angle::NonCopyable
};
} // namespace rx
-#endif // LIBANGLE_RENDERER_GL_CLEARMULTIVIEWGL_H_ \ No newline at end of file
+#endif // LIBANGLE_RENDERER_GL_CLEARMULTIVIEWGL_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.cpp
index d3fdbc01163..d65dfda8cec 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.cpp
@@ -50,6 +50,11 @@ StreamProducerImpl *DisplayGL::createStreamProducerD3DTexture(
return nullptr;
}
+ShareGroupImpl *DisplayGL::createShareGroup()
+{
+ return new ShareGroupGL();
+}
+
egl::Error DisplayGL::makeCurrent(egl::Surface *drawSurface,
egl::Surface *readSurface,
gl::Context *context)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.h
index 9def38f04f5..f0c553fb046 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.h
@@ -19,6 +19,8 @@ class Surface;
namespace rx
{
+class ShareGroupGL : public ShareGroupImpl
+{};
class RendererGL;
@@ -39,6 +41,8 @@ class DisplayGL : public DisplayImpl
StreamProducerImpl *createStreamProducerD3DTexture(egl::Stream::ConsumerType consumerType,
const egl::AttributeMap &attribs) override;
+ ShareGroupImpl *createShareGroup() override;
+
egl::Error makeCurrent(egl::Surface *drawSurface,
egl::Surface *readSurface,
gl::Context *context) override;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp
index 1dc65d29326..2dd83c1f2d7 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp
@@ -26,7 +26,7 @@
#include "libANGLE/renderer/gl/formatutilsgl.h"
#include "libANGLE/renderer/gl/renderergl_utils.h"
#include "platform/FeaturesGL.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
using namespace gl;
using angle::CheckedNumeric;
@@ -97,7 +97,8 @@ void BindFramebufferAttachment(const FunctionsGL *functions,
TextureType textureType = texture->getType();
ASSERT(textureType == TextureType::_2DArray || textureType == TextureType::_3D ||
textureType == TextureType::CubeMap ||
- textureType == TextureType::_2DMultisampleArray);
+ textureType == TextureType::_2DMultisampleArray ||
+ textureType == TextureType::CubeMapArray);
functions->framebufferTexture(GL_FRAMEBUFFER, attachmentPoint,
textureGL->getTextureID(), attachment->mipLevel());
}
@@ -109,7 +110,8 @@ void BindFramebufferAttachment(const FunctionsGL *functions,
}
else if (texture->getType() == TextureType::_2DArray ||
texture->getType() == TextureType::_3D ||
- texture->getType() == TextureType::_2DMultisampleArray)
+ texture->getType() == TextureType::_2DMultisampleArray ||
+ texture->getType() == TextureType::CubeMapArray)
{
if (attachment->isMultiview())
{
@@ -767,6 +769,13 @@ angle::Result FramebufferGL::blit(const gl::Context *context,
needManualColorBlit || (destSRGB && functions->isAtMostGL(gl::Version(4, 1)));
}
+ // If the destination has an emulated alpha channel, we need to blit with a shader with alpha
+ // writes disabled.
+ if (mHasEmulatedAlphaAttachment)
+ {
+ needManualColorBlit = true;
+ }
+
// Enable FRAMEBUFFER_SRGB if needed
stateManager->setFramebufferSRGBEnabledForFramebuffer(context, true, this);
@@ -775,7 +784,8 @@ angle::Result FramebufferGL::blit(const gl::Context *context,
{
BlitGL *blitter = GetBlitGL(context);
ANGLE_TRY(blitter->blitColorBufferWithShader(context, sourceFramebuffer, destFramebuffer,
- sourceArea, destArea, filter));
+ sourceArea, destArea, filter,
+ !mHasEmulatedAlphaAttachment));
blitMask &= ~GL_COLOR_BUFFER_BIT;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.cpp
index 5e8ccaf1852..ea0916770f0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.cpp
@@ -23,8 +23,9 @@
#include "libANGLE/renderer/gl/RendererGL.h"
#include "libANGLE/renderer/gl/ShaderGL.h"
#include "libANGLE/renderer/gl/StateManagerGL.h"
+#include "libANGLE/trace.h"
#include "platform/FeaturesGL.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
namespace rx
{
@@ -59,6 +60,7 @@ std::unique_ptr<LinkEvent> ProgramGL::load(const gl::Context *context,
gl::BinaryInputStream *stream,
gl::InfoLog &infoLog)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramGL::load");
preLink();
// Read the binary format, size and blob
@@ -135,7 +137,12 @@ class ProgramGL::LinkTask final : public angle::Closure
LinkTask(LinkImplFunctor &&functor) : mLinkImplFunctor(functor), mFallbackToMainContext(false)
{}
- void operator()() override { mFallbackToMainContext = mLinkImplFunctor(mInfoLog); }
+ void operator()() override
+ {
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramGL::LinkTask::run");
+ mFallbackToMainContext = mLinkImplFunctor(mInfoLog);
+ }
+
bool fallbackToMainContext() { return mFallbackToMainContext; }
const std::string &getInfoLog() { return mInfoLog; }
@@ -159,6 +166,8 @@ class ProgramGL::LinkEventNativeParallel final : public LinkEvent
angle::Result wait(const gl::Context *context) override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramGL::LinkEventNativeParallel::wait");
+
GLint linkStatus = GL_FALSE;
mFunctions->getProgramiv(mProgramID, GL_LINK_STATUS, &linkStatus);
if (linkStatus == GL_TRUE)
@@ -196,6 +205,8 @@ class ProgramGL::LinkEventGL final : public LinkEvent
angle::Result wait(const gl::Context *context) override
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramGL::LinkEventGL::wait");
+
mWaitableEvent->wait();
return mPostLinkImplFunctor(mLinkTask->fallbackToMainContext(), mLinkTask->getInfoLog());
}
@@ -212,6 +223,8 @@ std::unique_ptr<LinkEvent> ProgramGL::link(const gl::Context *context,
const gl::ProgramLinkedResources &resources,
gl::InfoLog &infoLog)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ProgramGL::link");
+
preLink();
if (mState.getAttachedShader(gl::ShaderType::Compute))
@@ -228,7 +241,7 @@ std::unique_ptr<LinkEvent> ProgramGL::link(const gl::Context *context,
for (const auto &tfVarying : mState.getTransformFeedbackVaryingNames())
{
gl::ShaderType tfShaderType =
- mState.getProgramExecutable().hasLinkedShaderStage(gl::ShaderType::Geometry)
+ mState.getExecutable().hasLinkedShaderStage(gl::ShaderType::Geometry)
? gl::ShaderType::Geometry
: gl::ShaderType::Vertex;
std::string tfVaryingMappedName =
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/RendererGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/RendererGL.cpp
index b62e0f3ec4c..ae38ed2e699 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/RendererGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/RendererGL.cpp
@@ -445,6 +445,12 @@ unsigned int RendererGL::getMaxWorkerContexts()
bool RendererGL::hasNativeParallelCompile()
{
+#ifdef THREAD_SANITIZER
+ if (mFeatures.disableNativeParallelCompile.enabled)
+ {
+ return false;
+ }
+#endif
return mFunctions->maxShaderCompilerThreadsKHR != nullptr ||
mFunctions->maxShaderCompilerThreadsARB != nullptr;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.cpp
index 7b1bd8506f5..41b703d9a30 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.cpp
@@ -13,6 +13,7 @@
#include "libANGLE/Context.h"
#include "libANGLE/renderer/gl/FunctionsGL.h"
#include "libANGLE/renderer/gl/RendererGL.h"
+#include "libANGLE/trace.h"
#include "platform/FeaturesGL.h"
#include <iostream>
@@ -38,6 +39,7 @@ class TranslateTaskGL : public angle::Closure
void operator()() override
{
+ ANGLE_TRACE_EVENT1("gpu.angle", "TranslateTaskGL::run", "source", mSource);
const char *source = mSource.c_str();
mResult = sh::Compile(mHandle, &source, 1, mOptions);
if (mResult)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp
index e2a10cbfd79..cff702215e3 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp
@@ -133,6 +133,7 @@ StateManagerGL::StateManagerGL(const FunctionsGL *functions,
mClearColor(0.0f, 0.0f, 0.0f, 0.0f),
mClearDepth(1.0f),
mClearStencil(0),
+ mFramebufferSRGBAvailable(extensions.sRGBWriteControl),
mFramebufferSRGBEnabled(false),
mDitherEnabled(true),
mTextureCubemapSeamlessEnabled(false),
@@ -2071,7 +2072,7 @@ angle::Result StateManagerGL::syncState(const gl::Context *context,
void StateManagerGL::setFramebufferSRGBEnabled(const gl::Context *context, bool enabled)
{
- if (!context->getExtensions().sRGBWriteControl)
+ if (!mFramebufferSRGBAvailable)
{
return;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.h
index d90b84dab25..f01d001af78 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.h
@@ -320,7 +320,9 @@ class StateManagerGL final : angle::NonCopyable
float mClearDepth;
GLint mClearStencil;
+ bool mFramebufferSRGBAvailable;
bool mFramebufferSRGBEnabled;
+
bool mDitherEnabled;
bool mTextureCubemapSeamlessEnabled;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp
index 8ffb4759a0c..a57c450da48 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp
@@ -713,7 +713,17 @@ angle::Result TextureGL::copyImage(const gl::Context *context,
ASSERT(nativegl::UseTexImage2D(getType()));
stateManager->bindFramebuffer(GL_READ_FRAMEBUFFER,
sourceFramebufferGL->getFramebufferID());
- if (requiresInitialization)
+ if (features.emulateCopyTexImage2DFromRenderbuffers.enabled && readBuffer &&
+ readBuffer->type() == GL_RENDERBUFFER)
+ {
+ BlitGL *blitter = GetBlitGL(context);
+ ANGLE_TRY(blitter->blitColorBufferWithShader(
+ context, source, mTextureID, target, level, clippedArea,
+ gl::Rectangle(destOffset.x, destOffset.y, clippedArea.width,
+ clippedArea.height),
+ GL_NEAREST, true));
+ }
+ else if (requiresInitialization)
{
ANGLE_GL_TRY(context, functions->copyTexSubImage2D(
ToGLenum(target), static_cast<GLint>(level), destOffset.x,
@@ -781,10 +791,24 @@ angle::Result TextureGL::copySubImage(const gl::Context *context,
if (nativegl::UseTexImage2D(getType()))
{
ASSERT(clippedOffset.z == 0);
- ANGLE_GL_TRY(context, functions->copyTexSubImage2D(
- ToGLenum(target), static_cast<GLint>(level), clippedOffset.x,
- clippedOffset.y, clippedArea.x, clippedArea.y,
- clippedArea.width, clippedArea.height));
+ if (features.emulateCopyTexImage2DFromRenderbuffers.enabled &&
+ source->getReadColorAttachment() &&
+ source->getReadColorAttachment()->type() == GL_RENDERBUFFER)
+ {
+ BlitGL *blitter = GetBlitGL(context);
+ ANGLE_TRY(blitter->blitColorBufferWithShader(
+ context, source, mTextureID, target, level, clippedArea,
+ gl::Rectangle(clippedOffset.x, clippedOffset.y, clippedArea.width,
+ clippedArea.height),
+ GL_NEAREST, true));
+ }
+ else
+ {
+ ANGLE_GL_TRY(context, functions->copyTexSubImage2D(
+ ToGLenum(target), static_cast<GLint>(level),
+ clippedOffset.x, clippedOffset.y, clippedArea.x,
+ clippedArea.y, clippedArea.width, clippedArea.height));
+ }
}
else
{
@@ -1240,15 +1264,57 @@ angle::Result TextureGL::setImageExternal(const gl::Context *context,
angle::Result TextureGL::generateMipmap(const gl::Context *context)
{
- const FunctionsGL *functions = GetFunctionsGL(context);
- StateManagerGL *stateManager = GetStateManagerGL(context);
-
- stateManager->bindTexture(getType(), mTextureID);
- ANGLE_GL_TRY_ALWAYS_CHECK(context, functions->generateMipmap(ToGLenum(getType())));
+ const FunctionsGL *functions = GetFunctionsGL(context);
+ StateManagerGL *stateManager = GetStateManagerGL(context);
+ const angle::FeaturesGL &features = GetFeaturesGL(context);
const GLuint effectiveBaseLevel = mState.getEffectiveBaseLevel();
const GLuint maxLevel = mState.getMipmapMaxLevel();
+ const gl::ImageDesc &baseLevelDesc = mState.getBaseLevelDesc();
+ const gl::InternalFormat &baseLevelInternalFormat = *baseLevelDesc.format.info;
+
+ stateManager->bindTexture(getType(), mTextureID);
+ if (baseLevelInternalFormat.colorEncoding == GL_SRGB &&
+ features.encodeAndDecodeSRGBForGenerateMipmap.enabled && getType() == gl::TextureType::_2D)
+ {
+ nativegl::TexImageFormat texImageFormat = nativegl::GetTexImageFormat(
+ functions, features, baseLevelInternalFormat.internalFormat,
+ baseLevelInternalFormat.format, baseLevelInternalFormat.type);
+
+ // Manually allocate the mip levels of this texture if they don't exist
+ GLuint levelCount = maxLevel - effectiveBaseLevel + 1;
+ for (GLuint levelIdx = 1; levelIdx < levelCount; levelIdx++)
+ {
+ gl::Extents levelSize(std::max(baseLevelDesc.size.width >> levelIdx, 1),
+ std::max(baseLevelDesc.size.height >> levelIdx, 1), 1);
+
+ const gl::ImageDesc &levelDesc =
+ mState.getImageDesc(gl::TextureTarget::_2D, effectiveBaseLevel + levelIdx);
+
+ // Make sure no pixel unpack buffer is bound
+ stateManager->bindBuffer(gl::BufferBinding::PixelUnpack, 0);
+
+ if (levelDesc.size != levelSize || *levelDesc.format.info != baseLevelInternalFormat)
+ {
+ ANGLE_GL_TRY_ALWAYS_CHECK(
+ context, functions->texImage2D(
+ ToGLenum(getType()), effectiveBaseLevel + levelIdx,
+ texImageFormat.internalFormat, levelSize.width, levelSize.height,
+ 0, texImageFormat.format, texImageFormat.type, nullptr));
+ }
+ }
+
+ // Use the blitter to generate the mips
+ BlitGL *blitter = GetBlitGL(context);
+ ANGLE_TRY(blitter->generateSRGBMipmap(context, this, effectiveBaseLevel, levelCount,
+ baseLevelDesc.size));
+ }
+ else
+ {
+ ANGLE_GL_TRY_ALWAYS_CHECK(context, functions->generateMipmap(ToGLenum(getType())));
+ }
+
setLevelInfo(context, getType(), effectiveBaseLevel, maxLevel - effectiveBaseLevel,
getBaseLevelInfo());
@@ -1316,7 +1382,8 @@ GLint TextureGL::getNativeID() const
}
angle::Result TextureGL::syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits)
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source)
{
if (dirtyBits.none() && mLocalDirtyBits.none())
{
@@ -1607,8 +1674,22 @@ angle::Result TextureGL::setSwizzle(const gl::Context *context, GLint swizzle[4]
onStateChange(angle::SubjectMessage::DirtyBitsFlagged);
stateManager->bindTexture(getType(), mTextureID);
- ANGLE_GL_TRY(context, functions->texParameteriv(ToGLenum(getType()),
- GL_TEXTURE_SWIZZLE_RGBA, swizzle));
+ if (functions->standard == STANDARD_GL_ES)
+ {
+ ANGLE_GL_TRY(context, functions->texParameteri(ToGLenum(getType()),
+ GL_TEXTURE_SWIZZLE_R, swizzle[0]));
+ ANGLE_GL_TRY(context, functions->texParameteri(ToGLenum(getType()),
+ GL_TEXTURE_SWIZZLE_G, swizzle[1]));
+ ANGLE_GL_TRY(context, functions->texParameteri(ToGLenum(getType()),
+ GL_TEXTURE_SWIZZLE_B, swizzle[2]));
+ ANGLE_GL_TRY(context, functions->texParameteri(ToGLenum(getType()),
+ GL_TEXTURE_SWIZZLE_A, swizzle[3]));
+ }
+ else
+ {
+ ANGLE_GL_TRY(context, functions->texParameteriv(ToGLenum(getType()),
+ GL_TEXTURE_SWIZZLE_RGBA, swizzle));
+ }
}
return angle::Result::Continue;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
index 517b3d9d1d8..ac62cfd461c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
@@ -190,7 +190,8 @@ class TextureGL : public TextureImpl
gl::TextureType getType() const;
angle::Result syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits) override;
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source) override;
bool hasAnyDirtyBit() const;
angle::Result setBaseLevel(const gl::Context *context, GLuint baseLevel) override;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp
index 6b6f7be6138..af167090d59 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp
@@ -16,26 +16,50 @@
namespace rx
{
-ContextCGL::ContextCGL(const gl::State &state,
+ContextCGL::ContextCGL(DisplayCGL *display,
+ const gl::State &state,
gl::ErrorSet *errorSet,
const std::shared_ptr<RendererGL> &renderer,
bool usesDiscreteGPU)
- : ContextGL(state, errorSet, renderer), mUsesDiscreteGpu(usesDiscreteGPU)
-{}
+ : ContextGL(state, errorSet, renderer),
+ mUsesDiscreteGpu(usesDiscreteGPU),
+ mReleasedDiscreteGpu(false)
+{
+ if (mUsesDiscreteGpu)
+ {
+ (void)display->referenceDiscreteGPU();
+ }
+}
+
+egl::Error ContextCGL::releaseHighPowerGPU(gl::Context *context)
+{
+ if (mUsesDiscreteGpu && !mReleasedDiscreteGpu)
+ {
+ mReleasedDiscreteGpu = true;
+ return GetImplAs<DisplayCGL>(context->getDisplay())->unreferenceDiscreteGPU();
+ }
+
+ return egl::NoError();
+}
+
+egl::Error ContextCGL::reacquireHighPowerGPU(gl::Context *context)
+{
+ if (mUsesDiscreteGpu && mReleasedDiscreteGpu)
+ {
+ mReleasedDiscreteGpu = false;
+ return GetImplAs<DisplayCGL>(context->getDisplay())->referenceDiscreteGPU();
+ }
+
+ return egl::NoError();
+}
void ContextCGL::onDestroy(const gl::Context *context)
{
- if (mUsesDiscreteGpu)
+ if (mUsesDiscreteGpu && !mReleasedDiscreteGpu)
{
- egl::Display *display = context->getDisplay();
- // TODO(kbr): if the context is created and destroyed without ever
- // making it current, it is possible to leak retentions of the
- // discrete GPU.
- if (display)
- {
- GetImplAs<DisplayCGL>(display)->unreferenceDiscreteGPU();
- }
+ (void)GetImplAs<DisplayCGL>(context->getDisplay())->unreferenceDiscreteGPU();
}
+ ContextGL::onDestroy(context);
}
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.h
index 6a2d2652344..fc27b3af2a4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.h
@@ -15,19 +15,25 @@
namespace rx
{
+class DisplayCGL;
class ContextCGL : public ContextGL
{
public:
- ContextCGL(const gl::State &state,
+ ContextCGL(DisplayCGL *display,
+ const gl::State &state,
gl::ErrorSet *errorSet,
const std::shared_ptr<RendererGL> &renderer,
bool usesDiscreteGPU);
void onDestroy(const gl::Context *context) override;
+ egl::Error releaseHighPowerGPU(gl::Context *context) override;
+ egl::Error reacquireHighPowerGPU(gl::Context *context) override;
+
private:
bool mUsesDiscreteGpu;
+ bool mReleasedDiscreteGpu;
};
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.h
index f149f9c42ad..ab3a9d0757f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.h
@@ -31,6 +31,10 @@ class DisplayCGL : public DisplayGL
egl::Error initialize(egl::Display *display) override;
void terminate() override;
+ egl::Error makeCurrent(egl::Surface *drawSurface,
+ egl::Surface *readSurface,
+ gl::Context *context) override;
+
SurfaceImpl *createWindowSurface(const egl::SurfaceState &state,
EGLNativeWindowType window,
const egl::AttributeMap &attribs) override;
@@ -79,10 +83,11 @@ class DisplayCGL : public DisplayGL
void populateFeatureList(angle::FeatureList *features) override;
- // Support for dual-GPU MacBook Pros. If the context was created
- // preferring the high-power GPU, unreference that GPU during
- // context destruction.
- void unreferenceDiscreteGPU();
+ // Support for dual-GPU MacBook Pros. Used only by ContextCGL. The use of
+ // these entry points is gated by the presence of dual GPUs.
+ egl::Error referenceDiscreteGPU();
+ egl::Error unreferenceDiscreteGPU();
+ egl::Error handleGPUSwitch() override;
private:
egl::Error makeCurrentSurfaceless(gl::Context *context) override;
@@ -90,14 +95,21 @@ class DisplayCGL : public DisplayGL
void generateExtensions(egl::DisplayExtensions *outExtensions) const override;
void generateCaps(egl::Caps *outCaps) const override;
+ void checkDiscreteGPUStatus();
+
std::shared_ptr<RendererGL> mRenderer;
egl::Display *mEGLDisplay;
CGLContextObj mContext;
CGLPixelFormatObj mPixelFormat;
bool mSupportsGPUSwitching;
+ uint64_t mCurrentGPUID;
CGLPixelFormatObj mDiscreteGPUPixelFormat;
int mDiscreteGPURefs;
+ // This comes from the ANGLE platform's DefaultMonotonicallyIncreasingTime. If the discrete GPU
+ // is unref'd for the last time, this is set to the time of that last unref. If it isn't
+ // activated again in 10 seconds, the discrete GPU pixel format is deleted.
+ double mLastDiscreteGPUUnrefTime;
};
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm
index 226269909fd..c12a1b1ffe8 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm
@@ -19,12 +19,14 @@
# include "common/debug.h"
# include "gpu_info_util/SystemInfo.h"
# include "libANGLE/Display.h"
+# include "libANGLE/Error.h"
# include "libANGLE/renderer/gl/cgl/ContextCGL.h"
# include "libANGLE/renderer/gl/cgl/DeviceCGL.h"
# include "libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.h"
# include "libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.h"
# include "libANGLE/renderer/gl/cgl/RendererCGL.h"
# include "libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h"
+# include "platform/PlatformMethods.h"
namespace
{
@@ -38,6 +40,76 @@ const char *kFallbackOpenGLDylibName = "GL";
namespace rx
{
+namespace
+{
+
+// Global IOKit I/O registryID that can match a GPU across process boundaries.
+using IORegistryGPUID = uint64_t;
+
+// Code from WebKit to set an OpenGL context to use a particular GPU by ID.
+// https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm
+// Used with permission.
+static void SetGPUByRegistryID(CGLContextObj contextObj,
+ CGLPixelFormatObj pixelFormatObj,
+ IORegistryGPUID preferredGPUID)
+{
+ if (@available(macOS 10.13, *))
+ {
+ // When a process does not have access to the WindowServer (as with Chromium's GPU process
+ // and WebKit's WebProcess), there is no way for OpenGL to tell which GPU is connected to a
+ // display. On 10.13+, find the virtual screen that corresponds to the preferred GPU by its
+ // registryID. CGLSetVirtualScreen can then be used to tell OpenGL which GPU it should be
+ // using.
+
+ if (!contextObj || !preferredGPUID)
+ return;
+
+ GLint virtualScreenCount = 0;
+ CGLError error = CGLDescribePixelFormat(pixelFormatObj, 0, kCGLPFAVirtualScreenCount,
+ &virtualScreenCount);
+ ASSERT(error == kCGLNoError);
+
+ GLint firstAcceleratedScreen = -1;
+
+ for (GLint virtualScreen = 0; virtualScreen < virtualScreenCount; ++virtualScreen)
+ {
+ GLint displayMask = 0;
+ error = CGLDescribePixelFormat(pixelFormatObj, virtualScreen, kCGLPFADisplayMask,
+ &displayMask);
+ ASSERT(error == kCGLNoError);
+
+ auto gpuID = angle::GetGpuIDFromOpenGLDisplayMask(displayMask);
+
+ if (gpuID == preferredGPUID)
+ {
+ error = CGLSetVirtualScreen(contextObj, virtualScreen);
+ ASSERT(error == kCGLNoError);
+ fprintf(stderr, "Context (%p) set to GPU with ID: (%lld).", contextObj, gpuID);
+ return;
+ }
+
+ if (firstAcceleratedScreen < 0)
+ {
+ GLint isAccelerated = 0;
+ error = CGLDescribePixelFormat(pixelFormatObj, virtualScreen, kCGLPFAAccelerated,
+ &isAccelerated);
+ ASSERT(error == kCGLNoError);
+ if (isAccelerated)
+ firstAcceleratedScreen = virtualScreen;
+ }
+ }
+
+ // No registryID match found; set to first hardware-accelerated virtual screen.
+ if (firstAcceleratedScreen >= 0)
+ {
+ error = CGLSetVirtualScreen(contextObj, firstAcceleratedScreen);
+ ASSERT(error == kCGLNoError);
+ }
+ }
+}
+
+} // anonymous namespace
+
class FunctionsGLCGL : public FunctionsGL
{
public:
@@ -60,8 +132,10 @@ DisplayCGL::DisplayCGL(const egl::DisplayState &state)
mContext(nullptr),
mPixelFormat(nullptr),
mSupportsGPUSwitching(false),
+ mCurrentGPUID(0),
mDiscreteGPUPixelFormat(nullptr),
- mDiscreteGPURefs(0)
+ mDiscreteGPURefs(0),
+ mLastDiscreteGPUUnrefTime(0.0)
{}
DisplayCGL::~DisplayCGL() {}
@@ -75,7 +149,10 @@ egl::Error DisplayCGL::initialize(egl::Display *display)
{
return egl::EglNotInitialized() << "Unable to query ANGLE's SystemInfo.";
}
- mSupportsGPUSwitching = info.isMacSwitchable;
+
+ // This code implements the effect of the
+ // disableGPUSwitchingSupport workaround in FeaturesGL.
+ mSupportsGPUSwitching = info.isMacSwitchable && !info.hasNVIDIAGPU();
{
// TODO(cwallez) investigate which pixel format we want
@@ -98,6 +175,13 @@ egl::Error DisplayCGL::initialize(egl::Display *display)
{
return egl::EglNotInitialized() << "Could not create the CGL context.";
}
+
+ if (mSupportsGPUSwitching)
+ {
+ // Determine the currently active GPU on the system.
+ mCurrentGPUID = angle::GetGpuIDFromDisplayID(kCGDirectMainDisplay);
+ }
+
CGLSetCurrentContext(mContext);
// There is no equivalent getProcAddress in CGL so we open the dylib directly
@@ -138,9 +222,23 @@ void DisplayCGL::terminate()
if (mContext != nullptr)
{
CGLSetCurrentContext(nullptr);
- CGLReleaseContext(mContext);
+ CGLDestroyContext(mContext);
mContext = nullptr;
}
+ if (mDiscreteGPUPixelFormat != nullptr)
+ {
+ CGLDestroyPixelFormat(mDiscreteGPUPixelFormat);
+ mDiscreteGPUPixelFormat = nullptr;
+ mLastDiscreteGPUUnrefTime = 0.0;
+ }
+}
+
+egl::Error DisplayCGL::makeCurrent(egl::Surface *drawSurface,
+ egl::Surface *readSurface,
+ gl::Context *context)
+{
+ checkDiscreteGPUStatus();
+ return DisplayGL::makeCurrent(drawSurface, readSurface, context);
}
SurfaceImpl *DisplayCGL::createWindowSurface(const egl::SurfaceState &state,
@@ -188,23 +286,10 @@ ContextImpl *DisplayCGL::createContext(const gl::State &state,
{
// Should have been rejected by validation if not supported.
ASSERT(mSupportsGPUSwitching);
- // Create discrete pixel format if necessary.
- if (!mDiscreteGPUPixelFormat)
- {
- CGLPixelFormatAttribute discreteAttribs[] = {static_cast<CGLPixelFormatAttribute>(0)};
- GLint numPixelFormats = 0;
- if (CGLChoosePixelFormat(discreteAttribs, &mDiscreteGPUPixelFormat, &numPixelFormats) !=
- kCGLNoError)
- {
- ERR() << "Error choosing discrete pixel format.";
- return nullptr;
- }
- }
- ++mDiscreteGPURefs;
usesDiscreteGPU = true;
}
- return new ContextCGL(state, errorSet, mRenderer, usesDiscreteGPU);
+ return new ContextCGL(this, state, errorSet, mRenderer, usesDiscreteGPU);
}
DeviceImpl *DisplayCGL::createDevice()
@@ -402,7 +487,7 @@ bool WorkerContextCGL::makeCurrent()
CGLError error = CGLSetCurrentContext(mContext);
if (error != kCGLNoError)
{
- ERR() << "Unable to make gl context current.";
+ ERR() << "Unable to make gl context current.\n";
return false;
}
return true;
@@ -426,25 +511,98 @@ WorkerContext *DisplayCGL::createWorkerContext(std::string *infoLog)
return new WorkerContextCGL(context);
}
-void DisplayCGL::unreferenceDiscreteGPU()
+void DisplayCGL::initializeFrontendFeatures(angle::FrontendFeatures *features) const
{
+ mRenderer->initializeFrontendFeatures(features);
+}
+
+void DisplayCGL::populateFeatureList(angle::FeatureList *features)
+{
+ mRenderer->getFeatures().populateFeatureList(features);
+}
+
+egl::Error DisplayCGL::referenceDiscreteGPU()
+{
+ // Should have been rejected by validation if not supported.
+ ASSERT(mSupportsGPUSwitching);
+ // Create discrete pixel format if necessary.
+ if (mDiscreteGPUPixelFormat)
+ {
+ // Clear this out if necessary.
+ mLastDiscreteGPUUnrefTime = 0.0;
+ }
+ else
+ {
+ ASSERT(mLastDiscreteGPUUnrefTime == 0.0);
+ CGLPixelFormatAttribute discreteAttribs[] = {static_cast<CGLPixelFormatAttribute>(0)};
+ GLint numPixelFormats = 0;
+ if (CGLChoosePixelFormat(discreteAttribs, &mDiscreteGPUPixelFormat, &numPixelFormats) !=
+ kCGLNoError)
+ {
+ return egl::EglBadAlloc() << "Error choosing discrete pixel format.";
+ }
+ }
+ ++mDiscreteGPURefs;
+
+ return egl::NoError();
+}
+
+egl::Error DisplayCGL::unreferenceDiscreteGPU()
+{
+ // Should have been rejected by validation if not supported.
+ ASSERT(mSupportsGPUSwitching);
ASSERT(mDiscreteGPURefs > 0);
if (--mDiscreteGPURefs == 0)
{
- CGLDestroyPixelFormat(mDiscreteGPUPixelFormat);
- mDiscreteGPUPixelFormat = nullptr;
+ auto *platform = ANGLEPlatformCurrent();
+ mLastDiscreteGPUUnrefTime = platform->monotonicallyIncreasingTime(platform);
}
+
+ return egl::NoError();
}
-void DisplayCGL::initializeFrontendFeatures(angle::FrontendFeatures *features) const
+void DisplayCGL::checkDiscreteGPUStatus()
{
- mRenderer->initializeFrontendFeatures(features);
+ const double kDiscreteGPUTimeoutInSeconds = 10.0;
+
+ if (mLastDiscreteGPUUnrefTime != 0.0)
+ {
+ ASSERT(mSupportsGPUSwitching);
+ // A non-zero value implies that the timer is ticking on deleting the discrete GPU pixel
+ // format.
+ auto *platform = ANGLEPlatformCurrent();
+ ASSERT(platform);
+ double currentTime = platform->monotonicallyIncreasingTime(platform);
+ if (currentTime > mLastDiscreteGPUUnrefTime + kDiscreteGPUTimeoutInSeconds)
+ {
+ CGLDestroyPixelFormat(mDiscreteGPUPixelFormat);
+ mDiscreteGPUPixelFormat = nullptr;
+ mLastDiscreteGPUUnrefTime = 0.0;
+ }
+ }
}
-void DisplayCGL::populateFeatureList(angle::FeatureList *features)
+egl::Error DisplayCGL::handleGPUSwitch()
{
- mRenderer->getFeatures().populateFeatureList(features);
-}
+ if (mSupportsGPUSwitching)
+ {
+ uint64_t gpuID = angle::GetGpuIDFromDisplayID(kCGDirectMainDisplay);
+ if (gpuID != mCurrentGPUID)
+ {
+ SetGPUByRegistryID(mContext, mPixelFormat, gpuID);
+ // Performing the above operation seems to need a call to CGLSetCurrentContext to make
+ // the context work properly again. Failing to do this returns null strings for
+ // GL_VENDOR and GL_RENDERER.
+ CGLUpdateContext(mContext);
+ CGLSetCurrentContext(mContext);
+ onStateChange(angle::SubjectMessage::SubjectChanged);
+ mCurrentGPUID = gpuID;
+ }
+ }
+
+ return egl::NoError();
}
+} // namespace rx
+
#endif // defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_MACCATALYST)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h
index 4c7fb0760ea..c2ce06fa505 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h
@@ -75,6 +75,7 @@ class IOSurfaceSurfaceEAGL : public SurfaceGL
int mHeight;
int mPlane;
int mFormatIndex;
+ int mRowStrideInPixels;
bool mAlphaInitialized;
#if defined(ANGLE_PLATFORM_IOS_SIMULATOR)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm b/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm
index 3ca0e1c9494..d0b5c980bac 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm
@@ -83,6 +83,7 @@ IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL(const egl::SurfaceState &state,
mWidth(0),
mHeight(0),
mPlane(0),
+ mRowStrideInPixels(0),
mFormatIndex(-1),
mAlphaInitialized(false)
{
@@ -94,6 +95,14 @@ IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL(const egl::SurfaceState &state,
mWidth = static_cast<int>(attribs.get(EGL_WIDTH));
mHeight = static_cast<int>(attribs.get(EGL_HEIGHT));
mPlane = static_cast<int>(attribs.get(EGL_IOSURFACE_PLANE_ANGLE));
+ // Hopefully the number of bytes per row is always an integer number of pixels. We use
+ // glReadPixels to fill the IOSurface in the simulator and it can only support strides that are
+ // an integer number of pixels.
+ ASSERT(IOSurfaceGetBytesPerRowOfPlane(mIOSurface, mPlane) %
+ IOSurfaceGetBytesPerElementOfPlane(mIOSurface, mPlane) ==
+ 0);
+ mRowStrideInPixels = static_cast<int>(IOSurfaceGetBytesPerRowOfPlane(mIOSurface, mPlane) /
+ IOSurfaceGetBytesPerElementOfPlane(mIOSurface, mPlane));
EGLAttrib internalFormat = attribs.get(EGL_TEXTURE_INTERNAL_FORMAT_ANGLE);
EGLAttrib type = attribs.get(EGL_TEXTURE_TYPE_ANGLE);
@@ -227,6 +236,7 @@ egl::Error IOSurfaceSurfaceEAGL::releaseTexImage(const gl::Context *context, EGL
functions->framebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D,
mBoundTextureID, 0);
gl::PixelPackState state;
+ state.rowLength = mRowStrideInPixels;
state.alignment = 1;
stateManager->setPixelPackState(state);
// TODO(kbr): possibly more state to be set here, including setting any
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp
index 7e3b0ad0f61..cc328a03c34 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp
@@ -438,6 +438,9 @@ egl::ConfigSet DisplayEGL::generateConfigs()
&config.colorComponentType, "EGL_EXT_pixel_format_float",
EGL_COLOR_COMPONENT_TYPE_FIXED_EXT);
+ // Pixmaps are not supported on EGL, make sure the config doesn't expose them.
+ config.surfaceType &= ~EGL_PIXMAP_BIT;
+
if (config.colorBufferType == EGL_RGB_BUFFER)
{
ASSERT(config.colorComponentType == EGL_COLOR_COMPONENT_TYPE_FIXED_EXT);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.cpp
index d08228e8287..4b68e2a1550 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.cpp
@@ -4,9 +4,9 @@
// found in the LICENSE file.
//
-// DisplayOzone.cpp: Ozone implementation of egl::Display
+// DisplayGbm.cpp: Gbm implementation of egl::Display
-#include "libANGLE/renderer/gl/egl/ozone/DisplayOzone.h"
+#include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
#include <fcntl.h>
#include <poll.h>
@@ -29,8 +29,8 @@
#include "libANGLE/renderer/gl/egl/ContextEGL.h"
#include "libANGLE/renderer/gl/egl/DisplayEGL.h"
#include "libANGLE/renderer/gl/egl/FunctionsEGLDL.h"
-#include "libANGLE/renderer/gl/egl/ozone/SurfaceOzone.h"
-#include "platform/Platform.h"
+#include "libANGLE/renderer/gl/egl/gbm/SurfaceGbm.h"
+#include "platform/PlatformMethods.h"
// ARM-specific extension needed to make Mali GPU behave - not in any
// published header file.
@@ -86,18 +86,13 @@ int ChooseCRTC(int fd, drmModeConnectorPtr conn)
namespace rx
{
-// TODO(fjhenigman) Implement swap control. Until then this is unused.
-SwapControlData::SwapControlData()
- : targetSwapInterval(0), maxSwapInterval(-1), currentSwapInterval(-1)
-{}
-
-DisplayOzone::Buffer::Buffer(DisplayOzone *display,
- uint32_t useFlags,
- uint32_t gbmFormat,
- uint32_t drmFormat,
- uint32_t drmFormatFB,
- int depthBits,
- int stencilBits)
+DisplayGbm::Buffer::Buffer(DisplayGbm *display,
+ uint32_t useFlags,
+ uint32_t gbmFormat,
+ uint32_t drmFormat,
+ uint32_t drmFormatFB,
+ int depthBits,
+ int stencilBits)
: mDisplay(display),
mNative(nullptr),
mWidth(0),
@@ -118,7 +113,7 @@ DisplayOzone::Buffer::Buffer(DisplayOzone *display,
mTexture(0)
{}
-DisplayOzone::Buffer::~Buffer()
+DisplayGbm::Buffer::~Buffer()
{
reset();
@@ -129,7 +124,7 @@ DisplayOzone::Buffer::~Buffer()
mDSBuffer = 0;
}
-void DisplayOzone::Buffer::reset()
+void DisplayGbm::Buffer::reset()
{
if (mHasDRMFB)
{
@@ -167,7 +162,7 @@ void DisplayOzone::Buffer::reset()
}
}
-bool DisplayOzone::Buffer::resize(int32_t width, int32_t height)
+bool DisplayGbm::Buffer::resize(int32_t width, int32_t height)
{
if (mWidth == width && mHeight == height)
{
@@ -231,24 +226,24 @@ bool DisplayOzone::Buffer::resize(int32_t width, int32_t height)
return true;
}
-bool DisplayOzone::Buffer::initialize(const NativeWindow *native)
+bool DisplayGbm::Buffer::initialize(const NativeWindow *native)
{
mNative = native;
return createRenderbuffers() && resize(native->width, native->height);
}
-bool DisplayOzone::Buffer::initialize(int width, int height)
+bool DisplayGbm::Buffer::initialize(int width, int height)
{
return createRenderbuffers() && resize(width, height);
}
-void DisplayOzone::Buffer::bindTexImage()
+void DisplayGbm::Buffer::bindTexImage()
{
const FunctionsGL *gl = mDisplay->mRenderer->getFunctions();
gl->eGLImageTargetTexture2DOES(GL_TEXTURE_2D, mImage);
}
-GLuint DisplayOzone::Buffer::getTexture()
+GLuint DisplayGbm::Buffer::getTexture()
{
// TODO(fjhenigman) Try not to create a new texture every time. That already works on Intel
// and should work on Mali with proper fences.
@@ -266,7 +261,7 @@ GLuint DisplayOzone::Buffer::getTexture()
return mTexture;
}
-uint32_t DisplayOzone::Buffer::getDRMFB()
+uint32_t DisplayGbm::Buffer::getDRMFB()
{
if (!mHasDRMFB)
{
@@ -287,7 +282,7 @@ uint32_t DisplayOzone::Buffer::getDRMFB()
return mDRMFB;
}
-GLuint DisplayOzone::Buffer::createGLFB(const gl::Context *context)
+GLuint DisplayGbm::Buffer::createGLFB(const gl::Context *context)
{
const FunctionsGL *functions = GetFunctionsGL(context);
StateManagerGL *stateManager = GetStateManagerGL(context);
@@ -314,13 +309,13 @@ GLuint DisplayOzone::Buffer::createGLFB(const gl::Context *context)
return framebuffer;
}
-FramebufferGL *DisplayOzone::Buffer::framebufferGL(const gl::Context *context,
- const gl::FramebufferState &state)
+FramebufferGL *DisplayGbm::Buffer::framebufferGL(const gl::Context *context,
+ const gl::FramebufferState &state)
{
return new FramebufferGL(state, createGLFB(context), true, false);
}
-void DisplayOzone::Buffer::present(const gl::Context *context)
+void DisplayGbm::Buffer::present(const gl::Context *context)
{
if (mNative)
{
@@ -332,7 +327,7 @@ void DisplayOzone::Buffer::present(const gl::Context *context)
}
}
-bool DisplayOzone::Buffer::createRenderbuffers()
+bool DisplayGbm::Buffer::createRenderbuffers()
{
const FunctionsGL *gl = mDisplay->mRenderer->getFunctions();
StateManagerGL *sm = mDisplay->mRenderer->getStateManager();
@@ -349,7 +344,7 @@ bool DisplayOzone::Buffer::createRenderbuffers()
return true;
}
-DisplayOzone::DisplayOzone(const egl::DisplayState &state)
+DisplayGbm::DisplayGbm(const egl::DisplayState &state)
: DisplayEGL(state),
mGBM(nullptr),
mConnector(nullptr),
@@ -373,9 +368,9 @@ DisplayOzone::DisplayOzone(const egl::DisplayState &state)
mDepthUniform(0)
{}
-DisplayOzone::~DisplayOzone() {}
+DisplayGbm::~DisplayGbm() {}
-bool DisplayOzone::hasUsableScreen(int fd)
+bool DisplayGbm::hasUsableScreen(int fd)
{
drmModeResPtr resources = drmModeGetResources(fd);
if (!resources)
@@ -429,7 +424,7 @@ bool DisplayOzone::hasUsableScreen(int fd)
return false;
}
-egl::Error DisplayOzone::initialize(egl::Display *display)
+egl::Error DisplayGbm::initialize(egl::Display *display)
{
int fd;
char deviceName[30];
@@ -545,18 +540,18 @@ egl::Error DisplayOzone::initialize(egl::Display *display)
return DisplayGL::initialize(display);
}
-void DisplayOzone::pageFlipHandler(int fd,
- unsigned int sequence,
- unsigned int tv_sec,
- unsigned int tv_usec,
- void *data)
+void DisplayGbm::pageFlipHandler(int fd,
+ unsigned int sequence,
+ unsigned int tv_sec,
+ unsigned int tv_usec,
+ void *data)
{
- DisplayOzone *display = reinterpret_cast<DisplayOzone *>(data);
- uint64_t tv = tv_sec;
+ DisplayGbm *display = reinterpret_cast<DisplayGbm *>(data);
+ uint64_t tv = tv_sec;
display->pageFlipHandler(sequence, tv * 1000000 + tv_usec);
}
-void DisplayOzone::pageFlipHandler(unsigned int sequence, uint64_t tv)
+void DisplayGbm::pageFlipHandler(unsigned int sequence, uint64_t tv)
{
ASSERT(mPending);
mUnused = mScanning;
@@ -564,7 +559,7 @@ void DisplayOzone::pageFlipHandler(unsigned int sequence, uint64_t tv)
mPending = nullptr;
}
-void DisplayOzone::presentScreen()
+void DisplayGbm::presentScreen()
{
if (!mCRTC)
{
@@ -615,7 +610,7 @@ void DisplayOzone::presentScreen()
}
}
-GLuint DisplayOzone::makeShader(GLuint type, const char *src)
+GLuint DisplayGbm::makeShader(GLuint type, const char *src)
{
const FunctionsGL *gl = mRenderer->getFunctions();
GLuint shader = gl->createShader(type);
@@ -629,13 +624,13 @@ GLuint DisplayOzone::makeShader(GLuint type, const char *src)
gl->getShaderiv(shader, GL_COMPILE_STATUS, &compiled);
if (compiled != GL_TRUE)
{
- WARN() << "DisplayOzone shader compilation error: " << buf;
+ WARN() << "DisplayGbm shader compilation error: " << buf;
}
return shader;
}
-void DisplayOzone::drawWithTexture(const gl::Context *context, Buffer *buffer)
+void DisplayGbm::drawWithTexture(const gl::Context *context, Buffer *buffer)
{
const FunctionsGL *gl = mRenderer->getFunctions();
StateManagerGL *sm = mRenderer->getStateManager();
@@ -767,7 +762,7 @@ void DisplayOzone::drawWithTexture(const gl::Context *context, Buffer *buffer)
sm->deleteFramebuffer(fbo);
}
-void DisplayOzone::drawBuffer(const gl::Context *context, Buffer *buffer)
+void DisplayGbm::drawBuffer(const gl::Context *context, Buffer *buffer)
{
if (!mDrawing)
{
@@ -806,7 +801,7 @@ void DisplayOzone::drawBuffer(const gl::Context *context, Buffer *buffer)
presentScreen();
}
-void DisplayOzone::flushGL()
+void DisplayGbm::flushGL()
{
const FunctionsGL *gl = mRenderer->getFunctions();
gl->flush();
@@ -836,7 +831,7 @@ void DisplayOzone::flushGL()
}
}
-void DisplayOzone::terminate()
+void DisplayGbm::terminate()
{
SafeDelete(mScanning);
SafeDelete(mPending);
@@ -883,9 +878,9 @@ void DisplayOzone::terminate()
}
}
-SurfaceImpl *DisplayOzone::createWindowSurface(const egl::SurfaceState &state,
- EGLNativeWindowType window,
- const egl::AttributeMap &attribs)
+SurfaceImpl *DisplayGbm::createWindowSurface(const egl::SurfaceState &state,
+ EGLNativeWindowType window,
+ const egl::AttributeMap &attribs)
{
Buffer *buffer = new Buffer(this, GBM_BO_USE_RENDERING, GBM_FORMAT_ARGB8888,
DRM_FORMAT_ARGB8888, DRM_FORMAT_XRGB8888, true, true);
@@ -893,11 +888,11 @@ SurfaceImpl *DisplayOzone::createWindowSurface(const egl::SurfaceState &state,
{
return nullptr;
}
- return new SurfaceOzone(state, buffer);
+ return new SurfaceGbm(state, buffer);
}
-SurfaceImpl *DisplayOzone::createPbufferSurface(const egl::SurfaceState &state,
- const egl::AttributeMap &attribs)
+SurfaceImpl *DisplayGbm::createPbufferSurface(const egl::SurfaceState &state,
+ const egl::AttributeMap &attribs)
{
EGLAttrib width = attribs.get(EGL_WIDTH, 0);
EGLAttrib height = attribs.get(EGL_HEIGHT, 0);
@@ -907,27 +902,27 @@ SurfaceImpl *DisplayOzone::createPbufferSurface(const egl::SurfaceState &state,
{
return nullptr;
}
- return new SurfaceOzone(state, buffer);
+ return new SurfaceGbm(state, buffer);
}
-ContextImpl *DisplayOzone::createContext(const gl::State &state,
- gl::ErrorSet *errorSet,
- const egl::Config *configuration,
- const gl::Context *shareContext,
- const egl::AttributeMap &attribs)
+ContextImpl *DisplayGbm::createContext(const gl::State &state,
+ gl::ErrorSet *errorSet,
+ const egl::Config *configuration,
+ const gl::Context *shareContext,
+ const egl::AttributeMap &attribs)
{
- // All contexts on Ozone are virtualized and share the same renderer.
+ // All contexts on Gbm are virtualized and share the same renderer.
return new ContextEGL(state, errorSet, mRenderer);
}
-egl::Error DisplayOzone::makeCurrent(egl::Surface *drawSurface,
- egl::Surface *readSurface,
- gl::Context *context)
+egl::Error DisplayGbm::makeCurrent(egl::Surface *drawSurface,
+ egl::Surface *readSurface,
+ gl::Context *context)
{
return DisplayGL::makeCurrent(drawSurface, readSurface, context);
}
-egl::ConfigSet DisplayOzone::generateConfigs()
+egl::ConfigSet DisplayGbm::generateConfigs()
{
egl::ConfigSet configs;
@@ -949,17 +944,17 @@ egl::ConfigSet DisplayOzone::generateConfigs()
return configs;
}
-bool DisplayOzone::isValidNativeWindow(EGLNativeWindowType window) const
+bool DisplayGbm::isValidNativeWindow(EGLNativeWindowType window) const
{
return true;
}
-void DisplayOzone::setSwapInterval(EGLSurface drawable, SwapControlData *data)
+void DisplayGbm::setSwapInterval(EGLSurface drawable, SwapControlData *data)
{
ASSERT(data != nullptr);
}
-void DisplayOzone::generateExtensions(egl::DisplayExtensions *outExtensions) const
+void DisplayGbm::generateExtensions(egl::DisplayExtensions *outExtensions) const
{
DisplayEGL::generateExtensions(outExtensions);
@@ -967,11 +962,11 @@ void DisplayOzone::generateExtensions(egl::DisplayExtensions *outExtensions) con
outExtensions->surfacelessContext = true;
}
-class WorkerContextOzone final : public WorkerContext
+class WorkerContextGbm final : public WorkerContext
{
public:
- WorkerContextOzone(EGLContext context, FunctionsEGL *functions);
- ~WorkerContextOzone() override;
+ WorkerContextGbm(EGLContext context, FunctionsEGL *functions);
+ ~WorkerContextGbm() override;
bool makeCurrent() override;
void unmakeCurrent() override;
@@ -981,16 +976,16 @@ class WorkerContextOzone final : public WorkerContext
FunctionsEGL *mFunctions;
};
-WorkerContextOzone::WorkerContextOzone(EGLContext context, FunctionsEGL *functions)
+WorkerContextGbm::WorkerContextGbm(EGLContext context, FunctionsEGL *functions)
: mContext(context), mFunctions(functions)
{}
-WorkerContextOzone::~WorkerContextOzone()
+WorkerContextGbm::~WorkerContextGbm()
{
mFunctions->destroyContext(mContext);
}
-bool WorkerContextOzone::makeCurrent()
+bool WorkerContextGbm::makeCurrent()
{
if (mFunctions->makeCurrent(EGL_NO_SURFACE, mContext) == EGL_FALSE)
{
@@ -1000,14 +995,14 @@ bool WorkerContextOzone::makeCurrent()
return true;
}
-void WorkerContextOzone::unmakeCurrent()
+void WorkerContextGbm::unmakeCurrent()
{
mFunctions->makeCurrent(EGL_NO_SURFACE, EGL_NO_CONTEXT);
}
-WorkerContext *DisplayOzone::createWorkerContext(std::string *infoLog,
- EGLContext sharedContext,
- const native_egl::AttributeVector workerAttribs)
+WorkerContext *DisplayGbm::createWorkerContext(std::string *infoLog,
+ EGLContext sharedContext,
+ const native_egl::AttributeVector workerAttribs)
{
EGLContext context = mEGL->createContext(mConfig, sharedContext, workerAttribs.data());
if (context == EGL_NO_CONTEXT)
@@ -1015,7 +1010,7 @@ WorkerContext *DisplayOzone::createWorkerContext(std::string *infoLog,
*infoLog += "Unable to create the EGL context.";
return nullptr;
}
- return new WorkerContextOzone(context, mEGL);
+ return new WorkerContextGbm(context, mEGL);
}
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.h
index 619b12151a7..8e08e95fc61 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.h
@@ -4,10 +4,10 @@
// found in the LICENSE file.
//
-// DisplayOzone.h: Ozone implementation of egl::Display
+// DisplayGbm.h: Gbm implementation of egl::Display
-#ifndef LIBANGLE_RENDERER_GL_EGL_OZONE_DISPLAYOZONE_H_
-#define LIBANGLE_RENDERER_GL_EGL_OZONE_DISPLAYOZONE_H_
+#ifndef LIBANGLE_RENDERER_GL_EGL_GBM_DISPLAYGBM_H_
+#define LIBANGLE_RENDERER_GL_EGL_GBM_DISPLAYGBM_H_
#include <xf86drm.h>
#include <xf86drmMode.h>
@@ -30,22 +30,10 @@ namespace rx
class FramebufferGL;
class RendererEGL;
-// TODO(fjhenigman) Implement swap control. The following struct will be used for that.
-// State-tracking data for the swap control to allow DisplayOzone to remember per
-// drawable information for swap control.
-struct SwapControlData final
-{
- SwapControlData();
-
- // Set by the drawable
- int targetSwapInterval;
-
- // DisplayOzone-side state-tracking
- int maxSwapInterval;
- int currentSwapInterval;
-};
+struct SwapControlData;
-class DisplayOzone final : public DisplayEGL
+// TODO(fjhenigman) Implement swap control. The SwapControlData struct will be used for that.
+class DisplayGbm final : public DisplayEGL
{
public:
struct NativeWindow
@@ -63,7 +51,7 @@ class DisplayOzone final : public DisplayEGL
class Buffer final : angle::NonCopyable
{
public:
- Buffer(DisplayOzone *display,
+ Buffer(DisplayGbm *display,
uint32_t useFlags,
uint32_t gbmFormat,
uint32_t drmFormat,
@@ -89,7 +77,7 @@ class DisplayOzone final : public DisplayEGL
private:
bool createRenderbuffers();
- DisplayOzone *mDisplay;
+ DisplayGbm *mDisplay;
const NativeWindow *mNative;
int mWidth;
int mHeight;
@@ -109,8 +97,8 @@ class DisplayOzone final : public DisplayEGL
GLuint mTexture;
};
- DisplayOzone(const egl::DisplayState &state);
- ~DisplayOzone() override;
+ DisplayGbm(const egl::DisplayState &state);
+ ~DisplayGbm() override;
egl::Error initialize(egl::Display *display) override;
void terminate() override;
@@ -190,4 +178,4 @@ class DisplayOzone final : public DisplayEGL
};
} // namespace rx
-#endif // LIBANGLE_RENDERER_GL_EGL_OZONE_DISPLAYOZONE_H_
+#endif // LIBANGLE_RENDERER_GL_EGL_GBM_DISPLAYGBM_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.cpp
new file mode 100644
index 00000000000..791a9d534c7
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.cpp
@@ -0,0 +1,100 @@
+//
+// Copyright 2016 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// SurfaceGbm.cpp: Gbm implementation of egl::SurfaceGL
+
+#include "libANGLE/renderer/gl/egl/gbm/SurfaceGbm.h"
+
+#include "libANGLE/renderer/gl/FramebufferGL.h"
+#include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
+
+namespace rx
+{
+
+SurfaceGbm::SurfaceGbm(const egl::SurfaceState &state, DisplayGbm::Buffer *buffer)
+ : SurfaceGL(state), mBuffer(buffer)
+{}
+
+SurfaceGbm::~SurfaceGbm()
+{
+ delete mBuffer;
+}
+
+egl::Error SurfaceGbm::initialize(const egl::Display *display)
+{
+ return egl::NoError();
+}
+
+FramebufferImpl *SurfaceGbm::createDefaultFramebuffer(const gl::Context *context,
+ const gl::FramebufferState &state)
+{
+ return mBuffer->framebufferGL(context, state);
+}
+
+egl::Error SurfaceGbm::makeCurrent(const gl::Context *context)
+{
+ return egl::NoError();
+}
+
+egl::Error SurfaceGbm::swap(const gl::Context *context)
+{
+ mBuffer->present(context);
+ return egl::NoError();
+}
+
+egl::Error SurfaceGbm::postSubBuffer(const gl::Context *context,
+ EGLint x,
+ EGLint y,
+ EGLint width,
+ EGLint height)
+{
+ UNIMPLEMENTED();
+ return egl::NoError();
+}
+
+egl::Error SurfaceGbm::querySurfacePointerANGLE(EGLint attribute, void **value)
+{
+ UNIMPLEMENTED();
+ return egl::NoError();
+}
+
+egl::Error SurfaceGbm::bindTexImage(const gl::Context *context, gl::Texture *texture, EGLint buffer)
+{
+ mBuffer->bindTexImage();
+ return egl::NoError();
+}
+
+egl::Error SurfaceGbm::releaseTexImage(const gl::Context *context, EGLint buffer)
+{
+ return egl::NoError();
+}
+
+void SurfaceGbm::setSwapInterval(EGLint interval)
+{
+ mSwapControl.targetSwapInterval = interval;
+}
+
+EGLint SurfaceGbm::getWidth() const
+{
+ return mBuffer->getWidth();
+}
+
+EGLint SurfaceGbm::getHeight() const
+{
+ return mBuffer->getHeight();
+}
+
+EGLint SurfaceGbm::isPostSubBufferSupported() const
+{
+ UNIMPLEMENTED();
+ return EGL_FALSE;
+}
+
+EGLint SurfaceGbm::getSwapBehavior() const
+{
+ return EGL_BUFFER_PRESERVED;
+}
+} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.h
index 1b93684a3f6..ed2fef5b53d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.h
@@ -4,22 +4,23 @@
// found in the LICENSE file.
//
-// SurfaceOzone.h: Ozone implementation of egl::SurfaceGL
+// SurfaceGbm.h: Gbm implementation of egl::SurfaceGL
-#ifndef LIBANGLE_RENDERER_GL_EGL_OZONE_SURFACEOZONE_H_
-#define LIBANGLE_RENDERER_GL_EGL_OZONE_SURFACEOZONE_H_
+#ifndef LIBANGLE_RENDERER_GL_EGL_GBM_SURFACEGBM_H_
+#define LIBANGLE_RENDERER_GL_EGL_GBM_SURFACEGBM_H_
#include "libANGLE/renderer/gl/SurfaceGL.h"
-#include "libANGLE/renderer/gl/egl/ozone/DisplayOzone.h"
+#include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
+#include "libANGLE/renderer/gl/renderergl_utils.h"
namespace rx
{
-class SurfaceOzone : public SurfaceGL
+class SurfaceGbm : public SurfaceGL
{
public:
- SurfaceOzone(const egl::SurfaceState &state, DisplayOzone::Buffer *buffer);
- ~SurfaceOzone() override;
+ SurfaceGbm(const egl::SurfaceState &state, DisplayGbm::Buffer *buffer);
+ ~SurfaceGbm() override;
FramebufferImpl *createDefaultFramebuffer(const gl::Context *context,
const gl::FramebufferState &state) override;
@@ -47,11 +48,11 @@ class SurfaceOzone : public SurfaceGL
EGLint getSwapBehavior() const override;
private:
- DisplayOzone::Buffer *mBuffer;
+ DisplayGbm::Buffer *mBuffer;
// TODO(fjhenigman) Implement swap control. This will be used for that.
SwapControlData mSwapControl;
};
} // namespace rx
-#endif // LIBANGLE_RENDERER_GL_EGL_OZONE_SURFACEOZONE_H_
+#endif // LIBANGLE_RENDERER_GL_EGL_GBM_SURFACEGBM_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.cpp
deleted file mode 100644
index bf51b6a686d..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-//
-// Copyright 2016 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// SurfaceOzone.cpp: Ozone implementation of egl::SurfaceGL
-
-#include "libANGLE/renderer/gl/egl/ozone/SurfaceOzone.h"
-
-#include "libANGLE/renderer/gl/FramebufferGL.h"
-#include "libANGLE/renderer/gl/egl/ozone/DisplayOzone.h"
-
-namespace rx
-{
-
-SurfaceOzone::SurfaceOzone(const egl::SurfaceState &state, DisplayOzone::Buffer *buffer)
- : SurfaceGL(state), mBuffer(buffer)
-{}
-
-SurfaceOzone::~SurfaceOzone()
-{
- delete mBuffer;
-}
-
-egl::Error SurfaceOzone::initialize(const egl::Display *display)
-{
- return egl::NoError();
-}
-
-FramebufferImpl *SurfaceOzone::createDefaultFramebuffer(const gl::Context *context,
- const gl::FramebufferState &state)
-{
- return mBuffer->framebufferGL(context, state);
-}
-
-egl::Error SurfaceOzone::makeCurrent(const gl::Context *context)
-{
- return egl::NoError();
-}
-
-egl::Error SurfaceOzone::swap(const gl::Context *context)
-{
- mBuffer->present(context);
- return egl::NoError();
-}
-
-egl::Error SurfaceOzone::postSubBuffer(const gl::Context *context,
- EGLint x,
- EGLint y,
- EGLint width,
- EGLint height)
-{
- UNIMPLEMENTED();
- return egl::NoError();
-}
-
-egl::Error SurfaceOzone::querySurfacePointerANGLE(EGLint attribute, void **value)
-{
- UNIMPLEMENTED();
- return egl::NoError();
-}
-
-egl::Error SurfaceOzone::bindTexImage(const gl::Context *context,
- gl::Texture *texture,
- EGLint buffer)
-{
- mBuffer->bindTexImage();
- return egl::NoError();
-}
-
-egl::Error SurfaceOzone::releaseTexImage(const gl::Context *context, EGLint buffer)
-{
- return egl::NoError();
-}
-
-void SurfaceOzone::setSwapInterval(EGLint interval)
-{
- mSwapControl.targetSwapInterval = interval;
-}
-
-EGLint SurfaceOzone::getWidth() const
-{
- return mBuffer->getWidth();
-}
-
-EGLint SurfaceOzone::getHeight() const
-{
- return mBuffer->getHeight();
-}
-
-EGLint SurfaceOzone::isPostSubBufferSupported() const
-{
- UNIMPLEMENTED();
- return EGL_FALSE;
-}
-
-EGLint SurfaceOzone::getSwapBehavior() const
-{
- return EGL_BUFFER_PRESERVED;
-}
-} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp
index 3751123596c..17c3a43ff7d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp
@@ -256,7 +256,7 @@ static InternalFormatInfoMap BuildInternalFormatInfoMap()
InsertFormatMapping(&map, GL_R16F, VersionOrExts(3, 0, "GL_ARB_texture_rg ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_rg GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float GL_EXT_texture_rg"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), ExtsOnly("GL_EXT_texture_storage GL_OES_texture_half_float GL_EXT_texture_rg GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float"), ExtsOnly("GL_EXT_texture_rg GL_OES_texture_half_float GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float"));
InsertFormatMapping(&map, GL_RG16F, VersionOrExts(3, 0, "GL_ARB_texture_rg ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_rg GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float GL_EXT_texture_rg"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), ExtsOnly("GL_EXT_texture_storage GL_OES_texture_half_float GL_EXT_texture_rg GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float"), ExtsOnly("GL_EXT_texture_rg GL_OES_texture_half_float GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float"));
InsertFormatMapping(&map, GL_RGB16F, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), ExtsOnly("GL_EXT_texture_storage GL_OES_texture_half_float GL_EXT_color_buffer_half_float"), ExtsOnly("GL_OES_texture_half_float GL_EXT_color_buffer_half_float") );
- InsertFormatMapping(&map, GL_RGBA16F, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), ExtsOnly("GL_OES_texture_half_float GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float"), ExtsOnly("GL_OES_texture_half_float GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float") );
+ InsertFormatMapping(&map, GL_RGBA16F, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), ExtsOnly("GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float"), ExtsOnly("GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_float") );
InsertFormatMapping(&map, GL_R32F, VersionOrExts(3, 0, "GL_ARB_texture_rg GL_ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_rg GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_float GL_EXT_texture_rg"), ExtsOnly("GL_OES_texture_float_linear"), ExtsOnly("GL_EXT_color_buffer_float"), ExtsOnly("GL_EXT_color_buffer_float") );
InsertFormatMapping(&map, GL_RG32F, VersionOrExts(3, 0, "GL_ARB_texture_rg GL_ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_rg GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_float GL_EXT_texture_rg"), ExtsOnly("GL_OES_texture_float_linear"), ExtsOnly("GL_EXT_color_buffer_float"), ExtsOnly("GL_EXT_color_buffer_float") );
InsertFormatMapping(&map, GL_RGB32F, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), VersionOrExts(3, 0, "GL_ARB_texture_float GL_ARB_color_buffer_float"), VersionOrExts(3, 0, "GL_OES_texture_float"), ExtsOnly("GL_OES_texture_float_linear"), NeverSupported(), NeverSupported() );
@@ -275,16 +275,16 @@ static InternalFormatInfoMap BuildInternalFormatInfoMap()
InsertFormatMapping(&map, GL_DEPTH_STENCIL, VersionOnly(1, 5), VersionOrExts(1, 5, "GL_ARB_depth_texture"), VersionOnly(1, 5), VersionOnly(2, 0), VersionOrExts(3, 0, "GL_OES_depth_texture"), VersionOnly(2, 0), VersionOnly(2, 0) );
// Luminance alpha formats
- // | Format | OpenGL texture support | Filter | Render | OpenGL ES texture support | Filter | OpenGL ES texture attachment support | OpenGL ES renderbuffer support |
- InsertFormatMapping(&map, GL_ALPHA8_EXT, AlwaysSupported(), AlwaysSupported(), NeverSupported(), AlwaysSupported(), AlwaysSupported(), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_LUMINANCE8_EXT, AlwaysSupported(), AlwaysSupported(), NeverSupported(), AlwaysSupported(), AlwaysSupported(), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_LUMINANCE8_ALPHA8_EXT, AlwaysSupported(), AlwaysSupported(), NeverSupported(), AlwaysSupported(), AlwaysSupported(), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_ALPHA16F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), ExtsOnly("GL_OES_texture_half_float"), ExtsOnly("GL_OES_texture_half_float_linear"), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_LUMINANCE16F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), ExtsOnly("GL_OES_texture_half_float"), ExtsOnly("GL_OES_texture_half_float_linear"), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_LUMINANCE_ALPHA16F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), ExtsOnly("GL_OES_texture_half_float"), ExtsOnly("GL_OES_texture_half_float_linear"), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_ALPHA32F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), ExtsOnly("GL_OES_texture_float"), ExtsOnly("GL_OES_texture_float_linear"), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_LUMINANCE32F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), ExtsOnly("GL_OES_texture_float"), ExtsOnly("GL_OES_texture_float_linear"), NeverSupported(), NeverSupported() );
- InsertFormatMapping(&map, GL_LUMINANCE_ALPHA32F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), ExtsOnly("GL_OES_texture_float"), ExtsOnly("GL_OES_texture_float_linear"), NeverSupported(), NeverSupported() );
+ // | Format | OpenGL texture support | Filter | Render | OpenGL ES texture support | Filter | OpenGL ES texture attachment support | OpenGL ES renderbuffer support |
+ InsertFormatMapping(&map, GL_ALPHA8_EXT, AlwaysSupported(), AlwaysSupported(), NeverSupported(), AlwaysSupported(), AlwaysSupported(), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_LUMINANCE8_EXT, AlwaysSupported(), AlwaysSupported(), NeverSupported(), AlwaysSupported(), AlwaysSupported(), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_LUMINANCE8_ALPHA8_EXT, AlwaysSupported(), AlwaysSupported(), NeverSupported(), AlwaysSupported(), AlwaysSupported(), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_ALPHA16F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), VersionOrExts(3, 0, "GL_OES_texture_half_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_LUMINANCE16F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), VersionOrExts(3, 0, "GL_OES_texture_half_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_LUMINANCE_ALPHA16F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), VersionOrExts(3, 0, "GL_OES_texture_half_float"), VersionOrExts(3, 0, "GL_OES_texture_half_float_linear"), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_ALPHA32F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), VersionOrExts(3, 0, "GL_OES_texture_float"), ExtsOnly("GL_OES_texture_float_linear"), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_LUMINANCE32F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), VersionOrExts(3, 0, "GL_OES_texture_float"), ExtsOnly("GL_OES_texture_float_linear"), NeverSupported(), NeverSupported() );
+ InsertFormatMapping(&map, GL_LUMINANCE_ALPHA32F_EXT, VersionOrExts(3, 0, "GL_ARB_texture_float"), AlwaysSupported(), NeverSupported(), VersionOrExts(3, 0, "GL_OES_texture_float"), ExtsOnly("GL_OES_texture_float_linear"), NeverSupported(), NeverSupported() );
// EXT_texture_compression_rgtc formats
// | Format | OpenGL texture support | Filter | Render | OpenGL ES texture support | Filter | OpenGL ES texture attachment support | OpenGL ES renderbuffer support |
@@ -434,6 +434,33 @@ const InternalFormat &GetInternalFormatInfo(GLenum internalFormat, StandardGL st
return *defaultInternalFormat;
}
+static bool IsLUMAFormat(GLenum format)
+{
+ return (format == GL_LUMINANCE || format == GL_ALPHA || format == GL_LUMINANCE_ALPHA);
+}
+
+static GLenum EmulateLUMAFormat(const GLenum format)
+{
+ // This is needed separately from EmulateLUMA because some format/type combinations that come in
+ // to GetNativeFormat don't have entries in the internal format map.
+
+ ASSERT(IsLUMAFormat(format));
+
+ if (format == GL_LUMINANCE || format == GL_ALPHA)
+ return GL_RED;
+
+ return GL_RG;
+}
+
+static const gl::InternalFormat &EmulateLUMA(const gl::InternalFormat &internalFormat)
+{
+ ASSERT(IsLUMAFormat(internalFormat.format));
+
+ // Work around deprecated luminance/alpha formats in the OpenGL core profile, and OpenGL ES 3.0
+ // and greater, by backing them with R or RG textures.
+ return gl::GetInternalFormatInfo(EmulateLUMAFormat(internalFormat.format), internalFormat.type);
+}
+
static GLenum GetNativeInternalFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
const gl::InternalFormat &internalFormat)
@@ -479,38 +506,79 @@ static GLenum GetNativeInternalFormat(const FunctionsGL *functions,
if ((functions->profile & GL_CONTEXT_CORE_PROFILE_BIT) != 0)
{
- // Work around deprecated luminance alpha formats in the OpenGL core profile by backing
- // them with R or RG textures.
- if (internalFormat.format == GL_LUMINANCE || internalFormat.format == GL_ALPHA)
- {
- result = gl::GetInternalFormatInfo(GL_RED, internalFormat.type).sizedInternalFormat;
- }
-
- if (internalFormat.format == GL_LUMINANCE_ALPHA)
+ if (IsLUMAFormat(internalFormat.format))
{
- result = gl::GetInternalFormatInfo(GL_RG, internalFormat.type).sizedInternalFormat;
+ result = EmulateLUMA(internalFormat).sizedInternalFormat;
}
}
}
else if (functions->isAtLeastGLES(gl::Version(3, 0)))
{
- if (internalFormat.componentType == GL_FLOAT && !internalFormat.isLUMA())
+ if (internalFormat.componentType == GL_FLOAT)
{
- // Use sized internal formats for floating point textures. Extensions such as
- // EXT_color_buffer_float require the sized formats to be renderable.
- result = internalFormat.sizedInternalFormat;
+ if (!internalFormat.isLUMA())
+ {
+ // Use sized internal formats for floating point textures. Extensions such as
+ // EXT_color_buffer_float require the sized formats to be renderable.
+ result = internalFormat.sizedInternalFormat;
+ }
+ else if ((internalFormat.type == GL_FLOAT &&
+ !functions->hasGLESExtension("GL_OES_texture_float")) ||
+ (internalFormat.type == GL_HALF_FLOAT_OES &&
+ !functions->hasGLESExtension("GL_OES_texture_half_float")))
+ {
+ // The legacy luminance/alpha formats from OES_texture_float are emulated with R/RG
+ // textures.
+ if (IsLUMAFormat(internalFormat.format))
+ {
+ result = EmulateLUMA(internalFormat).sizedInternalFormat;
+ }
+ }
}
else if (internalFormat.format == GL_RED_EXT || internalFormat.format == GL_RG_EXT)
{
// Workaround Adreno driver not supporting unsized EXT_texture_rg formats
result = internalFormat.sizedInternalFormat;
}
- else if (features.unsizedsRGBReadPixelsDoesntTransform.enabled &&
- internalFormat.colorEncoding == GL_SRGB)
+ else if (internalFormat.colorEncoding == GL_SRGB)
{
- // Work around some Adreno driver bugs that don't read back SRGB data correctly when
- // it's in unsized SRGB texture formats.
- result = internalFormat.sizedInternalFormat;
+ if (features.unsizedsRGBReadPixelsDoesntTransform.enabled)
+ {
+ // Work around some Adreno driver bugs that don't read back SRGB data correctly when
+ // it's in unsized SRGB texture formats.
+ result = internalFormat.sizedInternalFormat;
+ }
+ else if (!functions->hasGLESExtension("GL_EXT_sRGB"))
+ {
+ // Unsized sRGB internal formats are unlikely to be supported by the
+ // driver. Transform them to sized internal formats.
+ if (internalFormat.internalFormat == GL_SRGB ||
+ internalFormat.internalFormat == GL_SRGB_ALPHA_EXT)
+ {
+ result = internalFormat.sizedInternalFormat;
+ }
+ }
+ }
+ else if ((internalFormat.internalFormat == GL_DEPTH_COMPONENT ||
+ internalFormat.internalFormat == GL_DEPTH_STENCIL) &&
+ !functions->hasGLESExtension("GL_OES_depth_texture"))
+ {
+ // Use ES 3.0 sized internal formats for depth/stencil textures when the driver doesn't
+ // advertise GL_OES_depth_texture, since it's likely the driver will reject unsized
+ // internal formats.
+ if (internalFormat.internalFormat == GL_DEPTH_COMPONENT &&
+ internalFormat.type == GL_UNSIGNED_INT &&
+ !functions->hasGLESExtension("GL_OES_depth32"))
+ {
+ // Best-effort attempt to provide as many bits as possible.
+ result = GL_DEPTH_COMPONENT24;
+ // Note: could also consider promoting GL_DEPTH_COMPONENT / GL_UNSIGNED_SHORT to a
+ // higher precision.
+ }
+ else
+ {
+ result = internalFormat.sizedInternalFormat;
+ }
}
}
@@ -519,7 +587,8 @@ static GLenum GetNativeInternalFormat(const FunctionsGL *functions,
static GLenum GetNativeFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
- GLenum format)
+ GLenum format,
+ GLenum type)
{
GLenum result = format;
@@ -541,31 +610,41 @@ static GLenum GetNativeFormat(const FunctionsGL *functions,
{
// Work around deprecated luminance alpha formats in the OpenGL core profile by backing
// them with R or RG textures.
- if (format == GL_LUMINANCE || format == GL_ALPHA)
- {
- result = GL_RED;
- }
-
- if (format == GL_LUMINANCE_ALPHA)
+ if (IsLUMAFormat(format))
{
- result = GL_RG;
+ result = EmulateLUMAFormat(format);
}
}
}
else if (functions->isAtLeastGLES(gl::Version(3, 0)))
{
- if (features.unsizedsRGBReadPixelsDoesntTransform.enabled)
+ // Transform sRGB formats to RGB if either the GLES driver doesn't support GL_EXT_sRGB, or
+ // to work around Adreno driver bugs reading back unsized sRGB texture data.
+ if (!functions->hasGLESExtension("GL_EXT_sRGB") ||
+ features.unsizedsRGBReadPixelsDoesntTransform.enabled)
{
if (format == GL_SRGB)
{
result = GL_RGB;
}
- if (format == GL_SRGB_ALPHA)
+ if (format == GL_SRGB_ALPHA_EXT)
{
result = GL_RGBA;
}
}
+
+ if ((type == GL_FLOAT && !functions->hasGLESExtension("GL_OES_texture_float")) ||
+ (type == GL_HALF_FLOAT_OES &&
+ !functions->hasGLESExtension("GL_OES_texture_half_float")))
+ {
+ // On ES 3.0 systems that don't have GL_OES_texture_float or OES_texture_half_float, the
+ // LUMINANCE/ALPHA formats from those extensions must be emulated with R/RG textures.
+ if (IsLUMAFormat(format))
+ {
+ result = EmulateLUMAFormat(format);
+ }
+ }
}
return result;
@@ -629,18 +708,12 @@ static GLenum GetNativeType(const FunctionsGL *functions,
{
if (type == GL_HALF_FLOAT_OES)
{
- switch (format)
+ if (!IsLUMAFormat(format) || !functions->hasGLESExtension("GL_OES_texture_half_float"))
{
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE:
- case GL_ALPHA:
- // In ES3, these formats come from EXT_texture_storage, which uses
- // HALF_FLOAT_OES. Other formats (like RGBA) use HALF_FLOAT (non-OES) in ES3.
- break;
-
- default:
- result = GL_HALF_FLOAT;
- break;
+ // In ES3, the luminance formats come from OES_texture_half_float, which uses
+ // HALF_FLOAT_OES. Other formats (like RGBA) use HALF_FLOAT (non-OES) in ES3.
+ // If they're emulated (see above), use HALF_FLOAT.
+ result = GL_HALF_FLOAT;
}
}
}
@@ -701,7 +774,7 @@ TexImageFormat GetTexImageFormat(const FunctionsGL *functions,
TexImageFormat result;
result.internalFormat = GetNativeInternalFormat(
functions, features, gl::GetInternalFormatInfo(internalFormat, type));
- result.format = GetNativeFormat(functions, features, format);
+ result.format = GetNativeFormat(functions, features, format, type);
result.type = GetNativeType(functions, features, format, type);
return result;
}
@@ -712,7 +785,7 @@ TexSubImageFormat GetTexSubImageFormat(const FunctionsGL *functions,
GLenum type)
{
TexSubImageFormat result;
- result.format = GetNativeFormat(functions, features, format);
+ result.format = GetNativeFormat(functions, features, format, type);
result.type = GetNativeType(functions, features, format, type);
return result;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.h
index 1195290b0f9..1c5b5f7d006 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.h
@@ -63,9 +63,9 @@ const InternalFormat &GetInternalFormatInfo(GLenum internalFormat, StandardGL st
struct TexImageFormat
{
- GLenum internalFormat;
- GLenum format;
- GLenum type;
+ GLenum internalFormat = GL_NONE;
+ GLenum format = GL_NONE;
+ GLenum type = GL_NONE;
};
TexImageFormat GetTexImageFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
@@ -75,8 +75,8 @@ TexImageFormat GetTexImageFormat(const FunctionsGL *functions,
struct TexSubImageFormat
{
- GLenum format;
- GLenum type;
+ GLenum format = GL_NONE;
+ GLenum type = GL_NONE;
};
TexSubImageFormat GetTexSubImageFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
@@ -85,7 +85,7 @@ TexSubImageFormat GetTexSubImageFormat(const FunctionsGL *functions,
struct CompressedTexImageFormat
{
- GLenum internalFormat;
+ GLenum internalFormat = GL_NONE;
};
CompressedTexImageFormat GetCompressedTexImageFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
@@ -93,7 +93,7 @@ CompressedTexImageFormat GetCompressedTexImageFormat(const FunctionsGL *function
struct CompressedTexSubImageFormat
{
- GLenum format;
+ GLenum format = GL_NONE;
};
CompressedTexSubImageFormat GetCompressedSubTexImageFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
@@ -101,7 +101,7 @@ CompressedTexSubImageFormat GetCompressedSubTexImageFormat(const FunctionsGL *fu
struct CopyTexImageImageFormat
{
- GLenum internalFormat;
+ GLenum internalFormat = GL_NONE;
};
CopyTexImageImageFormat GetCopyTexImageImageFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
@@ -110,7 +110,7 @@ CopyTexImageImageFormat GetCopyTexImageImageFormat(const FunctionsGL *functions,
struct TexStorageFormat
{
- GLenum internalFormat;
+ GLenum internalFormat = GL_NONE;
};
TexStorageFormat GetTexStorageFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
@@ -118,7 +118,7 @@ TexStorageFormat GetTexStorageFormat(const FunctionsGL *functions,
struct RenderbufferFormat
{
- GLenum internalFormat;
+ GLenum internalFormat = GL_NONE;
};
RenderbufferFormat GetRenderbufferFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
@@ -126,8 +126,8 @@ RenderbufferFormat GetRenderbufferFormat(const FunctionsGL *functions,
struct ReadPixelsFormat
{
- GLenum format;
- GLenum type;
+ GLenum format = GL_NONE;
+ GLenum type = GL_NONE;
};
ReadPixelsFormat GetReadPixelsFormat(const FunctionsGL *functions,
const angle::FeaturesGL &features,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
index 6f2e175ea94..e3fc9f86fa2 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
@@ -20,8 +20,10 @@
#include "libANGLE/Surface.h"
#include "libANGLE/renderer/gl/ContextGL.h"
#include "libANGLE/renderer/gl/glx/PbufferSurfaceGLX.h"
+#include "libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h"
#include "libANGLE/renderer/gl/glx/RendererGLX.h"
#include "libANGLE/renderer/gl/glx/WindowSurfaceGLX.h"
+#include "libANGLE/renderer/gl/glx/glx_utils.h"
#include "libANGLE/renderer/gl/renderergl_utils.h"
namespace
@@ -43,10 +45,6 @@ static int IgnoreX11Errors(Display *, XErrorEvent *)
return 0;
}
-SwapControlData::SwapControlData()
- : targetSwapInterval(0), maxSwapInterval(-1), currentSwapInterval(-1)
-{}
-
class FunctionsGLGLX : public FunctionsGL
{
public:
@@ -92,13 +90,13 @@ DisplayGLX::~DisplayGLX() {}
egl::Error DisplayGLX::initialize(egl::Display *display)
{
mEGLDisplay = display;
- mXDisplay = display->getNativeDisplayId();
+ mXDisplay = reinterpret_cast<Display *>(display->getNativeDisplayId());
const auto &attribMap = display->getAttributeMap();
// ANGLE_platform_angle allows the creation of a default display
// using EGL_DEFAULT_DISPLAY (= nullptr). In this case just open
// the display specified by the DISPLAY environment variable.
- if (mXDisplay == EGL_DEFAULT_DISPLAY)
+ if (mXDisplay == reinterpret_cast<Display *>(EGL_DEFAULT_DISPLAY))
{
mUsesNewXDisplay = true;
mXDisplay = XOpenDisplay(nullptr);
@@ -430,8 +428,31 @@ SurfaceImpl *DisplayGLX::createPixmapSurface(const egl::SurfaceState &state,
NativePixmapType nativePixmap,
const egl::AttributeMap &attribs)
{
- UNIMPLEMENTED();
- return nullptr;
+ ASSERT(configIdToGLXConfig.count(state.config->configID) > 0);
+ glx::FBConfig fbConfig = configIdToGLXConfig[state.config->configID];
+ return new PixmapSurfaceGLX(state, nativePixmap, mGLX.getDisplay(), mGLX, fbConfig);
+}
+
+egl::Error DisplayGLX::validatePixmap(egl::Config *config,
+ EGLNativePixmapType pixmap,
+ const egl::AttributeMap &attributes) const
+{
+ Window rootWindow;
+ int x = 0;
+ int y = 0;
+ unsigned int width = 0;
+ unsigned int height = 0;
+ unsigned int borderWidth = 0;
+ unsigned int depth = 0;
+ int status = XGetGeometry(mGLX.getDisplay(), pixmap, &rootWindow, &x, &y, &width, &height,
+ &borderWidth, &depth);
+ if (!status)
+ {
+ return egl::EglBadNativePixmap() << "Invalid native pixmap, XGetGeometry failed: "
+ << x11::XErrorToString(mXDisplay, status);
+ }
+
+ return egl::NoError();
}
ContextImpl *DisplayGLX::createContext(const gl::State &state,
@@ -658,14 +679,6 @@ egl::ConfigSet DisplayGLX::generateConfigs()
// Misc
config.level = getGLXFBConfigAttrib(glxConfig, GLX_LEVEL);
- config.bindToTextureRGB = EGL_FALSE;
- config.bindToTextureRGBA = EGL_FALSE;
-
- int glxDrawable = getGLXFBConfigAttrib(glxConfig, GLX_DRAWABLE_TYPE);
- config.surfaceType = 0 | (glxDrawable & GLX_WINDOW_BIT ? EGL_WINDOW_BIT : 0) |
- (glxDrawable & GLX_PBUFFER_BIT ? EGL_PBUFFER_BIT : 0) |
- (glxDrawable & GLX_PIXMAP_BIT ? EGL_PIXMAP_BIT : 0);
-
config.minSwapInterval = mMinSwapInterval;
config.maxSwapInterval = mMaxSwapInterval;
@@ -682,6 +695,39 @@ egl::ConfigSet DisplayGLX::generateConfigs()
config.colorComponentType = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
+ // GLX doesn't support binding pbuffers to textures and there is no way to differentiate in
+ // EGL that pixmaps can be bound but pbuffers cannot. If both pixmaps and pbuffers are
+ // supported, generate extra configs with either pbuffer or pixmap support.
+ int glxDrawable = getGLXFBConfigAttrib(glxConfig, GLX_DRAWABLE_TYPE);
+ bool pbufferSupport = (glxDrawable & EGL_PBUFFER_BIT) != 0;
+ bool pixmapSupport = (glxDrawable & GLX_PIXMAP_BIT) != 0;
+ bool pixmapBindToTextureSupport =
+ pixmapSupport && mGLX.hasExtension("GLX_EXT_texture_from_pixmap");
+
+ if (pbufferSupport && pixmapBindToTextureSupport)
+ {
+ // Generate the pixmap-only config
+ config.surfaceType = (glxDrawable & GLX_WINDOW_BIT ? EGL_WINDOW_BIT : 0) |
+ (pixmapSupport ? EGL_PIXMAP_BIT : 0);
+
+ config.bindToTextureRGB = getGLXFBConfigAttrib(glxConfig, GLX_BIND_TO_TEXTURE_RGB_EXT);
+ config.bindToTextureRGBA =
+ getGLXFBConfigAttrib(glxConfig, GLX_BIND_TO_TEXTURE_RGBA_EXT);
+ config.yInverted = getGLXFBConfigAttrib(glxConfig, GLX_Y_INVERTED_EXT);
+
+ int id = configs.add(config);
+ configIdToGLXConfig[id] = glxConfig;
+ }
+
+ // Generate the pbuffer config. It can support pixmaps but not bind-to-texture.
+ config.surfaceType = (glxDrawable & GLX_WINDOW_BIT ? EGL_WINDOW_BIT : 0) |
+ (pbufferSupport ? EGL_PBUFFER_BIT : 0) |
+ (pixmapSupport ? EGL_PIXMAP_BIT : 0);
+
+ config.bindToTextureRGB = false;
+ config.bindToTextureRGBA = false;
+ config.yInverted = false;
+
int id = configs.add(config);
configIdToGLXConfig[id] = glxConfig;
}
@@ -834,6 +880,8 @@ void DisplayGLX::generateExtensions(egl::DisplayExtensions *outExtensions) const
outExtensions->syncControlCHROMIUM = hasSyncControlOML;
outExtensions->syncControlRateANGLE = hasSyncControlOML;
+ outExtensions->textureFromPixmapNOK = mGLX.hasExtension("GLX_EXT_texture_from_pixmap");
+
DisplayGL::generateExtensions(outExtensions);
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.h
index bfc02dae9a8..8c08fcb84d2 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.h
@@ -22,19 +22,7 @@ namespace rx
class FunctionsGLX;
class WorkerContext;
-// State-tracking data for the swap control to allow DisplayGLX to remember per
-// drawable information for swap control.
-struct SwapControlData
-{
- SwapControlData();
-
- // Set by the drawable
- int targetSwapInterval;
-
- // DisplayGLX-side state-tracking
- int maxSwapInterval;
- int currentSwapInterval;
-};
+struct SwapControlData;
class DisplayGLX : public DisplayGL
{
@@ -62,6 +50,10 @@ class DisplayGLX : public DisplayGL
NativePixmapType nativePixmap,
const egl::AttributeMap &attribs) override;
+ egl::Error validatePixmap(egl::Config *config,
+ EGLNativePixmapType pixmap,
+ const egl::AttributeMap &attributes) const override;
+
ContextImpl *createContext(const gl::State &state,
gl::ErrorSet *errorSet,
const egl::Config *configuration,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp
index df3f1bc077e..c69f6df16c1 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp
@@ -56,12 +56,16 @@ struct FunctionsGLX::GLXFunctionTable
createPbufferPtr(nullptr),
destroyPbufferPtr(nullptr),
queryDrawablePtr(nullptr),
+ createPixmapPtr(nullptr),
+ destroyPixmapPtr(nullptr),
createContextAttribsARBPtr(nullptr),
swapIntervalEXTPtr(nullptr),
swapIntervalMESAPtr(nullptr),
swapIntervalSGIPtr(nullptr),
getSyncValuesOMLPtr(nullptr),
- getMscRateOMLPtr(nullptr)
+ getMscRateOMLPtr(nullptr),
+ bindTexImageEXTPtr(nullptr),
+ releaseTexImageEXTPtr(nullptr)
{}
// GLX 1.0
@@ -90,6 +94,8 @@ struct FunctionsGLX::GLXFunctionTable
PFNGLXCREATEPBUFFERPROC createPbufferPtr;
PFNGLXDESTROYPBUFFERPROC destroyPbufferPtr;
PFNGLXQUERYDRAWABLEPROC queryDrawablePtr;
+ PFNGLXCREATEPIXMAPPROC createPixmapPtr;
+ PFNGLXDESTROYPIXMAPPROC destroyPixmapPtr;
// GLX_ARB_create_context
PFNGLXCREATECONTEXTATTRIBSARBPROC createContextAttribsARBPtr;
@@ -106,6 +112,10 @@ struct FunctionsGLX::GLXFunctionTable
// GLX_OML_sync_control
PFNGLXGETSYNCVALUESOMLPROC getSyncValuesOMLPtr;
PFNGLXGETMSCRATEOMLPROC getMscRateOMLPtr;
+
+ // GLX_EXT_texture_from_pixmap
+ PFNGLXBINDTEXIMAGEEXTPROC bindTexImageEXTPtr;
+ PFNGLXRELEASETEXIMAGEEXTPROC releaseTexImageEXTPtr;
};
FunctionsGLX::FunctionsGLX()
@@ -228,6 +238,8 @@ bool FunctionsGLX::initialize(Display *xDisplay, int screen, std::string *errorS
GET_FNPTR_OR_ERROR(&mFnPtrs->createPbufferPtr, glXCreatePbuffer);
GET_FNPTR_OR_ERROR(&mFnPtrs->destroyPbufferPtr, glXDestroyPbuffer);
GET_FNPTR_OR_ERROR(&mFnPtrs->queryDrawablePtr, glXQueryDrawable);
+ GET_FNPTR_OR_ERROR(&mFnPtrs->createPixmapPtr, glXCreatePixmap);
+ GET_FNPTR_OR_ERROR(&mFnPtrs->destroyPixmapPtr, glXDestroyPixmap);
// Extensions
if (hasExtension("GLX_ARB_create_context"))
@@ -251,6 +263,11 @@ bool FunctionsGLX::initialize(Display *xDisplay, int screen, std::string *errorS
GET_PROC_OR_ERROR(&mFnPtrs->getSyncValuesOMLPtr, glXGetSyncValuesOML);
GET_PROC_OR_ERROR(&mFnPtrs->getMscRateOMLPtr, glXGetMscRateOML);
}
+ if (hasExtension("GLX_EXT_texture_from_pixmap"))
+ {
+ GET_PROC_OR_ERROR(&mFnPtrs->bindTexImageEXTPtr, glXBindTexImageEXT);
+ GET_PROC_OR_ERROR(&mFnPtrs->releaseTexImageEXTPtr, glXReleaseTexImageEXT);
+ }
#undef GET_FNPTR_OR_ERROR
#undef GET_PROC_OR_ERROR
@@ -383,6 +400,18 @@ void FunctionsGLX::queryDrawable(glx::Drawable drawable, int attribute, unsigned
mFnPtrs->queryDrawablePtr(mXDisplay, drawable, attribute, value);
}
+glx::Pixmap FunctionsGLX::createPixmap(glx::FBConfig config,
+ Pixmap pixmap,
+ const int *attribList) const
+{
+ GLXFBConfig cfg = reinterpret_cast<GLXFBConfig>(config);
+ return mFnPtrs->createPixmapPtr(mXDisplay, cfg, pixmap, attribList);
+}
+void FunctionsGLX::destroyPixmap(Pixmap pixmap) const
+{
+ mFnPtrs->destroyPixmapPtr(mXDisplay, pixmap);
+}
+
// GLX_ARB_create_context
glx::Context FunctionsGLX::createContextAttribsARB(glx::FBConfig config,
glx::Context shareContext,
@@ -426,4 +455,12 @@ bool FunctionsGLX::getMscRateOML(glx::Drawable drawable,
return mFnPtrs->getMscRateOMLPtr(mXDisplay, drawable, numerator, denominator);
}
+void FunctionsGLX::bindTexImageEXT(glx::Drawable drawable, int buffer, const int *attribList) const
+{
+ mFnPtrs->bindTexImageEXTPtr(mXDisplay, drawable, buffer, attribList);
+}
+void FunctionsGLX::releaseTexImageEXT(glx::Drawable drawable, int buffer) const
+{
+ mFnPtrs->releaseTexImageEXTPtr(mXDisplay, drawable, buffer);
+}
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.h
index 8e122c5b704..fe254bcaef5 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.h
@@ -62,6 +62,8 @@ class FunctionsGLX
glx::Pbuffer createPbuffer(glx::FBConfig config, const int *attribList) const;
void destroyPbuffer(glx::Pbuffer pbuffer) const;
void queryDrawable(glx::Drawable drawable, int attribute, unsigned int *value) const;
+ glx::Pixmap createPixmap(glx::FBConfig config, Pixmap pixmap, const int *attribList) const;
+ void destroyPixmap(Pixmap pixmap) const;
// GLX_ARB_create_context
glx::Context createContextAttribsARB(glx::FBConfig config,
@@ -82,6 +84,10 @@ class FunctionsGLX
bool getSyncValuesOML(glx::Drawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc) const;
bool getMscRateOML(glx::Drawable drawable, int32_t *numerator, int32_t *denominator) const;
+ // GLX_EXT_texture_from_pixmap
+ void bindTexImageEXT(glx::Drawable drawable, int buffer, const int *attribList) const;
+ void releaseTexImageEXT(glx::Drawable drawable, int buffer) const;
+
private:
// So as to isolate GLX from angle we do not include angleutils.h and cannot
// use angle::NonCopyable so we replicated it here instead.
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp
new file mode 100644
index 00000000000..82e3f7d44bc
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp
@@ -0,0 +1,216 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// PixmapSurfaceGLX.cpp: GLX implementation of egl::Surface for Pixmaps
+
+#include "libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h"
+
+#include "common/debug.h"
+#include "libANGLE/Display.h"
+#include "libANGLE/Surface.h"
+#include "libANGLE/renderer/gl/glx/DisplayGLX.h"
+#include "libANGLE/renderer/gl/glx/FunctionsGLX.h"
+#include "libANGLE/renderer/gl/glx/glx_utils.h"
+
+#include <iostream>
+
+namespace rx
+{
+
+namespace
+{
+
+int EGLTextureFormatToGLXTextureFormat(EGLint textureFormat)
+{
+ switch (textureFormat)
+ {
+ case EGL_NO_TEXTURE:
+ return GLX_TEXTURE_FORMAT_NONE_EXT;
+ case EGL_TEXTURE_RGB:
+ return GLX_TEXTURE_FORMAT_RGB_EXT;
+ case EGL_TEXTURE_RGBA:
+ return GLX_TEXTURE_FORMAT_RGBA_EXT;
+ default:
+ UNREACHABLE();
+ return GLX_TEXTURE_FORMAT_NONE_EXT;
+ }
+}
+
+int EGLTextureTargetToGLXTextureTarget(EGLint textureTarget)
+{
+ switch (textureTarget)
+ {
+ case EGL_NO_TEXTURE:
+ return 0;
+ case EGL_TEXTURE_2D:
+ return GLX_TEXTURE_2D_EXT;
+ default:
+ UNREACHABLE();
+ return 0;
+ }
+}
+
+int EGLBufferToGLXBuffer(EGLint buffer)
+{
+ switch (buffer)
+ {
+ case EGL_BACK_BUFFER:
+ return GLX_BACK_EXT;
+ default:
+ UNREACHABLE();
+ return 0;
+ }
+}
+
+} // namespace
+
+PixmapSurfaceGLX::PixmapSurfaceGLX(const egl::SurfaceState &state,
+ Pixmap pixmap,
+ Display *display,
+ const FunctionsGLX &glx,
+ glx::FBConfig fbConfig)
+ : SurfaceGLX(state),
+ mWidth(0),
+ mHeight(0),
+ mGLX(glx),
+ mFBConfig(fbConfig),
+ mXPixmap(pixmap),
+ mGLXPixmap(0),
+ mDisplay(display)
+{}
+
+PixmapSurfaceGLX::~PixmapSurfaceGLX()
+{
+ if (mGLXPixmap)
+ {
+ mGLX.destroyPixmap(mGLXPixmap);
+ }
+}
+
+egl::Error PixmapSurfaceGLX::initialize(const egl::Display *display)
+{
+ DisplayGLX *displayGLX = GetImplAs<DisplayGLX>(display);
+
+ {
+ Window rootWindow;
+ int x = 0;
+ int y = 0;
+ unsigned int borderWidth = 0;
+ unsigned int depth = 0;
+ int status = XGetGeometry(mDisplay, mXPixmap, &rootWindow, &x, &y, &mWidth, &mHeight,
+ &borderWidth, &depth);
+ if (!status)
+ {
+ return egl::EglBadSurface() << "XGetGeometry query failed on pixmap surface: "
+ << x11::XErrorToString(mDisplay, status);
+ }
+ }
+
+ std::vector<int> pixmapAttribs;
+ if (mState.attributes.contains(EGL_TEXTURE_FORMAT))
+ {
+ pixmapAttribs.push_back(GLX_TEXTURE_FORMAT_EXT);
+ pixmapAttribs.push_back(
+ EGLTextureFormatToGLXTextureFormat(mState.attributes.getAsInt(EGL_TEXTURE_FORMAT)));
+ }
+ if (mState.attributes.contains(EGL_TEXTURE_TARGET))
+ {
+ pixmapAttribs.push_back(GLX_TEXTURE_TARGET_EXT);
+ pixmapAttribs.push_back(
+ EGLTextureTargetToGLXTextureTarget(mState.attributes.getAsInt(EGL_TEXTURE_TARGET)));
+ }
+
+ pixmapAttribs.push_back(None);
+
+ mGLXPixmap = mGLX.createPixmap(mFBConfig, mXPixmap, pixmapAttribs.data());
+ if (!mGLXPixmap)
+ {
+ return egl::EglBadAlloc() << "Failed to create a native GLX pixmap.";
+ }
+
+ XFlush(mDisplay);
+ displayGLX->syncXCommands();
+
+ return egl::NoError();
+}
+
+egl::Error PixmapSurfaceGLX::makeCurrent(const gl::Context *context)
+{
+ return egl::NoError();
+}
+
+egl::Error PixmapSurfaceGLX::swap(const gl::Context *context)
+{
+ UNREACHABLE();
+ return egl::NoError();
+}
+
+egl::Error PixmapSurfaceGLX::postSubBuffer(const gl::Context *context,
+ EGLint x,
+ EGLint y,
+ EGLint width,
+ EGLint height)
+{
+ UNREACHABLE();
+ return egl::NoError();
+}
+
+egl::Error PixmapSurfaceGLX::querySurfacePointerANGLE(EGLint attribute, void **value)
+{
+ UNREACHABLE();
+ return egl::NoError();
+}
+
+egl::Error PixmapSurfaceGLX::bindTexImage(const gl::Context *context,
+ gl::Texture *texture,
+ EGLint buffer)
+{
+ const int attribs[] = {None};
+ mGLX.bindTexImageEXT(mGLXPixmap, EGLBufferToGLXBuffer(buffer), attribs);
+ return egl::NoError();
+}
+
+egl::Error PixmapSurfaceGLX::releaseTexImage(const gl::Context *context, EGLint buffer)
+{
+ mGLX.releaseTexImageEXT(mGLXPixmap, EGLBufferToGLXBuffer(buffer));
+ return egl::NoError();
+}
+
+void PixmapSurfaceGLX::setSwapInterval(EGLint interval) {}
+
+EGLint PixmapSurfaceGLX::getWidth() const
+{
+ return mWidth;
+}
+
+EGLint PixmapSurfaceGLX::getHeight() const
+{
+ return mHeight;
+}
+
+EGLint PixmapSurfaceGLX::isPostSubBufferSupported() const
+{
+ UNREACHABLE();
+ return EGL_FALSE;
+}
+
+EGLint PixmapSurfaceGLX::getSwapBehavior() const
+{
+ return EGL_BUFFER_DESTROYED;
+}
+
+egl::Error PixmapSurfaceGLX::checkForResize()
+{
+ // The size of pbuffers never change
+ return egl::NoError();
+}
+
+glx::Drawable PixmapSurfaceGLX::getDrawable() const
+{
+ return mGLXPixmap;
+}
+
+} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h
new file mode 100644
index 00000000000..c8cecf85c87
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h
@@ -0,0 +1,68 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// PixmapSurfaceGLX.h: GLX implementation of egl::Surface for Pixmaps
+
+#ifndef LIBANGLE_RENDERER_GL_GLX_PIXMAPSURFACEGLX_H_
+#define LIBANGLE_RENDERER_GL_GLX_PIXMAPSURFACEGLX_H_
+
+#include "libANGLE/renderer/gl/glx/SurfaceGLX.h"
+#include "libANGLE/renderer/gl/glx/platform_glx.h"
+
+namespace rx
+{
+
+class FunctionsGLX;
+
+class PixmapSurfaceGLX : public SurfaceGLX
+{
+ public:
+ PixmapSurfaceGLX(const egl::SurfaceState &state,
+ Pixmap pixmap,
+ Display *display,
+ const FunctionsGLX &glx,
+ glx::FBConfig fbConfig);
+ ~PixmapSurfaceGLX() override;
+
+ egl::Error initialize(const egl::Display *display) override;
+ egl::Error makeCurrent(const gl::Context *context) override;
+
+ egl::Error swap(const gl::Context *context) override;
+ egl::Error postSubBuffer(const gl::Context *context,
+ EGLint x,
+ EGLint y,
+ EGLint width,
+ EGLint height) override;
+ egl::Error querySurfacePointerANGLE(EGLint attribute, void **value) override;
+ egl::Error bindTexImage(const gl::Context *context,
+ gl::Texture *texture,
+ EGLint buffer) override;
+ egl::Error releaseTexImage(const gl::Context *context, EGLint buffer) override;
+ void setSwapInterval(EGLint interval) override;
+
+ EGLint getWidth() const override;
+ EGLint getHeight() const override;
+
+ EGLint isPostSubBufferSupported() const override;
+ EGLint getSwapBehavior() const override;
+
+ egl::Error checkForResize() override;
+ glx::Drawable getDrawable() const override;
+
+ private:
+ unsigned mWidth;
+ unsigned mHeight;
+
+ const FunctionsGLX &mGLX;
+ glx::FBConfig mFBConfig;
+ Pixmap mXPixmap;
+ glx::Pixmap mGLXPixmap;
+ Display *mDisplay;
+};
+
+} // namespace rx
+
+#endif // LIBANGLE_RENDERER_GL_GLX_PIXMAPSURFACEGLX_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h
index e1bb1f3fa8b..ad5fe9792bc 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h
@@ -12,6 +12,7 @@
#include "libANGLE/renderer/gl/glx/DisplayGLX.h"
#include "libANGLE/renderer/gl/glx/SurfaceGLX.h"
#include "libANGLE/renderer/gl/glx/platform_glx.h"
+#include "libANGLE/renderer/gl/renderergl_utils.h"
namespace rx
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.cpp
new file mode 100644
index 00000000000..77245ffb297
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.cpp
@@ -0,0 +1,30 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// glx_utils.cpp: Utility routines specific to the G:X->EGL implementation.
+
+#include "libANGLE/renderer/gl/glx/glx_utils.h"
+
+#include "common/angleutils.h"
+
+namespace rx
+{
+
+namespace x11
+{
+
+std::string XErrorToString(Display *display, int status)
+{
+ // Write nulls to the buffer so that if XGetErrorText fails, converting to an std::string will
+ // be an empty string.
+ char buffer[256] = {0};
+ XGetErrorText(display, status, buffer, ArraySize(buffer));
+ return std::string(buffer);
+}
+
+} // namespace x11
+
+} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.h
new file mode 100644
index 00000000000..1879c8dc8f8
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.h
@@ -0,0 +1,29 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// glx_utils.h: Utility routines specific to the G:X->EGL implementation.
+
+#ifndef LIBANGLE_RENDERER_GL_GLX_GLXUTILS_H_
+#define LIBANGLE_RENDERER_GL_GLX_GLXUTILS_H_
+
+#include <string>
+
+#include "common/platform.h"
+#include "libANGLE/renderer/gl/glx/FunctionsGLX.h"
+
+namespace rx
+{
+
+namespace x11
+{
+
+std::string XErrorToString(Display *display, int status);
+
+} // namespace x11
+
+} // namespace rx
+
+#endif // LIBANGLE_RENDERER_GL_GLX_GLXUTILS_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.cpp
index b55c6721027..1d1e36ade66 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.cpp
@@ -14,6 +14,7 @@
#include "common/mathutil.h"
#include "common/platform.h"
+#include "gpu_info_util/SystemInfo.h"
#include "libANGLE/Buffer.h"
#include "libANGLE/Caps.h"
#include "libANGLE/Context.h"
@@ -36,6 +37,10 @@ using angle::CheckedNumeric;
namespace rx
{
+SwapControlData::SwapControlData()
+ : targetSwapInterval(0), maxSwapInterval(-1), currentSwapInterval(-1)
+{}
+
VendorID GetVendorID(const FunctionsGL *functions)
{
std::string nativeVendorString(reinterpret_cast<const char *>(functions->getString(GL_VENDOR)));
@@ -1126,6 +1131,22 @@ void GenerateCaps(const FunctionsGL *functions,
LimitVersion(maxSupportedESVersion, gl::Version(2, 0));
}
+ // GL_OES_texture_cube_map_array
+ if (functions->isAtLeastGL(gl::Version(4, 0)) ||
+ functions->hasGLESExtension("GL_OES_texture_cube_map_array") ||
+ functions->hasGLESExtension("GL_EXT_texture_cube_map_array") ||
+ functions->hasGLExtension("GL_ARB_texture_cube_map_array") ||
+ functions->isAtLeastGLES(gl::Version(3, 2)))
+ {
+ extensions->textureCubeMapArrayOES = true;
+ extensions->textureCubeMapArrayEXT = true;
+ }
+ else
+ {
+ // Can't support ES3.2 without cube map array textures
+ LimitVersion(maxSupportedESVersion, gl::Version(3, 1));
+ }
+
// Extension support
extensions->setTextureExtensionSupport(*textureCapsMap);
extensions->textureCompressionASTCHDRKHR =
@@ -1259,9 +1280,10 @@ void GenerateCaps(const FunctionsGL *functions,
extensions->eglSyncOES = functions->hasGLESExtension("GL_OES_EGL_sync");
- if (functions->isAtLeastGL(gl::Version(3, 3)) ||
- functions->hasGLExtension("GL_ARB_timer_query") ||
- functions->hasGLESExtension("GL_EXT_disjoint_timer_query"))
+ if (!features.disableTimestampQueries.enabled &&
+ (functions->isAtLeastGL(gl::Version(3, 3)) ||
+ functions->hasGLExtension("GL_ARB_timer_query") ||
+ functions->hasGLESExtension("GL_EXT_disjoint_timer_query")))
{
extensions->disjointTimerQuery = true;
@@ -1534,6 +1556,7 @@ void InitializeFeatures(const FunctionsGL *functions, angle::FeaturesGL *feature
bool isIntel = IsIntel(vendor);
bool isNvidia = IsNvidia(vendor);
bool isQualcomm = IsQualcomm(vendor);
+ bool isVMWare = IsVMWare(vendor);
std::array<int, 3> mesaVersion = {0, 0, 0};
bool isMesa = IsMesa(functions, &mesaVersion);
@@ -1690,8 +1713,7 @@ void InitializeFeatures(const FunctionsGL *functions, angle::FeaturesGL *feature
IsApple() || IsAndroid() || IsWindows());
// Ported from gpu_driver_bug_list.json (#89)
- ANGLE_FEATURE_CONDITION(features, regenerateStructNames,
- IsApple() && functions->standard == STANDARD_GL_DESKTOP);
+ ANGLE_FEATURE_CONDITION(features, regenerateStructNames, IsApple());
// Ported from gpu_driver_bug_list.json (#184)
ANGLE_FEATURE_CONDITION(features, preAddTexelFetchOffsets, IsApple() && isIntel);
@@ -1720,6 +1742,43 @@ void InitializeFeatures(const FunctionsGL *functions, angle::FeaturesGL *feature
ANGLE_FEATURE_CONDITION(
features, disableSemaphoreFd,
IsLinux() && isAMD && isMesa && mesaVersion < (std::array<int, 3>{19, 3, 5}));
+
+ ANGLE_FEATURE_CONDITION(features, disableTimestampQueries, IsLinux() && isVMWare);
+
+ ANGLE_FEATURE_CONDITION(features, encodeAndDecodeSRGBForGenerateMipmap,
+ IsApple() && functions->standard == STANDARD_GL_DESKTOP);
+
+ // anglebug.com/4674
+ // The (redundant) explicit exclusion of Windows AMD is because the workaround fails
+ // Texture2DRGTest.TextureRGUNormTest on that platform, and the test is skipped. If
+ // you'd like to enable the workaround on Windows AMD, please fix the test first.
+ ANGLE_FEATURE_CONDITION(
+ features, emulateCopyTexImage2DFromRenderbuffers,
+ IsApple() && functions->standard == STANDARD_GL_ES && !(isAMD && IsWindows()));
+
+ // Don't attempt to use the discrete GPU on NVIDIA-based MacBook Pros, since the
+ // driver is unstable in this situation.
+ //
+ // Note that this feature is only set here in order to advertise this workaround
+ // externally. GPU switching support must be enabled or disabled early, during display
+ // initialization, before these features are set up.
+ bool isDualGPUMacWithNVIDIA = false;
+ if (IsApple() && functions->standard == STANDARD_GL_DESKTOP)
+ {
+ angle::SystemInfo info;
+ if (angle::GetSystemInfo(&info))
+ {
+ // The full system information must be queried to see whether it's a dual-GPU
+ // NVIDIA MacBook Pro since it's likely that the integrated GPU will be active
+ // when these features are initialized.
+ isDualGPUMacWithNVIDIA = info.isMacSwitchable && info.hasNVIDIAGPU();
+ }
+ }
+ ANGLE_FEATURE_CONDITION(features, disableGPUSwitchingSupport, isDualGPUMacWithNVIDIA);
+
+ // Workaround issue in NVIDIA GL driver on Linux
+ // http://crbug.com/1094869
+ ANGLE_FEATURE_CONDITION(features, disableNativeParallelCompile, IsLinux() && isNvidia);
}
void InitializeFrontendFeatures(const FunctionsGL *functions, angle::FrontendFeatures *features)
@@ -1817,7 +1876,8 @@ bool UseTexImage2D(gl::TextureType textureType)
bool UseTexImage3D(gl::TextureType textureType)
{
return textureType == gl::TextureType::_2DArray || textureType == gl::TextureType::_3D ||
- textureType == gl::TextureType::_2DMultisampleArray;
+ textureType == gl::TextureType::_2DMultisampleArray ||
+ textureType == gl::TextureType::CubeMapArray;
}
GLenum GetTextureBindingQuery(gl::TextureType textureType)
@@ -1840,6 +1900,8 @@ GLenum GetTextureBindingQuery(gl::TextureType textureType)
return GL_TEXTURE_BINDING_RECTANGLE;
case gl::TextureType::CubeMap:
return GL_TEXTURE_BINDING_CUBE_MAP;
+ case gl::TextureType::CubeMapArray:
+ return GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES;
default:
UNREACHABLE();
return 0;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.h
index 901437c2fea..8c9f091a9e9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.h
@@ -47,6 +47,20 @@ enum class MultiviewImplementationTypeGL
UNSPECIFIED
};
+// State-tracking data for the swap control to allow DisplayGL to remember per
+// drawable information for swap control.
+struct SwapControlData
+{
+ SwapControlData();
+
+ // Set by the drawable
+ int targetSwapInterval;
+
+ // DisplayGL-side state-tracking
+ int maxSwapInterval;
+ int currentSwapInterval;
+};
+
VendorID GetVendorID(const FunctionsGL *functions);
// Helpers for extracting the GL helper objects out of a context
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
index f85855ad0a9..df490d483a9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
@@ -24,8 +24,7 @@
#include "libANGLE/renderer/gl/wgl/RendererWGL.h"
#include "libANGLE/renderer/gl/wgl/WindowSurfaceWGL.h"
#include "libANGLE/renderer/gl/wgl/wgl_utils.h"
-
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
#include <EGL/eglext.h>
#include <sstream>
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.cpp
index 32a15f94ee6..3f4bbd39811 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.cpp
@@ -457,12 +457,12 @@ void GenerateTransformFeedbackExtensionOutputs(const gl::ProgramState &programSt
*vertexShader = SubstituteTransformFeedbackMarkers(*vertexShader, xfbDecl, xfbOut);
}
-void AssignAttributeLocations(const gl::ProgramState &programState,
+void AssignAttributeLocations(const gl::ProgramExecutable &programExecutable,
gl::ShaderType stage,
ShaderInterfaceVariableInfoMap *variableInfoMapOut)
{
// Assign attribute locations for the vertex shader.
- for (const sh::ShaderVariable &attribute : programState.getProgramInputs())
+ for (const sh::ShaderVariable &attribute : programExecutable.getProgramInputs())
{
ASSERT(attribute.active);
@@ -471,15 +471,15 @@ void AssignAttributeLocations(const gl::ProgramState &programState,
}
}
-void AssignOutputLocations(const gl::ProgramState &programState,
+void AssignOutputLocations(const gl::ProgramExecutable &programExecutable,
const gl::ShaderType shaderType,
ShaderInterfaceVariableInfoMap *variableInfoMapOut)
{
// Assign output locations for the fragment shader.
ASSERT(shaderType == gl::ShaderType::Fragment);
// TODO(syoussefi): Add support for EXT_blend_func_extended. http://anglebug.com/3385
- const auto &outputLocations = programState.getOutputLocations();
- const auto &outputVariables = programState.getOutputVariables();
+ const auto &outputLocations = programExecutable.getOutputLocations();
+ const auto &outputVariables = programExecutable.getOutputVariables();
const std::array<std::string, 3> implicitOutputs = {"gl_FragDepth", "gl_SampleMask",
"gl_FragStencilRefARB"};
@@ -518,8 +518,7 @@ void AssignOutputLocations(const gl::ProgramState &programState,
}
void AssignVaryingLocations(const GlslangSourceOptions &options,
- const gl::ProgramState &programState,
- const gl::ProgramLinkedResources &resources,
+ const gl::ProgramExecutable &programExecutable,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
ShaderMapInterfaceVariableInfoMap *variableInfoMapOut)
@@ -538,7 +537,8 @@ void AssignVaryingLocations(const GlslangSourceOptions &options,
}
// Assign varying locations.
- for (const gl::PackedVaryingRegister &varyingReg : resources.varyingPacking.getRegisterList())
+ for (const gl::PackedVaryingRegister &varyingReg :
+ programExecutable.getResources().varyingPacking.getRegisterList())
{
if (!IsFirstRegisterOfVarying(varyingReg))
{
@@ -583,7 +583,7 @@ void AssignVaryingLocations(const GlslangSourceOptions &options,
// Add an entry for inactive varyings.
const gl::ShaderMap<std::vector<std::string>> &inactiveVaryingMappedNames =
- resources.varyingPacking.getInactiveVaryingMappedNames();
+ programExecutable.getResources().varyingPacking.getInactiveVaryingMappedNames();
for (const std::string &varyingName : inactiveVaryingMappedNames[shaderType])
{
bool isBuiltin = angle::BeginsWith(varyingName, "gl_");
@@ -608,17 +608,16 @@ void AssignVaryingLocations(const GlslangSourceOptions &options,
// Calculates XFB layout qualifier arguments for each tranform feedback varying. Stores calculated
// values for the SPIR-V transformation.
-void AssignTransformFeedbackExtensionQualifiers(const gl::ProgramState &programState,
- const gl::ProgramLinkedResources &resources,
+void AssignTransformFeedbackExtensionQualifiers(const gl::ProgramExecutable &programExecutable,
uint32_t locationsUsedForXfbExtension,
const gl::ShaderType shaderType,
ShaderInterfaceVariableInfoMap *variableInfoMapOut)
{
const std::vector<gl::TransformFeedbackVarying> &tfVaryings =
- programState.getLinkedTransformFeedbackVaryings();
- const std::vector<GLsizei> &varyingStrides = programState.getTransformFeedbackStrides();
+ programExecutable.getLinkedTransformFeedbackVaryings();
+ const std::vector<GLsizei> &varyingStrides = programExecutable.getTransformFeedbackStrides();
const bool isInterleaved =
- programState.getTransformFeedbackBufferMode() == GL_INTERLEAVED_ATTRIBS;
+ programExecutable.getTransformFeedbackBufferMode() == GL_INTERLEAVED_ATTRIBS;
std::string xfbDecl;
std::string xfbOut;
@@ -672,7 +671,7 @@ void AssignTransformFeedbackExtensionQualifiers(const gl::ProgramState &programS
// only that, but also we should only do this for the first field of the struct.
const gl::PackedVarying *originalVarying = nullptr;
for (const gl::PackedVaryingRegister &varyingReg :
- resources.varyingPacking.getRegisterList())
+ programExecutable.getResources().varyingPacking.getRegisterList())
{
if (!IsFirstRegisterOfVarying(varyingReg))
{
@@ -705,13 +704,12 @@ void AssignTransformFeedbackExtensionQualifiers(const gl::ProgramState &programS
}
void AssignUniformBindings(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
+ const gl::ProgramExecutable &programExecutable,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
ShaderMapInterfaceVariableInfoMap *variableInfoMapOut)
{
- if (programState.getAttachedShader(shaderType) ||
- programState.getProgramExecutable().hasLinkedShaderStage(shaderType))
+ if (programExecutable.hasLinkedShaderStage(shaderType))
{
AddResourceInfo(&(*variableInfoMapOut)[shaderType], kDefaultUniformNames[shaderType],
programInterfaceInfo->uniformsAndXfbDescriptorSetIndex,
@@ -728,7 +726,7 @@ void AssignUniformBindings(GlslangSourceOptions &options,
// TODO: http://anglebug.com/4512: Need to combine descriptor set bindings across
// shader stages.
void AssignInterfaceBlockBindings(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
+ const gl::ProgramExecutable &programExecutable,
const std::vector<gl::InterfaceBlock> &blocks,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
@@ -739,8 +737,7 @@ void AssignInterfaceBlockBindings(GlslangSourceOptions &options,
if (!block.isArray || block.arrayElement == 0)
{
// TODO: http://anglebug.com/4523: All blocks should be active
- if (programState.getProgramExecutable().hasLinkedShaderStage(shaderType) &&
- block.isActive(shaderType))
+ if (programExecutable.hasLinkedShaderStage(shaderType) && block.isActive(shaderType))
{
AddResourceInfo(&(*variableInfoMapOut)[shaderType], block.mappedName,
programInterfaceInfo->shaderResourceDescriptorSetIndex,
@@ -755,7 +752,7 @@ void AssignInterfaceBlockBindings(GlslangSourceOptions &options,
// TODO: http://anglebug.com/4512: Need to combine descriptor set bindings across
// shader stages.
void AssignAtomicCounterBufferBindings(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
+ const gl::ProgramExecutable &programExecutable,
const std::vector<gl::AtomicCounterBuffer> &buffers,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
@@ -766,7 +763,7 @@ void AssignAtomicCounterBufferBindings(GlslangSourceOptions &options,
return;
}
- if (programState.getProgramExecutable().hasLinkedShaderStage(shaderType))
+ if (programExecutable.hasLinkedShaderStage(shaderType))
{
AddResourceInfo(&(*variableInfoMapOut)[shaderType], sh::vk::kAtomicCountersBlockName,
programInterfaceInfo->shaderResourceDescriptorSetIndex,
@@ -778,7 +775,7 @@ void AssignAtomicCounterBufferBindings(GlslangSourceOptions &options,
// TODO: http://anglebug.com/4512: Need to combine descriptor set bindings across
// shader stages.
void AssignImageBindings(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
+ const gl::ProgramExecutable &programExecutable,
const std::vector<gl::LinkedUniform> &uniforms,
const gl::RangeUI &imageUniformRange,
const gl::ShaderType shaderType,
@@ -792,7 +789,7 @@ void AssignImageBindings(GlslangSourceOptions &options,
std::string name = imageUniform.mappedName;
if (GetImageNameWithoutIndices(&name))
{
- if (programState.getProgramExecutable().hasLinkedShaderStage(shaderType))
+ if (programExecutable.hasLinkedShaderStage(shaderType))
{
AddResourceInfo(&(*variableInfoMapOut)[shaderType], name,
programInterfaceInfo->shaderResourceDescriptorSetIndex,
@@ -805,42 +802,43 @@ void AssignImageBindings(GlslangSourceOptions &options,
}
void AssignNonTextureBindings(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
+ const gl::ProgramExecutable &programExecutable,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
ShaderMapInterfaceVariableInfoMap *variableInfoMapOut)
{
- const std::vector<gl::InterfaceBlock> &uniformBlocks = programState.getUniformBlocks();
- AssignInterfaceBlockBindings(options, programState, uniformBlocks, shaderType,
+ const std::vector<gl::InterfaceBlock> &uniformBlocks = programExecutable.getUniformBlocks();
+ AssignInterfaceBlockBindings(options, programExecutable, uniformBlocks, shaderType,
programInterfaceInfo, variableInfoMapOut);
- const std::vector<gl::InterfaceBlock> &storageBlocks = programState.getShaderStorageBlocks();
- AssignInterfaceBlockBindings(options, programState, storageBlocks, shaderType,
+ const std::vector<gl::InterfaceBlock> &storageBlocks =
+ programExecutable.getShaderStorageBlocks();
+ AssignInterfaceBlockBindings(options, programExecutable, storageBlocks, shaderType,
programInterfaceInfo, variableInfoMapOut);
const std::vector<gl::AtomicCounterBuffer> &atomicCounterBuffers =
- programState.getAtomicCounterBuffers();
- AssignAtomicCounterBufferBindings(options, programState, atomicCounterBuffers, shaderType,
+ programExecutable.getAtomicCounterBuffers();
+ AssignAtomicCounterBufferBindings(options, programExecutable, atomicCounterBuffers, shaderType,
programInterfaceInfo, variableInfoMapOut);
- const std::vector<gl::LinkedUniform> &uniforms = programState.getUniforms();
- const gl::RangeUI &imageUniformRange = programState.getImageUniformRange();
- AssignImageBindings(options, programState, uniforms, imageUniformRange, shaderType,
+ const std::vector<gl::LinkedUniform> &uniforms = programExecutable.getUniforms();
+ const gl::RangeUI &imageUniformRange = programExecutable.getImageUniformRange();
+ AssignImageBindings(options, programExecutable, uniforms, imageUniformRange, shaderType,
programInterfaceInfo, variableInfoMapOut);
}
// TODO: http://anglebug.com/4512: Need to combine descriptor set bindings across
// shader stages.
void AssignTextureBindings(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
+ const gl::ProgramExecutable &programExecutable,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
ShaderMapInterfaceVariableInfoMap *variableInfoMapOut)
{
// Assign textures to a descriptor set and binding.
- const std::vector<gl::LinkedUniform> &uniforms = programState.getUniforms();
+ const std::vector<gl::LinkedUniform> &uniforms = programExecutable.getUniforms();
- for (unsigned int uniformIndex : programState.getSamplerUniformRange())
+ for (unsigned int uniformIndex : programExecutable.getSamplerUniformRange())
{
const gl::LinkedUniform &samplerUniform = uniforms[uniformIndex];
@@ -858,7 +856,7 @@ void AssignTextureBindings(GlslangSourceOptions &options,
: GlslangGetMappedSamplerName(samplerUniform.name);
// TODO: http://anglebug.com/4523: All uniforms should be active
- if (programState.getProgramExecutable().hasLinkedShaderStage(shaderType) &&
+ if (programExecutable.hasLinkedShaderStage(shaderType) &&
samplerUniform.isActive(shaderType))
{
AddResourceInfo(&(*variableInfoMapOut)[shaderType], samplerName,
@@ -1846,53 +1844,47 @@ std::string GetXfbBufferName(const uint32_t bufferIndex)
}
void GlslangAssignLocations(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
- const gl::ProgramLinkedResources &resources,
+ const gl::ProgramExecutable &programExecutable,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
ShaderMapInterfaceVariableInfoMap *variableInfoMapOut)
{
- const gl::ProgramExecutable &executable = programState.getProgramExecutable();
-
// Assign outputs to the fragment shader, if any.
if ((shaderType == gl::ShaderType::Fragment) &&
- (programState.getAttachedShader(gl::ShaderType::Fragment) ||
- executable.hasLinkedShaderStage(gl::ShaderType::Fragment)))
+ programExecutable.hasLinkedShaderStage(gl::ShaderType::Fragment))
{
- AssignOutputLocations(programState, gl::ShaderType::Fragment,
+ AssignOutputLocations(programExecutable, gl::ShaderType::Fragment,
&(*variableInfoMapOut)[gl::ShaderType::Fragment]);
}
// Assign attributes to the vertex shader, if any.
if ((shaderType == gl::ShaderType::Vertex) &&
- (programState.getAttachedShader(gl::ShaderType::Vertex) ||
- executable.hasLinkedShaderStage(gl::ShaderType::Vertex)))
+ programExecutable.hasLinkedShaderStage(gl::ShaderType::Vertex))
{
- AssignAttributeLocations(programState, gl::ShaderType::Vertex,
+ AssignAttributeLocations(programExecutable, gl::ShaderType::Vertex,
&(*variableInfoMapOut)[gl::ShaderType::Vertex]);
}
- if (!programState.getAttachedShader(gl::ShaderType::Compute) &&
- !executable.hasLinkedShaderStage(gl::ShaderType::Compute))
+ if (!programExecutable.hasLinkedShaderStage(gl::ShaderType::Compute))
{
// Assign varying locations.
- AssignVaryingLocations(options, programState, resources, shaderType, programInterfaceInfo,
+ AssignVaryingLocations(options, programExecutable, shaderType, programInterfaceInfo,
variableInfoMapOut);
- if (!programState.getLinkedTransformFeedbackVaryings().empty() &&
+ if (!programExecutable.getLinkedTransformFeedbackVaryings().empty() &&
options.supportsTransformFeedbackExtension && (shaderType == gl::ShaderType::Vertex))
{
AssignTransformFeedbackExtensionQualifiers(
- programState, resources, programInterfaceInfo->locationsUsedForXfbExtension,
+ programExecutable, programInterfaceInfo->locationsUsedForXfbExtension,
gl::ShaderType::Vertex, &(*variableInfoMapOut)[gl::ShaderType::Vertex]);
}
}
- AssignUniformBindings(options, programState, shaderType, programInterfaceInfo,
+ AssignUniformBindings(options, programExecutable, shaderType, programInterfaceInfo,
variableInfoMapOut);
- AssignTextureBindings(options, programState, shaderType, programInterfaceInfo,
+ AssignTextureBindings(options, programExecutable, shaderType, programInterfaceInfo,
variableInfoMapOut);
- AssignNonTextureBindings(options, programState, shaderType, programInterfaceInfo,
+ AssignNonTextureBindings(options, programExecutable, shaderType, programInterfaceInfo,
variableInfoMapOut);
}
@@ -1935,11 +1927,10 @@ void GlslangGetShaderSource(GlslangSourceOptions &options,
}
}
- for (const gl::ShaderType shaderType :
- programState.getProgramExecutable().getLinkedShaderStages())
+ for (const gl::ShaderType shaderType : programState.getExecutable().getLinkedShaderStages())
{
- GlslangAssignLocations(options, programState, resources, shaderType, programInterfaceInfo,
- variableInfoMapOut);
+ GlslangAssignLocations(options, programState.getExecutable(), shaderType,
+ programInterfaceInfo, variableInfoMapOut);
}
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.h
index abf618d5cdb..0149a863d50 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/glslang_wrapper_utils.h
@@ -99,8 +99,7 @@ std::string GlslangGetMappedSamplerName(const std::string &originalName);
std::string GetXfbBufferName(const uint32_t bufferIndex);
void GlslangAssignLocations(GlslangSourceOptions &options,
- const gl::ProgramState &programState,
- const gl::ProgramLinkedResources &resources,
+ const gl::ProgramExecutable &programExecutable,
const gl::ShaderType shaderType,
GlslangProgramInterfaceInfo *programInterfaceInfo,
gl::ShaderMap<ShaderInterfaceVariableInfoMap> *variableInfoMapOut);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.h
index a3c61148f58..41761145c99 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.h
@@ -63,10 +63,7 @@ class BufferHolderMtl
// a queue of mtl::Buffer and only let CPU modifies a free mtl::Buffer.
// So, in order to let GPU use the most recent modified content, one must call this method
// right before the draw call to retrieved the most up-to-date mtl::Buffer.
- mtl::BufferRef getCurrentBuffer(const gl::Context *context)
- {
- return mIsWeak ? mBufferWeakRef.lock() : mBuffer;
- }
+ mtl::BufferRef getCurrentBuffer() { return mIsWeak ? mBufferWeakRef.lock() : mBuffer; }
protected:
mtl::BufferRef mBuffer;
@@ -111,8 +108,7 @@ class BufferMtl : public BufferImpl, public BufferHolderMtl
bool primitiveRestartEnabled,
gl::IndexRange *outRange) override;
- angle::Result getFirstLastIndices(const gl::Context *context,
- gl::DrawElementsType type,
+ angle::Result getFirstLastIndices(gl::DrawElementsType type,
size_t offset,
size_t count,
std::pair<uint32_t, uint32_t> *outIndices) const;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.mm
index 33b52eded68..5f237b59dce 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.mm
@@ -228,8 +228,7 @@ angle::Result BufferMtl::getIndexRange(const gl::Context *context,
return angle::Result::Continue;
}
-angle::Result BufferMtl::getFirstLastIndices(const gl::Context *context,
- gl::DrawElementsType type,
+angle::Result BufferMtl::getFirstLastIndices(gl::DrawElementsType type,
size_t offset,
size_t count,
std::pair<uint32_t, uint32_t> *outIndices) const
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.mm
index 7f89d1f2727..a5866701bd5 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.mm
@@ -23,4 +23,4 @@ ShShaderOutput CompilerMtl::getTranslatorOutputType() const
return SH_GLSL_METAL_OUTPUT;
}
-} // namespace rx \ No newline at end of file
+} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.h
index 220d578373d..9404f4ec332 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.h
@@ -240,6 +240,10 @@ class ContextMtl : public ContextImpl, public mtl::Context
const mtl::VertexFormat &getVertexFormat(angle::FormatID angleFormatId,
bool tightlyPacked) const;
+ angle::Result getIncompleteTexture(const gl::Context *context,
+ gl::TextureType type,
+ gl::Texture **textureOut);
+
// Recommended to call these methods to end encoding instead of invoking the encoder's
// endEncoding() directly.
void endEncoding(mtl::RenderCommandEncoder *encoder);
@@ -281,7 +285,8 @@ class ContextMtl : public ContextImpl, public mtl::Context
mtl::ComputeCommandEncoder *getComputeCommandEncoder();
private:
- void ensureCommandBufferValid();
+ void ensureCommandBufferReady();
+ angle::Result ensureIncompleteTexturesCreated(const gl::Context *context);
angle::Result setupDraw(const gl::Context *context,
gl::PrimitiveMode mode,
GLint firstVertex,
@@ -377,9 +382,9 @@ class ContextMtl : public ContextImpl, public mtl::Context
{
float viewport[4];
- float halfRenderAreaHeight;
- float viewportYScale;
- float negViewportYScale;
+ float halfRenderArea[2];
+ float flipXY[2];
+ float negFlipXY[2];
// 32 bits for 32 clip distances
uint32_t enabledClipDistances;
@@ -388,7 +393,7 @@ class ContextMtl : public ContextImpl, public mtl::Context
uint32_t xfbActiveUnpaused;
uint32_t xfbVerticesPerDraw;
// NOTE: Explicit padding. Fill in with useful data when needed in the future.
- int32_t padding[2];
+ int32_t padding[3];
int32_t xfbBufferOffsets[4];
uint32_t acbBufferOffsets[4];
@@ -399,6 +404,10 @@ class ContextMtl : public ContextImpl, public mtl::Context
// Used to pre-rotate gl_Position for Vulkan swapchain images on Android (a mat2, which is
// padded to the size of two vec4's).
float preRotation[8];
+
+ // Used to pre-rotate gl_FragCoord for Vulkan swapchain images on Android (a mat2, which is
+ // padded to the size of two vec4's).
+ float fragRotation[8];
};
struct DefaultAttribute
@@ -451,6 +460,9 @@ class ContextMtl : public ContextImpl, public mtl::Context
DriverUniforms mDriverUniforms;
DefaultAttribute mDefaultAttributes[mtl::kMaxVertexAttribs];
+
+ IncompleteTextureSet mIncompleteTextures;
+ bool mIncompleteTexturesInitialized = false;
};
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.mm
index b46836cfc29..d8d421f9256 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.mm
@@ -121,6 +121,28 @@ void ContextMtl::onDestroy(const gl::Context *context)
{
mTriFanIndexBuffer.destroy(this);
mLineLoopIndexBuffer.destroy(this);
+
+ mIncompleteTextures.onDestroy(context);
+ mIncompleteTexturesInitialized = false;
+}
+
+angle::Result ContextMtl::ensureIncompleteTexturesCreated(const gl::Context *context)
+{
+ if (ANGLE_LIKELY(mIncompleteTexturesInitialized))
+ {
+ return angle::Result::Continue;
+ }
+ constexpr gl::TextureType supportedTextureTypes[] = {gl::TextureType::_2D,
+ gl::TextureType::CubeMap};
+ for (gl::TextureType texType : supportedTextureTypes)
+ {
+ gl::Texture *texture;
+ ANGLE_UNUSED_VARIABLE(texture);
+ ANGLE_TRY(mIncompleteTextures.getIncompleteTexture(context, texType, nullptr, &texture));
+ }
+ mIncompleteTexturesInitialized = true;
+
+ return angle::Result::Continue;
}
// Flush and finish.
@@ -153,7 +175,7 @@ angle::Result ContextMtl::drawTriFanArraysWithBaseVertex(const gl::Context *cont
ANGLE_TRY(
mtl::Buffer::MakeBuffer(this, indexBufferSize, nullptr, &mTriFanArraysIndexBuffer));
ANGLE_TRY(getDisplay()->getUtils().generateTriFanBufferFromArrays(
- context, {0, static_cast<uint32_t>(count), mTriFanArraysIndexBuffer, 0}));
+ this, {0, static_cast<uint32_t>(count), mTriFanArraysIndexBuffer, 0}));
}
ANGLE_TRY(setupDraw(context, gl::PrimitiveMode::TriangleFan, first, count, instances,
@@ -181,8 +203,8 @@ angle::Result ContextMtl::drawTriFanArraysLegacy(const gl::Context *context,
ANGLE_TRY(AllocateTriangleFanBufferFromPool(this, count, &mTriFanIndexBuffer, &genIdxBuffer,
&genIdxBufferOffset, &genIndicesCount));
ANGLE_TRY(getDisplay()->getUtils().generateTriFanBufferFromArrays(
- context, {static_cast<uint32_t>(first), static_cast<uint32_t>(count), genIdxBuffer,
- genIdxBufferOffset}));
+ this, {static_cast<uint32_t>(first), static_cast<uint32_t>(count), genIdxBuffer,
+ genIdxBufferOffset}));
ANGLE_TRY(setupDraw(context, gl::PrimitiveMode::TriangleFan, first, count, instances,
gl::DrawElementsType::InvalidEnum, reinterpret_cast<const void *>(0)));
@@ -292,7 +314,7 @@ angle::Result ContextMtl::drawTriFanElements(const gl::Context *context,
&genIdxBufferOffset, &genIndicesCount));
ANGLE_TRY(getDisplay()->getUtils().generateTriFanBufferFromElementsArray(
- context, {type, count, indices, genIdxBuffer, genIdxBufferOffset}));
+ this, {type, count, indices, genIdxBuffer, genIdxBufferOffset}));
ANGLE_TRY(mTriFanIndexBuffer.commit(this));
@@ -519,6 +541,9 @@ angle::Result ContextMtl::syncState(const gl::Context *context,
{
const gl::State &glState = context->getState();
+ // Initialize incomplete texture set.
+ ANGLE_TRY(ensureIncompleteTexturesCreated(context));
+
for (size_t dirtyBit : dirtyBits)
{
switch (dirtyBit)
@@ -1023,6 +1048,13 @@ const mtl::VertexFormat &ContextMtl::getVertexFormat(angle::FormatID angleFormat
return getDisplay()->getVertexFormat(angleFormatId, tightlyPacked);
}
+angle::Result ContextMtl::getIncompleteTexture(const gl::Context *context,
+ gl::TextureType type,
+ gl::Texture **textureOut)
+{
+ return mIncompleteTextures.getIncompleteTexture(context, type, nullptr, textureOut);
+}
+
void ContextMtl::endEncoding(mtl::RenderCommandEncoder *encoder)
{
encoder->endEncoding();
@@ -1055,7 +1087,7 @@ void ContextMtl::endEncoding(bool forceSaveRenderPassContent)
void ContextMtl::flushCommandBufer()
{
- if (!mCmdBuffer.valid())
+ if (!mCmdBuffer.ready())
{
return;
}
@@ -1066,7 +1098,7 @@ void ContextMtl::flushCommandBufer()
void ContextMtl::present(const gl::Context *context, id<CAMetalDrawable> presentationDrawable)
{
- ensureCommandBufferValid();
+ ensureCommandBufferReady();
// Always discard default FBO's depth stencil buffers at the end of the frame:
if (mDrawFramebufferIsDefault && hasStartedRenderPass(mDrawFramebuffer))
@@ -1089,10 +1121,7 @@ angle::Result ContextMtl::finishCommandBuffer()
{
flushCommandBufer();
- if (mCmdBuffer.valid())
- {
- mCmdBuffer.finish();
- }
+ mCmdBuffer.finish();
return angle::Result::Continue;
}
@@ -1138,7 +1167,7 @@ mtl::RenderCommandEncoder *ContextMtl::getRenderCommandEncoder(const mtl::Render
endEncoding(false);
- ensureCommandBufferValid();
+ ensureCommandBufferReady();
// Need to re-apply everything on next draw call.
mDirtyBits.set();
@@ -1187,7 +1216,7 @@ mtl::BlitCommandEncoder *ContextMtl::getBlitCommandEncoder()
endEncoding(true);
- ensureCommandBufferValid();
+ ensureCommandBufferReady();
return &mBlitEncoder.restart();
}
@@ -1201,19 +1230,19 @@ mtl::ComputeCommandEncoder *ContextMtl::getComputeCommandEncoder()
endEncoding(true);
- ensureCommandBufferValid();
+ ensureCommandBufferReady();
return &mComputeEncoder.restart();
}
-void ContextMtl::ensureCommandBufferValid()
+void ContextMtl::ensureCommandBufferReady()
{
- if (!mCmdBuffer.valid())
+ if (!mCmdBuffer.ready())
{
mCmdBuffer.restart();
}
- ASSERT(mCmdBuffer.valid());
+ ASSERT(mCmdBuffer.ready());
}
void ContextMtl::updateViewport(FramebufferMtl *framebufferMtl,
@@ -1520,7 +1549,7 @@ angle::Result ContextMtl::genLineLoopLastSegment(const gl::Context *context,
if (indexTypeOrNone == gl::DrawElementsType::InvalidEnum)
{
ANGLE_TRY(getDisplay()->getUtils().generateLineLoopLastSegment(
- context, firstVertex, firstVertex + vertexOrIndexCount - 1, newBuffer, 0));
+ this, firstVertex, firstVertex + vertexOrIndexCount - 1, newBuffer, 0));
}
else
{
@@ -1528,7 +1557,7 @@ angle::Result ContextMtl::genLineLoopLastSegment(const gl::Context *context,
// taken into account
ASSERT(firstVertex == 0);
ANGLE_TRY(getDisplay()->getUtils().generateLineLoopLastSegmentFromElementsArray(
- context, {indexTypeOrNone, vertexOrIndexCount, indices, newBuffer, 0}));
+ this, {indexTypeOrNone, vertexOrIndexCount, indices, newBuffer, 0}));
}
ANGLE_TRY(mLineLoopIndexBuffer.commit(this));
@@ -1594,10 +1623,14 @@ angle::Result ContextMtl::handleDirtyDriverUniforms(const gl::Context *context)
mDriverUniforms.viewport[2] = glViewport.width;
mDriverUniforms.viewport[3] = glViewport.height;
- mDriverUniforms.halfRenderAreaHeight =
+ mDriverUniforms.halfRenderArea[0] =
+ static_cast<float>(mDrawFramebuffer->getState().getDimensions().width) * 0.5f;
+ mDriverUniforms.halfRenderArea[1] =
static_cast<float>(mDrawFramebuffer->getState().getDimensions().height) * 0.5f;
- mDriverUniforms.viewportYScale = mDrawFramebuffer->flipY() ? -1.0f : 1.0f;
- mDriverUniforms.negViewportYScale = -mDriverUniforms.viewportYScale;
+ mDriverUniforms.flipXY[0] = 1.0f;
+ mDriverUniforms.flipXY[1] = mDrawFramebuffer->flipY() ? -1.0f : 1.0f;
+ mDriverUniforms.negFlipXY[0] = mDriverUniforms.flipXY[0];
+ mDriverUniforms.negFlipXY[1] = -mDriverUniforms.flipXY[1];
mDriverUniforms.enabledClipDistances = mState.getEnabledClipDistances().bits();
@@ -1616,6 +1649,16 @@ angle::Result ContextMtl::handleDirtyDriverUniforms(const gl::Context *context)
mDriverUniforms.preRotation[6] = 0.0f;
mDriverUniforms.preRotation[7] = 0.0f;
+ // Fill in a mat2 identity matrix, plus padding
+ mDriverUniforms.fragRotation[0] = 1.0f;
+ mDriverUniforms.fragRotation[1] = 0.0f;
+ mDriverUniforms.fragRotation[2] = 0.0f;
+ mDriverUniforms.fragRotation[3] = 0.0f;
+ mDriverUniforms.fragRotation[4] = 0.0f;
+ mDriverUniforms.fragRotation[5] = 1.0f;
+ mDriverUniforms.fragRotation[6] = 0.0f;
+ mDriverUniforms.fragRotation[7] = 0.0f;
+
ASSERT(mRenderEncoder.valid());
mRenderEncoder.setFragmentData(mDriverUniforms, mtl::kDriverUniformsBindingIndex);
mRenderEncoder.setVertexData(mDriverUniforms, mtl::kDriverUniformsBindingIndex);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.h
index f0937507178..9bc28f0240e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.h
@@ -27,6 +27,9 @@ class Surface;
namespace rx
{
+class ShareGroupMtl : public ShareGroupImpl
+{};
+
class ContextMtl;
class DisplayMtl : public DisplayImpl
@@ -75,6 +78,8 @@ class DisplayMtl : public DisplayImpl
StreamProducerImpl *createStreamProducerD3DTexture(egl::Stream::ConsumerType consumerType,
const egl::AttributeMap &attribs) override;
+ ShareGroupImpl *createShareGroup() override;
+
gl::Version getMaxSupportedESVersion() const override;
gl::Version getMaxConformantESVersion() const override;
@@ -104,6 +109,8 @@ class DisplayMtl : public DisplayImpl
mtl::RenderUtils &getUtils() { return mUtils; }
mtl::StateCache &getStateCache() { return mStateCache; }
+ id<MTLLibrary> getDefaultShadersLib() const { return mDefaultShaders; }
+
id<MTLDepthStencilState> getDepthStencilState(const mtl::DepthStencilDesc &desc)
{
return mStateCache.getDepthStencilState(getMetalDevice(), desc);
@@ -113,8 +120,6 @@ class DisplayMtl : public DisplayImpl
return mStateCache.getSamplerState(getMetalDevice(), desc);
}
- const mtl::TextureRef &getNullTexture(const gl::Context *context, gl::TextureType type);
-
const mtl::Format &getPixelFormat(angle::FormatID angleFormatId) const
{
return mFormatTable.getPixelFormat(angleFormatId);
@@ -138,6 +143,7 @@ class DisplayMtl : public DisplayImpl
void initializeExtensions() const;
void initializeTextureCaps() const;
void initializeFeatures();
+ angle::Result initializeShaderLibrary();
mtl::AutoObjCPtr<id<MTLDevice>> mMetalDevice = nil;
@@ -147,7 +153,8 @@ class DisplayMtl : public DisplayImpl
mtl::StateCache mStateCache;
mtl::RenderUtils mUtils;
- angle::PackedEnumMap<gl::TextureType, mtl::TextureRef> mNullTextures;
+ // Built-in Shaders
+ mtl::AutoObjCPtr<id<MTLLibrary>> mDefaultShaders = nil;
mutable bool mCapsInitialized;
mutable gl::TextureCapsMap mNativeTextureCaps;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.mm
index 255264fa10a..1ea0c2edcd3 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.mm
@@ -15,6 +15,8 @@
#include "libANGLE/renderer/metal/ContextMtl.h"
#include "libANGLE/renderer/metal/SurfaceMtl.h"
#include "libANGLE/renderer/metal/mtl_common.h"
+#include "libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc"
+#include "libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc"
#include "platform/Platform.h"
#include "EGL/eglext.h"
@@ -25,7 +27,11 @@ namespace rx
bool IsMetalDisplayAvailable()
{
// We only support macos 10.13+ and 11 for now. Since they are requirements for Metal 2.0.
+#if TARGET_OS_SIMULATOR
+ if (ANGLE_APPLE_AVAILABLE_XCI(10.13, 13.0, 13))
+#else
if (ANGLE_APPLE_AVAILABLE_XCI(10.13, 13.0, 11))
+#endif
{
return true;
}
@@ -81,6 +87,7 @@ angle::Result DisplayMtl::initializeImpl(egl::Display *display)
}
ANGLE_TRY(mFormatTable.initialize(this));
+ ANGLE_TRY(initializeShaderLibrary());
return mUtils.initialize();
}
@@ -88,12 +95,9 @@ angle::Result DisplayMtl::initializeImpl(egl::Display *display)
void DisplayMtl::terminate()
{
- for (mtl::TextureRef &nullTex : mNullTextures)
- {
- nullTex.reset();
- }
mUtils.onDestroy();
mCmdQueue.reset();
+ mDefaultShaders = nil;
mMetalDevice = nil;
mCapsInitialized = false;
@@ -210,6 +214,11 @@ StreamProducerImpl *DisplayMtl::createStreamProducerD3DTexture(
return nullptr;
}
+ShareGroupImpl *DisplayMtl::createShareGroup()
+{
+ return new ShareGroupMtl();
+}
+
gl::Version DisplayMtl::getMaxSupportedESVersion() const
{
return mtl::kMaxSupportedGLVersion;
@@ -367,45 +376,6 @@ const gl::Extensions &DisplayMtl::getNativeExtensions() const
return mNativeExtensions;
}
-const mtl::TextureRef &DisplayMtl::getNullTexture(const gl::Context *context, gl::TextureType type)
-{
- // TODO(hqle): Use rx::IncompleteTextureSet.
- ContextMtl *contextMtl = mtl::GetImpl(context);
- if (!mNullTextures[type])
- {
- // initialize content with zeros
- MTLRegion region = MTLRegionMake2D(0, 0, 1, 1);
- const uint8_t zeroPixel[4] = {0, 0, 0, 255};
-
- const auto &rgbaFormat = getPixelFormat(angle::FormatID::R8G8B8A8_UNORM);
-
- switch (type)
- {
- case gl::TextureType::_2D:
- (void)(mtl::Texture::Make2DTexture(contextMtl, rgbaFormat, 1, 1, 1, false, false,
- &mNullTextures[type]));
- mNullTextures[type]->replaceRegion(contextMtl, region, 0, 0, zeroPixel,
- sizeof(zeroPixel));
- break;
- case gl::TextureType::CubeMap:
- (void)(mtl::Texture::MakeCubeTexture(contextMtl, rgbaFormat, 1, 1, false, false,
- &mNullTextures[type]));
- for (int f = 0; f < 6; ++f)
- {
- mNullTextures[type]->replaceRegion(contextMtl, region, 0, f, zeroPixel,
- sizeof(zeroPixel));
- }
- break;
- default:
- UNREACHABLE();
- // NOTE(hqle): Support more texture types.
- }
- ASSERT(mNullTextures[type]);
- }
-
- return mNullTextures[type];
-}
-
void DisplayMtl::ensureCapsInitialized() const
{
if (mCapsInitialized)
@@ -508,7 +478,7 @@ void DisplayMtl::ensureCapsInitialized() const
// Note that we currently implement textures as combined image+samplers, so the limit is
// the minimum of supported samplers and sampled images.
- mNativeCaps.maxCombinedTextureImageUnits = mtl::kMaxShaderSamplers;
+ mNativeCaps.maxCombinedTextureImageUnits = mtl::kMaxGLSamplerBindings;
mNativeCaps.maxShaderTextureImageUnits[gl::ShaderType::Fragment] = mtl::kMaxShaderSamplers;
mNativeCaps.maxShaderTextureImageUnits[gl::ShaderType::Vertex] = mtl::kMaxShaderSamplers;
@@ -669,4 +639,28 @@ void DisplayMtl::initializeFeatures()
platform->overrideFeaturesMtl(platform, &mFeatures);
}
+angle::Result DisplayMtl::initializeShaderLibrary()
+{
+ mtl::AutoObjCObj<NSError> err = nil;
+
+#if defined(ANGLE_MTL_DEBUG_INTERNAL_SHADERS)
+ mDefaultShaders = CreateShaderLibrary(getMetalDevice(), default_metallib_src,
+ sizeof(default_metallib_src), &err);
+#else
+ mDefaultShaders = CreateShaderLibraryFromBinary(getMetalDevice(), compiled_default_metallib,
+ compiled_default_metallib_len, &err);
+#endif
+
+ if (err && !mDefaultShaders)
+ {
+ ANGLE_MTL_OBJC_SCOPE
+ {
+ ERR() << "Internal error: " << err.get().localizedDescription.UTF8String;
+ }
+ return angle::Result::Stop;
+ }
+
+ return angle::Result::Continue;
+}
+
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm
index 99ba927d6fc..da78c5dc594 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm
@@ -534,9 +534,7 @@ angle::Result FramebufferMtl::clearWithDraw(const gl::Context *context,
// Start new render encoder if not already.
mtl::RenderCommandEncoder *encoder = contextMtl->getRenderCommandEncoder(mRenderPassDesc);
- display->getUtils().clearWithDraw(context, encoder, clearOpts);
-
- return angle::Result::Continue;
+ return display->getUtils().clearWithDraw(context, encoder, clearOpts);
}
angle::Result FramebufferMtl::clearImpl(const gl::Context *context,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.h
index e2862547a20..6e7beccce65 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.h
@@ -19,6 +19,7 @@
#include "libANGLE/renderer/ProgramImpl.h"
#include "libANGLE/renderer/glslang_wrapper_utils.h"
#include "libANGLE/renderer/metal/mtl_command_buffer.h"
+#include "libANGLE/renderer/metal/mtl_glslang_utils.h"
#include "libANGLE/renderer/metal/mtl_resources.h"
#include "libANGLE/renderer/metal/mtl_state_cache.h"
@@ -130,10 +131,6 @@ class ProgramMtl : public ProgramImpl
angle::Result linkImpl(const gl::Context *glContext,
const gl::ProgramLinkedResources &resources,
gl::InfoLog &infoLog);
- angle::Result convertToMsl(const gl::Context *glContext,
- gl::ShaderType shaderType,
- gl::InfoLog &infoLog,
- std::vector<uint32_t> *sprivCode);
angle::Result createMslShader(const gl::Context *glContext,
gl::ShaderType shaderType,
@@ -158,6 +155,10 @@ class ProgramMtl : public ProgramImpl
gl::ShaderBitSet mSamplerBindingsDirty;
gl::ShaderMap<DefaultUniformBlock> mDefaultUniformBlocks;
+ gl::ShaderMap<std::string> mTranslatedMslShader;
+
+ gl::ShaderMap<mtl::TranslatedShaderInfo> mMslShaderTranslateInfo;
+
mtl::RenderPipelineCache mMetalRenderPipelineCache;
};
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.mm
index f1e304cd32e..4e6058c8526 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.mm
@@ -13,8 +13,6 @@
#include <sstream>
-#include <spirv_msl.hpp>
-
#include "common/debug.h"
#include "libANGLE/Context.h"
#include "libANGLE/ProgramLinkedResources.h"
@@ -33,85 +31,6 @@ namespace
#define SHADER_ENTRY_NAME @"main0"
-spv::ExecutionModel ShaderTypeToSpvExecutionModel(gl::ShaderType shaderType)
-{
- switch (shaderType)
- {
- case gl::ShaderType::Vertex:
- return spv::ExecutionModelVertex;
- case gl::ShaderType::Fragment:
- return spv::ExecutionModelFragment;
- default:
- UNREACHABLE();
- return spv::ExecutionModelMax;
- }
-}
-
-// Some GLSL variables need 2 binding points in metal. For example,
-// glsl sampler will be converted to 2 metal objects: texture and sampler.
-// Thus we need to set 2 binding points for one glsl sampler variable.
-using BindingField = uint32_t spirv_cross::MSLResourceBinding::*;
-template <BindingField bindingField1, BindingField bindingField2 = bindingField1>
-angle::Result BindResources(spirv_cross::CompilerMSL *compiler,
- const spirv_cross::SmallVector<spirv_cross::Resource> &resources,
- gl::ShaderType shaderType)
-{
- auto &compilerMsl = *compiler;
-
- for (const spirv_cross::Resource &resource : resources)
- {
- spirv_cross::MSLResourceBinding resBinding;
- resBinding.stage = ShaderTypeToSpvExecutionModel(shaderType);
-
- if (compilerMsl.has_decoration(resource.id, spv::DecorationDescriptorSet))
- {
- resBinding.desc_set =
- compilerMsl.get_decoration(resource.id, spv::DecorationDescriptorSet);
- }
-
- if (!compilerMsl.has_decoration(resource.id, spv::DecorationBinding))
- {
- continue;
- }
-
- resBinding.binding = compilerMsl.get_decoration(resource.id, spv::DecorationBinding);
-
- uint32_t bindingPoint;
- // NOTE(hqle): We use separate discrete binding point for now, in future, we should use
- // one argument buffer for each descriptor set.
- switch (resBinding.desc_set)
- {
- case 0:
- // Use resBinding.binding as binding point.
- bindingPoint = resBinding.binding;
- break;
- case mtl::kDriverUniformsBindingIndex:
- bindingPoint = mtl::kDriverUniformsBindingIndex;
- break;
- case mtl::kDefaultUniformsBindingIndex:
- // NOTE(hqle): Properly handle transform feedbacks and UBO binding once ES 3.0 is
- // implemented.
- bindingPoint = mtl::kDefaultUniformsBindingIndex;
- break;
- default:
- // We don't support this descriptor set.
- continue;
- }
-
- // bindingField can be buffer or texture, which will be translated to [[buffer(d)]] or
- // [[texture(d)]] or [[sampler(d)]]
- resBinding.*bindingField1 = bindingPoint;
- if (bindingField1 != bindingField2)
- {
- resBinding.*bindingField2 = bindingPoint;
- }
-
- compilerMsl.add_msl_resource_binding(resBinding);
- }
-
- return angle::Result::Continue;
-}
-
void InitDefaultUniformBlock(const std::vector<sh::Uniform> &uniforms,
gl::Shader *shader,
sh::BlockLayoutMap *blockLayoutMapOut,
@@ -173,35 +92,6 @@ void UpdateDefaultUniformBlock(GLsizei count,
}
}
-void BindNullSampler(const gl::Context *glContext,
- mtl::RenderCommandEncoder *encoder,
- gl::ShaderType shaderType,
- gl::TextureType textureType,
- int bindingPoint)
-{
- ContextMtl *contextMtl = mtl::GetImpl(glContext);
-
- const mtl::TextureRef &nullTex =
- contextMtl->getDisplay()->getNullTexture(glContext, textureType);
-
- mtl::AutoObjCPtr<id<MTLSamplerState>> nullSampler =
- contextMtl->getDisplay()->getStateCache().getNullSamplerState(contextMtl);
-
- switch (shaderType)
- {
- case gl::ShaderType::Vertex:
- encoder->setVertexTexture(nullTex, bindingPoint);
- encoder->setVertexSamplerState(nullSampler, 0, 0, bindingPoint);
- break;
- case gl::ShaderType::Fragment:
- encoder->setFragmentTexture(nullTex, bindingPoint);
- encoder->setFragmentSamplerState(nullSampler, 0, 0, bindingPoint);
- break;
- default:
- UNREACHABLE();
- }
-}
-
template <typename T>
void ReadFromDefaultUniformBlock(int componentCount,
uint32_t arrayIndex,
@@ -259,6 +149,15 @@ void ProgramMtl::reset(ContextMtl *context)
block.uniformLayout.clear();
}
+ for (gl::ShaderType shaderType : gl::AllGLES2ShaderTypes())
+ {
+ for (mtl::SamplerBinding &binding :
+ mMslShaderTranslateInfo[shaderType].actualSamplerBindings)
+ {
+ binding.textureBinding = mtl::kMaxShaderSamplers;
+ }
+ }
+
mMetalRenderPipelineCache.clear();
}
@@ -318,14 +217,19 @@ angle::Result ProgramMtl::linkImpl(const gl::Context *glContext,
// Convert GLSL to spirv code
gl::ShaderMap<std::vector<uint32_t>> shaderCodes;
ANGLE_TRY(mtl::GlslangGetShaderSpirvCode(
- contextMtl, mState.getProgramExecutable().getLinkedShaderStages(), contextMtl->getCaps(),
+ contextMtl, mState.getExecutable().getLinkedShaderStages(), contextMtl->getCaps(),
shaderSources, variableInfoMap, &shaderCodes));
// Convert spirv code to MSL
- ANGLE_TRY(convertToMsl(glContext, gl::ShaderType::Vertex, infoLog,
- &shaderCodes[gl::ShaderType::Vertex]));
- ANGLE_TRY(convertToMsl(glContext, gl::ShaderType::Fragment, infoLog,
- &shaderCodes[gl::ShaderType::Fragment]));
+ ANGLE_TRY(mtl::SpirvCodeToMsl(contextMtl, mState, &shaderCodes, &mMslShaderTranslateInfo,
+ &mTranslatedMslShader));
+
+ for (gl::ShaderType shaderType : gl::AllGLES2ShaderTypes())
+ {
+ // Create actual Metal shader
+ ANGLE_TRY(
+ createMslShader(glContext, shaderType, infoLog, mTranslatedMslShader[shaderType]));
+ }
return angle::Result::Continue;
}
@@ -421,59 +325,6 @@ angle::Result ProgramMtl::initDefaultUniformBlocks(const gl::Context *glContext)
return angle::Result::Continue;
}
-angle::Result ProgramMtl::convertToMsl(const gl::Context *glContext,
- gl::ShaderType shaderType,
- gl::InfoLog &infoLog,
- std::vector<uint32_t> *sprivCode)
-{
- ContextMtl *contextMtl = mtl::GetImpl(glContext);
-
- spirv_cross::CompilerMSL compilerMsl(std::move(*sprivCode));
-
- spirv_cross::CompilerMSL::Options compOpt;
-#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
- compOpt.platform = spirv_cross::CompilerMSL::Options::macOS;
-#else
- compOpt.platform = spirv_cross::CompilerMSL::Options::iOS;
-#endif
-
- if (ANGLE_APPLE_AVAILABLE_XCI(10.14, 13.0, 12))
- {
- // Use Metal 2.1
- compOpt.set_msl_version(2, 1);
- }
- else
- {
- // Always use at least Metal 2.0.
- compOpt.set_msl_version(2);
- }
-
- compilerMsl.set_msl_options(compOpt);
-
- // Tell spirv-cross to map default & driver uniform blocks & samplers as we want
- spirv_cross::ShaderResources mslRes = compilerMsl.get_shader_resources();
-
- ANGLE_TRY(BindResources<&spirv_cross::MSLResourceBinding::msl_buffer>(
- &compilerMsl, mslRes.uniform_buffers, shaderType));
-
- ANGLE_TRY((BindResources<&spirv_cross::MSLResourceBinding::msl_sampler,
- &spirv_cross::MSLResourceBinding::msl_texture>(
- &compilerMsl, mslRes.sampled_images, shaderType)));
-
- // NOTE(hqle): spirv-cross uses exceptions to report error, what should we do here
- // in case of error?
- std::string translatedMsl = compilerMsl.compile();
- if (translatedMsl.size() == 0)
- {
- ANGLE_MTL_CHECK(contextMtl, false, GL_INVALID_OPERATION);
- }
-
- // Create actual Metal shader
- ANGLE_TRY(createMslShader(glContext, shaderType, infoLog, translatedMsl));
-
- return angle::Result::Continue;
-}
-
angle::Result ProgramMtl::createMslShader(const gl::Context *glContext,
gl::ShaderType shaderType,
gl::InfoLog &infoLog,
@@ -842,21 +693,8 @@ angle::Result ProgramMtl::commitUniforms(ContextMtl *context, mtl::RenderCommand
{
continue;
}
- switch (shaderType)
- {
- case gl::ShaderType::Vertex:
- cmdEncoder->setVertexBytes(uniformBlock.uniformData.data(),
- uniformBlock.uniformData.size(),
- mtl::kDefaultUniformsBindingIndex);
- break;
- case gl::ShaderType::Fragment:
- cmdEncoder->setFragmentBytes(uniformBlock.uniformData.data(),
- uniformBlock.uniformData.size(),
- mtl::kDefaultUniformsBindingIndex);
- break;
- default:
- UNREACHABLE();
- }
+ cmdEncoder->setBytes(shaderType, uniformBlock.uniformData.data(),
+ uniformBlock.uniformData.size(), mtl::kDefaultUniformsBindingIndex);
mDefaultUniformBlocksDirty.reset(shaderType);
}
@@ -868,7 +706,8 @@ angle::Result ProgramMtl::updateTextures(const gl::Context *glContext,
mtl::RenderCommandEncoder *cmdEncoder,
bool forceUpdate)
{
- const auto &glState = glContext->getState();
+ ContextMtl *contextMtl = mtl::GetImpl(glContext);
+ const auto &glState = glContext->getState();
const gl::ActiveTexturesCache &completeTextures = glState.getActiveTexturesCache();
@@ -886,35 +725,32 @@ angle::Result ProgramMtl::updateTextures(const gl::Context *glContext,
ASSERT(!samplerBinding.unreferenced);
+ const mtl::SamplerBinding &mslBinding =
+ mMslShaderTranslateInfo[shaderType].actualSamplerBindings[textureIndex];
+ if (mslBinding.textureBinding >= mtl::kMaxShaderSamplers)
+ {
+ // No binding assigned
+ continue;
+ }
+
+ gl::TextureType textureType = samplerBinding.textureType;
+
for (uint32_t arrayElement = 0; arrayElement < samplerBinding.boundTextureUnits.size();
++arrayElement)
{
- GLuint textureUnit = samplerBinding.boundTextureUnits[arrayElement];
- gl::Texture *texture = completeTextures[textureUnit];
- auto destBindingPoint = textureIndex + arrayElement;
+ GLuint textureUnit = samplerBinding.boundTextureUnits[arrayElement];
+ gl::Texture *texture = completeTextures[textureUnit];
+ uint32_t textureSlot = mslBinding.textureBinding + arrayElement;
+ uint32_t samplerSlot = mslBinding.samplerBinding + arrayElement;
if (!texture)
{
- BindNullSampler(glContext, cmdEncoder, shaderType, samplerBinding.textureType,
- destBindingPoint);
-
- continue;
+ ANGLE_TRY(contextMtl->getIncompleteTexture(glContext, textureType, &texture));
}
TextureMtl *textureMtl = mtl::GetImpl(texture);
- switch (shaderType)
- {
- case gl::ShaderType::Vertex:
- ANGLE_TRY(textureMtl->bindVertexShader(glContext, cmdEncoder,
- destBindingPoint, destBindingPoint));
- break;
- case gl::ShaderType::Fragment:
- ANGLE_TRY(textureMtl->bindFragmentShader(
- glContext, cmdEncoder, destBindingPoint, destBindingPoint));
- break;
- default:
- UNREACHABLE();
- }
+ ANGLE_TRY(textureMtl->bindToShader(glContext, cmdEncoder, shaderType, textureSlot,
+ samplerSlot));
} // for array elements
} // for sampler bindings
} // for shader types
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm
index 343ab44d596..3b7624ed6ff 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm
@@ -113,4 +113,4 @@ angle::Result RenderbufferMtl::initializeContents(const gl::Context *context,
{
return mtl::InitializeTextureContents(context, mTexture, mFormat, imageIndex);
}
-} \ No newline at end of file
+}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.h
index c5a811f21df..26f17f42539 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.h
@@ -131,7 +131,8 @@ class TextureMtl : public TextureImpl
FramebufferAttachmentRenderTarget **rtOut) override;
angle::Result syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits) override;
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source) override;
angle::Result setStorageMultisample(const gl::Context *context,
gl::TextureType type,
@@ -149,14 +150,11 @@ class TextureMtl : public TextureImpl
// to the actual texture.
angle::Result ensureTextureCreated(const gl::Context *context);
- angle::Result bindVertexShader(const gl::Context *context,
- mtl::RenderCommandEncoder *cmdEncoder,
- int textureSlotIndex,
- int samplerSlotIndex);
- angle::Result bindFragmentShader(const gl::Context *context,
- mtl::RenderCommandEncoder *cmdEncoder,
- int textureSlotIndex,
- int samplerSlotIndex);
+ angle::Result bindToShader(const gl::Context *context,
+ mtl::RenderCommandEncoder *cmdEncoder,
+ gl::ShaderType shaderType,
+ int textureSlotIndex,
+ int samplerSlotIndex);
const mtl::Format &getFormat() const { return mFormat; }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.mm
index c402d64a6a5..c8be858e5e0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.mm
@@ -418,8 +418,8 @@ angle::Result TextureMtl::ensureTextureCreated(const gl::Context *context)
{
encoder = contextMtl->getBlitCommandEncoder();
}
- encoder->copyTexture(mNativeTexture, layer, mip, mtlOrigin, mtlSize,
- imageToTransfer, 0, 0, mtlOrigin);
+ encoder->copyTexture(imageToTransfer, 0, 0, mtlOrigin, mtlSize, mNativeTexture,
+ layer, mip, mtlOrigin);
}
imageToTransfer = nullptr;
@@ -813,7 +813,8 @@ angle::Result TextureMtl::getAttachmentRenderTarget(const gl::Context *context,
}
angle::Result TextureMtl::syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits)
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source)
{
if (dirtyBits.any())
{
@@ -827,42 +828,18 @@ angle::Result TextureMtl::syncState(const gl::Context *context,
return angle::Result::Continue;
}
-angle::Result TextureMtl::bindVertexShader(const gl::Context *context,
- mtl::RenderCommandEncoder *cmdEncoder,
- int textureSlotIndex,
- int samplerSlotIndex)
+angle::Result TextureMtl::bindToShader(const gl::Context *context,
+ mtl::RenderCommandEncoder *cmdEncoder,
+ gl::ShaderType shaderType,
+ int textureSlotIndex,
+ int samplerSlotIndex)
{
ASSERT(mNativeTexture);
- // ES 2.0: non power of two texture won't have any mipmap.
- // We don't support OES_texture_npot atm.
- float maxLodClamp = FLT_MAX;
- if (!mIsPow2)
- {
- maxLodClamp = 0;
- }
-
- cmdEncoder->setVertexTexture(mNativeTexture, textureSlotIndex);
- cmdEncoder->setVertexSamplerState(mMetalSamplerState, 0, maxLodClamp, samplerSlotIndex);
-
- return angle::Result::Continue;
-}
-angle::Result TextureMtl::bindFragmentShader(const gl::Context *context,
- mtl::RenderCommandEncoder *cmdEncoder,
- int textureSlotIndex,
- int samplerSlotIndex)
-{
- ASSERT(mNativeTexture);
- // ES 2.0: non power of two texture won't have any mipmap.
- // We don't support OES_texture_npot atm.
float maxLodClamp = FLT_MAX;
- if (!mIsPow2)
- {
- maxLodClamp = 0;
- }
- cmdEncoder->setFragmentTexture(mNativeTexture, textureSlotIndex);
- cmdEncoder->setFragmentSamplerState(mMetalSamplerState, 0, maxLodClamp, samplerSlotIndex);
+ cmdEncoder->setTexture(shaderType, mNativeTexture, textureSlotIndex);
+ cmdEncoder->setSamplerState(shaderType, mMetalSamplerState, 0, maxLodClamp, samplerSlotIndex);
return angle::Result::Continue;
}
@@ -1200,9 +1177,7 @@ angle::Result TextureMtl::copySubImageWithDraw(const gl::Context *context,
blitParams.srcYFlipped = framebufferMtl->flipY();
blitParams.dstLuminance = internalFormat.isLUMA();
- displayMtl->getUtils().blitWithDraw(context, cmdEncoder, blitParams);
-
- return angle::Result::Continue;
+ return displayMtl->getUtils().blitWithDraw(context, cmdEncoder, blitParams);
}
angle::Result TextureMtl::copySubImageCPU(const gl::Context *context,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm
index 7a14086183c..e6817ebd716 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm
@@ -315,7 +315,7 @@ angle::Result VertexArrayMtl::setupDraw(const gl::Context *glContext,
}
desc.layouts[bufferIdx].stride = mCurrentArrayBufferStrides[v];
- cmdEncoder->setVertexBuffer(mCurrentArrayBuffers[v]->getCurrentBuffer(glContext),
+ cmdEncoder->setVertexBuffer(mCurrentArrayBuffers[v]->getCurrentBuffer(),
bufferOffset, bufferIdx);
}
else
@@ -487,7 +487,7 @@ angle::Result VertexArrayMtl::getIndexBuffer(const gl::Context *context,
{
// No conversion needed:
BufferMtl *bufferMtl = mtl::GetImpl(glElementArrayBuffer);
- *idxBufferOut = bufferMtl->getCurrentBuffer(context);
+ *idxBufferOut = bufferMtl->getCurrentBuffer();
*idxBufferOffsetOut = convertedOffset;
}
}
@@ -555,10 +555,11 @@ angle::Result VertexArrayMtl::convertIndexBufferGPU(const gl::Context *glContext
&conversion->convertedOffset));
// Do the conversion on GPU.
- ANGLE_TRY(display->getUtils().convertIndexBuffer(
- glContext, indexType, static_cast<uint32_t>(indexCount),
- idxBuffer->getCurrentBuffer(glContext), static_cast<uint32_t>(offset),
- conversion->convertedBuffer, static_cast<uint32_t>(conversion->convertedOffset)));
+ ANGLE_TRY(display->getUtils().convertIndexBufferGPU(
+ mtl::GetImpl(glContext),
+ {indexType, static_cast<uint32_t>(indexCount), idxBuffer->getCurrentBuffer(),
+ static_cast<uint32_t>(offset), conversion->convertedBuffer,
+ static_cast<uint32_t>(conversion->convertedOffset)}));
ANGLE_TRY(conversion->data.commit(contextMtl));
@@ -659,14 +660,13 @@ angle::Result VertexArrayMtl::convertVertexBufferCPU(const gl::Context *glContex
// Cache the last converted results to be re-used later if the buffer's content won't ever be
// changed.
- conversion->convertedBuffer =
- mConvertedArrayBufferHolders[attribIndex].getCurrentBuffer(glContext);
+ conversion->convertedBuffer = mConvertedArrayBufferHolders[attribIndex].getCurrentBuffer();
conversion->convertedOffset = mCurrentArrayBufferOffsets[attribIndex];
#ifndef NDEBUG
ANGLE_MTL_OBJC_SCOPE
{
- mConvertedArrayBufferHolders[attribIndex].getCurrentBuffer(glContext)->get().label =
+ mConvertedArrayBufferHolders[attribIndex].getCurrentBuffer()->get().label =
[NSString stringWithFormat:@"Converted from %p offset=%zu stride=%u", srcBuffer,
binding.getOffset(), binding.getStride()];
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.h
index f000f45326c..54ffd871e9b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.h
@@ -59,6 +59,9 @@ class CommandQueue final : public WrappedObject<id<MTLCommandQueue>>, angle::Non
}
bool isResourceBeingUsedByGPU(const Resource *resource) const;
+ // Checks whether the last command buffer that uses the given resource has been committed or not
+ bool resourceHasPendingWorks(const Resource *resource) const;
+
CommandQueue &operator=(id<MTLCommandQueue> metalQueue)
{
set(metalQueue);
@@ -66,6 +69,7 @@ class CommandQueue final : public WrappedObject<id<MTLCommandQueue>>, angle::Non
}
AutoObjCPtr<id<MTLCommandBuffer>> makeMetalCommandBuffer(uint64_t *queueSerialOut);
+ void onCommandBufferCommitted(id<MTLCommandBuffer> buf, uint64_t serial);
private:
void onCommandBufferCompleted(id<MTLCommandBuffer> buf, uint64_t serial);
@@ -80,6 +84,7 @@ class CommandQueue final : public WrappedObject<id<MTLCommandQueue>>, angle::Non
std::deque<CmdBufferQueueEntry> mMetalCmdBuffersTmp;
uint64_t mQueueSerialCounter = 1;
+ std::atomic<uint64_t> mCommittedBufferSerial{0};
std::atomic<uint64_t> mCompletedBufferSerial{0};
mutable std::mutex mLock;
@@ -91,10 +96,14 @@ class CommandBuffer final : public WrappedObject<id<MTLCommandBuffer>>, angle::N
CommandBuffer(CommandQueue *cmdQueue);
~CommandBuffer();
+ // This method must be called so that command encoder can be used.
void restart();
- bool valid() const;
+ // Return true if command buffer can be encoded into. Return false if it has been committed
+ // and hasn't been restarted.
+ bool ready() const;
void commit();
+ // wait for committed command buffer to finish.
void finish();
void present(id<CAMetalDrawable> presentationDrawable);
@@ -104,6 +113,7 @@ class CommandBuffer final : public WrappedObject<id<MTLCommandBuffer>>, angle::N
CommandQueue &cmdQueue() { return mCmdQueue; }
+ // Private use only
void setActiveCommandEncoder(CommandEncoder *encoder);
void invalidateActiveCommandEncoder(CommandEncoder *encoder);
@@ -111,14 +121,15 @@ class CommandBuffer final : public WrappedObject<id<MTLCommandBuffer>>, angle::N
void set(id<MTLCommandBuffer> metalBuffer);
void cleanup();
- bool validImpl() const;
+ bool readyImpl() const;
void commitImpl();
+ void forceEndingCurrentEncoder();
using ParentClass = WrappedObject<id<MTLCommandBuffer>>;
CommandQueue &mCmdQueue;
- std::atomic<CommandEncoder *> mActiveCommandEncoder{nullptr};
+ CommandEncoder *mActiveCommandEncoder = nullptr;
uint64_t mQueueSerial = 0;
@@ -141,7 +152,7 @@ class CommandEncoder : public WrappedObject<id<MTLCommandEncoder>>, angle::NonCo
virtual void endEncoding();
- void reset();
+ virtual void reset();
Type getType() const { return mType; }
CommandEncoder &markResourceBeingWrittenByGPU(const BufferRef &buffer);
@@ -162,14 +173,123 @@ class CommandEncoder : public WrappedObject<id<MTLCommandEncoder>>, angle::NonCo
CommandBuffer &mCmdBuffer;
};
+// Stream to store commands before encoding them into the real MTLCommandEncoder
+class IntermediateCommandStream
+{
+ public:
+ template <typename T>
+ inline IntermediateCommandStream &push(const T &val)
+ {
+ const uint8_t *ptr = reinterpret_cast<const uint8_t *>(&val);
+ mBuffer.insert(mBuffer.end(), ptr, ptr + sizeof(T));
+ return *this;
+ }
+
+ inline IntermediateCommandStream &push(const uint8_t *bytes, size_t len)
+ {
+ mBuffer.insert(mBuffer.end(), bytes, bytes + len);
+ return *this;
+ }
+
+ template <typename T>
+ inline T peek()
+ {
+ ASSERT(mReadPtr <= mBuffer.size() - sizeof(T));
+ T re;
+ uint8_t *ptr = reinterpret_cast<uint8_t *>(&re);
+ std::copy(mBuffer.data() + mReadPtr, mBuffer.data() + mReadPtr + sizeof(T), ptr);
+ return re;
+ }
+
+ template <typename T>
+ inline T fetch()
+ {
+ T re = peek<T>();
+ mReadPtr += sizeof(T);
+ return re;
+ }
+
+ inline const uint8_t *fetch(size_t bytes)
+ {
+ ASSERT(mReadPtr <= mBuffer.size() - bytes);
+ size_t cur = mReadPtr;
+ mReadPtr += bytes;
+ return mBuffer.data() + cur;
+ }
+
+ inline void clear()
+ {
+ mBuffer.clear();
+ mReadPtr = 0;
+ }
+
+ inline void resetReadPtr(size_t readPtr)
+ {
+ ASSERT(readPtr <= mBuffer.size());
+ mReadPtr = readPtr;
+ }
+
+ inline bool good() const { return mReadPtr < mBuffer.size(); }
+
+ private:
+ std::vector<uint8_t> mBuffer;
+ size_t mReadPtr = 0;
+};
+
+// Per shader stage's states
+struct RenderCommandEncoderShaderStates
+{
+ RenderCommandEncoderShaderStates();
+
+ void reset();
+
+ std::array<id<MTLBuffer>, kMaxShaderBuffers> buffers;
+ std::array<uint32_t, kMaxShaderBuffers> bufferOffsets;
+ std::array<id<MTLSamplerState>, kMaxShaderSamplers> samplers;
+ std::array<Optional<std::pair<float, float>>, kMaxShaderSamplers> samplerLodClamps;
+ std::array<id<MTLTexture>, kMaxShaderSamplers> textures;
+};
+
+// Per render pass's states
+struct RenderCommandEncoderStates
+{
+ RenderCommandEncoderStates();
+
+ void reset();
+
+ id<MTLRenderPipelineState> renderPipeline;
+
+ MTLTriangleFillMode triangleFillMode;
+ MTLWinding winding;
+ MTLCullMode cullMode;
+
+ id<MTLDepthStencilState> depthStencilState;
+ float depthBias, depthSlopeScale, depthClamp;
+
+ uint32_t stencilFrontRef, stencilBackRef;
+
+ Optional<MTLViewport> viewport;
+ Optional<MTLScissorRect> scissorRect;
+
+ std::array<float, 4> blendColor;
+
+ gl::ShaderMap<RenderCommandEncoderShaderStates> perShaderStates;
+};
+
+// Encoder for encoding render commands
class RenderCommandEncoder final : public CommandEncoder
{
public:
RenderCommandEncoder(CommandBuffer *cmdBuffer);
~RenderCommandEncoder() override;
+ // override CommandEncoder
+ bool valid() const { return mRecording; }
+ void reset() override;
void endEncoding() override;
+ // Restart the encoder so that new commands can be encoded.
+ // NOTE: parent CommandBuffer's restart() must be called before this.
RenderCommandEncoder &restart(const RenderPassDesc &desc);
RenderCommandEncoder &setRenderPipelineState(id<MTLRenderPipelineState> state);
@@ -187,8 +307,14 @@ class RenderCommandEncoder final : public CommandEncoder
RenderCommandEncoder &setBlendColor(float r, float g, float b, float a);
- RenderCommandEncoder &setVertexBuffer(const BufferRef &buffer, uint32_t offset, uint32_t index);
- RenderCommandEncoder &setVertexBytes(const uint8_t *bytes, size_t size, uint32_t index);
+ RenderCommandEncoder &setVertexBuffer(const BufferRef &buffer, uint32_t offset, uint32_t index)
+ {
+ return setBuffer(gl::ShaderType::Vertex, buffer, offset, index);
+ }
+ RenderCommandEncoder &setVertexBytes(const uint8_t *bytes, size_t size, uint32_t index)
+ {
+ return setBytes(gl::ShaderType::Vertex, bytes, size, index);
+ }
template <typename T>
RenderCommandEncoder &setVertexData(const T &data, uint32_t index)
{
@@ -197,13 +323,25 @@ class RenderCommandEncoder final : public CommandEncoder
RenderCommandEncoder &setVertexSamplerState(id<MTLSamplerState> state,
float lodMinClamp,
float lodMaxClamp,
- uint32_t index);
- RenderCommandEncoder &setVertexTexture(const TextureRef &texture, uint32_t index);
+ uint32_t index)
+ {
+ return setSamplerState(gl::ShaderType::Vertex, state, lodMinClamp, lodMaxClamp, index);
+ }
+ RenderCommandEncoder &setVertexTexture(const TextureRef &texture, uint32_t index)
+ {
+ return setTexture(gl::ShaderType::Vertex, texture, index);
+ }
RenderCommandEncoder &setFragmentBuffer(const BufferRef &buffer,
uint32_t offset,
- uint32_t index);
- RenderCommandEncoder &setFragmentBytes(const uint8_t *bytes, size_t size, uint32_t index);
+ uint32_t index)
+ {
+ return setBuffer(gl::ShaderType::Fragment, buffer, offset, index);
+ }
+ RenderCommandEncoder &setFragmentBytes(const uint8_t *bytes, size_t size, uint32_t index)
+ {
+ return setBytes(gl::ShaderType::Fragment, bytes, size, index);
+ }
template <typename T>
RenderCommandEncoder &setFragmentData(const T &data, uint32_t index)
{
@@ -212,8 +350,40 @@ class RenderCommandEncoder final : public CommandEncoder
RenderCommandEncoder &setFragmentSamplerState(id<MTLSamplerState> state,
float lodMinClamp,
float lodMaxClamp,
- uint32_t index);
- RenderCommandEncoder &setFragmentTexture(const TextureRef &texture, uint32_t index);
+ uint32_t index)
+ {
+ return setSamplerState(gl::ShaderType::Fragment, state, lodMinClamp, lodMaxClamp, index);
+ }
+ RenderCommandEncoder &setFragmentTexture(const TextureRef &texture, uint32_t index)
+ {
+ return setTexture(gl::ShaderType::Fragment, texture, index);
+ }
+
+ RenderCommandEncoder &setBuffer(gl::ShaderType shaderType,
+ const BufferRef &buffer,
+ uint32_t offset,
+ uint32_t index);
+ RenderCommandEncoder &setBufferForWrite(gl::ShaderType shaderType,
+ const BufferRef &buffer,
+ uint32_t offset,
+ uint32_t index);
+ RenderCommandEncoder &setBytes(gl::ShaderType shaderType,
+ const uint8_t *bytes,
+ size_t size,
+ uint32_t index);
+ template <typename T>
+ RenderCommandEncoder &setData(gl::ShaderType shaderType, const T &data, uint32_t index)
+ {
+ return setBytes(shaderType, reinterpret_cast<const uint8_t *>(&data), sizeof(T), index);
+ }
+ RenderCommandEncoder &setSamplerState(gl::ShaderType shaderType,
+ id<MTLSamplerState> state,
+ float lodMinClamp,
+ float lodMaxClamp,
+ uint32_t index);
+ RenderCommandEncoder &setTexture(gl::ShaderType shaderType,
+ const TextureRef &texture,
+ uint32_t index);
RenderCommandEncoder &draw(MTLPrimitiveType primitiveType,
uint32_t vertexStart,
@@ -250,20 +420,51 @@ class RenderCommandEncoder final : public CommandEncoder
RenderCommandEncoder &setDepthStoreAction(MTLStoreAction action);
RenderCommandEncoder &setStencilStoreAction(MTLStoreAction action);
+ // Change the render pass's loadAction. Note that this operation is only allowed when there
+ // is no draw call recorded yet.
+ RenderCommandEncoder &setColorLoadAction(MTLLoadAction action,
+ const MTLClearColor &clearValue,
+ uint32_t colorAttachmentIndex);
+ RenderCommandEncoder &setDepthLoadAction(MTLLoadAction action, double clearValue);
+ RenderCommandEncoder &setStencilLoadAction(MTLLoadAction action, uint32_t clearValue);
+
const RenderPassDesc &renderPassDesc() const { return mRenderPassDesc; }
+ bool hasDrawCalls() const { return mHasDrawCalls; }
private:
+ // Override CommandEncoder
id<MTLRenderCommandEncoder> get()
{
return static_cast<id<MTLRenderCommandEncoder>>(CommandEncoder::get());
}
- inline void initWriteDependencyAndStoreAction(const TextureRef &texture,
- MTLStoreAction *storeActionOut);
+
+ void initAttachmentWriteDependencyAndScissorRect(const RenderPassAttachmentDesc &attachment);
+
+ void finalizeLoadStoreAction(MTLRenderPassAttachmentDescriptor *objCRenderPassAttachment);
+
+ void encodeMetalEncoder();
+
+ RenderCommandEncoder &commonSetBuffer(gl::ShaderType shaderType,
+ id<MTLBuffer> mtlBuffer,
+ uint32_t offset,
+ uint32_t index);
RenderPassDesc mRenderPassDesc;
- MTLStoreAction mColorInitialStoreActions[kMaxRenderTargets];
- MTLStoreAction mDepthInitialStoreAction;
- MTLStoreAction mStencilInitialStoreAction;
+ // Cached Objective-C render pass desc to avoid re-allocate every frame.
+ mtl::AutoObjCObj<MTLRenderPassDescriptor> mCachedRenderPassDescObjC;
+ MTLScissorRect mRenderPassMaxScissorRect;
+
+ bool mRecording = false;
+ bool mHasDrawCalls = false;
+ IntermediateCommandStream mCommands;
+
+ gl::ShaderMap<uint8_t> mSetBufferCmds;
+ gl::ShaderMap<uint8_t> mSetBufferOffsetCmds;
+ gl::ShaderMap<uint8_t> mSetBytesCmds;
+ gl::ShaderMap<uint8_t> mSetTextureCmds;
+ gl::ShaderMap<uint8_t> mSetSamplerCmds;
+
+ RenderCommandEncoderStates mStateCache = {};
};
class BlitCommandEncoder final : public CommandEncoder
@@ -272,6 +473,8 @@ class BlitCommandEncoder final : public CommandEncoder
BlitCommandEncoder(CommandBuffer *cmdBuffer);
~BlitCommandEncoder() override;
+ // Restart the encoder so that new commands can be encoded.
+ // NOTE: parent CommandBuffer's restart() must be called before this.
BlitCommandEncoder &restart();
BlitCommandEncoder &copyBufferToTexture(const BufferRef &src,
@@ -285,15 +488,15 @@ class BlitCommandEncoder final : public CommandEncoder
MTLOrigin dstOrigin,
MTLBlitOption blitOption);
- BlitCommandEncoder &copyTexture(const TextureRef &dst,
- uint32_t dstSlice,
- uint32_t dstLevel,
- MTLOrigin dstOrigin,
- MTLSize dstSize,
- const TextureRef &src,
+ BlitCommandEncoder &copyTexture(const TextureRef &src,
uint32_t srcSlice,
uint32_t srcLevel,
- MTLOrigin srcOrigin);
+ MTLOrigin srcOrigin,
+ MTLSize srcSize,
+ const TextureRef &dst,
+ uint32_t dstSlice,
+ uint32_t dstLevel,
+ MTLOrigin dstOrigin);
BlitCommandEncoder &generateMipmapsForTexture(const TextureRef &texture);
BlitCommandEncoder &synchronizeResource(const TextureRef &texture);
@@ -311,11 +514,16 @@ class ComputeCommandEncoder final : public CommandEncoder
ComputeCommandEncoder(CommandBuffer *cmdBuffer);
~ComputeCommandEncoder() override;
+ // Restart the encoder so that new commands can be encoded.
+ // NOTE: parent CommandBuffer's restart() must be called before this.
ComputeCommandEncoder &restart();
ComputeCommandEncoder &setComputePipelineState(id<MTLComputePipelineState> state);
ComputeCommandEncoder &setBuffer(const BufferRef &buffer, uint32_t offset, uint32_t index);
+ ComputeCommandEncoder &setBufferForWrite(const BufferRef &buffer,
+ uint32_t offset,
+ uint32_t index);
ComputeCommandEncoder &setBytes(const uint8_t *bytes, size_t size, uint32_t index);
template <typename T>
ComputeCommandEncoder &setData(const T &data, uint32_t index)
@@ -327,10 +535,13 @@ class ComputeCommandEncoder final : public CommandEncoder
float lodMaxClamp,
uint32_t index);
ComputeCommandEncoder &setTexture(const TextureRef &texture, uint32_t index);
+ ComputeCommandEncoder &setTextureForWrite(const TextureRef &texture, uint32_t index);
- ComputeCommandEncoder &dispatch(MTLSize threadGroupsPerGrid, MTLSize threadsPerGroup);
+ ComputeCommandEncoder &dispatch(const MTLSize &threadGroupsPerGrid,
+ const MTLSize &threadsPerGroup);
- ComputeCommandEncoder &dispatchNonUniform(MTLSize threadsPerGrid, MTLSize threadsPerGroup);
+ ComputeCommandEncoder &dispatchNonUniform(const MTLSize &threadsPerGrid,
+ const MTLSize &threadsPerGroup);
private:
id<MTLComputeCommandEncoder> get()
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm
index 2e82ef26951..2a6569b0e31 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm
@@ -15,11 +15,314 @@
#include "common/debug.h"
#include "libANGLE/renderer/metal/mtl_resources.h"
+// Use to compare the new values with the values already set in the command encoder:
+static inline bool operator==(const MTLViewport &lhs, const MTLViewport &rhs)
+{
+ return memcmp(&lhs, &rhs, sizeof(lhs)) == 0;
+}
+
+static inline bool operator==(const MTLScissorRect &lhs, const MTLScissorRect &rhs)
+{
+ return memcmp(&lhs, &rhs, sizeof(lhs)) == 0;
+}
+
namespace rx
{
namespace mtl
{
+namespace
+{
+
+#define ANGLE_MTL_CMD_X(PROC) \
+ PROC(Invalid) \
+ PROC(SetRenderPipelineState) \
+ PROC(SetTriangleFillMode) \
+ PROC(SetFrontFacingWinding) \
+ PROC(SetCullMode) \
+ PROC(SetDepthStencilState) \
+ PROC(SetDepthBias) \
+ PROC(SetStencilRefVals) \
+ PROC(SetViewport) \
+ PROC(SetScissorRect) \
+ PROC(SetBlendColor) \
+ PROC(SetVertexBuffer) \
+ PROC(SetVertexBufferOffset) \
+ PROC(SetVertexBytes) \
+ PROC(SetVertexSamplerState) \
+ PROC(SetVertexTexture) \
+ PROC(SetFragmentBuffer) \
+ PROC(SetFragmentBufferOffset) \
+ PROC(SetFragmentBytes) \
+ PROC(SetFragmentSamplerState) \
+ PROC(SetFragmentTexture) \
+ PROC(Draw) \
+ PROC(DrawInstanced) \
+ PROC(DrawIndexed) \
+ PROC(DrawIndexedInstanced) \
+ PROC(DrawIndexedInstancedBaseVertex)
+
+#define ANGLE_MTL_TYPE_DECL(CMD) CMD,
+
+// Command types
+enum class CmdType : uint8_t
+{
+ ANGLE_MTL_CMD_X(ANGLE_MTL_TYPE_DECL)
+};
+
+// Commands decoder
+void InvalidCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ UNREACHABLE();
+}
+
+void SetRenderPipelineStateCmd(id<MTLRenderCommandEncoder> encoder,
+ IntermediateCommandStream *stream)
+{
+ id<MTLRenderPipelineState> state = stream->fetch<id<MTLRenderPipelineState>>();
+ [encoder setRenderPipelineState:state];
+ [state ANGLE_MTL_RELEASE];
+}
+
+void SetTriangleFillModeCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLTriangleFillMode mode = stream->fetch<MTLTriangleFillMode>();
+ [encoder setTriangleFillMode:mode];
+}
+
+void SetFrontFacingWindingCmd(id<MTLRenderCommandEncoder> encoder,
+ IntermediateCommandStream *stream)
+{
+ MTLWinding winding = stream->fetch<MTLWinding>();
+ [encoder setFrontFacingWinding:winding];
+}
+
+void SetCullModeCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLCullMode mode = stream->fetch<MTLCullMode>();
+ [encoder setCullMode:mode];
+}
+
+void SetDepthStencilStateCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ id<MTLDepthStencilState> state = stream->fetch<id<MTLDepthStencilState>>();
+ [encoder setDepthStencilState:state];
+ [state ANGLE_MTL_RELEASE];
+}
+
+void SetDepthBiasCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ float depthBias = stream->fetch<float>();
+ float slopeScale = stream->fetch<float>();
+ float clamp = stream->fetch<float>();
+ [encoder setDepthBias:depthBias slopeScale:slopeScale clamp:clamp];
+}
+
+void SetStencilRefValsCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ // Metal has some bugs when reference values are larger than 0xff
+ uint32_t frontRef = stream->fetch<uint32_t>();
+ uint32_t backRef = stream->fetch<uint32_t>();
+ [encoder setStencilFrontReferenceValue:frontRef backReferenceValue:backRef];
+}
+
+void SetViewportCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLViewport viewport = stream->fetch<MTLViewport>();
+ [encoder setViewport:viewport];
+}
+
+void SetScissorRectCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLScissorRect rect = stream->fetch<MTLScissorRect>();
+ [encoder setScissorRect:rect];
+}
+
+void SetBlendColorCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ float r = stream->fetch<float>();
+ float g = stream->fetch<float>();
+ float b = stream->fetch<float>();
+ float a = stream->fetch<float>();
+ [encoder setBlendColorRed:r green:g blue:b alpha:a];
+}
+
+void SetVertexBufferCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ id<MTLBuffer> buffer = stream->fetch<id<MTLBuffer>>();
+ uint32_t offset = stream->fetch<uint32_t>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setVertexBuffer:buffer offset:offset atIndex:index];
+ [buffer ANGLE_MTL_RELEASE];
+}
+
+void SetVertexBufferOffsetCmd(id<MTLRenderCommandEncoder> encoder,
+ IntermediateCommandStream *stream)
+{
+ uint32_t offset = stream->fetch<uint32_t>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setVertexBufferOffset:offset atIndex:index];
+}
+
+void SetVertexBytesCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ size_t size = stream->fetch<size_t>();
+ const uint8_t *bytes = stream->fetch(size);
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setVertexBytes:bytes length:size atIndex:index];
+}
+
+void SetVertexSamplerStateCmd(id<MTLRenderCommandEncoder> encoder,
+ IntermediateCommandStream *stream)
+{
+ id<MTLSamplerState> state = stream->fetch<id<MTLSamplerState>>();
+ float lodMinClamp = stream->fetch<float>();
+ float lodMaxClamp = stream->fetch<float>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setVertexSamplerState:state
+ lodMinClamp:lodMinClamp
+ lodMaxClamp:lodMaxClamp
+ atIndex:index];
+
+ [state ANGLE_MTL_RELEASE];
+}
+
+void SetVertexTextureCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ id<MTLTexture> texture = stream->fetch<id<MTLTexture>>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setVertexTexture:texture atIndex:index];
+ [texture ANGLE_MTL_RELEASE];
+}
+
+void SetFragmentBufferCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ id<MTLBuffer> buffer = stream->fetch<id<MTLBuffer>>();
+ uint32_t offset = stream->fetch<uint32_t>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setFragmentBuffer:buffer offset:offset atIndex:index];
+ [buffer ANGLE_MTL_RELEASE];
+}
+
+void SetFragmentBufferOffsetCmd(id<MTLRenderCommandEncoder> encoder,
+ IntermediateCommandStream *stream)
+{
+ uint32_t offset = stream->fetch<uint32_t>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setFragmentBufferOffset:offset atIndex:index];
+}
+
+void SetFragmentBytesCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ size_t size = stream->fetch<size_t>();
+ const uint8_t *bytes = stream->fetch(size);
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setFragmentBytes:bytes length:size atIndex:index];
+}
+
+void SetFragmentSamplerStateCmd(id<MTLRenderCommandEncoder> encoder,
+ IntermediateCommandStream *stream)
+{
+ id<MTLSamplerState> state = stream->fetch<id<MTLSamplerState>>();
+ float lodMinClamp = stream->fetch<float>();
+ float lodMaxClamp = stream->fetch<float>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setFragmentSamplerState:state
+ lodMinClamp:lodMinClamp
+ lodMaxClamp:lodMaxClamp
+ atIndex:index];
+ [state ANGLE_MTL_RELEASE];
+}
+
+void SetFragmentTextureCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ id<MTLTexture> texture = stream->fetch<id<MTLTexture>>();
+ uint32_t index = stream->fetch<uint32_t>();
+ [encoder setFragmentTexture:texture atIndex:index];
+ [texture ANGLE_MTL_RELEASE];
+}
+
+void DrawCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLPrimitiveType primitiveType = stream->fetch<MTLPrimitiveType>();
+ uint32_t vertexStart = stream->fetch<uint32_t>();
+ uint32_t vertexCount = stream->fetch<uint32_t>();
+ [encoder drawPrimitives:primitiveType vertexStart:vertexStart vertexCount:vertexCount];
+}
+
+void DrawInstancedCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLPrimitiveType primitiveType = stream->fetch<MTLPrimitiveType>();
+ uint32_t vertexStart = stream->fetch<uint32_t>();
+ uint32_t vertexCount = stream->fetch<uint32_t>();
+ uint32_t instances = stream->fetch<uint32_t>();
+ [encoder drawPrimitives:primitiveType
+ vertexStart:vertexStart
+ vertexCount:vertexCount
+ instanceCount:instances];
+}
+
+void DrawIndexedCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLPrimitiveType primitiveType = stream->fetch<MTLPrimitiveType>();
+ uint32_t indexCount = stream->fetch<uint32_t>();
+ MTLIndexType indexType = stream->fetch<MTLIndexType>();
+ id<MTLBuffer> indexBuffer = stream->fetch<id<MTLBuffer>>();
+ size_t bufferOffset = stream->fetch<size_t>();
+ [encoder drawIndexedPrimitives:primitiveType
+ indexCount:indexCount
+ indexType:indexType
+ indexBuffer:indexBuffer
+ indexBufferOffset:bufferOffset];
+ [indexBuffer ANGLE_MTL_RELEASE];
+}
+
+void DrawIndexedInstancedCmd(id<MTLRenderCommandEncoder> encoder, IntermediateCommandStream *stream)
+{
+ MTLPrimitiveType primitiveType = stream->fetch<MTLPrimitiveType>();
+ uint32_t indexCount = stream->fetch<uint32_t>();
+ MTLIndexType indexType = stream->fetch<MTLIndexType>();
+ id<MTLBuffer> indexBuffer = stream->fetch<id<MTLBuffer>>();
+ size_t bufferOffset = stream->fetch<size_t>();
+ uint32_t instances = stream->fetch<uint32_t>();
+ [encoder drawIndexedPrimitives:primitiveType
+ indexCount:indexCount
+ indexType:indexType
+ indexBuffer:indexBuffer
+ indexBufferOffset:bufferOffset
+ instanceCount:instances];
+ [indexBuffer ANGLE_MTL_RELEASE];
+}
+
+void DrawIndexedInstancedBaseVertexCmd(id<MTLRenderCommandEncoder> encoder,
+ IntermediateCommandStream *stream)
+{
+ MTLPrimitiveType primitiveType = stream->fetch<MTLPrimitiveType>();
+ uint32_t indexCount = stream->fetch<uint32_t>();
+ MTLIndexType indexType = stream->fetch<MTLIndexType>();
+ id<MTLBuffer> indexBuffer = stream->fetch<id<MTLBuffer>>();
+ size_t bufferOffset = stream->fetch<size_t>();
+ uint32_t instances = stream->fetch<uint32_t>();
+ uint32_t baseVertex = stream->fetch<uint32_t>();
+ [encoder drawIndexedPrimitives:primitiveType
+ indexCount:indexCount
+ indexType:indexType
+ indexBuffer:indexBuffer
+ indexBufferOffset:bufferOffset
+ instanceCount:instances
+ baseVertex:baseVertex
+ baseInstance:0];
+ [indexBuffer ANGLE_MTL_RELEASE];
+}
+
+// Command encoder mapping
+#define ANGLE_MTL_CMD_MAP(CMD) CMD##Cmd,
+
+using CommandEncoderFunc = void (*)(id<MTLRenderCommandEncoder>, IntermediateCommandStream *);
+constexpr CommandEncoderFunc gCommandEncoders[] = {ANGLE_MTL_CMD_X(ANGLE_MTL_CMD_MAP)};
+
+}
+
// CommandQueue implementation
void CommandQueue::reset()
{
@@ -97,7 +400,18 @@ bool CommandQueue::isResourceBeingUsedByGPU(const Resource *resource) const
}
return mCompletedBufferSerial.load(std::memory_order_relaxed) <
- resource->getCommandBufferQueueSerial().load(std::memory_order_relaxed);
+ resource->getCommandBufferQueueSerial();
+}
+
+bool CommandQueue::resourceHasPendingWorks(const Resource *resource) const
+{
+ if (!resource)
+ {
+ return false;
+ }
+
+ return mCommittedBufferSerial.load(std::memory_order_relaxed) <
+ resource->getCommandBufferQueueSerial();
}
AutoObjCPtr<id<MTLCommandBuffer>> CommandQueue::makeMetalCommandBuffer(uint64_t *queueSerialOut)
@@ -128,6 +442,17 @@ AutoObjCPtr<id<MTLCommandBuffer>> CommandQueue::makeMetalCommandBuffer(uint64_t
}
}
+void CommandQueue::onCommandBufferCommitted(id<MTLCommandBuffer> buf, uint64_t serial)
+{
+ std::lock_guard<std::mutex> lg(mLock);
+
+ ANGLE_MTL_LOG("Committed MTLCommandBuffer %llu:%p", serial, buf);
+
+ mCommittedBufferSerial.store(
+ std::max(mCommittedBufferSerial.load(std::memory_order_relaxed), serial),
+ std::memory_order_relaxed);
+}
+
void CommandQueue::onCommandBufferCompleted(id<MTLCommandBuffer> buf, uint64_t serial)
{
std::lock_guard<std::mutex> lg(mLock);
@@ -164,11 +489,11 @@ CommandBuffer::~CommandBuffer()
cleanup();
}
-bool CommandBuffer::valid() const
+bool CommandBuffer::ready() const
{
std::lock_guard<std::mutex> lg(mLock);
- return validImpl();
+ return readyImpl();
}
void CommandBuffer::commit()
@@ -197,7 +522,7 @@ void CommandBuffer::setWriteDependency(const ResourceRef &resource)
std::lock_guard<std::mutex> lg(mLock);
- if (!validImpl())
+ if (!readyImpl())
{
return;
}
@@ -214,7 +539,7 @@ void CommandBuffer::setReadDependency(const ResourceRef &resource)
std::lock_guard<std::mutex> lg(mLock);
- if (!validImpl())
+ if (!readyImpl())
{
return;
}
@@ -249,7 +574,10 @@ void CommandBuffer::setActiveCommandEncoder(CommandEncoder *encoder)
void CommandBuffer::invalidateActiveCommandEncoder(CommandEncoder *encoder)
{
- mActiveCommandEncoder.compare_exchange_strong(encoder, nullptr);
+ if (mActiveCommandEncoder == encoder)
+ {
+ mActiveCommandEncoder = nullptr;
+ }
}
void CommandBuffer::cleanup()
@@ -259,7 +587,7 @@ void CommandBuffer::cleanup()
ParentClass::set(nil);
}
-bool CommandBuffer::validImpl() const
+bool CommandBuffer::readyImpl() const
{
if (!ParentClass::valid())
{
@@ -271,26 +599,32 @@ bool CommandBuffer::validImpl() const
void CommandBuffer::commitImpl()
{
- if (!validImpl())
+ if (!readyImpl())
{
return;
}
// End the current encoder
- if (mActiveCommandEncoder.load(std::memory_order_relaxed))
- {
- mActiveCommandEncoder.load(std::memory_order_relaxed)->endEncoding();
- mActiveCommandEncoder = nullptr;
- }
+ forceEndingCurrentEncoder();
+
+ // Notify command queue
+ mCmdQueue.onCommandBufferCommitted(get(), mQueueSerial);
// Do the actual commit
[get() commit];
- ANGLE_MTL_LOG("Committed MTLCommandBuffer %llu:%p", mQueueSerial, get());
-
mCommitted = true;
}
+void CommandBuffer::forceEndingCurrentEncoder()
+{
+ if (mActiveCommandEncoder)
+ {
+ mActiveCommandEncoder->endEncoding();
+ mActiveCommandEncoder = nullptr;
+ }
+}
+
// CommandEncoder implementation
CommandEncoder::CommandEncoder(CommandBuffer *cmdBuffer, Type type)
: mType(type), mCmdBuffer(*cmdBuffer)
@@ -334,74 +668,207 @@ CommandEncoder &CommandEncoder::markResourceBeingWrittenByGPU(const TextureRef &
return *this;
}
-// RenderCommandEncoder implemtation
-RenderCommandEncoder::RenderCommandEncoder(CommandBuffer *cmdBuffer)
- : CommandEncoder(cmdBuffer, RENDER)
-{}
-RenderCommandEncoder::~RenderCommandEncoder() {}
+// RenderCommandEncoderShaderStates implementation
+RenderCommandEncoderShaderStates::RenderCommandEncoderShaderStates()
+{
+ reset();
+}
-void RenderCommandEncoder::endEncoding()
+void RenderCommandEncoderShaderStates::reset()
{
- if (!valid())
- return;
+ for (id<MTLBuffer> &buffer : buffers)
+ {
+ buffer = nil;
+ }
- // Now is the time to do the actual store option setting.
- auto metalEncoder = get();
- for (uint32_t i = 0; i < mRenderPassDesc.numColorAttachments; ++i)
+ for (uint32_t &offset : bufferOffsets)
{
- if (mRenderPassDesc.colorAttachments[i].storeAction == MTLStoreActionUnknown)
- {
- // If storeAction hasn't been set for this attachment, we set to dontcare.
- mRenderPassDesc.colorAttachments[i].storeAction = MTLStoreActionDontCare;
- }
+ offset = 0;
+ }
- // Only initial unknown store action can change the value now.
- if (mColorInitialStoreActions[i] == MTLStoreActionUnknown)
- {
- [metalEncoder setColorStoreAction:mRenderPassDesc.colorAttachments[i].storeAction
- atIndex:i];
- }
+ for (id<MTLSamplerState> &sampler : samplers)
+ {
+ sampler = nil;
}
- if (mRenderPassDesc.depthAttachment.storeAction == MTLStoreActionUnknown)
+ for (Optional<std::pair<float, float>> &lodClampRange : samplerLodClamps)
{
- // If storeAction hasn't been set for this attachment, we set to dontcare.
- mRenderPassDesc.depthAttachment.storeAction = MTLStoreActionDontCare;
+ lodClampRange.reset();
}
- if (mDepthInitialStoreAction == MTLStoreActionUnknown)
+
+ for (id<MTLTexture> &texture : textures)
{
- [metalEncoder setDepthStoreAction:mRenderPassDesc.depthAttachment.storeAction];
+ texture = nil;
}
+}
- if (mRenderPassDesc.stencilAttachment.storeAction == MTLStoreActionUnknown)
+// RenderCommandEncoderStates implementation
+RenderCommandEncoderStates::RenderCommandEncoderStates()
+{
+ reset();
+}
+
+void RenderCommandEncoderStates::reset()
+{
+ renderPipeline = nil;
+
+ triangleFillMode = MTLTriangleFillModeFill;
+ winding = MTLWindingClockwise;
+ cullMode = MTLCullModeNone;
+
+ depthStencilState = nil;
+ depthBias = depthSlopeScale = depthClamp = 0;
+
+ stencilFrontRef = stencilBackRef = 0;
+
+ viewport.reset();
+ scissorRect.reset();
+
+ blendColor = {0, 0, 0, 0};
+
+ for (RenderCommandEncoderShaderStates &shaderStates : perShaderStates)
+ {
+ shaderStates.reset();
+ }
+}
+
+// RenderCommandEncoder implemtation
+RenderCommandEncoder::RenderCommandEncoder(CommandBuffer *cmdBuffer)
+ : CommandEncoder(cmdBuffer, RENDER)
+{
+ ANGLE_MTL_OBJC_SCOPE
+ {
+ mCachedRenderPassDescObjC = [MTLRenderPassDescriptor renderPassDescriptor];
+ }
+
+ static_assert(sizeof(uint8_t) == sizeof(CmdType), "CmdType was expected to be 8 bit");
+ for (gl::ShaderType shaderType : gl::AllShaderTypes())
+ {
+ mSetBufferCmds[shaderType] = static_cast<uint8_t>(CmdType::Invalid);
+ mSetBytesCmds[shaderType] = static_cast<uint8_t>(CmdType::Invalid);
+ mSetTextureCmds[shaderType] = static_cast<uint8_t>(CmdType::Invalid);
+ mSetSamplerCmds[shaderType] = static_cast<uint8_t>(CmdType::Invalid);
+ }
+
+ mSetBufferCmds[gl::ShaderType::Vertex] = static_cast<uint8_t>(CmdType::SetVertexBuffer);
+ mSetBufferCmds[gl::ShaderType::Fragment] = static_cast<uint8_t>(CmdType::SetFragmentBuffer);
+
+ mSetBufferOffsetCmds[gl::ShaderType::Vertex] =
+ static_cast<uint8_t>(CmdType::SetVertexBufferOffset);
+ mSetBufferOffsetCmds[gl::ShaderType::Fragment] =
+ static_cast<uint8_t>(CmdType::SetFragmentBufferOffset);
+
+ mSetBytesCmds[gl::ShaderType::Vertex] = static_cast<uint8_t>(CmdType::SetVertexBytes);
+ mSetBytesCmds[gl::ShaderType::Fragment] = static_cast<uint8_t>(CmdType::SetFragmentBytes);
+
+ mSetTextureCmds[gl::ShaderType::Vertex] = static_cast<uint8_t>(CmdType::SetVertexTexture);
+ mSetTextureCmds[gl::ShaderType::Fragment] = static_cast<uint8_t>(CmdType::SetFragmentTexture);
+
+ mSetSamplerCmds[gl::ShaderType::Vertex] = static_cast<uint8_t>(CmdType::SetVertexSamplerState);
+ mSetSamplerCmds[gl::ShaderType::Fragment] =
+ static_cast<uint8_t>(CmdType::SetFragmentSamplerState);
+}
+RenderCommandEncoder::~RenderCommandEncoder() {}
+
+void RenderCommandEncoder::reset()
+{
+ CommandEncoder::reset();
+ mRecording = false;
+ mCommands.clear();
+}
+
+void RenderCommandEncoder::finalizeLoadStoreAction(
+ MTLRenderPassAttachmentDescriptor *objCRenderPassAttachment)
+{
+ if (!objCRenderPassAttachment.texture)
+ {
+ objCRenderPassAttachment.loadAction = MTLLoadActionDontCare;
+ objCRenderPassAttachment.storeAction = MTLStoreActionDontCare;
+ objCRenderPassAttachment.resolveTexture = nil;
+ return;
+ }
+
+ if (objCRenderPassAttachment.storeAction == MTLStoreActionUnknown)
{
// If storeAction hasn't been set for this attachment, we set to dontcare.
- mRenderPassDesc.stencilAttachment.storeAction = MTLStoreActionDontCare;
+ objCRenderPassAttachment.storeAction = MTLStoreActionDontCare;
}
- if (mStencilInitialStoreAction == MTLStoreActionUnknown)
+}
+
+void RenderCommandEncoder::endEncoding()
+{
+ if (!valid())
+ return;
+
+ // Last minute correcting the store options.
+ MTLRenderPassDescriptor *objCRenderPassDesc = mCachedRenderPassDescObjC.get();
+ for (uint32_t i = 0; i < mRenderPassDesc.numColorAttachments; ++i)
{
- [metalEncoder setStencilStoreAction:mRenderPassDesc.stencilAttachment.storeAction];
+ // Update store action set between restart() and endEncoding()
+ objCRenderPassDesc.colorAttachments[i].storeAction =
+ mRenderPassDesc.colorAttachments[i].storeAction;
+ finalizeLoadStoreAction(objCRenderPassDesc.colorAttachments[i]);
}
+ // Update depth store action set between restart() and endEncoding()
+ objCRenderPassDesc.depthAttachment.storeAction = mRenderPassDesc.depthAttachment.storeAction;
+ finalizeLoadStoreAction(objCRenderPassDesc.depthAttachment);
+
+ // Update stencil store action set between restart() and endEncoding()
+ objCRenderPassDesc.stencilAttachment.storeAction =
+ mRenderPassDesc.stencilAttachment.storeAction;
+ finalizeLoadStoreAction(objCRenderPassDesc.stencilAttachment);
+
+ // Encode the actual encoder
+ encodeMetalEncoder();
+
CommandEncoder::endEncoding();
// reset state
mRenderPassDesc = RenderPassDesc();
+ mStateCache.reset();
}
-inline void RenderCommandEncoder::initWriteDependencyAndStoreAction(const TextureRef &texture,
- MTLStoreAction *storeActionOut)
+inline void RenderCommandEncoder::initAttachmentWriteDependencyAndScissorRect(
+ const RenderPassAttachmentDesc &attachment)
{
+ TextureRef texture = attachment.texture;
if (texture)
{
cmdBuffer().setWriteDependency(texture);
- // Set initial store action to unknown so that we can change it later when the encoder ends.
- *storeActionOut = MTLStoreActionUnknown;
+
+ uint32_t mipLevel = attachment.level;
+
+ mRenderPassMaxScissorRect.width =
+ std::min<NSUInteger>(mRenderPassMaxScissorRect.width, texture->width(mipLevel));
+ mRenderPassMaxScissorRect.height =
+ std::min<NSUInteger>(mRenderPassMaxScissorRect.height, texture->height(mipLevel));
}
- else
+}
+
+void RenderCommandEncoder::encodeMetalEncoder()
+{
+ ANGLE_MTL_OBJC_SCOPE
{
- // Texture is invalid, use don'tcare store action
- *storeActionOut = MTLStoreActionDontCare;
+ ANGLE_MTL_LOG("Creating new render command encoder with desc: %@",
+ mCachedRenderPassDescObjC.get());
+
+ id<MTLRenderCommandEncoder> metalCmdEncoder =
+ [cmdBuffer().get() renderCommandEncoderWithDescriptor:mCachedRenderPassDescObjC];
+
+ set(metalCmdEncoder);
+
+ // Verify that it was created successfully
+ ASSERT(metalCmdEncoder);
+
+ while (mCommands.good())
+ {
+ CmdType cmdType = mCommands.fetch<CmdType>();
+ CommandEncoderFunc encoder = gCommandEncoders[static_cast<int>(cmdType)];
+ encoder(metalCmdEncoder, &mCommands);
+ }
+
+ mCommands.clear();
}
}
@@ -419,86 +886,102 @@ RenderCommandEncoder &RenderCommandEncoder::restart(const RenderPassDesc &desc)
endEncoding();
}
- if (!cmdBuffer().valid())
+ if (!cmdBuffer().ready())
{
reset();
return *this;
}
- mRenderPassDesc = desc;
+ mRenderPassDesc = desc;
+ mRecording = true;
+ mHasDrawCalls = false;
+ mRenderPassMaxScissorRect = {.x = 0,
+ .y = 0,
+ .width = std::numeric_limits<NSUInteger>::max(),
+ .height = std::numeric_limits<NSUInteger>::max()};
- ANGLE_MTL_OBJC_SCOPE
+ // Set writing dependency & constrain the scissor rect
+ for (uint32_t i = 0; i < mRenderPassDesc.numColorAttachments; ++i)
{
- // mask writing dependency
- for (uint32_t i = 0; i < mRenderPassDesc.numColorAttachments; ++i)
- {
- initWriteDependencyAndStoreAction(mRenderPassDesc.colorAttachments[i].texture,
- &mRenderPassDesc.colorAttachments[i].storeAction);
- mColorInitialStoreActions[i] = mRenderPassDesc.colorAttachments[i].storeAction;
- }
-
- initWriteDependencyAndStoreAction(mRenderPassDesc.depthAttachment.texture,
- &mRenderPassDesc.depthAttachment.storeAction);
- mDepthInitialStoreAction = mRenderPassDesc.depthAttachment.storeAction;
-
- initWriteDependencyAndStoreAction(mRenderPassDesc.stencilAttachment.texture,
- &mRenderPassDesc.stencilAttachment.storeAction);
- mStencilInitialStoreAction = mRenderPassDesc.stencilAttachment.storeAction;
-
- // Create objective C object
- mtl::AutoObjCObj<MTLRenderPassDescriptor> objCDesc = ToMetalObj(mRenderPassDesc);
-
- ANGLE_MTL_LOG("Creating new render command encoder with desc: %@", objCDesc.get());
+ initAttachmentWriteDependencyAndScissorRect(mRenderPassDesc.colorAttachments[i]);
+ }
- id<MTLRenderCommandEncoder> metalCmdEncoder =
- [cmdBuffer().get() renderCommandEncoderWithDescriptor:objCDesc];
+ initAttachmentWriteDependencyAndScissorRect(mRenderPassDesc.depthAttachment);
- set(metalCmdEncoder);
+ initAttachmentWriteDependencyAndScissorRect(mRenderPassDesc.stencilAttachment);
- // Set the actual store action
- for (uint32_t i = 0; i < desc.numColorAttachments; ++i)
- {
- setColorStoreAction(desc.colorAttachments[i].storeAction, i);
- }
+ // Convert to Objective-C descriptor
+ mRenderPassDesc.convertToMetalDesc(mCachedRenderPassDescObjC);
- setDepthStencilStoreAction(desc.depthAttachment.storeAction,
- desc.stencilAttachment.storeAction);
+ // The actual Objective-C encoder will be created later in endEncoding(), we do so in
+ // order to be able to sort the commands or do the preprocessing before the actual
+ // encoding.
- // Verify that it was created successfully
- ASSERT(get());
- } // ANGLE_MTL_OBJC_SCOPE
+ // Since we defer the native encoder creation, we need to explicitly tell command buffer
+ // that this object is the active encoder:
+ cmdBuffer().setActiveCommandEncoder(this);
return *this;
}
RenderCommandEncoder &RenderCommandEncoder::setRenderPipelineState(id<MTLRenderPipelineState> state)
{
- [get() setRenderPipelineState:state];
+ if (mStateCache.renderPipeline == state)
+ {
+ return *this;
+ }
+ mStateCache.renderPipeline = state;
+
+ mCommands.push(CmdType::SetRenderPipelineState).push([state ANGLE_MTL_RETAIN]);
return *this;
}
RenderCommandEncoder &RenderCommandEncoder::setTriangleFillMode(MTLTriangleFillMode mode)
{
- [get() setTriangleFillMode:mode];
+ if (mStateCache.triangleFillMode == mode)
+ {
+ return *this;
+ }
+ mStateCache.triangleFillMode = mode;
+
+ mCommands.push(CmdType::SetTriangleFillMode).push(mode);
return *this;
}
RenderCommandEncoder &RenderCommandEncoder::setFrontFacingWinding(MTLWinding winding)
{
- [get() setFrontFacingWinding:winding];
+ if (mStateCache.winding == winding)
+ {
+ return *this;
+ }
+ mStateCache.winding = winding;
+
+ mCommands.push(CmdType::SetFrontFacingWinding).push(winding);
return *this;
}
RenderCommandEncoder &RenderCommandEncoder::setCullMode(MTLCullMode mode)
{
- [get() setCullMode:mode];
+ if (mStateCache.cullMode == mode)
+ {
+ return *this;
+ }
+ mStateCache.cullMode = mode;
+
+ mCommands.push(CmdType::SetCullMode).push(mode);
return *this;
}
RenderCommandEncoder &RenderCommandEncoder::setDepthStencilState(id<MTLDepthStencilState> state)
{
- [get() setDepthStencilState:state];
+ if (mStateCache.depthStencilState == state)
+ {
+ return *this;
+ }
+ mStateCache.depthStencilState = state;
+
+ mCommands.push(CmdType::SetDepthStencilState).push([state ANGLE_MTL_RETAIN]);
return *this;
}
@@ -506,7 +989,16 @@ RenderCommandEncoder &RenderCommandEncoder::setDepthBias(float depthBias,
float slopeScale,
float clamp)
{
- [get() setDepthBias:depthBias slopeScale:slopeScale clamp:clamp];
+ if (mStateCache.depthBias == depthBias && mStateCache.depthSlopeScale == slopeScale &&
+ mStateCache.depthClamp == clamp)
+ {
+ return *this;
+ }
+ mStateCache.depthBias = depthBias;
+ mStateCache.depthSlopeScale = slopeScale;
+ mStateCache.depthClamp = clamp;
+
+ mCommands.push(CmdType::SetDepthBias).push(depthBias).push(slopeScale).push(clamp);
return *this;
}
@@ -515,7 +1007,15 @@ RenderCommandEncoder &RenderCommandEncoder::setStencilRefVals(uint32_t frontRef,
// Metal has some bugs when reference values are larger than 0xff
ASSERT(frontRef == (frontRef & kStencilMaskAll));
ASSERT(backRef == (backRef & kStencilMaskAll));
- [get() setStencilFrontReferenceValue:frontRef backReferenceValue:backRef];
+
+ if (mStateCache.stencilFrontRef == frontRef && mStateCache.stencilBackRef == backRef)
+ {
+ return *this;
+ }
+ mStateCache.stencilFrontRef = frontRef;
+ mStateCache.stencilBackRef = backRef;
+
+ mCommands.push(CmdType::SetStencilRefVals).push(frontRef).push(backRef);
return *this;
}
@@ -527,28 +1027,61 @@ RenderCommandEncoder &RenderCommandEncoder::setStencilRefVal(uint32_t ref)
RenderCommandEncoder &RenderCommandEncoder::setViewport(const MTLViewport &viewport)
{
- [get() setViewport:viewport];
+ if (mStateCache.viewport.valid() && mStateCache.viewport.value() == viewport)
+ {
+ return *this;
+ }
+ mStateCache.viewport = viewport;
+
+ mCommands.push(CmdType::SetViewport).push(viewport);
return *this;
}
RenderCommandEncoder &RenderCommandEncoder::setScissorRect(const MTLScissorRect &rect)
{
- [get() setScissorRect:rect];
+ if (mStateCache.scissorRect.valid() && mStateCache.scissorRect.value() == rect)
+ {
+ return *this;
+ }
+
+ if (ANGLE_UNLIKELY(rect.x + rect.width > mRenderPassMaxScissorRect.width ||
+ rect.y + rect.height > mRenderPassMaxScissorRect.height))
+ {
+ WARN() << "Out of bound scissor rect detected " << rect.x << " " << rect.y << " "
+ << rect.width << " " << rect.height;
+ // Out of bound rect will crash the metal runtime, ignore it.
+ return *this;
+ }
+
+ mStateCache.scissorRect = rect;
+
+ mCommands.push(CmdType::SetScissorRect).push(rect);
return *this;
}
RenderCommandEncoder &RenderCommandEncoder::setBlendColor(float r, float g, float b, float a)
{
- [get() setBlendColorRed:r green:g blue:b alpha:a];
+ if (mStateCache.blendColor[0] == r && mStateCache.blendColor[1] == g &&
+ mStateCache.blendColor[2] == b && mStateCache.blendColor[3] == a)
+ {
+ return *this;
+ }
+ mStateCache.blendColor[0] = r;
+ mStateCache.blendColor[1] = g;
+ mStateCache.blendColor[2] = b;
+ mStateCache.blendColor[3] = a;
+
+ mCommands.push(CmdType::SetBlendColor).push(r).push(g).push(b).push(a);
return *this;
}
-RenderCommandEncoder &RenderCommandEncoder::setVertexBuffer(const BufferRef &buffer,
- uint32_t offset,
- uint32_t index)
+RenderCommandEncoder &RenderCommandEncoder::setBuffer(gl::ShaderType shaderType,
+ const BufferRef &buffer,
+ uint32_t offset,
+ uint32_t index)
{
if (index >= kMaxShaderBuffers)
{
@@ -557,113 +1090,140 @@ RenderCommandEncoder &RenderCommandEncoder::setVertexBuffer(const BufferRef &buf
cmdBuffer().setReadDependency(buffer);
- [get() setVertexBuffer:(buffer ? buffer->get() : nil) offset:offset atIndex:index];
+ id<MTLBuffer> mtlBuffer = (buffer ? buffer->get() : nil);
- return *this;
+ return commonSetBuffer(shaderType, mtlBuffer, offset, index);
}
-RenderCommandEncoder &RenderCommandEncoder::setVertexBytes(const uint8_t *bytes,
- size_t size,
- uint32_t index)
+RenderCommandEncoder &RenderCommandEncoder::setBufferForWrite(gl::ShaderType shaderType,
+ const BufferRef &buffer,
+ uint32_t offset,
+ uint32_t index)
{
if (index >= kMaxShaderBuffers)
{
return *this;
}
- [get() setVertexBytes:bytes length:size atIndex:index];
+ cmdBuffer().setWriteDependency(buffer);
+
+ id<MTLBuffer> mtlBuffer = (buffer ? buffer->get() : nil);
- return *this;
+ return commonSetBuffer(shaderType, mtlBuffer, offset, index);
}
-RenderCommandEncoder &RenderCommandEncoder::setVertexSamplerState(id<MTLSamplerState> state,
- float lodMinClamp,
- float lodMaxClamp,
- uint32_t index)
+RenderCommandEncoder &RenderCommandEncoder::commonSetBuffer(gl::ShaderType shaderType,
+ id<MTLBuffer> mtlBuffer,
+ uint32_t offset,
+ uint32_t index)
{
- if (index >= kMaxShaderSamplers)
+ RenderCommandEncoderShaderStates &shaderStates = mStateCache.perShaderStates[shaderType];
+ if (shaderStates.buffers[index] == mtlBuffer)
{
- return *this;
- }
+ if (shaderStates.bufferOffsets[index] == offset)
+ {
+ return *this;
+ }
- [get() setVertexSamplerState:state
- lodMinClamp:lodMinClamp
- lodMaxClamp:lodMaxClamp
- atIndex:index];
+ // If buffer already bound but with different offset, then update the offset only.
+ shaderStates.bufferOffsets[index] = offset;
+
+ mCommands.push(static_cast<CmdType>(mSetBufferOffsetCmds[shaderType]))
+ .push(offset)
+ .push(index);
- return *this;
-}
-RenderCommandEncoder &RenderCommandEncoder::setVertexTexture(const TextureRef &texture,
- uint32_t index)
-{
- if (index >= kMaxShaderSamplers)
- {
return *this;
}
- cmdBuffer().setReadDependency(texture);
- [get() setVertexTexture:(texture ? texture->get() : nil) atIndex:index];
+ shaderStates.buffers[index] = mtlBuffer;
+ shaderStates.bufferOffsets[index] = offset;
+
+ mCommands.push(static_cast<CmdType>(mSetBufferCmds[shaderType]))
+ .push([mtlBuffer ANGLE_MTL_RETAIN])
+ .push(offset)
+ .push(index);
return *this;
}
-RenderCommandEncoder &RenderCommandEncoder::setFragmentBuffer(const BufferRef &buffer,
- uint32_t offset,
- uint32_t index)
+RenderCommandEncoder &RenderCommandEncoder::setBytes(gl::ShaderType shaderType,
+ const uint8_t *bytes,
+ size_t size,
+ uint32_t index)
{
if (index >= kMaxShaderBuffers)
{
return *this;
}
- cmdBuffer().setReadDependency(buffer);
+ RenderCommandEncoderShaderStates &shaderStates = mStateCache.perShaderStates[shaderType];
+ shaderStates.buffers[index] = nil;
+ shaderStates.bufferOffsets[index] = 0;
- [get() setFragmentBuffer:(buffer ? buffer->get() : nil) offset:offset atIndex:index];
+ mCommands.push(static_cast<CmdType>(mSetBytesCmds[shaderType]))
+ .push(size)
+ .push(bytes, size)
+ .push(index);
return *this;
}
-RenderCommandEncoder &RenderCommandEncoder::setFragmentBytes(const uint8_t *bytes,
- size_t size,
- uint32_t index)
+RenderCommandEncoder &RenderCommandEncoder::setSamplerState(gl::ShaderType shaderType,
+ id<MTLSamplerState> state,
+ float lodMinClamp,
+ float lodMaxClamp,
+ uint32_t index)
{
- if (index >= kMaxShaderBuffers)
+ if (index >= kMaxShaderSamplers)
{
return *this;
}
- [get() setFragmentBytes:bytes length:size atIndex:index];
+ RenderCommandEncoderShaderStates &shaderStates = mStateCache.perShaderStates[shaderType];
+ if (shaderStates.samplers[index] == state && shaderStates.samplerLodClamps[index].valid())
+ {
+ const std::pair<float, float> &currentLodClampRange =
+ shaderStates.samplerLodClamps[index].value();
+ if (currentLodClampRange.first == lodMinClamp && currentLodClampRange.second == lodMaxClamp)
+ {
+ return *this;
+ }
+ }
+
+ shaderStates.samplers[index] = state;
+ shaderStates.samplerLodClamps[index] = {lodMinClamp, lodMaxClamp};
+
+ mCommands.push(static_cast<CmdType>(mSetSamplerCmds[shaderType]))
+ .push([state ANGLE_MTL_RETAIN])
+ .push(lodMinClamp)
+ .push(lodMaxClamp)
+ .push(index);
return *this;
}
-
-RenderCommandEncoder &RenderCommandEncoder::setFragmentSamplerState(id<MTLSamplerState> state,
- float lodMinClamp,
- float lodMaxClamp,
- uint32_t index)
+RenderCommandEncoder &RenderCommandEncoder::setTexture(gl::ShaderType shaderType,
+ const TextureRef &texture,
+ uint32_t index)
{
if (index >= kMaxShaderSamplers)
{
return *this;
}
- [get() setFragmentSamplerState:state
- lodMinClamp:lodMinClamp
- lodMaxClamp:lodMaxClamp
- atIndex:index];
+ cmdBuffer().setReadDependency(texture);
- return *this;
-}
-RenderCommandEncoder &RenderCommandEncoder::setFragmentTexture(const TextureRef &texture,
- uint32_t index)
-{
- if (index >= kMaxShaderSamplers)
+ id<MTLTexture> mtlTexture = (texture ? texture->get() : nil);
+
+ RenderCommandEncoderShaderStates &shaderStates = mStateCache.perShaderStates[shaderType];
+ if (shaderStates.textures[index] == mtlTexture)
{
return *this;
}
+ shaderStates.textures[index] = mtlTexture;
- cmdBuffer().setReadDependency(texture);
- [get() setFragmentTexture:(texture ? texture->get() : nil) atIndex:index];
+ mCommands.push(static_cast<CmdType>(mSetTextureCmds[shaderType]))
+ .push([mtlTexture ANGLE_MTL_RETAIN])
+ .push(index);
return *this;
}
@@ -672,7 +1232,14 @@ RenderCommandEncoder &RenderCommandEncoder::draw(MTLPrimitiveType primitiveType,
uint32_t vertexStart,
uint32_t vertexCount)
{
- [get() drawPrimitives:primitiveType vertexStart:vertexStart vertexCount:vertexCount];
+ if (ANGLE_UNLIKELY(!mStateCache.renderPipeline))
+ {
+ // Ignore draw call if there is no render pipeline state set prior to this.
+ return *this;
+ }
+
+ mHasDrawCalls = true;
+ mCommands.push(CmdType::Draw).push(primitiveType).push(vertexStart).push(vertexCount);
return *this;
}
@@ -682,10 +1249,18 @@ RenderCommandEncoder &RenderCommandEncoder::drawInstanced(MTLPrimitiveType primi
uint32_t vertexCount,
uint32_t instances)
{
- [get() drawPrimitives:primitiveType
- vertexStart:vertexStart
- vertexCount:vertexCount
- instanceCount:instances];
+ if (ANGLE_UNLIKELY(!mStateCache.renderPipeline))
+ {
+ // Ignore draw call if there is no render pipeline state set prior to this.
+ return *this;
+ }
+
+ mHasDrawCalls = true;
+ mCommands.push(CmdType::DrawInstanced)
+ .push(primitiveType)
+ .push(vertexStart)
+ .push(vertexCount)
+ .push(instances);
return *this;
}
@@ -696,17 +1271,26 @@ RenderCommandEncoder &RenderCommandEncoder::drawIndexed(MTLPrimitiveType primiti
const BufferRef &indexBuffer,
size_t bufferOffset)
{
- if (!indexBuffer)
+ if (ANGLE_UNLIKELY(!mStateCache.renderPipeline))
{
+ // Ignore draw call if there is no render pipeline state set prior to this.
return *this;
}
+ if (ANGLE_UNLIKELY(!indexBuffer))
+ {
+ return *this;
+ }
+
+ mHasDrawCalls = true;
cmdBuffer().setReadDependency(indexBuffer);
- [get() drawIndexedPrimitives:primitiveType
- indexCount:indexCount
- indexType:indexType
- indexBuffer:indexBuffer->get()
- indexBufferOffset:bufferOffset];
+
+ mCommands.push(CmdType::DrawIndexed)
+ .push(primitiveType)
+ .push(indexCount)
+ .push(indexType)
+ .push([indexBuffer->get() ANGLE_MTL_RETAIN])
+ .push(bufferOffset);
return *this;
}
@@ -718,18 +1302,27 @@ RenderCommandEncoder &RenderCommandEncoder::drawIndexedInstanced(MTLPrimitiveTyp
size_t bufferOffset,
uint32_t instances)
{
- if (!indexBuffer)
+ if (ANGLE_UNLIKELY(!mStateCache.renderPipeline))
+ {
+ // Ignore draw call if there is no render pipeline state set prior to this.
+ return *this;
+ }
+
+ if (ANGLE_UNLIKELY(!indexBuffer))
{
return *this;
}
+ mHasDrawCalls = true;
cmdBuffer().setReadDependency(indexBuffer);
- [get() drawIndexedPrimitives:primitiveType
- indexCount:indexCount
- indexType:indexType
- indexBuffer:indexBuffer->get()
- indexBufferOffset:bufferOffset
- instanceCount:instances];
+
+ mCommands.push(CmdType::DrawIndexedInstanced)
+ .push(primitiveType)
+ .push(indexCount)
+ .push(indexType)
+ .push([indexBuffer->get() ANGLE_MTL_RETAIN])
+ .push(bufferOffset)
+ .push(instances);
return *this;
}
@@ -743,20 +1336,28 @@ RenderCommandEncoder &RenderCommandEncoder::drawIndexedInstancedBaseVertex(
uint32_t instances,
uint32_t baseVertex)
{
- if (!indexBuffer)
+ if (ANGLE_UNLIKELY(!mStateCache.renderPipeline))
+ {
+ // Ignore draw call if there is no render pipeline state set prior to this.
+ return *this;
+ }
+
+ if (ANGLE_UNLIKELY(!indexBuffer))
{
return *this;
}
+ mHasDrawCalls = true;
cmdBuffer().setReadDependency(indexBuffer);
- [get() drawIndexedPrimitives:primitiveType
- indexCount:indexCount
- indexType:indexType
- indexBuffer:indexBuffer->get()
- indexBufferOffset:bufferOffset
- instanceCount:instances
- baseVertex:baseVertex
- baseInstance:0];
+
+ mCommands.push(CmdType::DrawIndexedInstancedBaseVertex)
+ .push(primitiveType)
+ .push(indexCount)
+ .push(indexType)
+ .push([indexBuffer->get() ANGLE_MTL_RETAIN])
+ .push(bufferOffset)
+ .push(instances)
+ .push(baseVertex);
return *this;
}
@@ -811,6 +1412,44 @@ RenderCommandEncoder &RenderCommandEncoder::setStencilStoreAction(MTLStoreAction
return *this;
}
+RenderCommandEncoder &RenderCommandEncoder::setColorLoadAction(MTLLoadAction action,
+ const MTLClearColor &clearValue,
+ uint32_t colorAttachmentIndex)
+{
+ ASSERT(!hasDrawCalls());
+ if (mCachedRenderPassDescObjC.get().colorAttachments[colorAttachmentIndex].texture)
+ {
+ mCachedRenderPassDescObjC.get().colorAttachments[colorAttachmentIndex].loadAction = action;
+ mCachedRenderPassDescObjC.get().colorAttachments[colorAttachmentIndex].clearColor =
+ clearValue;
+ }
+ return *this;
+}
+
+RenderCommandEncoder &RenderCommandEncoder::setDepthLoadAction(MTLLoadAction action,
+ double clearVal)
+{
+ ASSERT(!hasDrawCalls());
+ if (mCachedRenderPassDescObjC.get().depthAttachment.texture)
+ {
+ mCachedRenderPassDescObjC.get().depthAttachment.loadAction = action;
+ mCachedRenderPassDescObjC.get().depthAttachment.clearDepth = clearVal;
+ }
+ return *this;
+}
+
+RenderCommandEncoder &RenderCommandEncoder::setStencilLoadAction(MTLLoadAction action,
+ uint32_t clearVal)
+{
+ ASSERT(!hasDrawCalls());
+ if (mCachedRenderPassDescObjC.get().stencilAttachment.texture)
+ {
+ mCachedRenderPassDescObjC.get().stencilAttachment.loadAction = action;
+ mCachedRenderPassDescObjC.get().stencilAttachment.clearStencil = clearVal;
+ }
+ return *this;
+}
+
// BlitCommandEncoder
BlitCommandEncoder::BlitCommandEncoder(CommandBuffer *cmdBuffer) : CommandEncoder(cmdBuffer, BLIT)
{}
@@ -827,7 +1466,7 @@ BlitCommandEncoder &BlitCommandEncoder::restart()
return *this;
}
- if (!cmdBuffer().valid())
+ if (!cmdBuffer().ready())
{
reset();
return *this;
@@ -876,15 +1515,15 @@ BlitCommandEncoder &BlitCommandEncoder::copyBufferToTexture(const BufferRef &src
return *this;
}
-BlitCommandEncoder &BlitCommandEncoder::copyTexture(const TextureRef &dst,
- uint32_t dstSlice,
- uint32_t dstLevel,
- MTLOrigin dstOrigin,
- MTLSize dstSize,
- const TextureRef &src,
+BlitCommandEncoder &BlitCommandEncoder::copyTexture(const TextureRef &src,
uint32_t srcSlice,
uint32_t srcLevel,
- MTLOrigin srcOrigin)
+ MTLOrigin srcOrigin,
+ MTLSize srcSize,
+ const TextureRef &dst,
+ uint32_t dstSlice,
+ uint32_t dstLevel,
+ MTLOrigin dstOrigin)
{
if (!src || !dst)
{
@@ -897,7 +1536,7 @@ BlitCommandEncoder &BlitCommandEncoder::copyTexture(const TextureRef &dst,
sourceSlice:srcSlice
sourceLevel:srcLevel
sourceOrigin:srcOrigin
- sourceSize:dstSize
+ sourceSize:srcSize
toTexture:dst->get()
destinationSlice:dstSlice
destinationLevel:dstLevel
@@ -928,8 +1567,15 @@ BlitCommandEncoder &BlitCommandEncoder::synchronizeResource(const TextureRef &te
#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
// Only MacOS has separated storage for resource on CPU and GPU and needs explicit
// synchronization
- cmdBuffer().setWriteDependency(texture);
- [get() synchronizeResource:texture->get()];
+ cmdBuffer().setReadDependency(texture);
+ if (texture->get().parentTexture)
+ {
+ [get() synchronizeResource:texture->get().parentTexture];
+ }
+ else
+ {
+ [get() synchronizeResource:texture->get()];
+ }
#endif
return *this;
}
@@ -950,7 +1596,7 @@ ComputeCommandEncoder &ComputeCommandEncoder::restart()
return *this;
}
- if (!cmdBuffer().valid())
+ if (!cmdBuffer().ready())
{
reset();
return *this;
@@ -982,15 +1628,26 @@ ComputeCommandEncoder &ComputeCommandEncoder::setBuffer(const BufferRef &buffer,
return *this;
}
- // NOTE(hqle): Assume compute shader both reads and writes to this buffer for now.
cmdBuffer().setReadDependency(buffer);
- cmdBuffer().setWriteDependency(buffer);
[get() setBuffer:(buffer ? buffer->get() : nil) offset:offset atIndex:index];
return *this;
}
+ComputeCommandEncoder &ComputeCommandEncoder::setBufferForWrite(const BufferRef &buffer,
+ uint32_t offset,
+ uint32_t index)
+{
+ if (index >= kMaxShaderBuffers)
+ {
+ return *this;
+ }
+
+ cmdBuffer().setWriteDependency(buffer);
+ return setBuffer(buffer, offset, index);
+}
+
ComputeCommandEncoder &ComputeCommandEncoder::setBytes(const uint8_t *bytes,
size_t size,
uint32_t index)
@@ -1026,27 +1683,39 @@ ComputeCommandEncoder &ComputeCommandEncoder::setTexture(const TextureRef &textu
return *this;
}
- // NOTE(hqle): Assume compute shader both reads and writes to this texture for now.
cmdBuffer().setReadDependency(texture);
- cmdBuffer().setWriteDependency(texture);
[get() setTexture:(texture ? texture->get() : nil) atIndex:index];
return *this;
}
+ComputeCommandEncoder &ComputeCommandEncoder::setTextureForWrite(const TextureRef &texture,
+ uint32_t index)
+{
+ if (index >= kMaxShaderSamplers)
+ {
+ return *this;
+ }
+
+ cmdBuffer().setWriteDependency(texture);
+ return setTexture(texture, index);
+}
-ComputeCommandEncoder &ComputeCommandEncoder::dispatch(MTLSize threadGroupsPerGrid,
- MTLSize threadsPerGroup)
+ComputeCommandEncoder &ComputeCommandEncoder::dispatch(const MTLSize &threadGroupsPerGrid,
+ const MTLSize &threadsPerGroup)
{
[get() dispatchThreadgroups:threadGroupsPerGrid threadsPerThreadgroup:threadsPerGroup];
return *this;
}
-ComputeCommandEncoder &ComputeCommandEncoder::dispatchNonUniform(MTLSize threadsPerGrid,
- MTLSize threadsPerGroup)
+ComputeCommandEncoder &ComputeCommandEncoder::dispatchNonUniform(const MTLSize &threadsPerGrid,
+ const MTLSize &threadsPerGroup)
{
+#if TARGET_OS_TV
+ UNREACHABLE();
+#else
[get() dispatchThreads:threadsPerGrid threadsPerThreadgroup:threadsPerGroup];
+#endif
return *this;
}
-
}
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.h
index ad58b3204f1..36057ef315d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.h
@@ -35,8 +35,12 @@
#if !__has_feature(objc_arc)
# define ANGLE_MTL_AUTORELEASE autorelease
+# define ANGLE_MTL_RETAIN retain
+# define ANGLE_MTL_RELEASE release
#else
# define ANGLE_MTL_AUTORELEASE self
+# define ANGLE_MTL_RETAIN self
+# define ANGLE_MTL_RELEASE self
#endif
#define ANGLE_MTL_UNUSED __attribute__((unused))
@@ -112,6 +116,9 @@ constexpr uint32_t kUniformBufferSettingOffsetMinAlignment = 4;
#endif
constexpr uint32_t kIndexBufferOffsetAlignment = 4;
+// Front end binding limits
+constexpr uint32_t kMaxGLSamplerBindings = 2 * kMaxShaderSamplers;
+
// Binding index start for vertex data buffers:
constexpr uint32_t kVboBindingIndexStart = 0;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.mm
index 223d78b059a..bb8606b8aba 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_common.mm
@@ -34,4 +34,4 @@ mtl::CommandQueue &Context::cmdQueue()
}
} // namespace mtl
-} // namespace rx \ No newline at end of file
+} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.h
index b2419c8e373..8f0eb31595b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.h
@@ -19,6 +19,19 @@ namespace rx
{
namespace mtl
{
+
+struct SamplerBinding
+{
+ uint32_t textureBinding = 0;
+ uint32_t samplerBinding = 0;
+};
+
+struct TranslatedShaderInfo
+{
+ std::array<SamplerBinding, kMaxGLSamplerBindings> actualSamplerBindings;
+ // NOTE(hqle): UBO, XFB bindings.
+};
+
void GlslangGetShaderSource(const gl::ProgramState &programState,
const gl::ProgramLinkedResources &resources,
gl::ShaderMap<std::string> *shaderSourcesOut,
@@ -30,6 +43,14 @@ angle::Result GlslangGetShaderSpirvCode(ErrorHandler *context,
const gl::ShaderMap<std::string> &shaderSources,
const ShaderMapInterfaceVariableInfoMap &variableInfoMap,
gl::ShaderMap<std::vector<uint32_t>> *shaderCodeOut);
+
+// Translate from SPIR-V code to Metal shader source code.
+angle::Result SpirvCodeToMsl(Context *context,
+ const gl::ProgramState &programState,
+ gl::ShaderMap<std::vector<uint32_t>> *sprivShaderCode,
+ gl::ShaderMap<TranslatedShaderInfo> *mslShaderInfoOut,
+ gl::ShaderMap<std::string> *mslCodeOut);
+
} // namespace mtl
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.mm
index f0768b17217..37048d14714 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_glslang_utils.mm
@@ -8,7 +8,13 @@
#include "libANGLE/renderer/metal/mtl_glslang_utils.h"
+#include <regex>
+
+#include <spirv_msl.hpp>
+
+#include "common/apple_platform_utils.h"
#include "libANGLE/renderer/glslang_wrapper_utils.h"
+#include "libANGLE/renderer/metal/DisplayMtl.h"
namespace rx
{
@@ -16,6 +22,17 @@ namespace mtl
{
namespace
{
+
+constexpr uint32_t kGlslangTextureDescSet = 0;
+constexpr uint32_t kGlslangDefaultUniformDescSet = 1;
+constexpr uint32_t kGlslangDriverUniformsDescSet = 2;
+constexpr uint32_t kGlslangShaderResourceDescSet = 3;
+
+// Original mapping of front end from sampler name to multiple sampler slots (in form of
+// slot:count pair)
+using OriginalSamplerBindingMap =
+ std::unordered_map<std::string, std::vector<std::pair<uint32_t, uint32_t>>>;
+
angle::Result HandleError(ErrorHandler *context, GlslangError)
{
ANGLE_MTL_TRY(context, false);
@@ -24,13 +41,14 @@ angle::Result HandleError(ErrorHandler *context, GlslangError)
void ResetGlslangProgramInterfaceInfo(GlslangProgramInterfaceInfo *programInterfaceInfo)
{
- programInterfaceInfo->uniformsAndXfbDescriptorSetIndex = kDefaultUniformsBindingIndex;
- programInterfaceInfo->currentUniformBindingIndex = 0;
- programInterfaceInfo->textureDescriptorSetIndex = 0;
- programInterfaceInfo->currentTextureBindingIndex = 0;
- programInterfaceInfo->driverUniformsDescriptorSetIndex = kDriverUniformsBindingIndex;
- // NOTE(hqle): Unused for now, until we support ES 3.0
- programInterfaceInfo->shaderResourceDescriptorSetIndex = -1;
+ // These are binding options passed to glslang. The actual binding might be changed later
+ // by spirv-cross.
+ programInterfaceInfo->uniformsAndXfbDescriptorSetIndex = kGlslangDefaultUniformDescSet;
+ programInterfaceInfo->currentUniformBindingIndex = 0;
+ programInterfaceInfo->textureDescriptorSetIndex = kGlslangTextureDescSet;
+ programInterfaceInfo->currentTextureBindingIndex = 0;
+ programInterfaceInfo->driverUniformsDescriptorSetIndex = kGlslangDriverUniformsDescSet;
+ programInterfaceInfo->shaderResourceDescriptorSetIndex = kGlslangShaderResourceDescSet;
programInterfaceInfo->currentShaderResourceBindingIndex = 0;
programInterfaceInfo->locationsUsedForXfbExtension = 0;
@@ -43,6 +61,165 @@ GlslangSourceOptions CreateSourceOptions()
GlslangSourceOptions options;
return options;
}
+
+spv::ExecutionModel ShaderTypeToSpvExecutionModel(gl::ShaderType shaderType)
+{
+ switch (shaderType)
+ {
+ case gl::ShaderType::Vertex:
+ return spv::ExecutionModelVertex;
+ case gl::ShaderType::Fragment:
+ return spv::ExecutionModelFragment;
+ default:
+ UNREACHABLE();
+ return spv::ExecutionModelMax;
+ }
+}
+
+void BindBuffers(spirv_cross::CompilerMSL *compiler,
+ const spirv_cross::SmallVector<spirv_cross::Resource> &resources,
+ gl::ShaderType shaderType)
+{
+ auto &compilerMsl = *compiler;
+
+ for (const spirv_cross::Resource &resource : resources)
+ {
+ spirv_cross::MSLResourceBinding resBinding;
+ resBinding.stage = ShaderTypeToSpvExecutionModel(shaderType);
+
+ if (compilerMsl.has_decoration(resource.id, spv::DecorationDescriptorSet))
+ {
+ resBinding.desc_set =
+ compilerMsl.get_decoration(resource.id, spv::DecorationDescriptorSet);
+ }
+
+ if (!compilerMsl.has_decoration(resource.id, spv::DecorationBinding))
+ {
+ continue;
+ }
+
+ resBinding.binding = compilerMsl.get_decoration(resource.id, spv::DecorationBinding);
+
+ uint32_t bindingPoint = 0;
+ // NOTE(hqle): We use separate discrete binding point for now, in future, we should use
+ // one argument buffer for each descriptor set.
+ switch (resBinding.desc_set)
+ {
+ case kGlslangTextureDescSet:
+ // Texture binding point is ignored. We let spirv-cross automatically assign it and
+ // retrieve it later
+ continue;
+ case kGlslangDriverUniformsDescSet:
+ bindingPoint = mtl::kDriverUniformsBindingIndex;
+ break;
+ case kGlslangDefaultUniformDescSet:
+ // NOTE(hqle): Properly handle transform feedbacks binding.
+ if (shaderType != gl::ShaderType::Vertex || resBinding.binding == 0)
+ {
+ bindingPoint = mtl::kDefaultUniformsBindingIndex;
+ }
+ else
+ {
+ continue;
+ }
+ break;
+ default:
+ // We don't support this descriptor set.
+ continue;
+ }
+
+ resBinding.msl_buffer = bindingPoint;
+
+ compilerMsl.add_msl_resource_binding(resBinding);
+ } // for (resources)
+}
+
+void GetAssignedSamplerBindings(const spirv_cross::CompilerMSL &compilerMsl,
+ const OriginalSamplerBindingMap &originalBindings,
+ std::array<SamplerBinding, mtl::kMaxGLSamplerBindings> *bindings)
+{
+ for (const spirv_cross::Resource &resource : compilerMsl.get_shader_resources().sampled_images)
+ {
+ uint32_t descriptorSet = 0;
+ if (compilerMsl.has_decoration(resource.id, spv::DecorationDescriptorSet))
+ {
+ descriptorSet = compilerMsl.get_decoration(resource.id, spv::DecorationDescriptorSet);
+ }
+
+ // We already assigned descriptor set 0 to textures. Just to double check.
+ ASSERT(descriptorSet == kGlslangTextureDescSet);
+ ASSERT(compilerMsl.has_decoration(resource.id, spv::DecorationBinding));
+
+ uint32_t actualTextureSlot = compilerMsl.get_automatic_msl_resource_binding(resource.id);
+ uint32_t actualSamplerSlot =
+ compilerMsl.get_automatic_msl_resource_binding_secondary(resource.id);
+
+ // Assign sequential index for subsequent array elements
+ const std::vector<std::pair<uint32_t, uint32_t>> &resOrignalBindings =
+ originalBindings.at(resource.name);
+ uint32_t currentTextureSlot = actualTextureSlot;
+ uint32_t currentSamplerSlot = actualSamplerSlot;
+ for (const std::pair<uint32_t, uint32_t> &originalBindingRange : resOrignalBindings)
+ {
+ SamplerBinding &actualBinding = bindings->at(originalBindingRange.first);
+ actualBinding.textureBinding = currentTextureSlot;
+ actualBinding.samplerBinding = currentSamplerSlot;
+
+ currentTextureSlot += originalBindingRange.second;
+ currentSamplerSlot += originalBindingRange.second;
+ }
+ }
+}
+
+// Customized spirv-cross compiler
+class SpirvToMslCompiler : public spirv_cross::CompilerMSL
+{
+ public:
+ SpirvToMslCompiler(std::vector<uint32_t> &&spriv) : spirv_cross::CompilerMSL(spriv) {}
+
+ std::string compileEx(gl::ShaderType shaderType,
+ const OriginalSamplerBindingMap &originalSamplerBindings,
+ TranslatedShaderInfo *mslShaderInfoOut)
+ {
+ spirv_cross::CompilerMSL::Options compOpt;
+
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+ compOpt.platform = spirv_cross::CompilerMSL::Options::macOS;
+#else
+ compOpt.platform = spirv_cross::CompilerMSL::Options::iOS;
+#endif
+
+ if (ANGLE_APPLE_AVAILABLE_XCI(10.14, 13.0, 12))
+ {
+ // Use Metal 2.1
+ compOpt.set_msl_version(2, 1);
+ }
+ else
+ {
+ // Always use at least Metal 2.0.
+ compOpt.set_msl_version(2);
+ }
+
+ compOpt.pad_fragment_output_components = true;
+
+ // Tell spirv-cross to map default & driver uniform blocks as we want
+ spirv_cross::ShaderResources mslRes = spirv_cross::CompilerMSL::get_shader_resources();
+
+ BindBuffers(this, mslRes.uniform_buffers, shaderType);
+
+ spirv_cross::CompilerMSL::set_msl_options(compOpt);
+
+ // Actual compilation
+ std::string translatedMsl = spirv_cross::CompilerMSL::compile();
+
+ // Retrieve automatic texture slot assignments
+ GetAssignedSamplerBindings(*this, originalSamplerBindings,
+ &mslShaderInfoOut->actualSamplerBindings);
+
+ return translatedMsl;
+ }
+};
+
} // namespace
void GlslangGetShaderSource(const gl::ProgramState &programState,
@@ -69,5 +246,48 @@ angle::Result GlslangGetShaderSpirvCode(ErrorHandler *context,
[context](GlslangError error) { return HandleError(context, error); }, linkedShaderStages,
glCaps, shaderSources, variableInfoMap, shaderCodeOut);
}
+
+angle::Result SpirvCodeToMsl(Context *context,
+ const gl::ProgramState &programState,
+ gl::ShaderMap<std::vector<uint32_t>> *sprivShaderCode,
+ gl::ShaderMap<TranslatedShaderInfo> *mslShaderInfoOut,
+ gl::ShaderMap<std::string> *mslCodeOut)
+{
+ // Retrieve original sampler bindings produced by front end.
+ OriginalSamplerBindingMap originalSamplerBindings;
+ const std::vector<gl::SamplerBinding> &samplerBindings = programState.getSamplerBindings();
+ const std::vector<gl::LinkedUniform> &uniforms = programState.getUniforms();
+
+ for (uint32_t textureIndex = 0; textureIndex < samplerBindings.size(); ++textureIndex)
+ {
+ const gl::SamplerBinding &samplerBinding = samplerBindings[textureIndex];
+ uint32_t uniformIndex = programState.getUniformIndexFromSamplerIndex(textureIndex);
+ const gl::LinkedUniform &samplerUniform = uniforms[uniformIndex];
+ std::string mappedSamplerName = GlslangGetMappedSamplerName(samplerUniform.name);
+ originalSamplerBindings[mappedSamplerName].push_back(
+ {textureIndex, static_cast<uint32_t>(samplerBinding.boundTextureUnits.size())});
+ }
+
+ // Do the actual translation
+ for (gl::ShaderType shaderType : gl::AllGLES2ShaderTypes())
+ {
+ std::vector<uint32_t> &sprivCode = sprivShaderCode->at(shaderType);
+ SpirvToMslCompiler compilerMsl(std::move(sprivCode));
+
+ // NOTE(hqle): spirv-cross uses exceptions to report error, what should we do here
+ // in case of error?
+ std::string translatedMsl = compilerMsl.compileEx(shaderType, originalSamplerBindings,
+ &mslShaderInfoOut->at(shaderType));
+ if (translatedMsl.size() == 0)
+ {
+ ANGLE_MTL_CHECK(context, false, GL_INVALID_OPERATION);
+ }
+
+ mslCodeOut->at(shaderType) = std::move(translatedMsl);
+ } // for (gl::ShaderType shaderType
+
+ return angle::Result::Continue;
+}
+
} // namespace mtl
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.h
index f8b0f1a87ea..e93d0211f53 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.h
@@ -62,6 +62,18 @@ struct TriFanFromArrayParams
uint32_t dstOffset;
};
+struct IndexConversionParams
+{
+
+ gl::DrawElementsType srcType;
+ uint32_t indexCount;
+ const BufferRef &srcBuffer;
+ uint32_t srcOffset;
+ const BufferRef &dstBuffer;
+ // Must be multiples of kIndexBufferOffsetAlignment
+ uint32_t dstOffset;
+};
+
struct IndexGenerationParams
{
gl::DrawElementsType srcType;
@@ -71,94 +83,116 @@ struct IndexGenerationParams
uint32_t dstOffset;
};
-class RenderUtils : public Context, angle::NonCopyable
+// Utils class for clear & blitting
+class ClearUtils
{
public:
- RenderUtils(DisplayMtl *display);
- ~RenderUtils() override;
+ ClearUtils();
- angle::Result initialize();
void onDestroy();
// Clear current framebuffer
- void clearWithDraw(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const ClearRectParams &params);
- // Blit texture data to current framebuffer
- void blitWithDraw(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const BlitParams &params);
-
- angle::Result convertIndexBuffer(const gl::Context *context,
- gl::DrawElementsType srcType,
- uint32_t indexCount,
- const BufferRef &srcBuffer,
- uint32_t srcOffset,
- const BufferRef &dstBuffer,
- // Must be multiples of kIndexBufferOffsetAlignment
- uint32_t dstOffset);
- angle::Result generateTriFanBufferFromArrays(const gl::Context *context,
- const TriFanFromArrayParams &params);
- angle::Result generateTriFanBufferFromElementsArray(const gl::Context *context,
- const IndexGenerationParams &params);
-
- angle::Result generateLineLoopLastSegment(const gl::Context *context,
- uint32_t firstVertex,
- uint32_t lastVertex,
- const BufferRef &dstBuffer,
- uint32_t dstOffset);
- angle::Result generateLineLoopLastSegmentFromElementsArray(const gl::Context *context,
- const IndexGenerationParams &params);
-
- angle::Result dispatchCompute(const gl::Context *context,
- ComputeCommandEncoder *encoder,
- id<MTLComputePipelineState> pipelineState,
- size_t numThreads);
+ angle::Result clearWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const ClearRectParams &params);
private:
- // override ErrorHandler
- void handleError(GLenum error,
- const char *file,
- const char *function,
- unsigned int line) override;
- void handleError(NSError *_Nullable error,
- const char *file,
- const char *function,
- unsigned int line) override;
-
- angle::Result initShaderLibrary();
- void initClearResources();
- void initBlitResources();
+ // Defer loading of render pipeline state cache.
+ void ensureRenderPipelineStateCacheInitialized(ContextMtl *ctx);
void setupClearWithDraw(const gl::Context *context,
RenderCommandEncoder *cmdEncoder,
const ClearRectParams &params);
- void setupBlitWithDraw(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const BlitParams &params);
id<MTLDepthStencilState> getClearDepthStencilState(const gl::Context *context,
const ClearRectParams &params);
id<MTLRenderPipelineState> getClearRenderPipelineState(const gl::Context *context,
RenderCommandEncoder *cmdEncoder,
const ClearRectParams &params);
+
+ // Render pipeline cache for clear with draw:
+ RenderPipelineCache mClearRenderPipelineCache;
+};
+
+class ColorBlitUtils
+{
+ public:
+ ColorBlitUtils();
+
+ void onDestroy();
+
+ // Blit texture data to current framebuffer
+ angle::Result blitWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const BlitParams &params);
+
+ private:
+ // Defer loading of render pipeline state cache.
+ void ensureRenderPipelineStateCacheInitialized(ContextMtl *ctx,
+ int alphaPremultiplyType,
+ RenderPipelineCache *cacheOut);
+
+ void setupBlitWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const BlitParams &params);
+
id<MTLRenderPipelineState> getBlitRenderPipelineState(const gl::Context *context,
RenderCommandEncoder *cmdEncoder,
const BlitParams &params);
- void setupBlitWithDrawUniformData(RenderCommandEncoder *cmdEncoder, const BlitParams &params);
- void setupDrawCommonStates(RenderCommandEncoder *cmdEncoder);
+ RenderPipelineCache mBlitRenderPipelineCache;
+ RenderPipelineCache mBlitPremultiplyAlphaRenderPipelineCache;
+ RenderPipelineCache mBlitUnmultiplyAlphaRenderPipelineCache;
+};
+// util class for generating index buffer
+class IndexGeneratorUtils
+{
+ public:
+ void onDestroy();
+
+ // Convert index buffer.
+ angle::Result convertIndexBufferGPU(ContextMtl *contextMtl,
+ const IndexConversionParams &params);
+ // Generate triangle fan index buffer for glDrawArrays().
+ angle::Result generateTriFanBufferFromArrays(ContextMtl *contextMtl,
+ const TriFanFromArrayParams &params);
+ // Generate triangle fan index buffer for glDrawElements().
+ angle::Result generateTriFanBufferFromElementsArray(ContextMtl *contextMtl,
+ const IndexGenerationParams &params);
+
+ // Generate line loop's last segment index buffer for glDrawArrays().
+ angle::Result generateLineLoopLastSegment(ContextMtl *contextMtl,
+ uint32_t firstVertex,
+ uint32_t lastVertex,
+ const BufferRef &dstBuffer,
+ uint32_t dstOffset);
+ // Generate line loop's last segment index buffer for glDrawElements().
+ angle::Result generateLineLoopLastSegmentFromElementsArray(ContextMtl *contextMtl,
+ const IndexGenerationParams &params);
+
+ private:
+ // Index generator compute pipelines:
+ // - First dimension: index type.
+ // - second dimension: source buffer's offset is aligned or not.
+ using IndexConversionPipelineArray =
+ std::array<std::array<AutoObjCPtr<id<MTLComputePipelineState>>, 2>,
+ angle::EnumSize<gl::DrawElementsType>()>;
+
+ // Get compute pipeline to convert index between buffers.
AutoObjCPtr<id<MTLComputePipelineState>> getIndexConversionPipeline(
- ContextMtl *context,
+ ContextMtl *contextMtl,
gl::DrawElementsType srcType,
uint32_t srcOffset);
+ // Get compute pipeline to generate tri fan index for glDrawElements().
AutoObjCPtr<id<MTLComputePipelineState>> getTriFanFromElemArrayGeneratorPipeline(
- ContextMtl *context,
+ ContextMtl *contextMtl,
gl::DrawElementsType srcType,
uint32_t srcOffset);
- angle::Result ensureTriFanFromArrayGeneratorInitialized(ContextMtl *context);
+ // Defer loading of compute pipeline to generate tri fan index for glDrawArrays().
+ void ensureTriFanFromArrayGeneratorInitialized(ContextMtl *contextMtl);
+
angle::Result generateTriFanBufferFromElementsArrayGPU(
- const gl::Context *context,
+ ContextMtl *contextMtl,
gl::DrawElementsType srcType,
uint32_t indexCount,
const BufferRef &srcBuffer,
@@ -166,33 +200,69 @@ class RenderUtils : public Context, angle::NonCopyable
const BufferRef &dstBuffer,
// Must be multiples of kIndexBufferOffsetAlignment
uint32_t dstOffset);
- angle::Result generateTriFanBufferFromElementsArrayCPU(const gl::Context *context,
+ angle::Result generateTriFanBufferFromElementsArrayCPU(ContextMtl *contextMtl,
const IndexGenerationParams &params);
+
angle::Result generateLineLoopLastSegmentFromElementsArrayCPU(
- const gl::Context *context,
+ ContextMtl *contextMtl,
const IndexGenerationParams &params);
- AutoObjCPtr<id<MTLLibrary>> mDefaultShaders = nil;
- RenderPipelineCache mClearRenderPipelineCache;
- RenderPipelineCache mBlitRenderPipelineCache;
- RenderPipelineCache mBlitPremultiplyAlphaRenderPipelineCache;
- RenderPipelineCache mBlitUnmultiplyAlphaRenderPipelineCache;
+ IndexConversionPipelineArray mIndexConversionPipelineCaches;
- struct IndexConvesionPipelineCacheKey
- {
- gl::DrawElementsType srcType;
- bool srcBufferOffsetAligned;
-
- bool operator==(const IndexConvesionPipelineCacheKey &other) const;
- bool operator<(const IndexConvesionPipelineCacheKey &other) const;
- };
- std::map<IndexConvesionPipelineCacheKey, AutoObjCPtr<id<MTLComputePipelineState>>>
- mIndexConversionPipelineCaches;
- std::map<IndexConvesionPipelineCacheKey, AutoObjCPtr<id<MTLComputePipelineState>>>
- mTriFanFromElemArrayGeneratorPipelineCaches;
+ IndexConversionPipelineArray mTriFanFromElemArrayGeneratorPipelineCaches;
AutoObjCPtr<id<MTLComputePipelineState>> mTriFanFromArraysGeneratorPipeline;
};
+// RenderUtils: container class of various util classes above
+class RenderUtils : public Context, angle::NonCopyable
+{
+ public:
+ RenderUtils(DisplayMtl *display);
+ ~RenderUtils() override;
+
+ angle::Result initialize();
+ void onDestroy();
+
+ // Clear current framebuffer
+ angle::Result clearWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const ClearRectParams &params);
+ // Blit texture data to current framebuffer
+ angle::Result blitWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const BlitParams &params);
+
+ // See IndexGeneratorUtils
+ angle::Result convertIndexBufferGPU(ContextMtl *contextMtl,
+ const IndexConversionParams &params);
+ angle::Result generateTriFanBufferFromArrays(ContextMtl *contextMtl,
+ const TriFanFromArrayParams &params);
+ angle::Result generateTriFanBufferFromElementsArray(ContextMtl *contextMtl,
+ const IndexGenerationParams &params);
+ angle::Result generateLineLoopLastSegment(ContextMtl *contextMtl,
+ uint32_t firstVertex,
+ uint32_t lastVertex,
+ const BufferRef &dstBuffer,
+ uint32_t dstOffset);
+ angle::Result generateLineLoopLastSegmentFromElementsArray(ContextMtl *contextMtl,
+ const IndexGenerationParams &params);
+
+ private:
+ // override ErrorHandler
+ void handleError(GLenum error,
+ const char *file,
+ const char *function,
+ unsigned int line) override;
+ void handleError(NSError *_Nullable error,
+ const char *file,
+ const char *function,
+ unsigned int line) override;
+
+ ClearUtils mClearUtils;
+ ColorBlitUtils mColorBlitUtils;
+ IndexGeneratorUtils mIndexUtils;
+};
+
} // namespace mtl
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.mm
index 3a52b354cd5..54bd0526a7c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.mm
@@ -17,8 +17,6 @@
#include "libANGLE/renderer/metal/DisplayMtl.h"
#include "libANGLE/renderer/metal/mtl_common.h"
#include "libANGLE/renderer/metal/mtl_utils.h"
-#include "libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc"
-#include "libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc"
namespace rx
{
@@ -32,6 +30,7 @@ namespace
#define SOURCE_IDX_IS_U16_CONSTANT_NAME @"kSourceIndexIsU16"
#define SOURCE_IDX_IS_U32_CONSTANT_NAME @"kSourceIndexIsU32"
+// See libANGLE/renderer/metal/shaders/clear.metal
struct ClearParamsUniform
{
float clearColor[4];
@@ -39,16 +38,16 @@ struct ClearParamsUniform
float padding[3];
};
+// See libANGLE/renderer/metal/shaders/blit.metal
struct BlitParamsUniform
{
- // 0: lower left, 1: lower right, 2: upper left, 3: upper right
- float srcTexCoords[4][2];
+ // 0: lower left, 1: lower right, 2: upper left
+ float srcTexCoords[3][2];
int srcLevel = 0;
uint8_t srcLuminance = 0; // source texture is luminance texture
uint8_t dstFlipY = 0;
uint8_t dstLuminance = 0; // dest texture is luminace
- uint8_t padding1;
- float padding2[2];
+ uint8_t padding;
};
struct IndexConversionUniform
@@ -58,6 +57,40 @@ struct IndexConversionUniform
uint32_t padding[2];
};
+void GetBlitTexCoords(uint32_t srcWidth,
+ uint32_t srcHeight,
+ const gl::Rectangle &srcRect,
+ bool srcYFlipped,
+ bool unpackFlipY,
+ float *u0,
+ float *v0,
+ float *u1,
+ float *v1)
+{
+ int x0 = srcRect.x0(); // left
+ int x1 = srcRect.x1(); // right
+ int y0 = srcRect.y0(); // lower
+ int y1 = srcRect.y1(); // upper
+ if (srcYFlipped)
+ {
+ // If source's Y has been flipped, such as default framebuffer, then adjust the real source
+ // rectangle.
+ y0 = srcHeight - y1;
+ y1 = y0 + srcRect.height;
+ std::swap(y0, y1);
+ }
+
+ if (unpackFlipY)
+ {
+ std::swap(y0, y1);
+ }
+
+ *u0 = static_cast<float>(x0) / srcWidth;
+ *u1 = static_cast<float>(x1) / srcWidth;
+ *v0 = static_cast<float>(y0) / srcHeight;
+ *v1 = static_cast<float>(y1) / srcHeight;
+}
+
template <typename T>
angle::Result GenTriFanFromClientElements(ContextMtl *contextMtl,
GLsizei count,
@@ -98,58 +131,186 @@ void GetFirstLastIndicesFromClientElements(GLsizei count,
memcpy(lastOut, indices + count - 1, sizeof(indices[0]));
}
-} // namespace
+ANGLE_INLINE
+void EnsureComputePipelineInitialized(DisplayMtl *display,
+ NSString *functionName,
+ AutoObjCPtr<id<MTLComputePipelineState>> *pipelineOut)
+{
+ AutoObjCPtr<id<MTLComputePipelineState>> &pipeline = *pipelineOut;
+ if (pipeline)
+ {
+ return;
+ }
+
+ ANGLE_MTL_OBJC_SCOPE
+ {
+ id<MTLDevice> metalDevice = display->getMetalDevice();
+ id<MTLLibrary> shaderLib = display->getDefaultShadersLib();
+ NSError *err = nil;
+ id<MTLFunction> shader = [shaderLib newFunctionWithName:functionName];
+
+ [shader ANGLE_MTL_AUTORELEASE];
+
+ pipeline = [[metalDevice newComputePipelineStateWithFunction:shader
+ error:&err] ANGLE_MTL_AUTORELEASE];
+ if (err && !pipeline)
+ {
+ ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
+ }
-bool RenderUtils::IndexConvesionPipelineCacheKey::operator==(
- const IndexConvesionPipelineCacheKey &other) const
+ ASSERT(pipeline);
+ }
+}
+
+ANGLE_INLINE
+void EnsureSpecializedComputePipelineInitialized(
+ DisplayMtl *display,
+ NSString *functionName,
+ MTLFunctionConstantValues *funcConstants,
+ AutoObjCPtr<id<MTLComputePipelineState>> *pipelineOut)
{
- return srcType == other.srcType && srcBufferOffsetAligned == other.srcBufferOffsetAligned;
+ if (!funcConstants)
+ {
+ // Non specialized constants provided, use default creation function.
+ EnsureComputePipelineInitialized(display, functionName, pipelineOut);
+ return;
+ }
+
+ AutoObjCPtr<id<MTLComputePipelineState>> &pipeline = *pipelineOut;
+ if (pipeline)
+ {
+ return;
+ }
+
+ ANGLE_MTL_OBJC_SCOPE
+ {
+ id<MTLDevice> metalDevice = display->getMetalDevice();
+ id<MTLLibrary> shaderLib = display->getDefaultShadersLib();
+ NSError *err = nil;
+
+ id<MTLFunction> shader = [shaderLib newFunctionWithName:functionName
+ constantValues:funcConstants
+ error:&err];
+ if (err && !shader)
+ {
+ ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
+ }
+ ASSERT([shader ANGLE_MTL_AUTORELEASE]);
+
+ pipeline = [[metalDevice newComputePipelineStateWithFunction:shader
+ error:&err] ANGLE_MTL_AUTORELEASE];
+ if (err && !pipeline)
+ {
+ ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
+ }
+ ASSERT(pipeline);
+ }
}
-bool RenderUtils::IndexConvesionPipelineCacheKey::operator<(
- const IndexConvesionPipelineCacheKey &other) const
+
+template <typename T>
+void ClearPipelineStateArray(T *pipelineCacheArray)
{
- if (!srcBufferOffsetAligned && other.srcBufferOffsetAligned)
+ for (auto &pipeline : *pipelineCacheArray)
{
- return true;
+ pipeline = nil;
}
- if (srcBufferOffsetAligned && !other.srcBufferOffsetAligned)
+}
+
+template <typename T>
+void ClearPipelineState2DArray(T *pipelineCache2DArray)
+{
+ for (auto &level1Array : *pipelineCache2DArray)
{
- return false;
+ ClearPipelineStateArray(&level1Array);
}
- return static_cast<int>(srcType) < static_cast<int>(other.srcType);
}
-RenderUtils::RenderUtils(DisplayMtl *display) : Context(display) {}
+void DispatchCompute(ContextMtl *contextMtl,
+ ComputeCommandEncoder *cmdEncoder,
+ id<MTLComputePipelineState> pipelineState,
+ size_t numThreads)
+{
+ NSUInteger w = std::min<NSUInteger>(pipelineState.threadExecutionWidth, numThreads);
+ MTLSize threadsPerThreadgroup = MTLSizeMake(w, 1, 1);
-RenderUtils::~RenderUtils() {}
+ if (contextMtl->getDisplay()->getFeatures().hasNonUniformDispatch.enabled)
+ {
+ MTLSize threads = MTLSizeMake(numThreads, 1, 1);
+ cmdEncoder->dispatchNonUniform(threads, threadsPerThreadgroup);
+ }
+ else
+ {
+ MTLSize groups = MTLSizeMake((numThreads + w - 1) / w, 1, 1);
+ cmdEncoder->dispatch(groups, threadsPerThreadgroup);
+ }
+}
-angle::Result RenderUtils::initialize()
+void SetupFullscreenDrawCommonStates(RenderCommandEncoder *cmdEncoder)
+{
+ cmdEncoder->setCullMode(MTLCullModeNone);
+ cmdEncoder->setTriangleFillMode(MTLTriangleFillModeFill);
+ cmdEncoder->setDepthBias(0, 0, 0);
+}
+
+void SetupBlitWithDrawUniformData(RenderCommandEncoder *cmdEncoder, const BlitParams &params)
{
- auto re = initShaderLibrary();
- if (re != angle::Result::Continue)
+
+ BlitParamsUniform uniformParams;
+ uniformParams.dstFlipY = params.dstFlipY ? 1 : 0;
+ uniformParams.srcLevel = params.srcLevel;
+ uniformParams.dstLuminance = params.dstLuminance ? 1 : 0;
+
+ // Compute source texCoords
+ uint32_t srcWidth = 0, srcHeight = 0;
+ if (params.src)
+ {
+ srcWidth = params.src->width(params.srcLevel);
+ srcHeight = params.src->height(params.srcLevel);
+ }
+ else
{
- return re;
+ UNREACHABLE();
}
- initClearResources();
- initBlitResources();
+ float u0, v0, u1, v1;
+ GetBlitTexCoords(srcWidth, srcHeight, params.srcRect, params.srcYFlipped, params.unpackFlipY,
+ &u0, &v0, &u1, &v1);
- return angle::Result::Continue;
+ float du = u1 - u0;
+ float dv = v1 - v0;
+
+ // lower left
+ uniformParams.srcTexCoords[0][0] = u0;
+ uniformParams.srcTexCoords[0][1] = v0;
+
+ // lower right
+ uniformParams.srcTexCoords[1][0] = u1 + du;
+ uniformParams.srcTexCoords[1][1] = v0;
+
+ // upper left
+ uniformParams.srcTexCoords[2][0] = u0;
+ uniformParams.srcTexCoords[2][1] = v1 + dv;
+
+ cmdEncoder->setVertexData(uniformParams, 0);
+ cmdEncoder->setFragmentData(uniformParams, 0);
}
+} // namespace
-void RenderUtils::onDestroy()
-{
- mDefaultShaders = nil;
+// RenderUtils implementation
+RenderUtils::RenderUtils(DisplayMtl *display) : Context(display) {}
- mClearRenderPipelineCache.clear();
- mBlitRenderPipelineCache.clear();
- mBlitPremultiplyAlphaRenderPipelineCache.clear();
- mBlitUnmultiplyAlphaRenderPipelineCache.clear();
+RenderUtils::~RenderUtils() {}
- mIndexConversionPipelineCaches.clear();
- mTriFanFromElemArrayGeneratorPipelineCaches.clear();
+angle::Result RenderUtils::initialize()
+{
+ return angle::Result::Continue;
+}
- mTriFanFromArraysGeneratorPipeline = nil;
+void RenderUtils::onDestroy()
+{
+ mIndexUtils.onDestroy();
+ mClearUtils.onDestroy();
+ mColorBlitUtils.onDestroy();
}
// override ErrorHandler
@@ -176,125 +337,146 @@ void RenderUtils::handleError(NSError *nserror,
<< nserror.localizedDescription.UTF8String;
}
-angle::Result RenderUtils::initShaderLibrary()
+// Clear current framebuffer
+angle::Result RenderUtils::clearWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const ClearRectParams &params)
{
- AutoObjCObj<NSError> err = nil;
+ return mClearUtils.clearWithDraw(context, cmdEncoder, params);
+}
-#if defined(ANGLE_MTL_DEBUG_INTERNAL_SHADERS)
- mDefaultShaders = CreateShaderLibrary(getDisplay()->getMetalDevice(), default_metallib_src,
- sizeof(default_metallib_src), &err);
-#else
- mDefaultShaders =
- CreateShaderLibraryFromBinary(getDisplay()->getMetalDevice(), compiled_default_metallib,
- compiled_default_metallib_len, &err);
-#endif
+// Blit texture data to current framebuffer
+angle::Result RenderUtils::blitWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const BlitParams &params)
+{
+ return mColorBlitUtils.blitWithDraw(context, cmdEncoder, params);
+}
- if (err && !mDefaultShaders)
- {
- ANGLE_MTL_CHECK(this, false, err.get());
- return angle::Result::Stop;
- }
+angle::Result RenderUtils::convertIndexBufferGPU(ContextMtl *contextMtl,
+ const IndexConversionParams &params)
+{
+ return mIndexUtils.convertIndexBufferGPU(contextMtl, params);
+}
+angle::Result RenderUtils::generateTriFanBufferFromArrays(ContextMtl *contextMtl,
+ const TriFanFromArrayParams &params)
+{
+ return mIndexUtils.generateTriFanBufferFromArrays(contextMtl, params);
+}
+angle::Result RenderUtils::generateTriFanBufferFromElementsArray(
+ ContextMtl *contextMtl,
+ const IndexGenerationParams &params)
+{
+ return mIndexUtils.generateTriFanBufferFromElementsArray(contextMtl, params);
+}
- return angle::Result::Continue;
+angle::Result RenderUtils::generateLineLoopLastSegment(ContextMtl *contextMtl,
+ uint32_t firstVertex,
+ uint32_t lastVertex,
+ const BufferRef &dstBuffer,
+ uint32_t dstOffset)
+{
+ return mIndexUtils.generateLineLoopLastSegment(contextMtl, firstVertex, lastVertex, dstBuffer,
+ dstOffset);
}
+angle::Result RenderUtils::generateLineLoopLastSegmentFromElementsArray(
+ ContextMtl *contextMtl,
+ const IndexGenerationParams &params)
+{
+ return mIndexUtils.generateLineLoopLastSegmentFromElementsArray(contextMtl, params);
+}
+
+// ClearUtils implementation
+ClearUtils::ClearUtils() = default;
-void RenderUtils::initClearResources()
+void ClearUtils::onDestroy()
{
- ANGLE_MTL_OBJC_SCOPE
- {
- // Shader pipeline
- mClearRenderPipelineCache.setVertexShader(
- this, [[mDefaultShaders.get() newFunctionWithName:@"clearVS"] ANGLE_MTL_AUTORELEASE]);
- mClearRenderPipelineCache.setFragmentShader(
- this, [[mDefaultShaders.get() newFunctionWithName:@"clearFS"] ANGLE_MTL_AUTORELEASE]);
- }
+ mClearRenderPipelineCache.clear();
}
-void RenderUtils::initBlitResources()
+void ClearUtils::ensureRenderPipelineStateCacheInitialized(ContextMtl *ctx)
{
ANGLE_MTL_OBJC_SCOPE
{
- auto shaderLib = mDefaultShaders.get();
- auto vertexShader = [[shaderLib newFunctionWithName:@"blitVS"] ANGLE_MTL_AUTORELEASE];
+ id<MTLLibrary> shaderLib = ctx->getDisplay()->getDefaultShadersLib();
- mBlitRenderPipelineCache.setVertexShader(this, vertexShader);
- mBlitRenderPipelineCache.setFragmentShader(
- this, [[shaderLib newFunctionWithName:@"blitFS"] ANGLE_MTL_AUTORELEASE]);
-
- mBlitPremultiplyAlphaRenderPipelineCache.setVertexShader(this, vertexShader);
- mBlitPremultiplyAlphaRenderPipelineCache.setFragmentShader(
- this,
- [[shaderLib newFunctionWithName:@"blitPremultiplyAlphaFS"] ANGLE_MTL_AUTORELEASE]);
-
- mBlitUnmultiplyAlphaRenderPipelineCache.setVertexShader(this, vertexShader);
- mBlitUnmultiplyAlphaRenderPipelineCache.setFragmentShader(
- this, [[shaderLib newFunctionWithName:@"blitUnmultiplyAlphaFS"] ANGLE_MTL_AUTORELEASE]);
+ mClearRenderPipelineCache.setVertexShader(
+ ctx, [[shaderLib newFunctionWithName:@"clearVS"] ANGLE_MTL_AUTORELEASE]);
+ mClearRenderPipelineCache.setFragmentShader(
+ ctx, [[shaderLib newFunctionWithName:@"clearFS"] ANGLE_MTL_AUTORELEASE]);
}
}
-void RenderUtils::clearWithDraw(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const ClearRectParams &params)
+id<MTLDepthStencilState> ClearUtils::getClearDepthStencilState(const gl::Context *context,
+ const ClearRectParams &params)
{
- auto overridedParams = params;
- // Make sure we don't clear attachment that doesn't exist
- const RenderPassDesc &renderPassDesc = cmdEncoder->renderPassDesc();
- if (renderPassDesc.numColorAttachments == 0)
+ ContextMtl *contextMtl = GetImpl(context);
+
+ if (!params.clearDepth.valid() && !params.clearStencil.valid())
{
- overridedParams.clearColor.reset();
+ // Doesn't clear depth nor stencil
+ return contextMtl->getDisplay()->getStateCache().getNullDepthStencilState(contextMtl);
}
- if (!renderPassDesc.depthAttachment.texture)
+
+ DepthStencilDesc desc;
+ desc.reset();
+
+ if (params.clearDepth.valid())
{
- overridedParams.clearDepth.reset();
+ // Clear depth state
+ desc.depthWriteEnabled = true;
}
- if (!renderPassDesc.stencilAttachment.texture)
+ else
{
- overridedParams.clearStencil.reset();
+ desc.depthWriteEnabled = false;
}
- if (!overridedParams.clearColor.valid() && !overridedParams.clearDepth.valid() &&
- !overridedParams.clearStencil.valid())
+ if (params.clearStencil.valid())
{
- return;
+ // Clear stencil state
+ desc.frontFaceStencil.depthStencilPassOperation = MTLStencilOperationReplace;
+ desc.frontFaceStencil.writeMask = contextMtl->getStencilMask();
+ desc.backFaceStencil.depthStencilPassOperation = MTLStencilOperationReplace;
+ desc.backFaceStencil.writeMask = contextMtl->getStencilMask();
}
- setupClearWithDraw(context, cmdEncoder, overridedParams);
-
- // Draw the screen aligned quad
- cmdEncoder->draw(MTLPrimitiveTypeTriangle, 0, 6);
-
- // Invalidate current context's state
- auto contextMtl = GetImpl(context);
- contextMtl->invalidateState(context);
+ return contextMtl->getDisplay()->getStateCache().getDepthStencilState(
+ contextMtl->getMetalDevice(), desc);
}
-void RenderUtils::blitWithDraw(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const BlitParams &params)
+id<MTLRenderPipelineState> ClearUtils::getClearRenderPipelineState(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const ClearRectParams &params)
{
- if (!params.src)
+ ContextMtl *contextMtl = GetImpl(context);
+ MTLColorWriteMask colorMask = contextMtl->getColorMask();
+ if (!params.clearColor.valid())
{
- return;
+ colorMask = MTLColorWriteMaskNone;
}
- setupBlitWithDraw(context, cmdEncoder, params);
- // Draw the screen aligned quad
- cmdEncoder->draw(MTLPrimitiveTypeTriangle, 0, 6);
+ RenderPipelineDesc pipelineDesc;
+ const RenderPassDesc &renderPassDesc = cmdEncoder->renderPassDesc();
- // Invalidate current context's state
- ContextMtl *contextMtl = GetImpl(context);
- contextMtl->invalidateState(context);
+ renderPassDesc.populateRenderPipelineOutputDesc(colorMask, &pipelineDesc.outputDescriptor);
+
+ pipelineDesc.inputPrimitiveTopology = kPrimitiveTopologyClassTriangle;
+
+ ensureRenderPipelineStateCacheInitialized(contextMtl);
+
+ return mClearRenderPipelineCache.getRenderPipelineState(contextMtl, pipelineDesc);
}
-void RenderUtils::setupClearWithDraw(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const ClearRectParams &params)
+void ClearUtils::setupClearWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const ClearRectParams &params)
{
// Generate render pipeline state
- auto renderPipelineState = getClearRenderPipelineState(context, cmdEncoder, params);
+ id<MTLRenderPipelineState> renderPipelineState =
+ getClearRenderPipelineState(context, cmdEncoder, params);
ASSERT(renderPipelineState);
// Setup states
- setupDrawCommonStates(cmdEncoder);
+ SetupFullscreenDrawCommonStates(cmdEncoder);
cmdEncoder->setRenderPipelineState(renderPipelineState);
id<MTLDepthStencilState> dsState = getClearDepthStencilState(context, params);
@@ -322,7 +504,7 @@ void RenderUtils::setupClearWithDraw(const gl::Context *context,
renderPassAttachment = renderPassDesc.stencilAttachment;
}
- auto texture = renderPassAttachment.texture;
+ TextureRef texture = renderPassAttachment.texture;
viewport =
GetViewport(params.clearArea, texture->height(renderPassAttachment.level), params.flipY);
@@ -345,109 +527,92 @@ void RenderUtils::setupClearWithDraw(const gl::Context *context,
cmdEncoder->setFragmentData(uniformParams, 0);
}
-void RenderUtils::setupBlitWithDraw(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const BlitParams &params)
+angle::Result ClearUtils::clearWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const ClearRectParams &params)
{
- ASSERT(cmdEncoder->renderPassDesc().numColorAttachments == 1 && params.src);
+ ClearRectParams overridedParams = params;
+ // Make sure we don't clear attachment that doesn't exist
+ const RenderPassDesc &renderPassDesc = cmdEncoder->renderPassDesc();
+ if (renderPassDesc.numColorAttachments == 0)
+ {
+ overridedParams.clearColor.reset();
+ }
+ if (!renderPassDesc.depthAttachment.texture)
+ {
+ overridedParams.clearDepth.reset();
+ }
+ if (!renderPassDesc.stencilAttachment.texture)
+ {
+ overridedParams.clearStencil.reset();
+ }
- // Generate render pipeline state
- auto renderPipelineState = getBlitRenderPipelineState(context, cmdEncoder, params);
- ASSERT(renderPipelineState);
- // Setup states
- setupDrawCommonStates(cmdEncoder);
- cmdEncoder->setRenderPipelineState(renderPipelineState);
- cmdEncoder->setDepthStencilState(getDisplay()->getStateCache().getNullDepthStencilState(this));
+ if (!overridedParams.clearColor.valid() && !overridedParams.clearDepth.valid() &&
+ !overridedParams.clearStencil.valid())
+ {
+ return angle::Result::Continue;
+ }
- // Viewport
- const RenderPassDesc &renderPassDesc = cmdEncoder->renderPassDesc();
- const RenderPassColorAttachmentDesc &renderPassColorAttachment =
- renderPassDesc.colorAttachments[0];
- auto texture = renderPassColorAttachment.texture;
+ setupClearWithDraw(context, cmdEncoder, overridedParams);
- gl::Rectangle dstRect(params.dstOffset.x, params.dstOffset.y, params.srcRect.width,
- params.srcRect.height);
- MTLViewport viewportMtl =
- GetViewport(dstRect, texture->height(renderPassColorAttachment.level), params.dstFlipY);
- MTLScissorRect scissorRectMtl =
- GetScissorRect(dstRect, texture->height(renderPassColorAttachment.level), params.dstFlipY);
- cmdEncoder->setViewport(viewportMtl);
- cmdEncoder->setScissorRect(scissorRectMtl);
+ // Draw the screen aligned triangle
+ cmdEncoder->draw(MTLPrimitiveTypeTriangle, 0, 3);
- cmdEncoder->setFragmentTexture(params.src, 0);
+ // Invalidate current context's state
+ ContextMtl *contextMtl = GetImpl(context);
+ contextMtl->invalidateState(context);
- // Uniform
- setupBlitWithDrawUniformData(cmdEncoder, params);
+ return angle::Result::Continue;
}
-void RenderUtils::setupDrawCommonStates(RenderCommandEncoder *cmdEncoder)
+// ColorBlitUtils implementation
+ColorBlitUtils::ColorBlitUtils() = default;
+
+void ColorBlitUtils::onDestroy()
{
- cmdEncoder->setCullMode(MTLCullModeNone);
- cmdEncoder->setTriangleFillMode(MTLTriangleFillModeFill);
- cmdEncoder->setDepthBias(0, 0, 0);
+ mBlitRenderPipelineCache.clear();
+ mBlitPremultiplyAlphaRenderPipelineCache.clear();
+ mBlitUnmultiplyAlphaRenderPipelineCache.clear();
}
-id<MTLDepthStencilState> RenderUtils::getClearDepthStencilState(const gl::Context *context,
- const ClearRectParams &params)
+void ColorBlitUtils::ensureRenderPipelineStateCacheInitialized(ContextMtl *ctx,
+ int alphaPremultiplyType,
+ RenderPipelineCache *cacheOut)
{
- if (!params.clearDepth.valid() && !params.clearStencil.valid())
- {
- // Doesn't clear depth nor stencil
- return getDisplay()->getStateCache().getNullDepthStencilState(this);
- }
-
- ContextMtl *contextMtl = GetImpl(context);
-
- DepthStencilDesc desc;
- desc.reset();
-
- if (params.clearDepth.valid())
+ RenderPipelineCache &pipelineCache = *cacheOut;
+ if (pipelineCache.getVertexShader() && pipelineCache.getFragmentShader())
{
- // Clear depth state
- desc.depthWriteEnabled = true;
- }
- else
- {
- desc.depthWriteEnabled = false;
+ // Already initialized.
+ return;
}
- if (params.clearStencil.valid())
+ ANGLE_MTL_OBJC_SCOPE
{
- // Clear stencil state
- desc.frontFaceStencil.depthStencilPassOperation = MTLStencilOperationReplace;
- desc.frontFaceStencil.writeMask = contextMtl->getStencilMask();
- desc.backFaceStencil.depthStencilPassOperation = MTLStencilOperationReplace;
- desc.backFaceStencil.writeMask = contextMtl->getStencilMask();
+ NSString *const fragmentShaderNames[] = {// Normal blit
+ @"blitFS",
+ // Blit premultiply-alpha
+ @"blitPremultiplyAlphaFS",
+ // Blit unmultiply alpha
+ @"blitUnmultiplyAlphaFS"};
+
+ id<MTLLibrary> shaderLib = ctx->getDisplay()->getDefaultShadersLib();
+ id<MTLFunction> vertexShader =
+ [[shaderLib newFunctionWithName:@"blitVS"] ANGLE_MTL_AUTORELEASE];
+ id<MTLFunction> fragmentShader = [[shaderLib
+ newFunctionWithName:fragmentShaderNames[alphaPremultiplyType]] ANGLE_MTL_AUTORELEASE];
+
+ ASSERT(vertexShader);
+ ASSERT(fragmentShader);
+
+ mBlitRenderPipelineCache.setVertexShader(ctx, vertexShader);
+ mBlitRenderPipelineCache.setFragmentShader(ctx, fragmentShader);
}
-
- return getDisplay()->getStateCache().getDepthStencilState(getDisplay()->getMetalDevice(), desc);
}
-id<MTLRenderPipelineState> RenderUtils::getClearRenderPipelineState(
+id<MTLRenderPipelineState> ColorBlitUtils::getBlitRenderPipelineState(
const gl::Context *context,
RenderCommandEncoder *cmdEncoder,
- const ClearRectParams &params)
-{
- ContextMtl *contextMtl = GetImpl(context);
- MTLColorWriteMask colorMask = contextMtl->getColorMask();
- if (!params.clearColor.valid())
- {
- colorMask = MTLColorWriteMaskNone;
- }
-
- RenderPipelineDesc pipelineDesc;
- const RenderPassDesc &renderPassDesc = cmdEncoder->renderPassDesc();
-
- renderPassDesc.populateRenderPipelineOutputDesc(colorMask, &pipelineDesc.outputDescriptor);
-
- pipelineDesc.inputPrimitiveTopology = kPrimitiveTopologyClassTriangle;
-
- return mClearRenderPipelineCache.getRenderPipelineState(contextMtl, pipelineDesc);
-}
-
-id<MTLRenderPipelineState> RenderUtils::getBlitRenderPipelineState(const gl::Context *context,
- RenderCommandEncoder *cmdEncoder,
- const BlitParams &params)
+ const BlitParams &params)
{
ContextMtl *contextMtl = GetImpl(context);
RenderPipelineDesc pipelineDesc;
@@ -459,162 +624,160 @@ id<MTLRenderPipelineState> RenderUtils::getBlitRenderPipelineState(const gl::Con
pipelineDesc.inputPrimitiveTopology = kPrimitiveTopologyClassTriangle;
RenderPipelineCache *pipelineCache;
+ int alphaPremultiplyType;
if (params.unpackPremultiplyAlpha == params.unpackUnmultiplyAlpha)
{
- pipelineCache = &mBlitRenderPipelineCache;
+ alphaPremultiplyType = 0;
+ pipelineCache = &mBlitRenderPipelineCache;
}
else if (params.unpackPremultiplyAlpha)
{
- pipelineCache = &mBlitPremultiplyAlphaRenderPipelineCache;
+ alphaPremultiplyType = 1;
+ pipelineCache = &mBlitPremultiplyAlphaRenderPipelineCache;
}
else
{
- pipelineCache = &mBlitUnmultiplyAlphaRenderPipelineCache;
+ alphaPremultiplyType = 2;
+ pipelineCache = &mBlitUnmultiplyAlphaRenderPipelineCache;
}
+ ensureRenderPipelineStateCacheInitialized(contextMtl, alphaPremultiplyType, pipelineCache);
+
return pipelineCache->getRenderPipelineState(contextMtl, pipelineDesc);
}
-void RenderUtils::setupBlitWithDrawUniformData(RenderCommandEncoder *cmdEncoder,
- const BlitParams &params)
+void ColorBlitUtils::setupBlitWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const BlitParams &params)
{
- BlitParamsUniform uniformParams;
- uniformParams.dstFlipY = params.dstFlipY ? 1 : 0;
- uniformParams.srcLevel = params.srcLevel;
- uniformParams.dstLuminance = params.dstLuminance ? 1 : 0;
+ ASSERT(cmdEncoder->renderPassDesc().numColorAttachments == 1 && params.src);
- // Compute source texCoords
- auto srcWidth = params.src->width(params.srcLevel);
- auto srcHeight = params.src->height(params.srcLevel);
+ ContextMtl *contextMtl = mtl::GetImpl(context);
- int x0 = params.srcRect.x0(); // left
- int x1 = params.srcRect.x1(); // right
- int y0 = params.srcRect.y0(); // lower
- int y1 = params.srcRect.y1(); // upper
- if (params.srcYFlipped)
- {
- // If source's Y has been flipped, such as default framebuffer, then adjust the real source
- // rectangle.
- y0 = srcHeight - y1;
- y1 = y0 + params.srcRect.height;
- std::swap(y0, y1);
- }
+ // Generate render pipeline state
+ id<MTLRenderPipelineState> renderPipelineState =
+ getBlitRenderPipelineState(context, cmdEncoder, params);
+ ASSERT(renderPipelineState);
+ // Setup states
+ SetupFullscreenDrawCommonStates(cmdEncoder);
+ cmdEncoder->setRenderPipelineState(renderPipelineState);
+ cmdEncoder->setDepthStencilState(
+ contextMtl->getDisplay()->getStateCache().getNullDepthStencilState(contextMtl));
+
+ // Viewport
+ const RenderPassDesc &renderPassDesc = cmdEncoder->renderPassDesc();
+ const RenderPassColorAttachmentDesc &renderPassColorAttachment =
+ renderPassDesc.colorAttachments[0];
+ mtl::TextureRef texture = renderPassColorAttachment.texture;
+
+ gl::Rectangle dstRect(params.dstOffset.x, params.dstOffset.y, params.srcRect.width,
+ params.srcRect.height);
+ MTLViewport viewportMtl =
+ GetViewport(dstRect, texture->height(renderPassColorAttachment.level), params.dstFlipY);
+ MTLScissorRect scissorRectMtl =
+ GetScissorRect(dstRect, texture->height(renderPassColorAttachment.level), params.dstFlipY);
+ cmdEncoder->setViewport(viewportMtl);
+ cmdEncoder->setScissorRect(scissorRectMtl);
- if (params.unpackFlipY)
+ cmdEncoder->setFragmentTexture(params.src, 0);
+
+ // Uniform
+ SetupBlitWithDrawUniformData(cmdEncoder, params);
+}
+
+angle::Result ColorBlitUtils::blitWithDraw(const gl::Context *context,
+ RenderCommandEncoder *cmdEncoder,
+ const BlitParams &params)
+{
+ if (!params.src)
{
- std::swap(y0, y1);
+ return angle::Result::Continue;
}
+ ContextMtl *contextMtl = GetImpl(context);
+ setupBlitWithDraw(context, cmdEncoder, params);
- float u0 = (float)x0 / srcWidth;
- float u1 = (float)x1 / srcWidth;
- float v0 = (float)y0 / srcHeight;
- float v1 = (float)y1 / srcHeight;
-
- // lower left
- uniformParams.srcTexCoords[0][0] = u0;
- uniformParams.srcTexCoords[0][1] = v0;
+ // Draw the screen aligned triangle
+ cmdEncoder->draw(MTLPrimitiveTypeTriangle, 0, 3);
- // lower right
- uniformParams.srcTexCoords[1][0] = u1;
- uniformParams.srcTexCoords[1][1] = v0;
+ // Invalidate current context's state
+ contextMtl->invalidateState(context);
- // upper left
- uniformParams.srcTexCoords[2][0] = u0;
- uniformParams.srcTexCoords[2][1] = v1;
+ return angle::Result::Continue;
+}
- // upper right
- uniformParams.srcTexCoords[3][0] = u1;
- uniformParams.srcTexCoords[3][1] = v1;
+// IndexGeneratorUtils implementation
+void IndexGeneratorUtils::onDestroy()
+{
+ ClearPipelineState2DArray(&mIndexConversionPipelineCaches);
+ ClearPipelineState2DArray(&mTriFanFromElemArrayGeneratorPipelineCaches);
- cmdEncoder->setVertexData(uniformParams, 0);
- cmdEncoder->setFragmentData(uniformParams, 0);
+ mTriFanFromArraysGeneratorPipeline = nil;
}
-AutoObjCPtr<id<MTLComputePipelineState>> RenderUtils::getIndexConversionPipeline(
- ContextMtl *context,
+AutoObjCPtr<id<MTLComputePipelineState>> IndexGeneratorUtils::getIndexConversionPipeline(
+ ContextMtl *contextMtl,
gl::DrawElementsType srcType,
uint32_t srcOffset)
{
- id<MTLDevice> metalDevice = context->getMetalDevice();
- size_t elementSize = gl::GetDrawElementsTypeSize(srcType);
- bool aligned = (srcOffset % elementSize) == 0;
-
- IndexConvesionPipelineCacheKey key = {srcType, aligned};
-
- auto &cache = mIndexConversionPipelineCaches[key];
+ size_t elementSize = gl::GetDrawElementsTypeSize(srcType);
+ BOOL aligned = (srcOffset % elementSize) == 0;
+ int srcTypeKey = static_cast<int>(srcType);
+ AutoObjCPtr<id<MTLComputePipelineState>> &cache =
+ mIndexConversionPipelineCaches[srcTypeKey][aligned ? 1 : 0];
if (!cache)
{
ANGLE_MTL_OBJC_SCOPE
{
- auto shaderLib = mDefaultShaders.get();
- id<MTLFunction> shader = nil;
auto funcConstants = [[[MTLFunctionConstantValues alloc] init] ANGLE_MTL_AUTORELEASE];
- NSError *err = nil;
[funcConstants setConstantValue:&aligned
type:MTLDataTypeBool
withName:SOURCE_BUFFER_ALIGNED_CONSTANT_NAME];
+ NSString *shaderName = nil;
switch (srcType)
{
case gl::DrawElementsType::UnsignedByte:
- shader = [shaderLib newFunctionWithName:@"convertIndexU8ToU16"];
+ // No need for specialized shader
+ funcConstants = nil;
+ shaderName = @"convertIndexU8ToU16";
break;
case gl::DrawElementsType::UnsignedShort:
- shader = [shaderLib newFunctionWithName:@"convertIndexU16"
- constantValues:funcConstants
- error:&err];
+ shaderName = @"convertIndexU16";
break;
case gl::DrawElementsType::UnsignedInt:
- shader = [shaderLib newFunctionWithName:@"convertIndexU32"
- constantValues:funcConstants
- error:&err];
+ shaderName = @"convertIndexU32";
break;
default:
UNREACHABLE();
}
- if (err && !shader)
- {
- ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
- }
- ASSERT([shader ANGLE_MTL_AUTORELEASE]);
-
- cache = [[metalDevice newComputePipelineStateWithFunction:shader
- error:&err] ANGLE_MTL_AUTORELEASE];
- if (err && !cache)
- {
- ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
- }
- ASSERT(cache);
+ EnsureSpecializedComputePipelineInitialized(contextMtl->getDisplay(), shaderName,
+ funcConstants, &cache);
}
}
return cache;
}
-AutoObjCPtr<id<MTLComputePipelineState>> RenderUtils::getTriFanFromElemArrayGeneratorPipeline(
- ContextMtl *context,
- gl::DrawElementsType srcType,
- uint32_t srcOffset)
+AutoObjCPtr<id<MTLComputePipelineState>>
+IndexGeneratorUtils::getTriFanFromElemArrayGeneratorPipeline(ContextMtl *contextMtl,
+ gl::DrawElementsType srcType,
+ uint32_t srcOffset)
{
- id<MTLDevice> metalDevice = context->getMetalDevice();
- size_t elementSize = gl::GetDrawElementsTypeSize(srcType);
- bool aligned = (srcOffset % elementSize) == 0;
+ size_t elementSize = gl::GetDrawElementsTypeSize(srcType);
+ BOOL aligned = (srcOffset % elementSize) == 0;
+ int srcTypeKey = static_cast<int>(srcType);
- IndexConvesionPipelineCacheKey key = {srcType, aligned};
-
- auto &cache = mTriFanFromElemArrayGeneratorPipelineCaches[key];
+ AutoObjCPtr<id<MTLComputePipelineState>> &cache =
+ mTriFanFromElemArrayGeneratorPipelineCaches[srcTypeKey][aligned ? 1 : 0];
if (!cache)
{
ANGLE_MTL_OBJC_SCOPE
{
- auto shaderLib = mDefaultShaders.get();
- id<MTLFunction> shader = nil;
auto funcConstants = [[[MTLFunctionConstantValues alloc] init] ANGLE_MTL_AUTORELEASE];
- NSError *err = nil;
bool isU8 = false;
bool isU16 = false;
@@ -648,96 +811,55 @@ AutoObjCPtr<id<MTLComputePipelineState>> RenderUtils::getTriFanFromElemArrayGene
type:MTLDataTypeBool
withName:SOURCE_IDX_IS_U32_CONSTANT_NAME];
- shader = [shaderLib newFunctionWithName:@"genTriFanIndicesFromElements"
- constantValues:funcConstants
- error:&err];
- if (err && !shader)
- {
- ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
- }
- ASSERT([shader ANGLE_MTL_AUTORELEASE]);
-
- cache = [[metalDevice newComputePipelineStateWithFunction:shader
- error:&err] ANGLE_MTL_AUTORELEASE];
- if (err && !cache)
- {
- ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
- }
- ASSERT(cache);
+ EnsureSpecializedComputePipelineInitialized(
+ contextMtl->getDisplay(), @"genTriFanIndicesFromElements", funcConstants, &cache);
}
}
return cache;
}
-angle::Result RenderUtils::ensureTriFanFromArrayGeneratorInitialized(ContextMtl *context)
+void IndexGeneratorUtils::ensureTriFanFromArrayGeneratorInitialized(ContextMtl *contextMtl)
{
- if (!mTriFanFromArraysGeneratorPipeline)
- {
- ANGLE_MTL_OBJC_SCOPE
- {
- id<MTLDevice> metalDevice = context->getMetalDevice();
- auto shaderLib = mDefaultShaders.get();
- NSError *err = nil;
- id<MTLFunction> shader = [shaderLib newFunctionWithName:@"genTriFanIndicesFromArray"];
-
- [shader ANGLE_MTL_AUTORELEASE];
-
- mTriFanFromArraysGeneratorPipeline =
- [[metalDevice newComputePipelineStateWithFunction:shader
- error:&err] ANGLE_MTL_AUTORELEASE];
- if (err && !mTriFanFromArraysGeneratorPipeline)
- {
- ERR() << "Internal error: " << err.localizedDescription.UTF8String << "\n";
- }
-
- ASSERT(mTriFanFromArraysGeneratorPipeline);
- }
- }
- return angle::Result::Continue;
+ EnsureComputePipelineInitialized(contextMtl->getDisplay(), @"genTriFanIndicesFromArray",
+ &mTriFanFromArraysGeneratorPipeline);
}
-angle::Result RenderUtils::convertIndexBuffer(const gl::Context *context,
- gl::DrawElementsType srcType,
- uint32_t indexCount,
- const BufferRef &srcBuffer,
- uint32_t srcOffset,
- const BufferRef &dstBuffer,
- uint32_t dstOffset)
+angle::Result IndexGeneratorUtils::convertIndexBufferGPU(ContextMtl *contextMtl,
+ const IndexConversionParams &params)
{
- ContextMtl *contextMtl = GetImpl(context);
ComputeCommandEncoder *cmdEncoder = contextMtl->getComputeCommandEncoder();
ASSERT(cmdEncoder);
AutoObjCPtr<id<MTLComputePipelineState>> pipelineState =
- getIndexConversionPipeline(contextMtl, srcType, srcOffset);
+ getIndexConversionPipeline(contextMtl, params.srcType, params.srcOffset);
ASSERT(pipelineState);
cmdEncoder->setComputePipelineState(pipelineState);
- ASSERT((dstOffset % kIndexBufferOffsetAlignment) == 0);
+ ASSERT((params.dstOffset % kIndexBufferOffsetAlignment) == 0);
IndexConversionUniform uniform;
- uniform.srcOffset = srcOffset;
- uniform.indexCount = indexCount;
+ uniform.srcOffset = params.srcOffset;
+ uniform.indexCount = params.indexCount;
cmdEncoder->setData(uniform, 0);
- cmdEncoder->setBuffer(srcBuffer, 0, 1);
- cmdEncoder->setBuffer(dstBuffer, dstOffset, 2);
+ cmdEncoder->setBuffer(params.srcBuffer, 0, 1);
+ cmdEncoder->setBufferForWrite(params.dstBuffer, params.dstOffset, 2);
- ANGLE_TRY(dispatchCompute(context, cmdEncoder, pipelineState, indexCount));
+ DispatchCompute(contextMtl, cmdEncoder, pipelineState, params.indexCount);
return angle::Result::Continue;
}
-angle::Result RenderUtils::generateTriFanBufferFromArrays(const gl::Context *context,
- const TriFanFromArrayParams &params)
+angle::Result IndexGeneratorUtils::generateTriFanBufferFromArrays(
+ ContextMtl *contextMtl,
+ const TriFanFromArrayParams &params)
{
- ContextMtl *contextMtl = GetImpl(context);
ComputeCommandEncoder *cmdEncoder = contextMtl->getComputeCommandEncoder();
ASSERT(cmdEncoder);
- ANGLE_TRY(ensureTriFanFromArrayGeneratorInitialized(contextMtl));
+ ensureTriFanFromArrayGeneratorInitialized(contextMtl);
ASSERT(params.vertexCount > 2);
@@ -756,39 +878,38 @@ angle::Result RenderUtils::generateTriFanBufferFromArrays(const gl::Context *con
uniform.vertexCountFrom3rd = params.vertexCount - 2;
cmdEncoder->setData(uniform, 0);
- cmdEncoder->setBuffer(params.dstBuffer, params.dstOffset, 2);
+ cmdEncoder->setBufferForWrite(params.dstBuffer, params.dstOffset, 2);
- ANGLE_TRY(dispatchCompute(context, cmdEncoder, mTriFanFromArraysGeneratorPipeline,
- uniform.vertexCountFrom3rd));
+ DispatchCompute(contextMtl, cmdEncoder, mTriFanFromArraysGeneratorPipeline,
+ uniform.vertexCountFrom3rd);
return angle::Result::Continue;
}
-angle::Result RenderUtils::generateTriFanBufferFromElementsArray(
- const gl::Context *context,
+angle::Result IndexGeneratorUtils::generateTriFanBufferFromElementsArray(
+ ContextMtl *contextMtl,
const IndexGenerationParams &params)
{
- ContextMtl *contextMtl = GetImpl(context);
- const gl::VertexArray *vertexArray = context->getState().getVertexArray();
+ const gl::VertexArray *vertexArray = contextMtl->getState().getVertexArray();
const gl::Buffer *elementBuffer = vertexArray->getElementArrayBuffer();
if (elementBuffer)
{
- size_t srcOffset = reinterpret_cast<size_t>(params.indices);
+ BufferMtl *elementBufferMtl = GetImpl(elementBuffer);
+ size_t srcOffset = reinterpret_cast<size_t>(params.indices);
ANGLE_CHECK(contextMtl, srcOffset <= std::numeric_limits<uint32_t>::max(),
"Index offset is too large", GL_INVALID_VALUE);
return generateTriFanBufferFromElementsArrayGPU(
- context, params.srcType, params.indexCount,
- GetImpl(elementBuffer)->getCurrentBuffer(context), static_cast<uint32_t>(srcOffset),
- params.dstBuffer, params.dstOffset);
+ contextMtl, params.srcType, params.indexCount, elementBufferMtl->getCurrentBuffer(),
+ static_cast<uint32_t>(srcOffset), params.dstBuffer, params.dstOffset);
}
else
{
- return generateTriFanBufferFromElementsArrayCPU(context, params);
+ return generateTriFanBufferFromElementsArrayCPU(contextMtl, params);
}
}
-angle::Result RenderUtils::generateTriFanBufferFromElementsArrayGPU(
- const gl::Context *context,
+angle::Result IndexGeneratorUtils::generateTriFanBufferFromElementsArrayGPU(
+ ContextMtl *contextMtl,
gl::DrawElementsType srcType,
uint32_t indexCount,
const BufferRef &srcBuffer,
@@ -797,7 +918,6 @@ angle::Result RenderUtils::generateTriFanBufferFromElementsArrayGPU(
// Must be multiples of kIndexBufferOffsetAlignment
uint32_t dstOffset)
{
- ContextMtl *contextMtl = GetImpl(context);
ComputeCommandEncoder *cmdEncoder = contextMtl->getComputeCommandEncoder();
ASSERT(cmdEncoder);
@@ -817,18 +937,17 @@ angle::Result RenderUtils::generateTriFanBufferFromElementsArrayGPU(
cmdEncoder->setData(uniform, 0);
cmdEncoder->setBuffer(srcBuffer, 0, 1);
- cmdEncoder->setBuffer(dstBuffer, dstOffset, 2);
+ cmdEncoder->setBufferForWrite(dstBuffer, dstOffset, 2);
- ANGLE_TRY(dispatchCompute(context, cmdEncoder, pipelineState, uniform.indexCount));
+ DispatchCompute(contextMtl, cmdEncoder, pipelineState, uniform.indexCount);
return angle::Result::Continue;
}
-angle::Result RenderUtils::generateTriFanBufferFromElementsArrayCPU(
- const gl::Context *context,
+angle::Result IndexGeneratorUtils::generateTriFanBufferFromElementsArrayCPU(
+ ContextMtl *contextMtl,
const IndexGenerationParams &params)
{
- ContextMtl *contextMtl = GetImpl(context);
switch (params.srcType)
{
case gl::DrawElementsType::UnsignedByte:
@@ -850,14 +969,13 @@ angle::Result RenderUtils::generateTriFanBufferFromElementsArrayCPU(
return angle::Result::Stop;
}
-angle::Result RenderUtils::generateLineLoopLastSegment(const gl::Context *context,
- uint32_t firstVertex,
- uint32_t lastVertex,
- const BufferRef &dstBuffer,
- uint32_t dstOffset)
+angle::Result IndexGeneratorUtils::generateLineLoopLastSegment(ContextMtl *contextMtl,
+ uint32_t firstVertex,
+ uint32_t lastVertex,
+ const BufferRef &dstBuffer,
+ uint32_t dstOffset)
{
- ContextMtl *contextMtl = GetImpl(context);
- uint8_t *ptr = dstBuffer->map(contextMtl);
+ uint8_t *ptr = dstBuffer->map(contextMtl) + dstOffset;
uint32_t indices[2] = {lastVertex, firstVertex};
memcpy(ptr, indices, sizeof(indices));
@@ -867,12 +985,11 @@ angle::Result RenderUtils::generateLineLoopLastSegment(const gl::Context *contex
return angle::Result::Continue;
}
-angle::Result RenderUtils::generateLineLoopLastSegmentFromElementsArray(
- const gl::Context *context,
+angle::Result IndexGeneratorUtils::generateLineLoopLastSegmentFromElementsArray(
+ ContextMtl *contextMtl,
const IndexGenerationParams &params)
{
- ContextMtl *contextMtl = GetImpl(context);
- const gl::VertexArray *vertexArray = context->getState().getVertexArray();
+ const gl::VertexArray *vertexArray = contextMtl->getState().getVertexArray();
const gl::Buffer *elementBuffer = vertexArray->getElementArrayBuffer();
if (elementBuffer)
{
@@ -882,21 +999,20 @@ angle::Result RenderUtils::generateLineLoopLastSegmentFromElementsArray(
BufferMtl *bufferMtl = GetImpl(elementBuffer);
std::pair<uint32_t, uint32_t> firstLast;
- ANGLE_TRY(bufferMtl->getFirstLastIndices(context, params.srcType,
- static_cast<uint32_t>(srcOffset),
+ ANGLE_TRY(bufferMtl->getFirstLastIndices(params.srcType, static_cast<uint32_t>(srcOffset),
params.indexCount, &firstLast));
- return generateLineLoopLastSegment(context, firstLast.first, firstLast.second,
+ return generateLineLoopLastSegment(contextMtl, firstLast.first, firstLast.second,
params.dstBuffer, params.dstOffset);
}
else
{
- return generateLineLoopLastSegmentFromElementsArrayCPU(context, params);
+ return generateLineLoopLastSegmentFromElementsArrayCPU(contextMtl, params);
}
}
-angle::Result RenderUtils::generateLineLoopLastSegmentFromElementsArrayCPU(
- const gl::Context *context,
+angle::Result IndexGeneratorUtils::generateLineLoopLastSegmentFromElementsArrayCPU(
+ ContextMtl *contextMtl,
const IndexGenerationParams &params)
{
uint32_t first, last;
@@ -920,29 +1036,8 @@ angle::Result RenderUtils::generateLineLoopLastSegmentFromElementsArrayCPU(
return angle::Result::Stop;
}
- return generateLineLoopLastSegment(context, first, last, params.dstBuffer, params.dstOffset);
+ return generateLineLoopLastSegment(contextMtl, first, last, params.dstBuffer, params.dstOffset);
}
-angle::Result RenderUtils::dispatchCompute(const gl::Context *context,
- ComputeCommandEncoder *cmdEncoder,
- id<MTLComputePipelineState> pipelineState,
- size_t numThreads)
-{
- NSUInteger w = pipelineState.threadExecutionWidth;
- MTLSize threadsPerThreadgroup = MTLSizeMake(w, 1, 1);
-
- if (getDisplay()->getFeatures().hasNonUniformDispatch.enabled)
- {
- MTLSize threads = MTLSizeMake(numThreads, 1, 1);
- cmdEncoder->dispatchNonUniform(threads, threadsPerThreadgroup);
- }
- else
- {
- MTLSize groups = MTLSizeMake((numThreads + w - 1) / w, 1, 1);
- cmdEncoder->dispatch(groups, threadsPerThreadgroup);
- }
-
- return angle::Result::Continue;
-}
} // namespace mtl
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.h
index bfb5a45bf18..d2ee31b4bde 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.h
@@ -49,35 +49,36 @@ class Resource : angle::NonCopyable
public:
virtual ~Resource() {}
+ // Check whether the resource still being used by GPU
bool isBeingUsedByGPU(Context *context) const;
+ // Checks whether the last command buffer that uses the given resource has been committed or not
+ bool hasPendingWorks(Context *context) const;
void setUsedByCommandBufferWithQueueSerial(uint64_t serial, bool writing);
- const std::atomic<uint64_t> &getCommandBufferQueueSerial() const
- {
- return mUsageRef->cmdBufferQueueSerial;
- }
+ uint64_t getCommandBufferQueueSerial() const { return mUsageRef->cmdBufferQueueSerial; }
- // Flag indicate whether we should synchornize the content to CPU after GPU changed this
+ // Flag indicate whether we should synchronize the content to CPU after GPU changed this
// resource's content.
- bool isCPUReadMemDirty() const { return mUsageRef->cpuReadMemDirty; }
- void resetCPUReadMemDirty() { mUsageRef->cpuReadMemDirty = false; }
+ bool isCPUReadMemNeedSync() const { return mUsageRef->cpuReadMemNeedSync; }
+ void resetCPUReadMemNeedSync() { mUsageRef->cpuReadMemNeedSync = false; }
protected:
Resource();
// Share the GPU usage ref with other resource
Resource(Resource *other);
+ void reset();
+
private:
struct UsageRef
{
// The id of the last command buffer that is using this resource.
- std::atomic<uint64_t> cmdBufferQueueSerial{0};
+ uint64_t cmdBufferQueueSerial = 0;
- // NOTE(hqle): resource dirty handle is not threadsafe.
// This flag means the resource was issued to be modified by GPU, if CPU wants to read
- // its content, explicit synchornization call must be invoked.
- bool cpuReadMemDirty = false;
+ // its content, explicit synchronization call must be invoked.
+ bool cpuReadMemNeedSync = false;
};
// One resource object might just be a view of another resource. For example, a texture 2d
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.mm
index 73ec9c1490f..808233f1262 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.mm
@@ -63,29 +63,30 @@ Resource::Resource(Resource *other) : mUsageRef(other->mUsageRef)
ASSERT(mUsageRef);
}
+void Resource::reset()
+{
+ mUsageRef->cmdBufferQueueSerial = 0;
+ resetCPUReadMemNeedSync();
+}
+
bool Resource::isBeingUsedByGPU(Context *context) const
{
return context->cmdQueue().isResourceBeingUsedByGPU(this);
}
-void Resource::setUsedByCommandBufferWithQueueSerial(uint64_t serial, bool writing)
+bool Resource::hasPendingWorks(Context *context) const
{
- auto curSerial = mUsageRef->cmdBufferQueueSerial.load(std::memory_order_relaxed);
- do
- {
- if (curSerial >= serial)
- {
- return;
- }
- } while (!mUsageRef->cmdBufferQueueSerial.compare_exchange_weak(
- curSerial, serial, std::memory_order_release, std::memory_order_relaxed));
+ return context->cmdQueue().resourceHasPendingWorks(this);
+}
- // NOTE(hqle): This is not thread safe, if multiple command buffers on multiple threads
- // are writing to it.
+void Resource::setUsedByCommandBufferWithQueueSerial(uint64_t serial, bool writing)
+{
if (writing)
{
- mUsageRef->cpuReadMemDirty = true;
+ mUsageRef->cpuReadMemNeedSync = true;
}
+
+ mUsageRef->cmdBufferQueueSerial = std::max(mUsageRef->cmdBufferQueueSerial, serial);
}
// Texture implemenetation
@@ -234,6 +235,8 @@ void Texture::syncContent(ContextMtl *context, mtl::BlitCommandEncoder *blitEnco
if (blitEncoder)
{
blitEncoder->synchronizeResource(shared_from_this());
+
+ this->resetCPUReadMemNeedSync();
}
#endif
}
@@ -244,12 +247,10 @@ void Texture::syncContent(ContextMtl *context)
// Make sure GPU & CPU contents are synchronized.
// NOTE: Only MacOS has separated storage for resource on CPU and GPU and needs explicit
// synchronization
- if (this->isCPUReadMemDirty())
+ if (this->isCPUReadMemNeedSync())
{
mtl::BlitCommandEncoder *blitEncoder = context->getBlitCommandEncoder();
syncContent(context, blitEncoder);
-
- this->resetCPUReadMemDirty();
}
#endif
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.h
index bc0f0a44823..779b4dab461 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.h
@@ -28,24 +28,26 @@ class ContextMtl;
namespace mtl
{
-struct StencilDesc
+struct alignas(1) StencilDesc
{
bool operator==(const StencilDesc &rhs) const;
// Set default values
void reset();
- MTLStencilOperation stencilFailureOperation;
- MTLStencilOperation depthFailureOperation;
- MTLStencilOperation depthStencilPassOperation;
+ // Use uint8_t instead of MTLStencilOperation to compact space
+ uint8_t stencilFailureOperation : 3;
+ uint8_t depthFailureOperation : 3;
+ uint8_t depthStencilPassOperation : 3;
- MTLCompareFunction stencilCompareFunction;
+ // Use uint8_t instead of MTLCompareFunction to compact space
+ uint8_t stencilCompareFunction : 3;
- uint32_t readMask;
- uint32_t writeMask;
+ uint8_t readMask : 8;
+ uint8_t writeMask : 8;
};
-struct DepthStencilDesc
+struct alignas(4) DepthStencilDesc
{
DepthStencilDesc();
DepthStencilDesc(const DepthStencilDesc &src);
@@ -75,11 +77,12 @@ struct DepthStencilDesc
StencilDesc backFaceStencil;
StencilDesc frontFaceStencil;
- MTLCompareFunction depthCompareFunction;
- bool depthWriteEnabled;
+ // Use uint8_t instead of MTLCompareFunction to compact space
+ uint8_t depthCompareFunction : 3;
+ bool depthWriteEnabled : 1;
};
-struct SamplerDesc
+struct alignas(4) SamplerDesc
{
SamplerDesc();
SamplerDesc(const SamplerDesc &src);
@@ -96,15 +99,17 @@ struct SamplerDesc
size_t hash() const;
- MTLSamplerAddressMode rAddressMode;
- MTLSamplerAddressMode sAddressMode;
- MTLSamplerAddressMode tAddressMode;
+ // Use uint8_t instead of MTLSamplerAddressMode to compact space
+ uint8_t rAddressMode : 3;
+ uint8_t sAddressMode : 3;
+ uint8_t tAddressMode : 3;
- MTLSamplerMinMagFilter minFilter;
- MTLSamplerMinMagFilter magFilter;
- MTLSamplerMipFilter mipFilter;
+ // Use uint8_t instead of MTLSamplerMinMagFilter to compact space
+ uint8_t minFilter : 1;
+ uint8_t magFilter : 1;
+ uint8_t mipFilter : 2;
- uint32_t maxAnisotropy;
+ uint8_t maxAnisotropy : 5;
};
struct VertexAttributeDesc
@@ -114,9 +119,12 @@ struct VertexAttributeDesc
return format == rhs.format && offset == rhs.offset && bufferIndex == rhs.bufferIndex;
}
inline bool operator!=(const VertexAttributeDesc &rhs) const { return !(*this == rhs); }
- MTLVertexFormat format;
- NSUInteger offset;
- NSUInteger bufferIndex;
+
+ // Use uint8_t instead of MTLVertexFormat to compact space
+ uint8_t format : 6;
+ // Offset is only used for default attributes buffer. So 8 bits are enough.
+ uint8_t offset : 8;
+ uint8_t bufferIndex : 5;
};
struct VertexBufferLayoutDesc
@@ -127,9 +135,11 @@ struct VertexBufferLayoutDesc
}
inline bool operator!=(const VertexBufferLayoutDesc &rhs) const { return !(*this == rhs); }
- MTLVertexStepFunction stepFunction;
- NSUInteger stepRate;
- NSUInteger stride;
+ uint32_t stepRate;
+ uint32_t stride;
+
+ // Use uint8_t instead of MTLVertexStepFunction to compact space
+ uint8_t stepFunction;
};
struct VertexDesc
@@ -155,20 +165,24 @@ struct BlendDesc
void updateBlendOps(const gl::BlendState &blendState);
void updateBlendEnabled(const gl::BlendState &blendState);
- MTLColorWriteMask writeMask;
+ // Use uint8_t instead of MTLColorWriteMask to compact space
+ uint8_t writeMask : 4;
- MTLBlendOperation alphaBlendOperation;
- MTLBlendOperation rgbBlendOperation;
+ // Use uint8_t instead of MTLBlendOperation to compact space
+ uint8_t alphaBlendOperation : 3;
+ uint8_t rgbBlendOperation : 3;
- MTLBlendFactor destinationAlphaBlendFactor;
- MTLBlendFactor destinationRGBBlendFactor;
- MTLBlendFactor sourceAlphaBlendFactor;
- MTLBlendFactor sourceRGBBlendFactor;
+ // Use uint8_t instead of MTLBlendFactor to compact space
+ // NOTE(hqle): enum MTLBlendFactorSource1Color and above are unused.
+ uint8_t destinationAlphaBlendFactor : 4;
+ uint8_t destinationRGBBlendFactor : 4;
+ uint8_t sourceAlphaBlendFactor : 4;
+ uint8_t sourceRGBBlendFactor : 4;
- bool blendingEnabled;
+ bool blendingEnabled : 1;
};
-struct RenderPipelineColorAttachmentDesc : public BlendDesc
+struct alignas(2) RenderPipelineColorAttachmentDesc : public BlendDesc
{
bool operator==(const RenderPipelineColorAttachmentDesc &rhs) const;
inline bool operator!=(const RenderPipelineColorAttachmentDesc &rhs) const
@@ -184,7 +198,8 @@ struct RenderPipelineColorAttachmentDesc : public BlendDesc
void update(const BlendDesc &blendState);
- MTLPixelFormat pixelFormat;
+ // Use uint16_t instead of MTLPixelFormat to compact space
+ uint16_t pixelFormat : 16;
};
struct RenderPipelineOutputDesc
@@ -192,10 +207,13 @@ struct RenderPipelineOutputDesc
bool operator==(const RenderPipelineOutputDesc &rhs) const;
RenderPipelineColorAttachmentDesc colorAttachments[kMaxRenderTargets];
- MTLPixelFormat depthAttachmentPixelFormat;
- MTLPixelFormat stencilAttachmentPixelFormat;
- uint8_t numColorAttachments;
+ // Use uint16_t instead of MTLPixelFormat to compact space
+ uint16_t depthAttachmentPixelFormat : 16;
+ uint16_t stencilAttachmentPixelFormat : 16;
+
+ static_assert(kMaxRenderTargets <= 4, "kMaxRenderTargets must be <= 4");
+ uint8_t numColorAttachments : 3;
};
// Some SDK levels don't declare MTLPrimitiveTopologyClass. Needs to do compile time check here:
@@ -212,7 +230,7 @@ constexpr PrimitiveTopologyClass kPrimitiveTopologyClassTriangle =
constexpr PrimitiveTopologyClass kPrimitiveTopologyClassPoint = MTLPrimitiveTopologyClassPoint;
#endif
-struct RenderPipelineDesc
+struct alignas(4) RenderPipelineDesc
{
RenderPipelineDesc();
RenderPipelineDesc(const RenderPipelineDesc &src);
@@ -228,7 +246,8 @@ struct RenderPipelineDesc
RenderPipelineOutputDesc outputDescriptor;
- PrimitiveTopologyClass inputPrimitiveTopology;
+ // Use uint8_t instead of PrimitiveTopologyClass to compact space.
+ uint8_t inputPrimitiveTopology : 2;
bool rasterizationEnabled;
};
@@ -296,6 +315,8 @@ struct RenderPassDesc
RenderPassDepthAttachmentDesc depthAttachment;
RenderPassStencilAttachmentDesc stencilAttachment;
+ void convertToMetalDesc(MTLRenderPassDescriptor *objCDesc) const;
+
// This will populate the RenderPipelineOutputDesc with default blend state and
// MTLColorWriteMaskAll
void populateRenderPipelineOutputDesc(RenderPipelineOutputDesc *outDesc) const;
@@ -314,8 +335,6 @@ struct RenderPassDesc
uint32_t numColorAttachments = 0;
};
-// convert to Metal object
-AutoObjCObj<MTLRenderPassDescriptor> ToMetalObj(const RenderPassDesc &desc);
} // namespace mtl
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.mm b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.mm
index 25e988f4315..c35238f06fa 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.mm
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.mm
@@ -18,7 +18,8 @@
#include "libANGLE/renderer/metal/mtl_resources.h"
#include "libANGLE/renderer/metal/mtl_utils.h"
-#define ANGLE_OBJC_CP_PROPERTY(DST, SRC, PROPERTY) (DST).PROPERTY = ToObjC((SRC).PROPERTY)
+#define ANGLE_OBJC_CP_PROPERTY(DST, SRC, PROPERTY) \
+ (DST).PROPERTY = static_cast<__typeof__((DST).PROPERTY)>(ToObjC((SRC).PROPERTY))
#define ANGLE_PROP_EQ(LHS, RHS, PROP) ((LHS).PROP == (RHS).PROP)
@@ -170,7 +171,8 @@ id<MTLTexture> ToObjC(const TextureRef &texture)
return textureRef ? textureRef->get() : nil;
}
-void ToObjC(MTLRenderPassAttachmentDescriptor *dst, const RenderPassAttachmentDesc &src)
+void BaseRenderPassAttachmentDescToObjC(const RenderPassAttachmentDesc &src,
+ MTLRenderPassAttachmentDescriptor *dst)
{
ANGLE_OBJC_CP_PROPERTY(dst, src, texture);
ANGLE_OBJC_CP_PROPERTY(dst, src, level);
@@ -181,40 +183,28 @@ void ToObjC(MTLRenderPassAttachmentDescriptor *dst, const RenderPassAttachmentDe
ANGLE_OBJC_CP_PROPERTY(dst, src, storeActionOptions);
}
-MTLRenderPassColorAttachmentDescriptor *ToObjC(const RenderPassColorAttachmentDesc &desc)
+void ToObjC(const RenderPassColorAttachmentDesc &desc,
+ MTLRenderPassColorAttachmentDescriptor *objCDesc)
{
- MTLRenderPassColorAttachmentDescriptor *objCDesc =
- [[MTLRenderPassColorAttachmentDescriptor alloc] init];
-
- ToObjC(objCDesc, desc);
+ BaseRenderPassAttachmentDescToObjC(desc, objCDesc);
ANGLE_OBJC_CP_PROPERTY(objCDesc, desc, clearColor);
-
- return [objCDesc ANGLE_MTL_AUTORELEASE];
}
-MTLRenderPassDepthAttachmentDescriptor *ToObjC(const RenderPassDepthAttachmentDesc &desc)
+void ToObjC(const RenderPassDepthAttachmentDesc &desc,
+ MTLRenderPassDepthAttachmentDescriptor *objCDesc)
{
- MTLRenderPassDepthAttachmentDescriptor *objCDesc =
- [[MTLRenderPassDepthAttachmentDescriptor alloc] init];
-
- ToObjC(objCDesc, desc);
+ BaseRenderPassAttachmentDescToObjC(desc, objCDesc);
ANGLE_OBJC_CP_PROPERTY(objCDesc, desc, clearDepth);
-
- return [objCDesc ANGLE_MTL_AUTORELEASE];
}
-MTLRenderPassStencilAttachmentDescriptor *ToObjC(const RenderPassStencilAttachmentDesc &desc)
+void ToObjC(const RenderPassStencilAttachmentDesc &desc,
+ MTLRenderPassStencilAttachmentDescriptor *objCDesc)
{
- MTLRenderPassStencilAttachmentDescriptor *objCDesc =
- [[MTLRenderPassStencilAttachmentDescriptor alloc] init];
-
- ToObjC(objCDesc, desc);
+ BaseRenderPassAttachmentDescToObjC(desc, objCDesc);
ANGLE_OBJC_CP_PROPERTY(objCDesc, desc, clearStencil);
-
- return [objCDesc ANGLE_MTL_AUTORELEASE];
}
} // namespace
@@ -755,22 +745,27 @@ bool RenderPassDesc::operator==(const RenderPassDesc &other) const
}
// Convert to Metal object
-AutoObjCObj<MTLRenderPassDescriptor> ToMetalObj(const RenderPassDesc &desc)
+void RenderPassDesc::convertToMetalDesc(MTLRenderPassDescriptor *objCDesc) const
{
ANGLE_MTL_OBJC_SCOPE
{
- MTLRenderPassDescriptor *objCDesc = [MTLRenderPassDescriptor renderPassDescriptor];
-
- for (uint32_t i = 0; i < desc.numColorAttachments; ++i)
+ for (uint32_t i = 0; i < numColorAttachments; ++i)
{
- [objCDesc.colorAttachments setObject:ToObjC(desc.colorAttachments[i])
- atIndexedSubscript:i];
+ ToObjC(colorAttachments[i], objCDesc.colorAttachments[i]);
+ }
+ for (uint32_t i = numColorAttachments; i < kMaxRenderTargets; ++i)
+ {
+ // Inactive render target
+ objCDesc.colorAttachments[i].texture = nil;
+ objCDesc.colorAttachments[i].level = 0;
+ objCDesc.colorAttachments[i].slice = 0;
+ objCDesc.colorAttachments[i].depthPlane = 0;
+ objCDesc.colorAttachments[i].loadAction = MTLLoadActionDontCare;
+ objCDesc.colorAttachments[i].storeAction = MTLStoreActionDontCare;
}
- ANGLE_OBJC_CP_PROPERTY(objCDesc, desc, depthAttachment);
- ANGLE_OBJC_CP_PROPERTY(objCDesc, desc, stencilAttachment);
-
- return objCDesc;
+ ToObjC(depthAttachment, objCDesc.depthAttachment);
+ ToObjC(stencilAttachment, objCDesc.stencilAttachment);
}
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/blit.metal b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/blit.metal
index c6744eeb576..9b61357e494 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/blit.metal
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/blit.metal
@@ -10,8 +10,8 @@
struct BlitParams
{
- // 0: lower left, 1: lower right, 2: upper left, 3: upper right
- float2 srcTexCoords[4];
+ // 0: lower left, 1: lower right, 2: upper left
+ float2 srcTexCoords[3];
int srcLevel;
bool srcLuminance; // source texture is luminance texture
bool dstFlipViewportY;
@@ -28,8 +28,8 @@ vertex BlitVSOut blitVS(unsigned int vid [[ vertex_id ]],
constant BlitParams &options [[buffer(0)]])
{
BlitVSOut output;
- output.position = float4(gCorners[vid], 0.0, 1.0);
- output.texCoords = options.srcTexCoords[gTexcoordsIndices[vid]];
+ output.position = float4(gCorners[vid], 0.0, 1.0);
+ output.texCoords = options.srcTexCoords[vid];
if (!options.dstFlipViewportY)
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/common.h b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/common.h
index 11bab2bdfc2..421ef6d6a57 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/common.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/common.h
@@ -21,15 +21,8 @@
using namespace metal;
-// Full screen quad's vertices
-constant float2 gCorners[6] = {
- float2(-1.0f, 1.0f), float2(1.0f, -1.0f), float2(-1.0f, -1.0f),
- float2(-1.0f, 1.0f), float2(1.0f, 1.0f), float2(1.0f, -1.0f),
-};
-
-// Full screen quad's texcoords indices:
-// 0: lower left, 1: lower right, 2: upper left, 3: upper right
-constant int gTexcoordsIndices[6] = {2, 1, 0, 2, 3, 1};
+// Full screen triangle's vertices
+constant float2 gCorners[3] = {float2(-1.0f, -1.0f), float2(3.0f, -1.0f), float2(-1.0f, 3.0f)};
fragment float4 dummyFS()
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc
index a4eb670588c..5d36162fa91 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders.inc
@@ -1,7 +1,7 @@
// GENERATED FILE - DO NOT EDIT.
// Generated by gen_mtl_internal_shaders.py
//
-// Copyright 2019 The ANGLE Project Authors. All rights reserved.
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
@@ -16,20 +16,20 @@
constexpr
unsigned char compiled_default_metallib[] = {
- 0x4d, 0x54, 0x4c, 0x42, 0x01, 0x80, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x5e, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4d, 0x54, 0x4c, 0x42, 0x01, 0x80, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x06, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x9a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x9d, 0x00, 0x00,
+ 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
0x4e, 0x41, 0x4d, 0x45, 0x14, 0x00, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x38, 0x54, 0x6f, 0x55, 0x31,
0x36, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41, 0x53,
- 0x48, 0x20, 0x00, 0x49, 0xe5, 0x92, 0xed, 0x44, 0x5f, 0x6d, 0xb0, 0xf6,
- 0xc3, 0x55, 0x96, 0x53, 0x89, 0x47, 0x9c, 0xb7, 0x53, 0xaf, 0xee, 0xb8,
- 0x5a, 0x27, 0x4a, 0xbc, 0x21, 0x75, 0xac, 0x0c, 0x41, 0xcd, 0x90, 0x4d,
+ 0x48, 0x20, 0x00, 0xdd, 0x4f, 0xcb, 0x97, 0x79, 0xd3, 0x83, 0xa3, 0x92,
+ 0x3b, 0xab, 0x08, 0xc0, 0x28, 0xb3, 0x6e, 0xb7, 0x4a, 0xd0, 0x79, 0x55,
+ 0x23, 0x98, 0x9b, 0xce, 0x4c, 0x23, 0xb4, 0x1d, 0x08, 0xc4, 0x71, 0x4d,
0x44, 0x53, 0x5a, 0x08, 0x00, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -38,9 +38,9 @@ unsigned char compiled_default_metallib[] = {
0x54, 0x85, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55,
0x31, 0x36, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41,
- 0x53, 0x48, 0x20, 0x00, 0x2f, 0xe9, 0x3f, 0xe6, 0xad, 0x74, 0xb1, 0x03,
- 0x1c, 0x3d, 0x1b, 0x16, 0x38, 0x06, 0xf2, 0xf4, 0xc0, 0x47, 0xa9, 0xd9,
- 0xb8, 0x89, 0xae, 0x89, 0x6e, 0xf4, 0x6b, 0x2d, 0xc5, 0x54, 0x1e, 0xa6,
+ 0x53, 0x48, 0x20, 0x00, 0xaf, 0xa1, 0x69, 0xd4, 0xea, 0x69, 0xaf, 0x11,
+ 0x0a, 0x94, 0xbd, 0x0d, 0x6d, 0x72, 0xec, 0x5e, 0xb4, 0xd0, 0xbc, 0x3d,
+ 0x5e, 0xe9, 0xd9, 0x64, 0x44, 0xcf, 0x27, 0x63, 0x15, 0x0f, 0x74, 0x8f,
0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x20, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -49,10 +49,10 @@ unsigned char compiled_default_metallib[] = {
0x44, 0x54, 0x85, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00,
0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x55, 0x33, 0x32, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48,
- 0x41, 0x53, 0x48, 0x20, 0x00, 0xc6, 0xd5, 0xe9, 0xa9, 0x69, 0x35, 0xc5,
- 0x36, 0xbb, 0x75, 0xa7, 0xdf, 0x02, 0x2c, 0x60, 0x16, 0x11, 0xd9, 0x48,
- 0xdc, 0x54, 0x0d, 0x84, 0xcf, 0x44, 0xe8, 0xad, 0xa9, 0x28, 0x6c, 0xec,
- 0x34, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x0e, 0x00, 0x00, 0x00,
+ 0x41, 0x53, 0x48, 0x20, 0x00, 0xd0, 0x5b, 0x6b, 0xee, 0x2b, 0x2b, 0x00,
+ 0x15, 0x10, 0xc8, 0xfa, 0x30, 0xe1, 0x5a, 0x99, 0xc7, 0x3a, 0xf6, 0x98,
+ 0x8b, 0xa1, 0x93, 0x3d, 0xcc, 0x28, 0x32, 0xe4, 0xdf, 0x4e, 0x13, 0xf3,
+ 0x9e, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x0e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x31, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xb0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
@@ -61,9 +61,9 @@ unsigned char compiled_default_metallib[] = {
0x00, 0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e,
0x64, 0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x72, 0x72,
0x61, 0x79, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41,
- 0x53, 0x48, 0x20, 0x00, 0xab, 0x99, 0xb1, 0xcb, 0xb7, 0xe4, 0x30, 0x78,
- 0x17, 0xb6, 0xd2, 0xf6, 0xcf, 0xec, 0x03, 0x23, 0x58, 0xd8, 0x9f, 0xd7,
- 0xc9, 0x24, 0xd0, 0x59, 0x43, 0xb6, 0x8b, 0xe8, 0x57, 0x7e, 0xfd, 0x87,
+ 0x53, 0x48, 0x20, 0x00, 0x95, 0x97, 0xab, 0x18, 0x1f, 0xd1, 0x10, 0x73,
+ 0x1e, 0xa9, 0xf4, 0xf6, 0xd3, 0xb3, 0x2f, 0x1a, 0x21, 0xc2, 0xf3, 0x95,
+ 0x71, 0xb5, 0x77, 0xc2, 0x6e, 0xfd, 0x9b, 0xfd, 0xf5, 0xff, 0xf3, 0x36,
0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x80, 0x0b, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x5a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -73,88 +73,88 @@ unsigned char compiled_default_metallib[] = {
0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e, 0x64,
0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6c, 0x65, 0x6d,
0x65, 0x6e, 0x74, 0x73, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02,
- 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xdb, 0x4e, 0x42, 0xa1, 0x16, 0x32,
- 0x6a, 0xbb, 0x43, 0x49, 0xbc, 0x85, 0xad, 0x44, 0x63, 0x34, 0x21, 0x13,
- 0x93, 0xb5, 0x29, 0x1e, 0x22, 0xf2, 0x60, 0x14, 0xd2, 0x40, 0x72, 0xbf,
- 0x74, 0xba, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x14, 0x00, 0x00,
+ 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xd4, 0x46, 0x64, 0x31, 0x4c, 0x11,
+ 0xaf, 0x74, 0x21, 0x2d, 0xdf, 0x31, 0x59, 0x77, 0xf5, 0x5b, 0xd2, 0x6c,
+ 0x6c, 0x6b, 0xa7, 0x2e, 0x2a, 0xc2, 0x9b, 0x5c, 0xd5, 0x05, 0x38, 0xe5,
+ 0xe7, 0x5b, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x14, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x62, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x70, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45,
0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x45, 0x4e, 0x44, 0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45,
0x08, 0x00, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x56, 0x53, 0x00, 0x54, 0x59,
- 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xa9,
- 0xa6, 0xf8, 0x36, 0x3b, 0xc6, 0x10, 0x80, 0x0a, 0xc9, 0x69, 0xe9, 0x08,
- 0x77, 0xc8, 0xb1, 0x39, 0xe5, 0x47, 0xfc, 0xfc, 0xde, 0xc8, 0xbf, 0x64,
- 0xb5, 0xcb, 0x9b, 0xe8, 0xe9, 0x60, 0x90, 0x4d, 0x44, 0x53, 0x5a, 0x08,
- 0x00, 0x60, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46,
+ 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x8e,
+ 0x39, 0x5f, 0x43, 0x06, 0x60, 0x84, 0x43, 0x39, 0x46, 0x6c, 0x86, 0x41,
+ 0x90, 0x52, 0xa3, 0x4e, 0x37, 0x20, 0x1d, 0x73, 0x6b, 0x30, 0x61, 0x41,
+ 0x5a, 0x41, 0x07, 0x20, 0x82, 0x44, 0xa6, 0x4d, 0x44, 0x53, 0x5a, 0x08,
+ 0x00, 0x50, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46,
0x54, 0x18, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x47, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7c, 0x00, 0x00,
0x00, 0x4e, 0x41, 0x4d, 0x45, 0x07, 0x00, 0x62, 0x6c, 0x69, 0x74, 0x56,
0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53,
- 0x48, 0x20, 0x00, 0xfe, 0x2a, 0xd0, 0x38, 0x1d, 0xf3, 0xb1, 0x5e, 0x41,
- 0xcd, 0x2c, 0xd9, 0x4d, 0x50, 0xad, 0xbd, 0x6a, 0x4c, 0xeb, 0xbf, 0xab,
- 0xa2, 0x24, 0xe5, 0xe2, 0x4d, 0x9d, 0xa8, 0xaa, 0x98, 0x53, 0x7f, 0x4d,
- 0x44, 0x53, 0x5a, 0x08, 0x00, 0xd0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x48, 0x20, 0x00, 0x2b, 0x24, 0x51, 0x1e, 0xb6, 0x7e, 0x8d, 0xaa, 0x77,
+ 0xbf, 0x33, 0xb0, 0x0f, 0x8a, 0xdc, 0x63, 0xc1, 0x42, 0x78, 0xe4, 0x28,
+ 0xc7, 0xf4, 0x59, 0xa8, 0xbc, 0xf6, 0xb7, 0x50, 0xfb, 0x45, 0x3f, 0x4d,
+ 0x44, 0x53, 0x5a, 0x08, 0x00, 0x80, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08,
0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44,
0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x08, 0x00, 0x64,
0x75, 0x6d, 0x6d, 0x79, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01,
- 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xe1, 0x9e, 0x64, 0x0c,
- 0x12, 0x19, 0x21, 0x94, 0xb3, 0x4d, 0x66, 0x17, 0x5d, 0xbf, 0x4a, 0x3f,
- 0xf0, 0x56, 0xea, 0x0e, 0xf3, 0xcb, 0x04, 0xd8, 0xac, 0x72, 0x37, 0xcf,
- 0xc1, 0xe0, 0x1a, 0x3b, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x10, 0x09,
+ 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x18, 0x3f, 0x2f, 0x5f,
+ 0xb3, 0xf8, 0xd8, 0xcf, 0xff, 0xc2, 0x56, 0x27, 0xb6, 0x3c, 0xa0, 0x59,
+ 0x83, 0x94, 0xab, 0xa4, 0x94, 0xda, 0x24, 0xad, 0x90, 0x44, 0x40, 0xb4,
+ 0xd3, 0xc5, 0x0f, 0xec, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x10, 0x09,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00,
0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41,
0x4d, 0x45, 0x08, 0x00, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x46, 0x53, 0x00,
0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20,
- 0x00, 0x60, 0x2c, 0xf3, 0x5b, 0x0a, 0x75, 0x57, 0xb5, 0x04, 0xb9, 0xbc,
- 0xe3, 0x52, 0x77, 0x5b, 0x94, 0xf2, 0x3d, 0x95, 0x2c, 0xa7, 0x56, 0x44,
- 0x1a, 0x8a, 0xfb, 0x02, 0xd0, 0xa5, 0xb0, 0xad, 0x86, 0x4d, 0x44, 0x53,
+ 0x00, 0x65, 0xc1, 0x6c, 0x0c, 0xe8, 0x1b, 0xc3, 0xb2, 0xdb, 0xab, 0xbc,
+ 0x03, 0xd7, 0xbe, 0xa6, 0xdd, 0x5d, 0xeb, 0x6c, 0x76, 0x09, 0xcf, 0xeb,
+ 0x94, 0xd4, 0x91, 0xf9, 0x46, 0x7b, 0xef, 0x71, 0x3e, 0x4d, 0x44, 0x53,
0x5a, 0x08, 0x00, 0x80, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
0x46, 0x46, 0x54, 0x18, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x68, 0x00,
+ 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x68, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7c,
0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x07, 0x00, 0x62, 0x6c, 0x69,
0x74, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48,
- 0x41, 0x53, 0x48, 0x20, 0x00, 0xc8, 0x64, 0xa8, 0x6c, 0x14, 0x92, 0xbc,
- 0xaa, 0x9e, 0x2f, 0xde, 0xbc, 0xca, 0x88, 0xb4, 0xf4, 0x57, 0x23, 0x64,
- 0x7a, 0xfe, 0x4d, 0x44, 0x2e, 0x9a, 0x15, 0xb0, 0xe5, 0xb4, 0x21, 0xea,
- 0x94, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0xb0, 0x0d, 0x00, 0x00, 0x00,
+ 0x41, 0x53, 0x48, 0x20, 0x00, 0xbe, 0x7e, 0x04, 0xdf, 0xc8, 0xad, 0x78,
+ 0x68, 0x7e, 0x7f, 0x58, 0x75, 0x4e, 0x92, 0x14, 0xdb, 0xb9, 0x1a, 0x5b,
+ 0x9b, 0x7c, 0x35, 0xc7, 0x48, 0x7d, 0xb6, 0x13, 0x08, 0xaf, 0x19, 0x39,
+ 0xa9, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0xb0, 0x0d, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0xec, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
+ 0x00, 0x10, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45,
0x4e, 0x44, 0x54, 0x8c, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x17,
0x00, 0x62, 0x6c, 0x69, 0x74, 0x50, 0x72, 0x65, 0x6d, 0x75, 0x6c, 0x74,
0x69, 0x70, 0x6c, 0x79, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x46, 0x53, 0x00,
0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20,
- 0x00, 0x3a, 0xc3, 0xf6, 0x49, 0x04, 0xad, 0x69, 0x4f, 0x55, 0x7f, 0x15,
- 0xdb, 0x7b, 0x85, 0xfb, 0x70, 0x6a, 0x43, 0x14, 0xb2, 0x06, 0xc2, 0x51,
- 0x12, 0x4a, 0xac, 0x30, 0xba, 0xf4, 0x9b, 0x96, 0x9b, 0x4d, 0x44, 0x53,
+ 0x00, 0xff, 0xe5, 0xba, 0x70, 0xee, 0xad, 0x34, 0xf9, 0xfd, 0xec, 0x83,
+ 0xb3, 0x01, 0xb0, 0x2d, 0xef, 0x4d, 0xd8, 0x5d, 0xfe, 0x5d, 0x64, 0x7d,
+ 0x75, 0xad, 0x12, 0x9a, 0x39, 0x9b, 0x75, 0x82, 0xeb, 0x4d, 0x44, 0x53,
0x5a, 0x08, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
0x46, 0x46, 0x54, 0x18, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x81, 0x00,
+ 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x8b,
0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x16, 0x00, 0x62, 0x6c, 0x69,
0x74, 0x55, 0x6e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x41,
0x6c, 0x70, 0x68, 0x61, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01,
- 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x7e, 0xa3, 0x46, 0x35,
- 0xcb, 0x9a, 0x79, 0x42, 0x5b, 0x19, 0xe2, 0x33, 0x01, 0x9d, 0x5b, 0x7e,
- 0x27, 0xc2, 0x7f, 0x8c, 0xce, 0x6f, 0x13, 0xc6, 0x3f, 0x9a, 0xd3, 0x42,
- 0xb3, 0x0f, 0x38, 0x65, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x0e,
+ 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xe1, 0xe5, 0xbf, 0x35,
+ 0x51, 0x2d, 0xdf, 0x2d, 0x1a, 0xae, 0x9b, 0xfc, 0x48, 0x02, 0x6e, 0xa0,
+ 0xa2, 0x33, 0x4c, 0xc2, 0xb3, 0xfa, 0x7b, 0xb3, 0xc6, 0x81, 0x97, 0xc5,
+ 0xe3, 0x68, 0xe4, 0xa3, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x0e,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00,
0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x45, 0x4e, 0x44, 0x54, 0x04, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x25, 0x00, 0x00, 0x00, 0x43, 0x4e,
@@ -253,7 +253,7 @@ unsigned char compiled_default_metallib[] = {
0x71, 0x71, 0x4e, 0x53, 0x11, 0x91, 0x84, 0x38, 0x4d, 0x0a, 0x44, 0x00,
0x23, 0x21, 0x01, 0x80, 0x41, 0x84, 0x44, 0x18, 0x44, 0x20, 0x84, 0x39,
0x02, 0x68, 0x10, 0x81, 0x09, 0x4a, 0x11, 0x80, 0x5a, 0x8d, 0xdc, 0x40,
- 0x40, 0x0a, 0x80, 0x39, 0x02, 0x50, 0x18, 0x44, 0x00, 0x84, 0x39, 0x82,
+ 0x40, 0x0e, 0x80, 0x39, 0x02, 0x50, 0x18, 0x44, 0x00, 0x84, 0x39, 0x82,
0x60, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb2, 0x70, 0x48, 0x07, 0x79,
0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87, 0x79, 0xc0, 0x87, 0x38,
@@ -292,8 +292,8 @@ unsigned char compiled_default_metallib[] = {
0x00, 0x00, 0xb2, 0x40, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e,
0x98, 0x10, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02, 0x50, 0x10, 0x65, 0x40,
- 0x72, 0x04, 0xa0, 0x10, 0xe8, 0x8c, 0x00, 0x50, 0x1c, 0x4b, 0x50, 0x1e,
- 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
+ 0x72, 0x04, 0xa0, 0x10, 0xe8, 0x8c, 0x00, 0x50, 0x1c, 0x6b, 0x50, 0x1e,
+ 0x02, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c,
@@ -331,54 +331,54 @@ unsigned char compiled_default_metallib[] = {
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x7e, 0x9c, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xb2,
+ 0xc8, 0x90, 0x51, 0x7e, 0xdc, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1,
0x0c, 0xca, 0x23, 0x21, 0x54, 0xa2, 0x44, 0x57, 0x75, 0x14, 0x85, 0x63,
0x18, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64,
- 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
- 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
- 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74,
- 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69,
- 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
- 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
- 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43,
- 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65,
- 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x69,
- 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65,
- 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
- 0x00, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x44, 0xcb, 0x04, 0x01, 0x18,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34,
+ 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30,
+ 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61,
+ 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
+ 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
+ 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72,
+ 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69,
+ 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61,
+ 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74,
+ 0x65, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75,
+ 0x74, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x44, 0xcb, 0x04, 0x01, 0x18,
0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09, 0xc2, 0x13, 0x4c, 0x10,
0x00, 0x63, 0x82, 0x00, 0x1c, 0x1b, 0x06, 0x30, 0x08, 0xc2, 0x60, 0xc3,
0x20, 0x06, 0xc2, 0x18, 0x6c, 0x08, 0x86, 0x0d, 0x03, 0x18, 0x90, 0x01,
@@ -501,7 +501,7 @@ unsigned char compiled_default_metallib[] = {
0x8b, 0xcd, 0x40, 0x5c, 0x9c, 0xd3, 0x54, 0x44, 0x24, 0x21, 0x4e, 0x93,
0x02, 0x11, 0xc0, 0x48, 0x48, 0x10, 0x62, 0x10, 0x81, 0x11, 0xe6, 0x08,
0xa0, 0x41, 0x04, 0x47, 0x18, 0x44, 0x70, 0x82, 0x62, 0x0c, 0xd1, 0xc2,
- 0x83, 0x14, 0x07, 0x02, 0x52, 0x40, 0xcc, 0x11, 0x04, 0x73, 0x04, 0xa0,
+ 0x83, 0x14, 0x07, 0x02, 0x72, 0x40, 0xcc, 0x11, 0x04, 0x73, 0x04, 0xa0,
0x30, 0x88, 0x20, 0x08, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb2,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87,
@@ -550,8 +550,8 @@ unsigned char compiled_default_metallib[] = {
0x33, 0x00, 0x45, 0x40, 0xa2, 0xfc, 0xff, 0x0f, 0x8a, 0xa0, 0x04, 0x0a,
0x61, 0x04, 0xa0, 0x20, 0xca, 0x80, 0x6a, 0x0d, 0x90, 0x1d, 0x01, 0x28,
0x04, 0x32, 0x23, 0x00, 0xc6, 0x01, 0xc0, 0x38, 0x04, 0xd0, 0xc1, 0x61,
- 0x99, 0x4a, 0x08, 0x03, 0x4c, 0x0a, 0x05, 0x7b, 0x89, 0x8e, 0x25, 0x28,
- 0x0f, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
+ 0x99, 0x4a, 0x08, 0x03, 0x4c, 0x0a, 0x05, 0x7b, 0x89, 0x8e, 0x35, 0x28,
+ 0x0f, 0x01, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c,
@@ -589,63 +589,63 @@ unsigned char compiled_default_metallib[] = {
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x9a, 0x01, 0x19, 0xfc, 0x14, 0x00, 0x00, 0x8b, 0xb2,
+ 0xc8, 0x90, 0x51, 0x9a, 0x01, 0x19, 0x80, 0x15, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1,
0x0c, 0xca, 0x23, 0x21, 0x54, 0xa2, 0x44, 0x57, 0x75, 0x54, 0x84, 0x55,
0x14, 0x94, 0xc1, 0x38, 0xc6, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x36,
- 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72,
- 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61,
- 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34, 0x20, 0x28, 0x6d, 0x65,
+ 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34,
+ 0x2e, 0x39, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
- 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
- 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
- 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
- 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61,
- 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
- 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75,
- 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
- 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
- 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
- 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73,
- 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e,
- 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e,
- 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
- 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x6e,
- 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75, 0x63, 0x68, 0x61, 0x72,
- 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65,
- 0x64, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x70, 0x75, 0x74,
- 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72,
- 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74,
- 0x70, 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e,
- 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65,
- 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x13, 0x04,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
+ 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
+ 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
+ 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
+ 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62,
+ 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
+ 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66,
+ 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
+ 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72,
+ 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55,
+ 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75, 0x63, 0x68, 0x61,
+ 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e,
+ 0x65, 0x64, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x70, 0x75,
+ 0x74, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e,
+ 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75,
+ 0x74, 0x70, 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65,
+ 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c,
+ 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x13, 0x04,
0x81, 0x99, 0x20, 0x50, 0xdb, 0x04, 0x41, 0x68, 0x26, 0x08, 0x82, 0x33,
0x41, 0x10, 0x9e, 0x09, 0x82, 0x74, 0x4c, 0x10, 0x04, 0x68, 0x82, 0x10,
0x00, 0x13, 0x04, 0x21, 0x9a, 0x20, 0x04, 0xc1, 0x04, 0x21, 0x20, 0x26,
@@ -802,7 +802,7 @@ unsigned char compiled_default_metallib[] = {
0x14, 0x51, 0xc2, 0xe4, 0x8b, 0xcd, 0x40, 0x5c, 0x9c, 0xd3, 0x54, 0x44,
0x24, 0x21, 0x4e, 0x93, 0x02, 0x11, 0xc0, 0x48, 0x48, 0x10, 0x62, 0x10,
0x81, 0x11, 0x06, 0x11, 0x04, 0x61, 0x10, 0x41, 0x08, 0x8a, 0x31, 0x44,
- 0x0b, 0xee, 0x11, 0x1c, 0x08, 0x48, 0x01, 0x31, 0x47, 0x10, 0xcc, 0x11,
+ 0x0b, 0xee, 0x11, 0x1c, 0x08, 0xc8, 0x01, 0x31, 0x47, 0x10, 0xcc, 0x11,
0x80, 0xc2, 0x14, 0x00, 0x00, 0x00, 0x13, 0xb2, 0x70, 0x48, 0x07, 0x79,
0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87, 0x79, 0xc0, 0x87, 0x38,
@@ -851,7 +851,7 @@ unsigned char compiled_default_metallib[] = {
0xa2, 0xfc, 0xff, 0x0f, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x20,
0xca, 0x80, 0x68, 0x0d, 0x50, 0x1d, 0x01, 0x28, 0x04, 0x32, 0x23, 0x00,
0xc6, 0x01, 0xc0, 0x38, 0x04, 0xd0, 0xc1, 0x61, 0x99, 0x4a, 0x08, 0x03,
- 0x4c, 0x0a, 0x05, 0x7b, 0x69, 0x8e, 0x25, 0x28, 0x0f, 0x00, 0xb1, 0x18,
+ 0x4c, 0x0a, 0x05, 0x7b, 0x69, 0x8e, 0x35, 0x28, 0x0f, 0x01, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -890,62 +890,62 @@ unsigned char compiled_default_metallib[] = {
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
0x00, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x96,
- 0x01, 0x18, 0xd4, 0x14, 0x00, 0x00, 0x8b, 0xb2, 0x06, 0xc5, 0xc6, 0x95,
+ 0x01, 0x18, 0xd8, 0x14, 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x95,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21,
0x54, 0xa2, 0x44, 0x57, 0x75, 0x54, 0x84, 0x55, 0x14, 0x14, 0xe3, 0x18,
0xcf, 0x03, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64,
- 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
- 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
- 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74,
- 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69,
- 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
- 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
- 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43,
- 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65,
- 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f,
- 0x6c, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x55, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75,
- 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c,
- 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6c,
- 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75,
- 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20,
- 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43,
- 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x00, 0x00, 0x13, 0x04,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34,
+ 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30,
+ 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61,
+ 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
+ 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
+ 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72,
+ 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69,
+ 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61,
+ 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f,
+ 0x6f, 0x6c, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66,
+ 0x66, 0x65, 0x72, 0x55, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64,
+ 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41,
+ 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41,
+ 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70,
+ 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74,
+ 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20,
+ 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x00, 0x13, 0x04,
0x81, 0x99, 0x20, 0x4c, 0xdb, 0x04, 0x41, 0x68, 0x26, 0x08, 0x82, 0x33,
0x41, 0x10, 0x9e, 0x09, 0x42, 0x74, 0x4c, 0x10, 0x04, 0x68, 0x82, 0x10,
0x00, 0x13, 0x04, 0x21, 0x9a, 0x20, 0x04, 0xc1, 0x04, 0x21, 0x20, 0x26,
@@ -1039,10 +1039,10 @@ unsigned char compiled_default_metallib[] = {
0x05, 0xbf, 0xf8, 0x33, 0x80, 0x34, 0x11, 0xd1, 0x2f, 0x39, 0x54, 0x24,
0x10, 0x3e, 0x43, 0x4c, 0xc0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x64, 0x0b, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x68, 0x0b, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
- 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xd1, 0x02, 0x00, 0x00, 0x0b, 0x82,
+ 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xd2, 0x02, 0x00, 0x00, 0x0b, 0x82,
0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81,
0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01,
0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14,
@@ -1103,7 +1103,7 @@ unsigned char compiled_default_metallib[] = {
0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0xc7, 0x49, 0x53, 0x44, 0x09,
0x93, 0x2f, 0x36, 0x03, 0x71, 0x71, 0x4e, 0x53, 0x11, 0x91, 0x84, 0x38,
0x4d, 0x0a, 0x44, 0x00, 0x23, 0x21, 0x01, 0x80, 0x41, 0x84, 0x44, 0x18,
- 0x44, 0x00, 0x82, 0x42, 0x04, 0xa0, 0x16, 0xb1, 0x81, 0x80, 0x14, 0x00,
+ 0x44, 0x00, 0x82, 0x42, 0x04, 0xa0, 0x16, 0xb1, 0x81, 0x80, 0x1c, 0x00,
0x73, 0x04, 0xa0, 0x30, 0x88, 0x00, 0x08, 0x73, 0x04, 0xc1, 0x14, 0x00,
0x00, 0x00, 0x13, 0xb2, 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68,
0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08,
@@ -1139,11 +1139,11 @@ unsigned char compiled_default_metallib[] = {
0x52, 0x02, 0x04, 0xe0, 0x05, 0x45, 0x0c, 0x79, 0x18, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xd0, 0x08, 0x61, 0xd8, 0xcc,
0x20, 0x9a, 0x36, 0x42, 0x3e, 0xa0, 0x11, 0x9b, 0x01, 0x11, 0x08, 0xe9,
- 0x8b, 0x1c, 0x46, 0x8b, 0x22, 0x00, 0x93, 0xd8, 0x20, 0x50, 0xf8, 0x58,
+ 0x8b, 0x1c, 0x46, 0x8b, 0x22, 0x00, 0x93, 0xd8, 0x20, 0x50, 0x18, 0x59,
0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e,
0x98, 0x10, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02, 0x50, 0x10, 0x04, 0x47,
- 0x00, 0x0a, 0x81, 0xce, 0x08, 0x00, 0xbd, 0xb1, 0x04, 0xe5, 0x01, 0x00,
+ 0x00, 0x0a, 0x81, 0xce, 0x08, 0x00, 0xbd, 0xb1, 0x06, 0xe5, 0x21, 0x00,
0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
@@ -1181,108 +1181,108 @@ unsigned char compiled_default_metallib[] = {
0xb0, 0x43, 0x3d, 0xd0, 0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b,
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
- 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x72, 0x1c, 0x18, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xb2,
+ 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, 0x22, 0x47,
+ 0xc8, 0x90, 0x51, 0x72, 0x5c, 0x18, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1,
0x0c, 0xca, 0x23, 0x21, 0xd4, 0x22, 0x45, 0x57, 0x74, 0x38, 0x06, 0x00,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64,
- 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
- 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
- 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74,
- 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69,
- 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
- 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x66, 0x69, 0x72,
- 0x73, 0x74, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x76, 0x65, 0x72, 0x74,
- 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x33,
- 0x72, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
- 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67,
- 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e,
- 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70,
- 0x75, 0x74, 0x13, 0x04, 0x40, 0x98, 0x20, 0x3c, 0xca, 0x04, 0x01, 0x18,
- 0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09, 0x42, 0x13, 0x4c, 0x10,
- 0x00, 0x63, 0xc3, 0xd0, 0x05, 0xde, 0x86, 0xe1, 0x13, 0xc0, 0x60, 0x43,
- 0x30, 0x6c, 0x18, 0xba, 0x30, 0x08, 0x83, 0x0d, 0x04, 0xd1, 0x85, 0x41,
- 0x18, 0x6c, 0x08, 0x8a, 0x0d, 0x81, 0xb1, 0x21, 0x38, 0x36, 0x04, 0xc8,
- 0x86, 0x20, 0xd9, 0x10, 0x28, 0x1b, 0x80, 0x0d, 0x46, 0x18, 0x2c, 0x4c,
- 0xe3, 0x3c, 0x1b, 0x94, 0x30, 0x00, 0x83, 0x30, 0x68, 0x2a, 0x30, 0x00,
- 0x83, 0x30, 0x68, 0xac, 0x0d, 0xd2, 0x07, 0x45, 0x63, 0x20, 0x85, 0xc1,
- 0x37, 0x51, 0x71, 0x70, 0x8d, 0x01, 0x06, 0x06, 0x4c, 0xe6, 0x68, 0x1b,
- 0x9c, 0x0e, 0x92, 0xba, 0x6f, 0xbb, 0xc0, 0x00, 0x03, 0x03, 0xa6, 0x71,
- 0xb8, 0x0d, 0x03, 0x1c, 0xc8, 0xc1, 0x1c, 0x6c, 0x18, 0xc4, 0xe0, 0x0d,
- 0xe8, 0x40, 0x23, 0x81, 0x09, 0x6a, 0xc4, 0xc6, 0x66, 0xd7, 0xe6, 0xd2,
- 0xf6, 0x46, 0x56, 0xc7, 0x56, 0xe6, 0x62, 0xc6, 0x16, 0x76, 0x36, 0x37,
- 0x45, 0x18, 0x03, 0x32, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46,
- 0x56, 0xe6, 0x46, 0x37, 0x25, 0x28, 0x83, 0x2e, 0x61, 0x69, 0x72, 0x2e,
- 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x02, 0x33, 0x28, 0x15,
- 0x96, 0x26, 0xe7, 0xc2, 0x16, 0xe6, 0x76, 0x56, 0x17, 0x76, 0x56, 0xf6,
- 0x65, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x38, 0x83, 0x4e,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x0c, 0x34, 0x48, 0x03,
- 0x35, 0x58, 0x03, 0x36, 0x68, 0x83, 0x2a, 0x61, 0x69, 0x72, 0x2e, 0x6b,
- 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x53, 0x02, 0x3a, 0x00, 0x00, 0xa9, 0x18,
- 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77,
- 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0,
- 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41,
- 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
- 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x13, 0x04,
- 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0xca,
- 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x12, 0x04, 0x1f, 0x00, 0x00,
- 0x00, 0x00, 0xd7, 0xf0, 0x3c, 0x00, 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x37,
- 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x69, 0x6e, 0x74, 0x6f, 0x6d, 0x6e, 0x69,
- 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53,
- 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42,
- 0x41, 0x41, 0x13, 0x04, 0xe8, 0x98, 0x20, 0x40, 0xc8, 0x86, 0x20, 0x0f,
- 0x36, 0x0c, 0x78, 0xc0, 0x07, 0x7a, 0xb0, 0x61, 0xb8, 0x83, 0x3e, 0xd0,
- 0x83, 0x0d, 0x85, 0x1d, 0xf8, 0x81, 0x1e, 0xf8, 0xc1, 0x1e, 0x6c, 0x18,
- 0xfe, 0xc0, 0x0f, 0xf6, 0x60, 0xc3, 0xf0, 0x07, 0x7e, 0xa0, 0x07, 0x1b,
- 0x06, 0x3f, 0xf0, 0x03, 0x3d, 0x00, 0x3b, 0x0d, 0x44, 0xd2, 0x50, 0x00,
- 0xc6, 0x70, 0x43, 0x70, 0x88, 0xc1, 0x2c, 0x43, 0x20, 0x04, 0x3b, 0x0d,
- 0x07, 0xe3, 0x50, 0x00, 0x46, 0x29, 0x13, 0x54, 0x20, 0x40, 0x31, 0x89,
- 0x5c, 0x00, 0x63, 0x03, 0x81, 0x09, 0x86, 0x0d, 0x88, 0xc0, 0x18, 0x80,
- 0x22, 0x16, 0x28, 0x02, 0x83, 0x0b, 0x60, 0x6c, 0x20, 0x40, 0xc1, 0xb0,
- 0x01, 0x11, 0x10, 0x03, 0x50, 0x07, 0x07, 0x17, 0xc0, 0xd8, 0x40, 0x98,
- 0x82, 0x61, 0x03, 0x22, 0x58, 0x06, 0x60, 0x96, 0x40, 0xc0, 0x80, 0x18,
- 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5b, 0x86, 0x20, 0xf8, 0x83, 0x2d,
- 0x43, 0x11, 0x80, 0xc2, 0x96, 0x61, 0x09, 0x42, 0x61, 0xcb, 0x00, 0x05,
- 0xa1, 0xb0, 0x65, 0xa0, 0x82, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x52, 0x0e,
- 0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44, 0xc8, 0xe4, 0x48, 0x39,
- 0x40, 0x88, 0x90, 0xa1, 0x01, 0x44, 0xcb, 0x52, 0x31, 0xbe, 0xb1, 0x38,
- 0x01, 0xb0, 0xfc, 0xc2, 0xe4, 0x44, 0x92, 0x06, 0x08, 0x16, 0x64, 0x06,
- 0xd1, 0xb4, 0x11, 0xf2, 0x01, 0x8d, 0xd8, 0x0c, 0x88, 0x40, 0x48, 0x5f,
- 0xe4, 0x30, 0x5a, 0x14, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34,
+ 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30,
+ 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61,
+ 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
+ 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
+ 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x66, 0x69,
+ 0x72, 0x73, 0x74, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x76, 0x65, 0x72,
+ 0x74, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d,
+ 0x33, 0x72, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
+ 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x54, 0x72, 0x69, 0x46, 0x61,
+ 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x72,
+ 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x3c,
+ 0xca, 0x04, 0x01, 0x18, 0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09,
+ 0x42, 0x13, 0x4c, 0x10, 0x00, 0x63, 0xc3, 0xd0, 0x05, 0xde, 0x86, 0xe1,
+ 0x13, 0xc0, 0x60, 0x43, 0x30, 0x6c, 0x18, 0xba, 0x30, 0x08, 0x83, 0x0d,
+ 0x04, 0xd1, 0x85, 0x41, 0x18, 0x6c, 0x08, 0x8a, 0x0d, 0x81, 0xb1, 0x21,
+ 0x38, 0x36, 0x04, 0xc8, 0x86, 0x20, 0xd9, 0x10, 0x28, 0x1b, 0x80, 0x0d,
+ 0x46, 0x18, 0x2c, 0x4c, 0xe3, 0x3c, 0x1b, 0x94, 0x30, 0x00, 0x83, 0x30,
+ 0x68, 0x2a, 0x30, 0x00, 0x83, 0x30, 0x68, 0xac, 0x0d, 0xd2, 0x07, 0x45,
+ 0x63, 0x20, 0x85, 0xc1, 0x37, 0x51, 0x71, 0x70, 0x8d, 0x01, 0x06, 0x06,
+ 0x4c, 0xe6, 0x68, 0x1b, 0x9c, 0x0e, 0x92, 0xba, 0x6f, 0xbb, 0xc0, 0x00,
+ 0x03, 0x03, 0xa6, 0x71, 0xb8, 0x0d, 0x03, 0x1c, 0xc8, 0xc1, 0x1c, 0x6c,
+ 0x18, 0xc4, 0xe0, 0x0d, 0xe8, 0x40, 0x23, 0x81, 0x09, 0x6a, 0xc4, 0xc6,
+ 0x66, 0xd7, 0xe6, 0xd2, 0xf6, 0x46, 0x56, 0xc7, 0x56, 0xe6, 0x62, 0xc6,
+ 0x16, 0x76, 0x36, 0x37, 0x45, 0x18, 0x03, 0x32, 0xa8, 0xc2, 0xc6, 0x66,
+ 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x28, 0x83, 0x2e,
+ 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53,
+ 0x02, 0x33, 0x28, 0x15, 0x96, 0x26, 0xe7, 0xc2, 0x16, 0xe6, 0x76, 0x56,
+ 0x17, 0x76, 0x56, 0xf6, 0x65, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36,
+ 0x25, 0x38, 0x83, 0x4e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53,
+ 0x0c, 0x34, 0x48, 0x03, 0x35, 0x58, 0x03, 0x36, 0x68, 0x83, 0x2a, 0x61,
+ 0x69, 0x72, 0x2e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x53, 0x02, 0x3a,
+ 0x00, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
+ 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
+ 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
+ 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
+ 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x43, 0x00,
+ 0x00, 0x00, 0x13, 0x04, 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x04, 0xca, 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x12,
+ 0x04, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xf0, 0x3c, 0x00, 0x5f, 0x5a,
+ 0x54, 0x53, 0x31, 0x37, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x41, 0x72,
+ 0x72, 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x69, 0x6e, 0x74,
+ 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63,
+ 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b,
+ 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x13, 0x04, 0xe8, 0x98, 0x20, 0x40,
+ 0xc8, 0x86, 0x20, 0x0f, 0x36, 0x0c, 0x78, 0xc0, 0x07, 0x7a, 0xb0, 0x61,
+ 0xb8, 0x83, 0x3e, 0xd0, 0x83, 0x0d, 0x85, 0x1d, 0xf8, 0x81, 0x1e, 0xf8,
+ 0xc1, 0x1e, 0x6c, 0x18, 0xfe, 0xc0, 0x0f, 0xf6, 0x60, 0xc3, 0xf0, 0x07,
+ 0x7e, 0xa0, 0x07, 0x1b, 0x06, 0x3f, 0xf0, 0x03, 0x3d, 0x00, 0x3b, 0x0d,
+ 0x44, 0xd2, 0x50, 0x00, 0xc6, 0x70, 0x43, 0x70, 0x88, 0xc1, 0x2c, 0x43,
+ 0x20, 0x04, 0x3b, 0x0d, 0x07, 0xe3, 0x50, 0x00, 0x46, 0x29, 0x13, 0x54,
+ 0x20, 0x40, 0x31, 0x89, 0x5c, 0x00, 0x63, 0x03, 0x81, 0x09, 0x86, 0x0d,
+ 0x88, 0xc0, 0x18, 0x80, 0x22, 0x16, 0x28, 0x02, 0x83, 0x0b, 0x60, 0x6c,
+ 0x20, 0x40, 0xc1, 0xb0, 0x01, 0x11, 0x10, 0x03, 0x50, 0x07, 0x07, 0x17,
+ 0xc0, 0xd8, 0x40, 0x98, 0x82, 0x61, 0x03, 0x22, 0x58, 0x06, 0x60, 0x96,
+ 0x40, 0xc0, 0x80, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5b, 0x86,
+ 0x20, 0xf8, 0x83, 0x2d, 0x43, 0x11, 0x80, 0xc2, 0x96, 0x61, 0x09, 0x42,
+ 0x61, 0xcb, 0x00, 0x05, 0xa1, 0xb0, 0x65, 0xa0, 0x82, 0x50, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0f, 0x00,
+ 0x00, 0x00, 0x52, 0x0e, 0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44,
+ 0xc8, 0xe4, 0x48, 0x39, 0x40, 0x88, 0x90, 0xa1, 0x01, 0x44, 0xcb, 0x52,
+ 0x31, 0xbe, 0xb1, 0x38, 0x01, 0xb0, 0xfc, 0xc2, 0xe4, 0x44, 0x92, 0x06,
+ 0x0c, 0x16, 0x64, 0x06, 0xd1, 0xb4, 0x11, 0xf2, 0x01, 0x8d, 0xd8, 0x0c,
+ 0x88, 0x40, 0x48, 0x5f, 0xe4, 0x30, 0x5a, 0x14, 0x01, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x14,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
@@ -1352,7 +1352,7 @@ unsigned char compiled_default_metallib[] = {
0x8b, 0xcd, 0x40, 0x5c, 0x9c, 0xd3, 0x54, 0x44, 0x24, 0x21, 0x4e, 0x93,
0x02, 0x11, 0xc0, 0x48, 0x48, 0x10, 0x62, 0x10, 0x81, 0x11, 0xe6, 0x08,
0xa0, 0x41, 0x04, 0x47, 0x18, 0x44, 0x10, 0x84, 0x41, 0x04, 0x21, 0x28,
- 0xc7, 0x10, 0x2d, 0x3c, 0x18, 0x49, 0x0e, 0x04, 0xa4, 0x80, 0x98, 0x23,
+ 0xc7, 0x10, 0x2d, 0x3c, 0x18, 0x49, 0x0e, 0x04, 0xe4, 0x80, 0x98, 0x23,
0x08, 0xe6, 0x08, 0x40, 0x61, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb2,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87,
@@ -1410,7 +1410,7 @@ unsigned char compiled_default_metallib[] = {
0xca, 0xa0, 0x14, 0xc8, 0xd6, 0x00, 0xdd, 0x11, 0x80, 0x42, 0x20, 0x33,
0x02, 0x60, 0x1c, 0x00, 0x8c, 0x43, 0x80, 0x71, 0x10, 0xa0, 0x83, 0xc3,
0xe4, 0x78, 0x84, 0x30, 0x10, 0x49, 0xe1, 0xf0, 0x81, 0x21, 0xd5, 0xb1,
- 0x04, 0xe5, 0x01, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x06, 0xe5, 0x21, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -1448,71 +1448,71 @@ unsigned char compiled_default_metallib[] = {
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x3c, 0x01,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xf4, 0x17,
- 0x00, 0x00, 0x8b, 0xb2, 0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xf8, 0x17,
+ 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21, 0x54, 0xa2, 0x44, 0x57,
0x75, 0x54, 0x84, 0x54, 0x1c, 0x93, 0x81, 0x4c, 0x88, 0x63, 0x50, 0x50,
0x14, 0x3d, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65,
- 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
- 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64,
- 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d,
- 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72,
- 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65,
- 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
- 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72,
- 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
- 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69,
- 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72,
- 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72,
- 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66,
- 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e,
- 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
- 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x38, 0x75,
- 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x38, 0x6b,
- 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x55, 0x31, 0x36, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74,
- 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x31, 0x36, 0x6b, 0x55, 0x73, 0x65,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x55, 0x33, 0x32, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x33, 0x32, 0x61,
- 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74,
- 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67,
- 0x6e, 0x65, 0x64, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e,
- 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x38, 0x6b, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31, 0x36,
- 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
- 0x49, 0x73, 0x55, 0x33, 0x32, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74,
- 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70,
- 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00,
+ 0x32, 0x2e, 0x31, 0x34, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66,
+ 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
+ 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67,
+ 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69,
+ 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74,
+ 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72,
+ 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69,
+ 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+ 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x38,
+ 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x38,
+ 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x55, 0x31, 0x36, 0x75, 0x73, 0x68, 0x6f, 0x72,
+ 0x74, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x31, 0x36, 0x6b, 0x55, 0x73,
+ 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x55, 0x33, 0x32, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x33, 0x32,
+ 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69,
+ 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69,
+ 0x67, 0x6e, 0x65, 0x64, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x38, 0x6b, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31,
+ 0x36, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x49, 0x73, 0x55, 0x33, 0x32, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f,
+ 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d,
+ 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41,
0x00, 0x00, 0x13, 0x04, 0x81, 0x9a, 0x20, 0x54, 0x65, 0x30, 0x41, 0x10,
0xaa, 0x09, 0x82, 0x60, 0x4d, 0x10, 0x84, 0x6b, 0x82, 0x30, 0x3d, 0x13,
0x04, 0x01, 0x9b, 0x20, 0x04, 0xc0, 0x04, 0x41, 0xc8, 0x26, 0x08, 0x41,
@@ -1716,10 +1716,10 @@ unsigned char compiled_default_metallib[] = {
0xf9, 0xff, 0x12, 0x15, 0xfc, 0xe2, 0xcf, 0x00, 0xd2, 0x44, 0x44, 0xbf,
0xe4, 0x50, 0x91, 0x40, 0xf8, 0x0c, 0x31, 0x01, 0x0b, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
- 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x48, 0x0b,
+ 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x3c, 0x0b,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10,
- 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xca, 0x02,
+ 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xc7, 0x02,
0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00,
0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10,
0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04,
@@ -1778,10 +1778,10 @@ unsigned char compiled_default_metallib[] = {
0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x64,
0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40, 0x62, 0x8e, 0x00, 0x21,
0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x33, 0x00, 0xc3, 0x08, 0x42,
- 0x92, 0x06, 0x6a, 0x10, 0x61, 0x11, 0x86, 0x11, 0x88, 0x24, 0x19, 0xc8,
+ 0x92, 0x03, 0x6a, 0x10, 0x61, 0x11, 0x86, 0x11, 0x88, 0x24, 0x19, 0xc8,
0x49, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0x73, 0x0b, 0x01, 0x44, 0x29, 0x10,
0x01, 0x8c, 0x84, 0x86, 0x96, 0xdc, 0x20, 0xc2, 0x23, 0x94, 0xa1, 0x01,
- 0x48, 0x71, 0x20, 0x20, 0x05, 0xc0, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x28,
+ 0x48, 0x71, 0x20, 0x20, 0x07, 0xc0, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x28,
0xc2, 0x30, 0x02, 0x01, 0x0c, 0x22, 0x24, 0x02, 0x00, 0x00, 0x13, 0xb2,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87,
@@ -1814,19 +1814,18 @@ unsigned char compiled_default_metallib[] = {
0x07, 0x70, 0x20, 0x07, 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07, 0x72, 0x40,
0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30,
0x07, 0x72, 0xa0, 0xf3, 0x40, 0x08, 0x19, 0x32, 0x52, 0x64, 0x04, 0xe0,
- 0x09, 0x8c, 0xc0, 0x0e, 0x66, 0x59, 0xa2, 0x81, 0x00, 0x00, 0x20, 0x00,
+ 0x09, 0x8c, 0xc0, 0x0e, 0x66, 0x59, 0xa0, 0x81, 0x00, 0x00, 0x20, 0x00,
0x00, 0x60, 0xc8, 0x13, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x80, 0x46, 0x08, 0xc3, 0x1e, 0xc2, 0x42, 0x00, 0xd1, 0xcb,
- 0x4a, 0x6c, 0x10, 0x28, 0x1c, 0x2c, 0x00, 0x00, 0x90, 0x05, 0x02, 0x00,
- 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
+ 0x4a, 0x6c, 0x10, 0x28, 0xec, 0x2b, 0x00, 0x00, 0x90, 0x05, 0x02, 0x00,
+ 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x42, 0x75, 0x04, 0xa0, 0x40,
0xe8, 0x8c, 0x00, 0x90, 0x1a, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x7f, 0x01,
- 0x04, 0x41, 0x10, 0xff, 0xc6, 0x12, 0x40, 0x10, 0x04, 0xf1, 0x0f, 0x04,
- 0x41, 0x10, 0xff, 0x85, 0xb1, 0x04, 0x10, 0x04, 0x41, 0xfc, 0x17, 0x40,
- 0x10, 0x04, 0xf1, 0x5f, 0x18, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x3f, 0x10,
- 0x04, 0x41, 0xfc, 0xa3, 0x85, 0x06, 0x6b, 0x8e, 0xbd, 0x46, 0x74, 0x2c,
- 0x41, 0x79, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x04, 0x41, 0x10, 0xff, 0x85, 0xb1, 0x04, 0x10, 0x04, 0x41, 0x12, 0x0c,
+ 0x40, 0x10, 0x04, 0xf1, 0x5f, 0x18, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x7f,
+ 0x01, 0x04, 0x41, 0x90, 0x04, 0x03, 0x5a, 0x38, 0xb0, 0xe6, 0x88, 0x8e,
+ 0x35, 0x28, 0x0f, 0x01, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -1864,52 +1863,52 @@ unsigned char compiled_default_metallib[] = {
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xc6, 0x00,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x76, 0x9c, 0x0a, 0x01, 0x00,
- 0x00, 0x00, 0x8b, 0xb2, 0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x76, 0xdc, 0x0a, 0x01, 0x00,
+ 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x30, 0x91, 0xd1, 0x10, 0xcc, 0xa0, 0x3c, 0x12, 0x42, 0x29, 0x85,
0x12, 0x5d, 0xcb, 0x02, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65,
- 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
- 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64,
- 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d,
- 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72,
- 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65,
- 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
- 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69,
- 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x75,
- 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
- 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
- 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
- 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f,
- 0x6c, 0x6f, 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61,
- 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c,
- 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x63, 0x6c, 0x65,
- 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x13, 0x04,
- 0x60, 0x98, 0x20, 0x50, 0xd1, 0x04, 0x01, 0x20, 0x26, 0x08, 0x40, 0x31,
+ 0x32, 0x2e, 0x31, 0x34, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66,
+ 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
+ 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61,
+ 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64,
+ 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62,
+ 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
+ 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43,
+ 0x6f, 0x6c, 0x6f, 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65,
+ 0x61, 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43,
+ 0x6c, 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x63, 0x6c,
+ 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x13, 0x04,
+ 0x60, 0x98, 0x20, 0x50, 0xd0, 0x04, 0x01, 0x20, 0x26, 0x08, 0x40, 0x31,
0x41, 0x00, 0x8c, 0x09, 0x82, 0x24, 0x4c, 0x10, 0x80, 0x63, 0x82, 0x00,
0x20, 0x1b, 0x06, 0x2f, 0xf8, 0x36, 0x0c, 0x60, 0x20, 0x84, 0xc1, 0x86,
0x60, 0xd8, 0x30, 0x78, 0x62, 0x20, 0x06, 0x1b, 0x08, 0xc2, 0x13, 0x03,
@@ -1936,8 +1935,8 @@ unsigned char compiled_default_metallib[] = {
0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x34, 0x00,
0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x04, 0x66, 0x00, 0xca, 0x80, 0xee, 0x1c, 0x84, 0x41, 0x50,
- 0x14, 0xa5, 0x31, 0x02, 0x10, 0x04, 0x41, 0xfc, 0x23, 0x35, 0x03, 0x00,
+ 0x00, 0x00, 0x04, 0x66, 0x00, 0xca, 0x80, 0xee, 0x1c, 0x84, 0x41, 0x4c,
+ 0x13, 0xa5, 0x31, 0x02, 0x10, 0x04, 0x41, 0xfc, 0x23, 0x35, 0x03, 0x00,
0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x22, 0x47,
0xc8, 0x90, 0x51, 0x0e, 0xc4, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x13,
0x01, 0x00, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74,
@@ -1948,290 +1947,283 @@ unsigned char compiled_default_metallib[] = {
0x36, 0x0c, 0x78, 0xd0, 0x07, 0x7b, 0xb0, 0x61, 0xf0, 0x03, 0x3f, 0xd8,
0x83, 0x0d, 0x03, 0xe6, 0x07, 0x7b, 0xb0, 0xa1, 0xd0, 0x03, 0x3f, 0xd8,
0x03, 0x50, 0xe0, 0x83, 0x0d, 0x43, 0x28, 0x80, 0x02, 0x1f, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0xd4, 0xd8, 0x6b, 0xc8, 0xa2, 0x80, 0x02, 0x45, 0x06,
- 0x19, 0x02, 0xc2, 0xd8, 0x6f, 0x50, 0xa8, 0x8c, 0x82, 0x54, 0xe6, 0x18,
- 0x06, 0x44, 0x99, 0x63, 0x08, 0x84, 0x2e, 0x83, 0x80, 0x18, 0x03, 0x00,
+ 0x00, 0x00, 0x77, 0xd4, 0xd8, 0x6b, 0xc0, 0xa0, 0x80, 0x02, 0x45, 0x06,
+ 0x19, 0x02, 0xc2, 0xd8, 0x6f, 0x50, 0x26, 0x8c, 0x82, 0x54, 0xe6, 0x18,
+ 0x06, 0x44, 0x99, 0x63, 0x08, 0x04, 0x2e, 0x83, 0x80, 0x18, 0x03, 0x00,
0x00, 0x00, 0x5b, 0x06, 0x21, 0xf0, 0x83, 0x2d, 0x43, 0x11, 0x84, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0e, 0x00,
0x00, 0x00, 0x52, 0x0e, 0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44,
0xc8, 0xe4, 0x48, 0x39, 0x40, 0x88, 0x90, 0xa1, 0x05, 0x30, 0xff, 0x5c,
0xf2, 0x06, 0xe7, 0x44, 0x0d, 0x11, 0x49, 0x06, 0x10, 0x2d, 0x4b, 0xc5,
- 0xf8, 0xc6, 0xe2, 0x04, 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x2a, 0xb0,
+ 0xf8, 0xc6, 0xe2, 0x04, 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x2a, 0x80,
0x58, 0x70, 0x08, 0x0b, 0x01, 0x44, 0x2f, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xb4, 0x0c, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
- 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
- 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0x25, 0x03, 0x00, 0x00, 0x0b, 0x82,
- 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81,
- 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01,
- 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14,
- 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08,
- 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46,
- 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22,
- 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29,
- 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x1b, 0xcc,
- 0x25, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80, 0x03, 0x40, 0x02, 0x2a,
- 0x62, 0x1c, 0xde, 0x41, 0x1e, 0xe4, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xd8,
- 0x21, 0x1f, 0xda, 0x40, 0x1e, 0xde, 0xa1, 0x1e, 0xdc, 0x81, 0x1c, 0xca,
- 0x81, 0x1c, 0xda, 0x80, 0x1c, 0xd2, 0xc1, 0x1e, 0xd2, 0x81, 0x1c, 0xca,
- 0xa1, 0x0d, 0xe6, 0x21, 0x1e, 0xe4, 0x81, 0x1e, 0xda, 0xc0, 0x1c, 0xe0,
- 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x73, 0x08, 0x07,
- 0x76, 0x98, 0x87, 0x72, 0x00, 0x08, 0x72, 0x48, 0x87, 0x79, 0x08, 0x07,
- 0x71, 0x60, 0x87, 0x72, 0x68, 0x03, 0x7a, 0x08, 0x87, 0x74, 0x60, 0x87,
- 0x36, 0x18, 0x87, 0x70, 0x60, 0x07, 0x76, 0x98, 0x07, 0xc0, 0x1c, 0xc2,
- 0x81, 0x1d, 0xe6, 0xa1, 0x1c, 0x00, 0x82, 0x1d, 0xca, 0x61, 0x1e, 0xe6,
- 0xa1, 0x0d, 0xe0, 0x41, 0x1e, 0xca, 0x61, 0x1c, 0xd2, 0x61, 0x1e, 0xca,
- 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0x21, 0x1c, 0xc8, 0x01, 0x30, 0x87,
- 0x70, 0x60, 0x87, 0x79, 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68, 0x03,
- 0x73, 0x90, 0x87, 0x70, 0x68, 0x87, 0x72, 0x68, 0x03, 0x78, 0x78, 0x87,
- 0x74, 0x70, 0x07, 0x7a, 0x28, 0x07, 0x79, 0x68, 0x83, 0x72, 0x60, 0x87,
- 0x74, 0x68, 0x07, 0x80, 0x1e, 0xe4, 0xa1, 0x1e, 0xca, 0x01, 0x18, 0xdc,
- 0xe1, 0x1d, 0xda, 0xc0, 0x1c, 0xe4, 0x21, 0x1c, 0xda, 0xa1, 0x1c, 0xda,
- 0x00, 0x1e, 0xde, 0x21, 0x1d, 0xdc, 0x81, 0x1e, 0xca, 0x41, 0x1e, 0xda,
- 0xa0, 0x1c, 0xd8, 0x21, 0x1d, 0xda, 0xa1, 0x0d, 0xdc, 0xe1, 0x1d, 0xdc,
- 0xa1, 0x0d, 0xd8, 0xa1, 0x1c, 0xc2, 0xc1, 0x1c, 0x00, 0xc2, 0x1d, 0xde,
- 0xa1, 0x0d, 0xd2, 0xc1, 0x1d, 0xcc, 0x61, 0x1e, 0xda, 0xc0, 0x1c, 0xe0,
- 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87,
- 0x7a, 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68, 0x03, 0x75, 0xa8, 0x87,
- 0x76, 0x80, 0x87, 0x36, 0xa0, 0x87, 0x70, 0x10, 0x07, 0x76, 0x28, 0x87,
- 0x79, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0x20, 0xdc,
- 0xe1, 0x1d, 0xda, 0xc0, 0x1d, 0xc2, 0xc1, 0x1d, 0xe6, 0xa1, 0x0d, 0xcc,
- 0x01, 0x1e, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07,
- 0x79, 0xa8, 0x87, 0x72, 0x00, 0x08, 0x77, 0x78, 0x87, 0x36, 0x98, 0x87,
- 0x74, 0x38, 0x07, 0x77, 0x28, 0x07, 0x72, 0x68, 0x03, 0x7d, 0x28, 0x07,
- 0x79, 0x78, 0x87, 0x79, 0x68, 0x03, 0x73, 0x80, 0x87, 0x36, 0x68, 0x87,
- 0x70, 0xa0, 0x07, 0x74, 0x00, 0xe8, 0x41, 0x1e, 0xea, 0xa1, 0x1c, 0x00,
- 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0x01, 0x1e, 0xe0,
- 0x21, 0x1d, 0xdc, 0xe1, 0x1c, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0,
- 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00, 0x88, 0x79, 0xa0, 0x87,
- 0x70, 0x18, 0x87, 0x75, 0x68, 0x03, 0x78, 0x90, 0x87, 0x77, 0xa0, 0x87,
- 0x72, 0x18, 0x07, 0x7a, 0x78, 0x07, 0x79, 0x68, 0x03, 0x71, 0xa8, 0x07,
- 0x73, 0x30, 0x87, 0x72, 0x90, 0x87, 0x36, 0x98, 0x87, 0x74, 0xd0, 0x87,
- 0x72, 0x00, 0xf0, 0x00, 0x20, 0xea, 0xc1, 0x1d, 0xe6, 0x21, 0x1c, 0xcc,
- 0xa1, 0x1c, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8,
- 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0xa8, 0x87,
- 0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03,
- 0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8,
- 0x61, 0x1e, 0xca, 0x01, 0xd8, 0x90, 0x08, 0x02, 0xb0, 0x00, 0x55, 0x90,
- 0x06, 0x68, 0x00, 0x00, 0x00, 0x00, 0x49, 0x18, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x13, 0x84, 0x40, 0x00, 0x89, 0x20, 0x00, 0x00, 0x25, 0x00,
- 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22,
- 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c,
- 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x7c, 0x73, 0x04, 0x60, 0x30,
- 0x02, 0x50, 0x82, 0x40, 0x62, 0x8e, 0x00, 0x21, 0x62, 0x06, 0x30, 0x4a,
- 0x02, 0x18, 0x3a, 0x69, 0x00, 0x06, 0x11, 0x12, 0x61, 0x06, 0x60, 0x18,
- 0x41, 0x58, 0xd2, 0x80, 0x0d, 0x22, 0x34, 0xc2, 0x30, 0x02, 0xb1, 0xdc,
- 0x25, 0x4d, 0x11, 0x25, 0x4c, 0xfe, 0xb6, 0x20, 0xd3, 0xcb, 0xa2, 0xd4,
- 0xe4, 0x3f, 0x80, 0xa0, 0x10, 0x03, 0x16, 0x1e, 0x4b, 0x02, 0x76, 0x91,
- 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c,
- 0x84, 0x8a, 0x08, 0x08, 0x21, 0x83, 0x08, 0x92, 0x50, 0x06, 0x08, 0x26,
- 0xd1, 0x81, 0x80, 0x14, 0x00, 0x73, 0x04, 0xa0, 0x30, 0x88, 0xc0, 0x08,
- 0xc3, 0x08, 0x04, 0x30, 0x88, 0x00, 0x08, 0x83, 0x08, 0x84, 0x30, 0x47,
- 0x10, 0x4c, 0x01, 0x00, 0x00, 0x00, 0x13, 0xb2, 0x70, 0x48, 0x07, 0x79,
- 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
- 0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87, 0x79, 0xc0, 0x87, 0x38,
- 0x80, 0x03, 0x37, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38, 0xd8, 0x70, 0x1b,
- 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07,
- 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07,
- 0x78, 0xa0, 0x07, 0x78, 0xd0, 0x06, 0xe9, 0x80, 0x07, 0x7a, 0x80, 0x07,
- 0x7a, 0x80, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x10, 0x07,
- 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x90, 0x0e, 0x73, 0x20, 0x07,
- 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
- 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07,
- 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
- 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07,
- 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x60, 0x07,
- 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x60, 0x0f,
- 0x72, 0x40, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07,
- 0x6d, 0x60, 0x0f, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
- 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x74, 0x80, 0x07, 0x7a, 0x60, 0x07,
- 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x76, 0x40, 0x07,
- 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f,
- 0x79, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x7a, 0x10, 0x07,
- 0x72, 0x80, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07,
- 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xd0, 0x06,
- 0xf6, 0x10, 0x07, 0x79, 0x20, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07,
- 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x50, 0x07,
- 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07,
- 0x76, 0xd0, 0x06, 0xf6, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07,
- 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x6d, 0x60, 0x0f,
- 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x7a, 0x10, 0x07, 0x70, 0x20, 0x07,
- 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x6d, 0xe0, 0x0e,
- 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0xf3,
- 0x40, 0x08, 0x19, 0x32, 0x52, 0x64, 0x04, 0xe0, 0x09, 0x96, 0xc0, 0x0e,
- 0x26, 0x59, 0xae, 0x61, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x07, 0xd3,
- 0x2c, 0xdc, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x30, 0xe4, 0xa1, 0x00,
- 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x23, 0x84,
- 0x61, 0x8d, 0x60, 0x41, 0xa6, 0x97, 0x95, 0xd8, 0x20, 0x50, 0x18, 0x63,
- 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x32, 0x1e,
- 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
- 0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02, 0x50, 0x50, 0x05, 0x51,
- 0x40, 0x85, 0x54, 0x4a, 0xc5, 0x44, 0x64, 0x04, 0xa0, 0x08, 0x08, 0x8f,
- 0x00, 0x14, 0x50, 0x21, 0x95, 0x52, 0x31, 0xd1, 0x19, 0x01, 0xa0, 0x34,
- 0x96, 0x21, 0x04, 0x80, 0x30, 0x04, 0xc4, 0xc6, 0x12, 0x40, 0x10, 0x04,
- 0xf1, 0x5f, 0x00, 0x41, 0x10, 0xc4, 0xbf, 0xb1, 0x04, 0x10, 0x04, 0x41,
- 0xfc, 0x03, 0x41, 0x10, 0xc4, 0x7f, 0x61, 0x2c, 0x01, 0x04, 0x41, 0x10,
- 0xff, 0x05, 0x10, 0x04, 0x41, 0xfc, 0x17, 0xc6, 0x12, 0x40, 0x10, 0x04,
- 0xf1, 0x0f, 0x04, 0x41, 0x10, 0xff, 0xa8, 0xa1, 0x71, 0x71, 0xbe, 0x1a,
- 0xd3, 0x1d, 0x4b, 0x50, 0x1e, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
- 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
- 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
- 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
- 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c,
- 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03,
- 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70,
- 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70,
- 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec,
- 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0,
- 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d,
- 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43,
- 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0,
- 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68,
- 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28,
- 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08,
- 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee,
- 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62,
- 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
- 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06,
- 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43,
- 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3,
- 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3,
- 0x0c, 0xc7, 0x69, 0x87, 0x70, 0x58, 0x87, 0x72, 0x70, 0x83, 0x74, 0x68,
- 0x07, 0x78, 0x60, 0x87, 0x74, 0x18, 0x87, 0x74, 0xa0, 0x87, 0x19, 0xce,
- 0x53, 0x0f, 0xee, 0x00, 0x0f, 0xf2, 0x50, 0x0e, 0xe4, 0x90, 0x0e, 0xe3,
- 0x40, 0x0f, 0xe1, 0x20, 0x0e, 0xec, 0x50, 0x0e, 0x33, 0x20, 0x28, 0x1d,
- 0xdc, 0xc1, 0x1e, 0xc2, 0x41, 0x1e, 0xd2, 0x21, 0x1c, 0xdc, 0x81, 0x1e,
- 0xdc, 0xe0, 0x1c, 0xe4, 0xe1, 0x1d, 0xea, 0x01, 0x1e, 0x66, 0x18, 0x51,
- 0x38, 0xb0, 0x43, 0x3a, 0x9c, 0x83, 0x3b, 0xcc, 0x50, 0x24, 0x76, 0x60,
- 0x07, 0x7b, 0x68, 0x07, 0x37, 0x60, 0x87, 0x77, 0x78, 0x07, 0x78, 0x98,
- 0x51, 0x4c, 0xf4, 0x90, 0x0f, 0xf0, 0x50, 0x0e, 0x33, 0x1e, 0x6a, 0x1e,
- 0xca, 0x61, 0x1c, 0xe8, 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x7e, 0x01, 0x1e,
- 0xe4, 0xa1, 0x1c, 0xcc, 0x21, 0x1d, 0xf0, 0x61, 0x06, 0x54, 0x85, 0x83,
- 0x38, 0xcc, 0xc3, 0x3b, 0xb0, 0x43, 0x3d, 0xd0, 0x43, 0x39, 0xfc, 0xc2,
- 0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
- 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
- 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xea, 0x00,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x9a, 0x01, 0x19, 0xa8, 0x13,
- 0x00, 0x00, 0x8b, 0xb2, 0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1,
- 0x19, 0x30, 0x91, 0xc1, 0x20, 0xd1, 0x62, 0x24, 0x0d, 0x31, 0x28, 0x8f,
- 0x84, 0x50, 0xcc, 0x80, 0x10, 0x0c, 0xc4, 0x44, 0x97, 0x72, 0x00, 0x00,
- 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64,
- 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f,
+ 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
+ 0x00, 0x00, 0x6c, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
+ 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c,
+ 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c,
+ 0x00, 0x00, 0x13, 0x03, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8,
+ 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05,
+ 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92,
+ 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32,
+ 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19,
+ 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51,
+ 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18,
+ 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x1b, 0xcc, 0x25, 0xf8, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x80, 0x03, 0x40, 0x02, 0x2a, 0x62, 0x1c, 0xde, 0x41,
+ 0x1e, 0xe4, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xd8, 0x21, 0x1f, 0xda, 0x40,
+ 0x1e, 0xde, 0xa1, 0x1e, 0xdc, 0x81, 0x1c, 0xca, 0x81, 0x1c, 0xda, 0x80,
+ 0x1c, 0xd2, 0xc1, 0x1e, 0xd2, 0x81, 0x1c, 0xca, 0xa1, 0x0d, 0xe6, 0x21,
+ 0x1e, 0xe4, 0x81, 0x1e, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21,
+ 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x73, 0x08, 0x07, 0x76, 0x98, 0x87, 0x72,
+ 0x00, 0x08, 0x72, 0x48, 0x87, 0x79, 0x08, 0x07, 0x71, 0x60, 0x87, 0x72,
+ 0x68, 0x03, 0x7a, 0x08, 0x87, 0x74, 0x60, 0x87, 0x36, 0x18, 0x87, 0x70,
+ 0x60, 0x07, 0x76, 0x98, 0x07, 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6, 0xa1,
+ 0x1c, 0x00, 0x82, 0x1d, 0xca, 0x61, 0x1e, 0xe6, 0xa1, 0x0d, 0xe0, 0x41,
+ 0x1e, 0xca, 0x61, 0x1c, 0xd2, 0x61, 0x1e, 0xca, 0xa1, 0x0d, 0xcc, 0x01,
+ 0x1e, 0xda, 0x21, 0x1c, 0xc8, 0x01, 0x30, 0x87, 0x70, 0x60, 0x87, 0x79,
+ 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68, 0x03, 0x73, 0x90, 0x87, 0x70,
+ 0x68, 0x87, 0x72, 0x68, 0x03, 0x78, 0x78, 0x87, 0x74, 0x70, 0x07, 0x7a,
+ 0x28, 0x07, 0x79, 0x68, 0x83, 0x72, 0x60, 0x87, 0x74, 0x68, 0x07, 0x80,
+ 0x1e, 0xe4, 0xa1, 0x1e, 0xca, 0x01, 0x18, 0xdc, 0xe1, 0x1d, 0xda, 0xc0,
+ 0x1c, 0xe4, 0x21, 0x1c, 0xda, 0xa1, 0x1c, 0xda, 0x00, 0x1e, 0xde, 0x21,
+ 0x1d, 0xdc, 0x81, 0x1e, 0xca, 0x41, 0x1e, 0xda, 0xa0, 0x1c, 0xd8, 0x21,
+ 0x1d, 0xda, 0xa1, 0x0d, 0xdc, 0xe1, 0x1d, 0xdc, 0xa1, 0x0d, 0xd8, 0xa1,
+ 0x1c, 0xc2, 0xc1, 0x1c, 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xd2, 0xc1,
+ 0x1d, 0xcc, 0x61, 0x1e, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21,
+ 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80,
+ 0x70, 0x87, 0x77, 0x68, 0x03, 0x75, 0xa8, 0x87, 0x76, 0x80, 0x87, 0x36,
+ 0xa0, 0x87, 0x70, 0x10, 0x07, 0x76, 0x28, 0x87, 0x79, 0x00, 0xcc, 0x21,
+ 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0x20, 0xdc, 0xe1, 0x1d, 0xda, 0xc0,
+ 0x1d, 0xc2, 0xc1, 0x1d, 0xe6, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0xa0,
+ 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72,
+ 0x00, 0x08, 0x77, 0x78, 0x87, 0x36, 0x98, 0x87, 0x74, 0x38, 0x07, 0x77,
+ 0x28, 0x07, 0x72, 0x68, 0x03, 0x7d, 0x28, 0x07, 0x79, 0x78, 0x87, 0x79,
+ 0x68, 0x03, 0x73, 0x80, 0x87, 0x36, 0x68, 0x87, 0x70, 0xa0, 0x07, 0x74,
+ 0x00, 0xe8, 0x41, 0x1e, 0xea, 0xa1, 0x1c, 0x00, 0xc2, 0x1d, 0xde, 0xa1,
+ 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0x01, 0x1e, 0xe0, 0x21, 0x1d, 0xdc, 0xe1,
+ 0x1c, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79,
+ 0xa8, 0x87, 0x72, 0x00, 0x88, 0x79, 0xa0, 0x87, 0x70, 0x18, 0x87, 0x75,
+ 0x68, 0x03, 0x78, 0x90, 0x87, 0x77, 0xa0, 0x87, 0x72, 0x18, 0x07, 0x7a,
+ 0x78, 0x07, 0x79, 0x68, 0x03, 0x71, 0xa8, 0x07, 0x73, 0x30, 0x87, 0x72,
+ 0x90, 0x87, 0x36, 0x98, 0x87, 0x74, 0xd0, 0x87, 0x72, 0x00, 0xf0, 0x00,
+ 0x20, 0xea, 0xc1, 0x1d, 0xe6, 0x21, 0x1c, 0xcc, 0xa1, 0x1c, 0xda, 0xc0,
+ 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a,
+ 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0xa8, 0x87, 0x79, 0x28, 0x87, 0x36,
+ 0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77,
+ 0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01,
+ 0xd8, 0x90, 0x08, 0x02, 0xb0, 0x00, 0x55, 0x90, 0x06, 0x60, 0x00, 0x00,
+ 0x00, 0x00, 0x49, 0x18, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x84,
+ 0x40, 0x00, 0x89, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x32, 0x22,
+ 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93,
+ 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84,
+ 0xa4, 0x4c, 0x10, 0x6c, 0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40,
+ 0x62, 0x8e, 0x00, 0x21, 0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x33,
+ 0x00, 0xc3, 0x08, 0x42, 0x92, 0x03, 0x6a, 0x10, 0x61, 0x11, 0x86, 0x11,
+ 0x88, 0xe4, 0x2e, 0x69, 0x8a, 0x28, 0x61, 0xf2, 0xb7, 0x05, 0x99, 0x5e,
+ 0x16, 0xa5, 0x26, 0xff, 0x01, 0x04, 0x85, 0x18, 0xb0, 0xd0, 0xd4, 0x45,
+ 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0x6f, 0x0b, 0x32, 0xa5, 0x40, 0x04, 0x30,
+ 0x12, 0x2a, 0x16, 0x20, 0x84, 0x0c, 0x22, 0x3c, 0x42, 0x19, 0x1c, 0x80,
+ 0x14, 0x07, 0x02, 0x72, 0x00, 0xcc, 0x11, 0x80, 0xc2, 0x20, 0x82, 0x22,
+ 0x0c, 0x23, 0x10, 0xc0, 0x20, 0x02, 0x21, 0xcc, 0x11, 0x04, 0x53, 0x00,
+ 0x00, 0x00, 0x13, 0xb2, 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68,
+ 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08,
+ 0x87, 0x71, 0x78, 0x87, 0x79, 0xc0, 0x87, 0x38, 0x80, 0x03, 0x37, 0x88,
+ 0x83, 0x39, 0x70, 0x03, 0x38, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06, 0xf0,
+ 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76,
+ 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x78, 0xa0, 0x07, 0x78,
+ 0xd0, 0x06, 0xe9, 0x80, 0x07, 0x7a, 0x80, 0x07, 0x7a, 0x80, 0x07, 0x6d,
+ 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71,
+ 0x60, 0x07, 0x6d, 0x90, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72,
+ 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a,
+ 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0e, 0x73,
+ 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+ 0x60, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76,
+ 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x76,
+ 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x40, 0x07, 0x7a,
+ 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x73,
+ 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
+ 0x60, 0x0f, 0x74, 0x80, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76,
+ 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+ 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x79, 0x60, 0x07, 0x7a,
+ 0x10, 0x07, 0x72, 0x80, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x6d,
+ 0x60, 0x0f, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78,
+ 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xd0, 0x06, 0xf6, 0x10, 0x07, 0x79,
+ 0x20, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x7a, 0x20, 0x07, 0x75,
+ 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72,
+ 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xd0, 0x06, 0xf6,
+ 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a,
+ 0x50, 0x07, 0x71, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x00, 0x07, 0x72,
+ 0x40, 0x07, 0x7a, 0x10, 0x07, 0x70, 0x20, 0x07, 0x74, 0xa0, 0x07, 0x71,
+ 0x00, 0x07, 0x72, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71,
+ 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0xf3, 0x40, 0x08, 0x19, 0x32,
+ 0x52, 0x64, 0x04, 0xe0, 0x09, 0x96, 0xc0, 0x0e, 0x66, 0x59, 0xb4, 0x81,
+ 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0xc8, 0x13, 0x01, 0x00, 0x10, 0x00,
+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x46, 0x08, 0xc3, 0x1a, 0xc1,
+ 0x82, 0x4c, 0x2f, 0x2b, 0xb1, 0x41, 0xa0, 0xb0, 0xc2, 0x00, 0x00, 0x40,
+ 0x16, 0x08, 0x19, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
+ 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
+ 0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x51, 0x06, 0x05, 0x53, 0x38,
+ 0xa5, 0x53, 0x3c, 0x44, 0x46, 0x00, 0x8a, 0x80, 0xea, 0x08, 0x40, 0xc1,
+ 0x14, 0x4e, 0xe9, 0x14, 0x0f, 0x9d, 0x11, 0x00, 0x52, 0x63, 0x09, 0x20,
+ 0x08, 0x82, 0xf8, 0x2f, 0x80, 0x20, 0x08, 0xe2, 0xbf, 0x30, 0x96, 0x00,
+ 0x82, 0x20, 0x48, 0x82, 0x01, 0x08, 0x82, 0x20, 0xfe, 0x0b, 0x63, 0x09,
+ 0x20, 0x08, 0x82, 0xf8, 0x2f, 0x80, 0x20, 0x08, 0x92, 0x60, 0x40, 0x0b,
+ 0x07, 0x7b, 0x31, 0xd1, 0xb1, 0x06, 0xe5, 0x21, 0x00, 0x00, 0xb1, 0x18,
+ 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
+ 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
+ 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
+ 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1,
+ 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84,
+ 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc,
+ 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70,
+ 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19,
+ 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f,
+ 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21,
+ 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc,
+ 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84,
+ 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37,
+ 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70,
+ 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77,
+ 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79,
+ 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e,
+ 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1,
+ 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81,
+ 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98,
+ 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88,
+ 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4,
+ 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc7, 0x69, 0x87, 0x70, 0x58, 0x87, 0x72,
+ 0x70, 0x83, 0x74, 0x68, 0x07, 0x78, 0x60, 0x87, 0x74, 0x18, 0x87, 0x74,
+ 0xa0, 0x87, 0x19, 0xce, 0x53, 0x0f, 0xee, 0x00, 0x0f, 0xf2, 0x50, 0x0e,
+ 0xe4, 0x90, 0x0e, 0xe3, 0x40, 0x0f, 0xe1, 0x20, 0x0e, 0xec, 0x50, 0x0e,
+ 0x33, 0x20, 0x28, 0x1d, 0xdc, 0xc1, 0x1e, 0xc2, 0x41, 0x1e, 0xd2, 0x21,
+ 0x1c, 0xdc, 0x81, 0x1e, 0xdc, 0xe0, 0x1c, 0xe4, 0xe1, 0x1d, 0xea, 0x01,
+ 0x1e, 0x66, 0x18, 0x51, 0x38, 0xb0, 0x43, 0x3a, 0x9c, 0x83, 0x3b, 0xcc,
+ 0x50, 0x24, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x60, 0x87, 0x77,
+ 0x78, 0x07, 0x78, 0x98, 0x51, 0x4c, 0xf4, 0x90, 0x0f, 0xf0, 0x50, 0x0e,
+ 0x33, 0x1e, 0x6a, 0x1e, 0xca, 0x61, 0x1c, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
+ 0x1d, 0x7e, 0x01, 0x1e, 0xe4, 0xa1, 0x1c, 0xcc, 0x21, 0x1d, 0xf0, 0x61,
+ 0x06, 0x54, 0x85, 0x83, 0x38, 0xcc, 0xc3, 0x3b, 0xb0, 0x43, 0x3d, 0xd0,
+ 0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0,
+ 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
+ 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
+ 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x9a,
+ 0x01, 0x19, 0xac, 0x13, 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x95,
+ 0x41, 0x18, 0x90, 0xc1, 0x19, 0x30, 0x91, 0xc1, 0x20, 0xd1, 0x62, 0x24,
+ 0x0d, 0x31, 0x28, 0x8f, 0x84, 0x50, 0xcc, 0x80, 0x10, 0x0c, 0xc4, 0x44,
+ 0x97, 0x72, 0x00, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
+ 0x32, 0x2e, 0x31, 0x34, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66,
+ 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
- 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
- 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78,
- 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28,
- 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32,
- 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69, 0x72,
- 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x75, 0x69,
- 0x6e, 0x74, 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e,
- 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f,
- 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65,
- 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75,
- 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c,
- 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64,
- 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x00, 0x00, 0x13, 0x04,
- 0x80, 0x98, 0x20, 0x5c, 0xdc, 0x04, 0x01, 0x28, 0x26, 0x08, 0x80, 0x31,
- 0x41, 0x00, 0x8e, 0x09, 0x42, 0x35, 0x4c, 0x10, 0x00, 0x64, 0x82, 0x00,
- 0x24, 0x13, 0x04, 0x40, 0x99, 0x20, 0x00, 0xcb, 0x04, 0x01, 0x60, 0x26,
- 0x08, 0x40, 0xb3, 0x61, 0x38, 0x83, 0x00, 0x0d, 0x36, 0x0c, 0x69, 0x20,
- 0xa8, 0xc1, 0x86, 0x60, 0xd8, 0x30, 0x9c, 0xc1, 0x1a, 0xac, 0xc1, 0x06,
- 0x82, 0x38, 0x83, 0x35, 0x58, 0x83, 0x0d, 0x41, 0xb1, 0x21, 0x30, 0x36,
- 0x04, 0xc7, 0x86, 0x00, 0xd9, 0x10, 0x24, 0x1b, 0x02, 0x65, 0x43, 0xb1,
- 0x30, 0x8d, 0xf3, 0x6c, 0x30, 0xa0, 0x88, 0x91, 0x9c, 0x69, 0x83, 0xe0,
- 0x07, 0x7f, 0xb0, 0xc1, 0x58, 0x03, 0x8a, 0xa9, 0x1c, 0x6b, 0x43, 0xb6,
- 0x06, 0x6e, 0xa0, 0x06, 0x12, 0xf7, 0x06, 0x6a, 0xb0, 0x06, 0x9d, 0x07,
- 0x07, 0x69, 0xb0, 0x06, 0x1f, 0x18, 0xc4, 0x41, 0x1a, 0xac, 0xc1, 0x17,
- 0x06, 0x72, 0x90, 0x06, 0x6b, 0xf0, 0x89, 0xc1, 0x06, 0x29, 0x0d, 0x2e,
- 0xac, 0x0d, 0xb2, 0x35, 0x48, 0x03, 0x6d, 0x13, 0x85, 0x31, 0x68, 0x03,
- 0x32, 0x70, 0x03, 0xa6, 0x0c, 0x1c, 0x33, 0xd8, 0x20, 0x84, 0xc2, 0x28,
- 0x6c, 0x18, 0xd8, 0x00, 0x14, 0x48, 0x41, 0x23, 0x81, 0x09, 0x6a, 0xc4,
- 0xc6, 0x66, 0xd7, 0xe6, 0xd2, 0xf6, 0x46, 0x56, 0xc7, 0x56, 0xe6, 0x62,
- 0xc6, 0x16, 0x76, 0x36, 0x37, 0x45, 0x90, 0x83, 0x39, 0xa8, 0xc2, 0xc6,
- 0x66, 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0xa0, 0x83,
- 0x2e, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x53, 0x82, 0x3a, 0x28, 0x15, 0x96, 0x26, 0xe7, 0xc2, 0x16, 0xe6, 0x76,
- 0x56, 0x17, 0x76, 0x56, 0xf6, 0x65, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6,
- 0x36, 0x25, 0xb0, 0x83, 0x4e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x53, 0x8c, 0x3b, 0xc0, 0x83, 0x3c, 0xd0, 0x83, 0x3d, 0xe0, 0x83, 0x2a,
- 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x53, 0x02,
- 0x52, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
- 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
- 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
- 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
- 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x57, 0x00,
- 0x00, 0x00, 0x13, 0x04, 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x0e, 0x00,
- 0x00, 0x00, 0x04, 0x66, 0x00, 0xca, 0x80, 0x70, 0x09, 0x90, 0x9e, 0x83,
- 0x38, 0x8a, 0xef, 0x1b, 0x8b, 0x00, 0x02, 0xe3, 0xa0, 0x35, 0x03, 0x30,
- 0x02, 0x30, 0x46, 0x00, 0x82, 0x20, 0x88, 0x7f, 0x63, 0x04, 0x20, 0x08,
- 0x82, 0x20, 0x28, 0x10, 0x9b, 0x01, 0xa0, 0x37, 0x07, 0x41, 0x06, 0x64,
- 0x50, 0x06, 0x66, 0x40, 0x70, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30,
- 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x0e,
- 0x84, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x03, 0x01, 0x00, 0x6f, 0x6d,
- 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61,
- 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20,
- 0x54, 0x42, 0x41, 0x41, 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x30, 0x42, 0x6c,
- 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x13, 0x04,
- 0x0c, 0x9a, 0x20, 0x60, 0xd1, 0x04, 0x01, 0x93, 0x26, 0x08, 0xd8, 0x34,
- 0x41, 0xc0, 0xa8, 0x09, 0x02, 0xe1, 0x4c, 0x10, 0x88, 0x67, 0x43, 0x70,
- 0x0a, 0x1b, 0x06, 0x53, 0x80, 0x85, 0x54, 0xd8, 0x30, 0xc4, 0x42, 0x2c,
- 0xa4, 0xc2, 0x86, 0xa1, 0x8b, 0x85, 0x54, 0xd8, 0x30, 0xcc, 0xc2, 0x2c,
- 0xa4, 0xc2, 0x86, 0xe1, 0x8b, 0x85, 0x54, 0xd8, 0xb0, 0xa0, 0x42, 0x2c,
- 0xa4, 0xc2, 0x2c, 0xa8, 0x42, 0x2d, 0xac, 0x42, 0x2d, 0xb0, 0x42, 0x2d,
- 0xb4, 0xc2, 0x86, 0xc1, 0x16, 0x6a, 0x81, 0x15, 0x36, 0x08, 0xae, 0xf0,
- 0x0a, 0x00, 0xe7, 0xe0, 0xd8, 0x6d, 0x50, 0x03, 0x2e, 0xa0, 0x80, 0x91,
- 0x41, 0x86, 0xc0, 0x60, 0x06, 0x19, 0x02, 0x83, 0xd9, 0x69, 0x78, 0x03,
- 0x30, 0x28, 0x28, 0x00, 0xe3, 0x02, 0x2c, 0x5b, 0x12, 0xd5, 0x18, 0xb0,
- 0x41, 0x40, 0x01, 0x23, 0x5b, 0x0e, 0x57, 0x19, 0x54, 0x14, 0x90, 0x30,
- 0xdc, 0x10, 0xa4, 0x01, 0x18, 0xcc, 0x32, 0x04, 0x42, 0x30, 0x86, 0xb0,
- 0xcc, 0x81, 0x49, 0x41, 0x7c, 0xe6, 0x18, 0x96, 0x20, 0x9b, 0x25, 0x10,
- 0x06, 0x2a, 0x1e, 0x0c, 0x10, 0x82, 0xd9, 0x06, 0x29, 0x00, 0x66, 0x1b,
- 0x82, 0x24, 0xc8, 0x20, 0x20, 0x06, 0x06, 0x00, 0x00, 0x00, 0x5b, 0x06,
- 0x21, 0x88, 0x85, 0x2d, 0x83, 0x11, 0xcc, 0xc2, 0x96, 0x21, 0x09, 0x62,
- 0x61, 0x4b, 0xb1, 0x04, 0xb6, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x52, 0x0e,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
+ 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x76,
+ 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+ 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72,
+ 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78,
+ 0x5f, 0x69, 0x64, 0x75, 0x69, 0x6e, 0x74, 0x76, 0x69, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
+ 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74,
+ 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c,
+ 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
+ 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70,
+ 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
+ 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
+ 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x00, 0x13, 0x04, 0x60, 0x98, 0x20, 0x50, 0xda, 0x04, 0x01, 0x20,
+ 0x26, 0x08, 0x40, 0x31, 0x41, 0x00, 0x8c, 0x09, 0x82, 0x24, 0x4c, 0x10,
+ 0x80, 0x63, 0x82, 0x00, 0x20, 0x13, 0x04, 0x20, 0x99, 0x20, 0x00, 0xca,
+ 0x04, 0x01, 0x58, 0x26, 0x08, 0x00, 0x33, 0x41, 0x00, 0x9a, 0x0d, 0xc3,
+ 0x19, 0x04, 0x68, 0xb0, 0x61, 0x48, 0x03, 0x41, 0x0d, 0x36, 0x04, 0xc3,
+ 0x86, 0xe1, 0x0c, 0xd6, 0x60, 0x0d, 0x36, 0x10, 0xc4, 0x19, 0xac, 0xc1,
+ 0x1a, 0x6c, 0x08, 0x8a, 0x0d, 0x81, 0xb1, 0x21, 0x38, 0x36, 0x04, 0xc8,
+ 0x86, 0x20, 0xd9, 0x10, 0x28, 0x1b, 0x8a, 0x85, 0x69, 0x9c, 0x67, 0x83,
+ 0x01, 0x45, 0x8c, 0xe4, 0x4c, 0x1b, 0x84, 0x3f, 0x00, 0x85, 0x0d, 0xc6,
+ 0x1a, 0x50, 0x4c, 0xe5, 0x58, 0x1b, 0xb2, 0x35, 0x70, 0x83, 0x37, 0x90,
+ 0x38, 0x38, 0x50, 0x83, 0x35, 0xe8, 0xbc, 0x38, 0x48, 0x83, 0x35, 0xf8,
+ 0xc0, 0x40, 0x0e, 0xd2, 0x60, 0x0d, 0xbe, 0x30, 0x98, 0x83, 0x34, 0x58,
+ 0x83, 0x4f, 0x0c, 0x36, 0x48, 0x69, 0x70, 0x61, 0x6d, 0x90, 0xad, 0x41,
+ 0x1a, 0x68, 0xdb, 0x28, 0x8c, 0x41, 0x1b, 0x90, 0x81, 0x1b, 0x30, 0x65,
+ 0xe0, 0x98, 0xc1, 0x06, 0x41, 0x14, 0x48, 0x61, 0xc3, 0xc0, 0x06, 0xa1,
+ 0x50, 0x0a, 0x1a, 0x09, 0x4c, 0x50, 0x23, 0x36, 0x36, 0xbb, 0x36, 0x97,
+ 0xb6, 0x37, 0xb2, 0x3a, 0xb6, 0x32, 0x17, 0x33, 0xb6, 0xb0, 0xb3, 0xb9,
+ 0x29, 0xc2, 0x1c, 0xd0, 0x41, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34,
+ 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x1d, 0x74, 0x09, 0x4b, 0x93, 0x73,
+ 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0xd8, 0x41, 0xa9,
+ 0xb0, 0x34, 0x39, 0x17, 0xb6, 0x30, 0xb7, 0xb3, 0xba, 0xb0, 0xb3, 0xb2,
+ 0x2f, 0xbb, 0x32, 0xb9, 0xb9, 0xb4, 0x37, 0xb7, 0x29, 0xc1, 0x1d, 0x74,
+ 0x0a, 0x4b, 0x93, 0x73, 0x19, 0x7b, 0x6b, 0x83, 0x4b, 0x63, 0x2b, 0xfb,
+ 0x7a, 0x83, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x9b, 0x62, 0xe0, 0x41, 0x1e,
+ 0xe8, 0xc1, 0x1e, 0xf0, 0x41, 0x1f, 0x54, 0x09, 0x4b, 0x93, 0x73, 0xb1,
+ 0x2b, 0x93, 0xa3, 0x2b, 0xc3, 0x9b, 0x12, 0x94, 0x02, 0x00, 0xa9, 0x18,
+ 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77,
+ 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0,
+ 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41,
+ 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
+ 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x13, 0x04,
+ 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x66,
+ 0x00, 0xa8, 0x96, 0x00, 0xdd, 0x39, 0x08, 0x83, 0xe8, 0xba, 0xb1, 0x08,
+ 0x20, 0x30, 0x0e, 0x4a, 0x33, 0x00, 0x23, 0x00, 0x63, 0x04, 0x20, 0x08,
+ 0x82, 0xf8, 0x37, 0x46, 0x00, 0x82, 0x20, 0x08, 0x82, 0x02, 0xa9, 0x19,
+ 0x00, 0x6a, 0x73, 0x10, 0x61, 0x10, 0x06, 0x62, 0x30, 0x06, 0xe4, 0x66,
+ 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x22, 0x47,
+ 0xc8, 0x90, 0x51, 0x0e, 0x84, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x03,
+ 0x01, 0x00, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74,
+ 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20,
+ 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x5f, 0x5a, 0x54, 0x53,
+ 0x31, 0x30, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x00, 0x00, 0x13, 0x84, 0x0a, 0x9a, 0x20, 0x54, 0xd1, 0x04, 0xa1, 0x92,
+ 0x26, 0x08, 0xd5, 0x34, 0x41, 0xa8, 0xa8, 0x09, 0x02, 0xe1, 0x4c, 0x10,
+ 0x88, 0x67, 0x43, 0x80, 0x0a, 0x1b, 0x86, 0x53, 0x88, 0x05, 0x55, 0xd8,
+ 0x30, 0xc8, 0x82, 0x2c, 0xa8, 0xc2, 0x86, 0xa1, 0x93, 0x05, 0x55, 0xd8,
+ 0x30, 0x7c, 0xb2, 0xa0, 0x0a, 0x1b, 0x96, 0x54, 0x90, 0x05, 0x55, 0xa0,
+ 0x85, 0x55, 0xa8, 0x05, 0x56, 0xa8, 0x85, 0x56, 0xa8, 0x05, 0x57, 0xd8,
+ 0x30, 0xd8, 0x42, 0x2d, 0xb4, 0xc2, 0x06, 0xe1, 0x15, 0x60, 0x01, 0x00,
+ 0x00, 0x00, 0xd7, 0xd4, 0xd8, 0x6b, 0x40, 0x83, 0x2c, 0xa0, 0x40, 0x91,
+ 0x41, 0x86, 0xc0, 0x60, 0x06, 0x19, 0x02, 0x83, 0xd9, 0x8f, 0x88, 0xba,
+ 0x33, 0x28, 0x28, 0x50, 0x64, 0xbf, 0x61, 0xfa, 0xcc, 0x80, 0x02, 0x12,
+ 0x86, 0x1b, 0x82, 0x31, 0x00, 0x83, 0x59, 0x86, 0x40, 0x08, 0xc6, 0x10,
+ 0x10, 0x37, 0xb0, 0x27, 0x88, 0xcf, 0x1c, 0x03, 0x12, 0x58, 0xb3, 0x04,
+ 0xc2, 0x40, 0x45, 0x23, 0x01, 0x42, 0x30, 0xdb, 0xf0, 0x04, 0xc0, 0x6c,
+ 0x43, 0x90, 0x04, 0x19, 0x04, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00,
+ 0x00, 0x00, 0x5b, 0x06, 0x21, 0x90, 0x85, 0x2d, 0x83, 0x11, 0xc8, 0xc2,
+ 0x96, 0x02, 0x09, 0x6c, 0x81, 0xb8, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x52, 0x0e,
0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44, 0xc8, 0xe4, 0x48, 0x39,
- 0x40, 0x88, 0x90, 0xa1, 0x09, 0x30, 0xff, 0x5c, 0xf2, 0x06, 0xe7, 0x44,
+ 0x40, 0x88, 0x90, 0xa1, 0x05, 0x30, 0xff, 0x5c, 0xf2, 0x06, 0xe7, 0x44,
0x0d, 0x11, 0x49, 0x06, 0x10, 0x2d, 0x4b, 0xc5, 0xf8, 0xc6, 0xe2, 0x04,
- 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x3a, 0xf0, 0x5b, 0x60, 0x04, 0x0b,
- 0x32, 0xbd, 0xac, 0x05, 0x58, 0xff, 0x5c, 0xd6, 0xbb, 0xd1, 0x12, 0x97,
- 0xe0, 0x38, 0xd1, 0x20, 0x89, 0xcd, 0x80, 0x08, 0x84, 0x04, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
+ 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x2a, 0x60, 0x5b, 0x60, 0x04, 0x0b,
+ 0x32, 0xbd, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xf8, 0x08,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10,
@@ -2293,7 +2285,7 @@ unsigned char compiled_default_metallib[] = {
0x90, 0x14, 0x12, 0x4c, 0x88, 0x8c, 0x0b, 0x84, 0x84, 0x4c, 0x10, 0x3c,
0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x20, 0x99, 0x23, 0x40, 0x88,
0xcc, 0x00, 0x53, 0x09, 0x60, 0x74, 0x33, 0x00, 0xc3, 0x08, 0x44, 0x52,
- 0x02, 0xa5, 0x1d, 0x08, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb2,
+ 0x02, 0xa5, 0x1d, 0x08, 0xc8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb2,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87,
0x79, 0xc0, 0x87, 0x38, 0x80, 0x03, 0x37, 0x88, 0x83, 0x39, 0x70, 0x03,
@@ -2330,8 +2322,8 @@ unsigned char compiled_default_metallib[] = {
0x58, 0x89, 0x0d, 0x02, 0x85, 0x61, 0x04, 0x00, 0x00, 0xb2, 0x40, 0x00,
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x82, 0x22, 0x28,
- 0x81, 0x42, 0x18, 0x01, 0xa0, 0x1b, 0x01, 0x20, 0x1f, 0x4b, 0x50, 0x1e,
- 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
+ 0x81, 0x42, 0x18, 0x01, 0xa0, 0x1b, 0x01, 0x20, 0x1f, 0x6b, 0x50, 0x1e,
+ 0x02, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c,
@@ -2369,34 +2361,34 @@ unsigned char compiled_default_metallib[] = {
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x36, 0x50, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xb2,
+ 0xc8, 0x90, 0x51, 0x36, 0x90, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0x01,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64,
- 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
- 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
- 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72,
- 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x00,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34,
+ 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30,
+ 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
0x00, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x38, 0xc7, 0x04, 0x01, 0x18,
0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09, 0x02, 0x13, 0x6c, 0x18,
0x9c, 0xe0, 0xd9, 0x30, 0x40, 0x42, 0xb4, 0x21, 0x18, 0x36, 0x0c, 0x8e,
@@ -2489,7 +2481,7 @@ unsigned char compiled_default_metallib[] = {
0x62, 0x8e, 0x00, 0x21, 0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x33,
0x00, 0xc3, 0x08, 0x44, 0x92, 0x0c, 0xe4, 0x24, 0x69, 0x8a, 0x28, 0x61,
0xf2, 0xb9, 0x85, 0x00, 0xa2, 0x14, 0x88, 0x00, 0x46, 0x42, 0x83, 0x4a,
- 0x6b, 0x10, 0x81, 0x11, 0x8a, 0xa0, 0x1a, 0xb9, 0x81, 0x80, 0x14, 0x00,
+ 0x6b, 0x10, 0x81, 0x11, 0x8a, 0xa0, 0x1a, 0xb9, 0x81, 0x80, 0x1c, 0x00,
0x73, 0x04, 0xa0, 0x30, 0x88, 0xa0, 0x08, 0x00, 0x00, 0x00, 0x13, 0xb2,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87,
@@ -2528,7 +2520,7 @@ unsigned char compiled_default_metallib[] = {
0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x42, 0x72, 0x04, 0x80, 0xce,
- 0x08, 0x00, 0xc5, 0xb1, 0x04, 0xe5, 0x01, 0x00, 0x00, 0x00, 0xb1, 0x18,
+ 0x08, 0x00, 0xc5, 0xb1, 0x06, 0xe5, 0x21, 0x00, 0x00, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -2567,49 +2559,49 @@ unsigned char compiled_default_metallib[] = {
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x6a,
- 0xd8, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xb2, 0x06, 0xc5, 0xc6, 0x95,
+ 0x18, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x95,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0xa1, 0x3c, 0x12, 0x42, 0x29,
0x85, 0x12, 0x5d, 0x0b, 0xb3, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65,
- 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
- 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64,
- 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d,
- 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72,
- 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65,
- 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
- 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
- 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69,
- 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74,
- 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e,
- 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44, 0x65,
- 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
- 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x44,
+ 0x32, 0x2e, 0x31, 0x34, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66,
+ 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
+ 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
+ 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73,
+ 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f,
+ 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44,
+ 0x65, 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
+ 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61,
+ 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x13, 0x04, 0x40, 0x98, 0x20, 0x44,
0xca, 0x04, 0x01, 0x18, 0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09,
0xc2, 0x13, 0x4c, 0x10, 0x00, 0x63, 0x82, 0x00, 0x1c, 0x1b, 0x86, 0x2d,
0xe0, 0x36, 0x0c, 0x9d, 0xe0, 0x6d, 0x08, 0x86, 0x0d, 0xc3, 0xf6, 0x7d,
@@ -2705,7 +2697,7 @@ unsigned char compiled_default_metallib[] = {
0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77,
0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01,
0xd8, 0x60, 0x08, 0x03, 0xb0, 0x00, 0xd5, 0x86, 0x64, 0x20, 0x80, 0x05,
- 0xa8, 0x82, 0x34, 0x40, 0x83, 0x0d, 0x0a, 0xf1, 0xff, 0xff, 0xff, 0xff,
+ 0xa8, 0x82, 0x34, 0x00, 0x83, 0x0d, 0x0a, 0xf1, 0xff, 0xff, 0xff, 0xff,
0x03, 0xd0, 0x06, 0xc0, 0x1a, 0x00, 0x12, 0x50, 0x6d, 0x30, 0x8a, 0x00,
0x58, 0x80, 0x6a, 0x83, 0x61, 0x08, 0xc0, 0x02, 0x54, 0x1b, 0x8c, 0xe3,
0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0x28, 0x00, 0x00, 0x49, 0x18,
@@ -2718,13 +2710,13 @@ unsigned char compiled_default_metallib[] = {
0x50, 0x24, 0x80, 0x41, 0xc7, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x24, 0xc2,
0x0c, 0xc0, 0x30, 0x02, 0xb1, 0x0c, 0x23, 0x08, 0xcb, 0x51, 0xd2, 0x14,
0x51, 0xc2, 0xe4, 0xff, 0x13, 0x71, 0x4d, 0x54, 0x44, 0xfc, 0xf6, 0xf0,
- 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0x24, 0x41, 0x73, 0x91, 0x34,
+ 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0xe4, 0x40, 0x73, 0x91, 0x34,
0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c, 0x84,
0x0a, 0x08, 0x20, 0x08, 0x62, 0x10, 0x21, 0x12, 0x4a, 0xc1, 0x30, 0xcd,
0x23, 0xd1, 0x74, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xbf, 0x04, 0x30,
0xcf, 0x42, 0x44, 0xff, 0x34, 0x46, 0x00, 0x0c, 0x22, 0x54, 0xc2, 0x1c,
0x41, 0x30, 0x8c, 0x20, 0x00, 0x25, 0x61, 0x1e, 0xab, 0xb9, 0xb0, 0x6b,
- 0x01, 0x28, 0x2b, 0xc2, 0x02, 0xd0, 0x36, 0x10, 0x90, 0x02, 0xc0, 0x20,
+ 0x01, 0x28, 0x2b, 0xc2, 0x02, 0xd0, 0x36, 0x10, 0x90, 0x03, 0xc0, 0x20,
0x02, 0x20, 0x0c, 0x22, 0x10, 0xc2, 0x30, 0x02, 0x01, 0x00, 0x13, 0xb2,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x76, 0x08, 0x87, 0x71, 0x78, 0x87,
@@ -2764,11 +2756,11 @@ unsigned char compiled_default_metallib[] = {
0xb0, 0x46, 0xb0, 0x20, 0xd3, 0xc7, 0x4a, 0x6c, 0x10, 0x28, 0xac, 0x34,
0x00, 0x00, 0x90, 0x05, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e,
0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
- 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xaa,
- 0x20, 0x0a, 0xa8, 0x90, 0x4a, 0xa9, 0x98, 0x88, 0x18, 0x01, 0x28, 0x02,
+ 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xa8,
+ 0x20, 0x0a, 0xa6, 0x70, 0x4a, 0xa7, 0x78, 0x88, 0x18, 0x01, 0x28, 0x02,
0x4a, 0xea, 0xdd, 0xfa, 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60,
- 0x04, 0xa0, 0x80, 0x0a, 0xa9, 0x94, 0x8a, 0x89, 0x8e, 0x11, 0x00, 0xf2,
- 0xc6, 0x12, 0x94, 0x07, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x04, 0xa0, 0x60, 0x0a, 0xa7, 0x74, 0x8a, 0x87, 0x8e, 0x11, 0x00, 0xf2,
+ 0xc6, 0x1a, 0x94, 0x87, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -2806,69 +2798,69 @@ unsigned char compiled_default_metallib[] = {
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x17, 0x01,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xfc, 0x16,
- 0x00, 0x00, 0x8b, 0xb2, 0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0x80, 0x17,
+ 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x44, 0x91, 0xc1, 0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b,
0xa4, 0x60, 0x8a, 0xf2, 0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1,
0xa5, 0x1c, 0x11, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65,
- 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
- 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64,
- 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d,
- 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72,
- 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65,
- 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
- 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
- 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65,
- 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73,
- 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d,
- 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65,
- 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e,
- 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66,
- 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72,
- 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73,
- 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
- 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61,
- 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74,
- 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64,
- 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54,
- 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73,
- 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73,
- 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64,
- 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f,
- 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
- 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
- 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f,
- 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78,
+ 0x32, 0x2e, 0x31, 0x34, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66,
+ 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
+ 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
+ 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
+ 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72,
+ 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67,
+ 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73,
+ 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72,
+ 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f,
+ 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75,
+ 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e,
+ 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+ 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73,
+ 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78,
+ 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
+ 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74,
+ 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c,
+ 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
+ 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70,
+ 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
+ 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
+ 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78,
0xd9, 0x04, 0x01, 0x30, 0x26, 0x08, 0xc0, 0x31, 0x41, 0x00, 0x90, 0x09,
0x02, 0x25, 0x4c, 0x10, 0x80, 0x64, 0x82, 0x00, 0x28, 0x13, 0x04, 0x60,
0x99, 0x20, 0x00, 0xcc, 0x04, 0x01, 0x68, 0x26, 0x08, 0x80, 0x33, 0x41,
@@ -2879,7 +2871,7 @@ unsigned char compiled_default_metallib[] = {
0xd9, 0x50, 0x2c, 0x71, 0x10, 0x07, 0x4c, 0xb3, 0x21, 0x30, 0x85, 0x0d,
0x48, 0x1c, 0x38, 0x0f, 0xc4, 0x34, 0x91, 0xb4, 0x21, 0x79, 0x83, 0x89,
0x7a, 0x2a, 0xc6, 0x8a, 0xae, 0x0d, 0x4a, 0x1b, 0x60, 0x59, 0x1c, 0xbc,
- 0x81, 0xc6, 0x6c, 0x11, 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x80, 0x03, 0x2b,
+ 0x81, 0xc6, 0x6c, 0x11, 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x98, 0x03, 0x2b,
0x0c, 0xec, 0x00, 0x0e, 0xe2, 0x40, 0x0c, 0xc6, 0xe0, 0x0e, 0xde, 0x20,
0x0e, 0xc8, 0xa0, 0x0c, 0xf0, 0xe0, 0x0d, 0xe2, 0x80, 0x0c, 0xcc, 0x20,
0x0f, 0xde, 0x20, 0x0e, 0xc8, 0xe0, 0x0c, 0x36, 0x48, 0x73, 0xd0, 0x79,
@@ -2997,7 +2989,7 @@ unsigned char compiled_default_metallib[] = {
0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77,
0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01,
0xd8, 0x60, 0x08, 0x03, 0xb0, 0x00, 0xd5, 0x86, 0x64, 0x20, 0x80, 0x05,
- 0xa8, 0x82, 0x34, 0x40, 0x83, 0x0d, 0x0a, 0xf1, 0xff, 0xff, 0xff, 0xff,
+ 0xa8, 0x82, 0x34, 0x00, 0x83, 0x0d, 0x0a, 0xf1, 0xff, 0xff, 0xff, 0xff,
0x03, 0xd0, 0x06, 0xc0, 0x1a, 0x00, 0x12, 0x50, 0x6d, 0x30, 0x8a, 0x00,
0x58, 0x80, 0x6a, 0x83, 0x61, 0x08, 0xc0, 0x02, 0x54, 0x1b, 0x8c, 0xe3,
0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0x28, 0x00, 0x00, 0x49, 0x18,
@@ -3010,13 +3002,13 @@ unsigned char compiled_default_metallib[] = {
0x50, 0x24, 0x80, 0x41, 0xc7, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x24, 0xc2,
0x0c, 0xc0, 0x30, 0x02, 0xb1, 0x0c, 0x23, 0x08, 0xcb, 0x51, 0xd2, 0x14,
0x51, 0xc2, 0xe4, 0xff, 0x13, 0x71, 0x4d, 0x54, 0x44, 0xfc, 0xf6, 0xf0,
- 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0x24, 0x41, 0x73, 0x91, 0x34,
+ 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0xe4, 0x40, 0x73, 0x91, 0x34,
0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c, 0x84,
0x0a, 0x08, 0x20, 0x08, 0x62, 0x10, 0x21, 0x12, 0x4a, 0xc1, 0x30, 0xcd,
0x23, 0xd1, 0x74, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xbf, 0x04, 0x30,
0xcf, 0x42, 0x44, 0xff, 0x34, 0x46, 0x00, 0x0c, 0x22, 0x54, 0xc2, 0x1c,
0x41, 0x30, 0x8c, 0x20, 0x00, 0x25, 0x61, 0x1e, 0xab, 0xb9, 0xb0, 0x6b,
- 0x01, 0x28, 0x2b, 0xc2, 0x02, 0xd0, 0x36, 0x10, 0x90, 0x02, 0xc0, 0x20,
+ 0x01, 0x28, 0x2b, 0xc2, 0x02, 0xd0, 0x36, 0x10, 0x90, 0x03, 0xc0, 0x20,
0x02, 0x20, 0x0c, 0x22, 0x10, 0xc2, 0x30, 0x02, 0x01, 0x0c, 0x23, 0x0c,
0xc0, 0x30, 0xc2, 0xb0, 0x00, 0x00, 0x13, 0xb2, 0x70, 0x48, 0x07, 0x79,
0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
@@ -3058,10 +3050,10 @@ unsigned char compiled_default_metallib[] = {
0xc0, 0xc7, 0x4a, 0x6c, 0x10, 0x28, 0xac, 0x35, 0x00, 0x00, 0x90, 0x05,
0x02, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x8a, 0xa0,
- 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xaa, 0x20, 0x0a, 0xa8, 0x90,
- 0x4a, 0xa9, 0x98, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
- 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x80, 0x0a,
- 0xa9, 0x94, 0x8a, 0x89, 0x8e, 0x11, 0x00, 0xf2, 0xc6, 0x12, 0x94, 0x07,
+ 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xa8, 0x20, 0x0a, 0xa6, 0x70,
+ 0x4a, 0xa7, 0x78, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
+ 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x60, 0x0a,
+ 0xa7, 0x74, 0x8a, 0x87, 0x8e, 0x11, 0x00, 0xf2, 0xc6, 0x1a, 0x94, 0x87,
0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
@@ -3100,69 +3092,69 @@ unsigned char compiled_default_metallib[] = {
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xfc, 0x16, 0x00, 0x00, 0x8b, 0xb2,
+ 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0x80, 0x17, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x95, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0xc1,
0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b, 0xa4, 0x60, 0x8a, 0xf2,
0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1, 0xa5, 0x1c, 0x11, 0x00,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x36, 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64,
- 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
- 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
- 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72,
- 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34,
+ 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30,
+ 0x32, 0x2e, 0x31, 0x34, 0x2e, 0x39, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
+ 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69,
+ 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74,
+ 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c,
+ 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72,
+ 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61,
+ 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69,
+ 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70,
+ 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c,
+ 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69,
+ 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43,
+ 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c,
+ 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46,
+ 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59,
+ 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61,
- 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
- 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69, 0x72,
- 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74,
- 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
- 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
- 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f,
- 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72, 0x73,
- 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74,
- 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69,
- 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
- 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c,
- 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66,
- 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
- 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
- 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e,
- 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f,
- 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65,
- 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75,
- 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c,
- 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64,
- 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e,
- 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74,
- 0x65, 0x00, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78, 0xd9, 0x04, 0x01, 0x30,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78, 0xd9, 0x04, 0x01, 0x30,
0x26, 0x08, 0xc0, 0x31, 0x41, 0x00, 0x90, 0x09, 0x02, 0x25, 0x4c, 0x10,
0x80, 0x64, 0x82, 0x00, 0x28, 0x13, 0x04, 0x60, 0x99, 0x20, 0x00, 0xcc,
0x04, 0x01, 0x68, 0x26, 0x08, 0x80, 0x33, 0x41, 0x00, 0x9e, 0x09, 0x82,
@@ -3173,7 +3165,7 @@ unsigned char compiled_default_metallib[] = {
0x10, 0x07, 0x4c, 0xb3, 0x21, 0x30, 0x85, 0x0d, 0x48, 0x1c, 0x38, 0x0f,
0xc4, 0x34, 0x91, 0xb4, 0x21, 0x79, 0x83, 0x89, 0x7a, 0x2a, 0xc6, 0x8a,
0xae, 0x0d, 0x4a, 0x1b, 0x60, 0x59, 0x1c, 0xbc, 0x81, 0xc6, 0x6c, 0x11,
- 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x80, 0x03, 0x2b, 0x0c, 0xec, 0x00, 0x0e,
+ 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x98, 0x03, 0x2b, 0x0c, 0xec, 0x00, 0x0e,
0xe2, 0x40, 0x0c, 0xc6, 0xe0, 0x0e, 0xde, 0x20, 0x0e, 0xc8, 0xa0, 0x0c,
0xf0, 0xe0, 0x0d, 0xe2, 0x80, 0x0c, 0xcc, 0x20, 0x0f, 0xde, 0x20, 0x0e,
0xc8, 0xe0, 0x0c, 0x36, 0x48, 0x73, 0xd0, 0x79, 0x74, 0x90, 0xc5, 0xc1,
@@ -3295,7 +3287,7 @@ unsigned char compiled_default_metallib[] = {
0x07, 0x80, 0xa8, 0x87, 0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30,
0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00,
0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0xd8, 0x60, 0x08, 0x03,
- 0xb0, 0x00, 0xd5, 0x86, 0x64, 0x20, 0x80, 0x05, 0xa8, 0x82, 0x34, 0x40,
+ 0xb0, 0x00, 0xd5, 0x86, 0x64, 0x20, 0x80, 0x05, 0xa8, 0x82, 0x34, 0x00,
0x83, 0x0d, 0x0a, 0xf1, 0xff, 0xff, 0xff, 0xff, 0x03, 0xd0, 0x06, 0xc0,
0x1a, 0x00, 0x12, 0x50, 0x6d, 0x30, 0x8a, 0x00, 0x58, 0x80, 0x6a, 0x83,
0x61, 0x08, 0xc0, 0x02, 0x54, 0x1b, 0x8c, 0xe3, 0xff, 0xff, 0xff, 0xff,
@@ -3309,13 +3301,13 @@ unsigned char compiled_default_metallib[] = {
0xc7, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x24, 0xc2, 0x0c, 0xc0, 0x30, 0x02,
0xb1, 0x0c, 0x23, 0x08, 0xcb, 0x51, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xff,
0x13, 0x71, 0x4d, 0x54, 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0,
- 0x20, 0x82, 0x13, 0x24, 0x41, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9,
+ 0x20, 0x82, 0x13, 0xe4, 0x40, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9,
0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c, 0x84, 0x0a, 0x08, 0x20, 0x08,
0x62, 0x10, 0x21, 0x12, 0x4a, 0xc1, 0x30, 0xcd, 0x23, 0xd1, 0x74, 0x91,
0x34, 0x45, 0x94, 0x30, 0xf9, 0xbf, 0x04, 0x30, 0xcf, 0x42, 0x44, 0xff,
0x34, 0x46, 0x00, 0x0c, 0x22, 0x54, 0xc2, 0x1c, 0x41, 0x30, 0x8c, 0x20,
0x00, 0x25, 0x61, 0x1e, 0xab, 0xb9, 0xb0, 0x6b, 0x01, 0x28, 0x2b, 0xc2,
- 0x02, 0xd0, 0x36, 0x10, 0x90, 0x02, 0xc0, 0x20, 0x02, 0x20, 0x0c, 0x22,
+ 0x02, 0xd0, 0x36, 0x10, 0x90, 0x03, 0xc0, 0x20, 0x02, 0x20, 0x0c, 0x22,
0x10, 0xc2, 0x30, 0x02, 0x01, 0x4c, 0x01, 0x0c, 0x23, 0x0c, 0xcb, 0x30,
0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb2, 0x70, 0x48, 0x07, 0x79,
0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
@@ -3357,11 +3349,11 @@ unsigned char compiled_default_metallib[] = {
0x1f, 0x2b, 0xb1, 0x41, 0xa0, 0xb0, 0xda, 0x00, 0x00, 0x40, 0x16, 0x08,
0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x8a, 0xa0,
- 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xaa, 0x20, 0x0a, 0xa8, 0x90,
- 0x4a, 0xa9, 0x98, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
- 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x80, 0x0a,
- 0xa9, 0x94, 0x8a, 0x89, 0x8e, 0x11, 0x00, 0x5a, 0xc6, 0x08, 0x40, 0x10,
- 0x04, 0x45, 0x30, 0x20, 0x6f, 0x2c, 0x41, 0x79, 0x00, 0x00, 0xb1, 0x18,
+ 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xa8, 0x20, 0x0a, 0xa6, 0x70,
+ 0x4a, 0xa7, 0x78, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
+ 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x60, 0x0a,
+ 0xa7, 0x74, 0x8a, 0x87, 0x8e, 0x11, 0x00, 0x5a, 0xc6, 0x08, 0x40, 0x10,
+ 0x04, 0x45, 0x30, 0x20, 0x6f, 0xac, 0x41, 0x79, 0x08, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -3400,68 +3392,68 @@ unsigned char compiled_default_metallib[] = {
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2,
- 0x01, 0x1a, 0xfc, 0x16, 0x00, 0x00, 0x8b, 0xb2, 0x06, 0xc5, 0xc6, 0x95,
+ 0x01, 0x1a, 0x80, 0x17, 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x95,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0xc1, 0x28, 0x12, 0x83, 0x48,
0xcb, 0x63, 0x24, 0x8b, 0xa4, 0x60, 0x8a, 0xf2, 0x20, 0x14, 0x33, 0x20,
0x04, 0x03, 0x31, 0xd1, 0xa5, 0x1c, 0x11, 0x00, 0x00, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x36,
- 0x34, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72,
- 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61,
- 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62,
- 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
- 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34, 0x20, 0x28, 0x6d, 0x65,
+ 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x31, 0x34,
+ 0x2e, 0x39, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
- 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
- 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
- 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
- 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65,
- 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63,
- 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f,
- 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66,
- 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75,
- 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29,
- 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74,
- 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78,
- 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65,
- 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61,
- 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78,
- 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74,
- 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63,
- 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75,
- 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
- 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73,
- 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62,
- 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
- 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69,
- 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75,
- 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42,
- 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70,
- 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x13, 0x04,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
+ 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
+ 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
+ 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
+ 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64,
+ 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72,
+ 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f,
+ 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e,
+ 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70,
+ 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31,
+ 0x29, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65,
+ 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74,
+ 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
+ 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72,
+ 0x63, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72,
+ 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64,
+ 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
+ 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56,
+ 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c,
+ 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d,
+ 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x13, 0x04,
0xa0, 0x98, 0x20, 0x78, 0xda, 0x04, 0x01, 0x30, 0x26, 0x08, 0xc0, 0x31,
0x41, 0x00, 0x90, 0x09, 0x02, 0x25, 0x4c, 0x10, 0x80, 0x64, 0x82, 0x00,
0x28, 0x13, 0x04, 0x60, 0x99, 0x20, 0x00, 0xcc, 0x04, 0x01, 0x68, 0x26,
@@ -3473,7 +3465,7 @@ unsigned char compiled_default_metallib[] = {
0x21, 0x30, 0x85, 0x0d, 0x48, 0x1c, 0x38, 0x0f, 0xc4, 0x34, 0x91, 0xb4,
0x21, 0x79, 0x83, 0x89, 0x7a, 0x2a, 0xc6, 0x8a, 0xae, 0x0d, 0x4a, 0x1b,
0x60, 0x59, 0x1c, 0xbc, 0x81, 0xc6, 0x6c, 0x11, 0xb7, 0x21, 0x8b, 0x83,
- 0x3a, 0x80, 0x03, 0x2b, 0x0c, 0xec, 0x00, 0x0e, 0xe2, 0x40, 0x0c, 0xc6,
+ 0x3a, 0x98, 0x03, 0x2b, 0x0c, 0xec, 0x00, 0x0e, 0xe2, 0x40, 0x0c, 0xc6,
0xe0, 0x0e, 0xde, 0x20, 0x0e, 0xc8, 0xa0, 0x0c, 0xf0, 0xe0, 0x0d, 0xe2,
0x80, 0x0c, 0xcc, 0x20, 0x0f, 0xde, 0x20, 0x0e, 0xc8, 0xe0, 0x0c, 0x36,
0x48, 0x73, 0xd0, 0x79, 0x74, 0x90, 0xc5, 0xc1, 0x1b, 0x7c, 0x60, 0xb0,
@@ -3545,7 +3537,7 @@ unsigned char compiled_default_metallib[] = {
0xf9, 0x85, 0x5f, 0xdc, 0xb6, 0x2f, 0xf9, 0xc8, 0x6d, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
-unsigned int compiled_default_metallib_len = 42334;
+unsigned int compiled_default_metallib_len = 42238;
#elif TARGET_OS_SIMULATOR // TARGET_OS_OSX || TARGET_OS_MACCATALYST
@@ -3554,20 +3546,20 @@ unsigned int compiled_default_metallib_len = 42334;
constexpr
unsigned char compiled_default_ios_sim_metallib[] = {
- 0x4d, 0x54, 0x4c, 0x42, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xee, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4d, 0x54, 0x4c, 0x42, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x5e, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x06, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x9a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xb0, 0x00, 0x00,
+ 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xb0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
0x4e, 0x41, 0x4d, 0x45, 0x14, 0x00, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x38, 0x54, 0x6f, 0x55, 0x31,
0x36, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41, 0x53,
- 0x48, 0x20, 0x00, 0xea, 0xc3, 0x29, 0x37, 0x79, 0xc3, 0x8f, 0x86, 0xdc,
- 0xdc, 0x38, 0xf3, 0x75, 0x21, 0x64, 0x59, 0xc2, 0x39, 0x9f, 0xfa, 0x6f,
- 0x4a, 0x48, 0x6b, 0xe7, 0x78, 0x26, 0x0c, 0x4a, 0xb8, 0x50, 0x16, 0x4d,
+ 0x48, 0x20, 0x00, 0x06, 0x72, 0x4c, 0x5f, 0x95, 0x66, 0xbd, 0x88, 0xed,
+ 0xda, 0x35, 0xa0, 0xdf, 0xc9, 0x29, 0xb6, 0x3d, 0x32, 0xe8, 0xfe, 0x32,
+ 0x0d, 0x04, 0xa3, 0x92, 0x06, 0xe3, 0x92, 0x6f, 0x68, 0x84, 0x48, 0x4d,
0x44, 0x53, 0x5a, 0x08, 0x00, 0xe0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -3576,9 +3568,9 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x54, 0x85, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55,
0x31, 0x36, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41,
- 0x53, 0x48, 0x20, 0x00, 0xe4, 0xda, 0x23, 0x55, 0x54, 0x8c, 0x93, 0xce,
- 0x80, 0xfd, 0x4b, 0xac, 0x72, 0xd7, 0x78, 0x8f, 0x52, 0xd5, 0xef, 0x17,
- 0xc4, 0xf6, 0xff, 0x3a, 0x5f, 0xed, 0x1b, 0x76, 0xce, 0x65, 0x17, 0x8d,
+ 0x53, 0x48, 0x20, 0x00, 0x5c, 0x88, 0x86, 0x77, 0x2f, 0xc9, 0x72, 0x96,
+ 0xf2, 0xb4, 0xad, 0xa9, 0xe3, 0xaf, 0xe8, 0x21, 0x6c, 0xfe, 0x80, 0xcd,
+ 0x95, 0xd7, 0x86, 0x51, 0x65, 0xbb, 0x08, 0xd2, 0xcc, 0x02, 0xf9, 0x09,
0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -3587,10 +3579,10 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x44, 0x54, 0x85, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00,
0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x55, 0x33, 0x32, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48,
- 0x41, 0x53, 0x48, 0x20, 0x00, 0x62, 0x1e, 0xb8, 0xa7, 0xba, 0xb9, 0x09,
- 0x98, 0x12, 0xf8, 0x25, 0xbf, 0x32, 0x55, 0x7e, 0x27, 0x27, 0xf1, 0x7c,
- 0x45, 0xcd, 0x5b, 0x53, 0x25, 0x22, 0x90, 0xb9, 0x4a, 0xc2, 0x62, 0xa8,
- 0x78, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x50, 0x10, 0x00, 0x00, 0x00,
+ 0x41, 0x53, 0x48, 0x20, 0x00, 0x4f, 0x1a, 0x17, 0x8f, 0x06, 0x2e, 0x9f,
+ 0xca, 0x86, 0x83, 0x24, 0x8a, 0x08, 0x90, 0x99, 0xf3, 0x09, 0x52, 0xdf,
+ 0xac, 0x61, 0xd3, 0xc3, 0xa7, 0x50, 0x19, 0x28, 0xc5, 0xa3, 0x05, 0xe6,
+ 0x73, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x50, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x31, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
@@ -3599,10 +3591,10 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e,
0x64, 0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x72, 0x72,
0x61, 0x79, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41,
- 0x53, 0x48, 0x20, 0x00, 0x69, 0xd2, 0x5b, 0xfd, 0x87, 0x76, 0xc1, 0xa6,
- 0x3b, 0xb9, 0x8d, 0x1e, 0x54, 0x83, 0x1b, 0x4c, 0x5a, 0x99, 0xc1, 0x56,
- 0x33, 0xb2, 0x59, 0xd4, 0x82, 0xf9, 0xa5, 0xd0, 0x82, 0xaa, 0x42, 0xc5,
- 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0xa0, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ 0x53, 0x48, 0x20, 0x00, 0x11, 0x4b, 0x73, 0x33, 0x0d, 0xee, 0x20, 0x0c,
+ 0x5f, 0x6f, 0x55, 0x9a, 0x7f, 0x21, 0x2c, 0x6d, 0xa8, 0x2e, 0xeb, 0x09,
+ 0xd5, 0x63, 0xda, 0xd1, 0xea, 0x2e, 0x49, 0xd7, 0x96, 0x60, 0xff, 0x9c,
+ 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x90, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x5a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x60, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53,
@@ -3611,88 +3603,88 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e, 0x64,
0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6c, 0x65, 0x6d,
0x65, 0x6e, 0x74, 0x73, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02,
- 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xe3, 0x48, 0x63, 0x90, 0xa7, 0x27,
- 0x17, 0xf3, 0x47, 0xd2, 0xb0, 0x7a, 0xb4, 0x39, 0xba, 0xde, 0x63, 0x8a,
- 0xdd, 0x17, 0xac, 0x25, 0x17, 0xc8, 0x5a, 0x30, 0x81, 0xe4, 0x05, 0xd3,
- 0xc9, 0xae, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x50, 0x17, 0x00, 0x00,
+ 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xd4, 0xd0, 0x56, 0x1c, 0x0a, 0xe0,
+ 0x94, 0xc4, 0x99, 0xd1, 0xe1, 0xd5, 0x67, 0x3f, 0xd2, 0x56, 0xc6, 0x58,
+ 0x27, 0x06, 0xa4, 0xdd, 0xfc, 0x56, 0xef, 0x85, 0x36, 0x1b, 0x24, 0x1e,
+ 0xb6, 0x1c, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x50, 0x17, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x62, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45,
+ 0x00, 0x00, 0xf0, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45,
0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
0x45, 0x4e, 0x44, 0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45,
0x08, 0x00, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x56, 0x53, 0x00, 0x54, 0x59,
- 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x90,
- 0x72, 0x1e, 0xb1, 0x34, 0x11, 0x97, 0x0a, 0x49, 0x11, 0x94, 0x89, 0x45,
- 0x58, 0xcf, 0x4e, 0xa0, 0x8e, 0x26, 0xec, 0xc8, 0x7a, 0xa7, 0x41, 0x0f,
- 0xc9, 0x99, 0xa4, 0xe0, 0xf9, 0x82, 0x88, 0x4d, 0x44, 0x53, 0x5a, 0x08,
- 0x00, 0xb0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46,
+ 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x00,
+ 0x92, 0x02, 0x7c, 0x9d, 0x1c, 0x1c, 0xb6, 0x92, 0x6c, 0xe2, 0xc2, 0xc4,
+ 0x23, 0x7f, 0xa2, 0xd3, 0x3b, 0x71, 0x42, 0x87, 0xc9, 0x32, 0x36, 0x23,
+ 0x81, 0x5e, 0x51, 0x47, 0xb1, 0x30, 0x4a, 0x4d, 0x44, 0x53, 0x5a, 0x08,
+ 0x00, 0xa0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46,
0x54, 0x18, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x02,
0x00, 0x02, 0x00, 0x02, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7c, 0x00, 0x00,
0x00, 0x4e, 0x41, 0x4d, 0x45, 0x07, 0x00, 0x62, 0x6c, 0x69, 0x74, 0x56,
0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53,
- 0x48, 0x20, 0x00, 0xb5, 0x3c, 0x04, 0x9d, 0x1e, 0xa3, 0x6e, 0xc7, 0x49,
- 0xca, 0x11, 0xc7, 0xcf, 0x13, 0x83, 0xe7, 0xa5, 0x20, 0x8a, 0xb8, 0xbf,
- 0x89, 0x49, 0xcf, 0xec, 0xf9, 0xf8, 0x21, 0xa8, 0x5e, 0x25, 0xb3, 0x4d,
- 0x44, 0x53, 0x5a, 0x08, 0x00, 0x50, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x48, 0x20, 0x00, 0x00, 0x01, 0x07, 0x80, 0x02, 0x4a, 0xf0, 0xa8, 0xb0,
+ 0x14, 0xb6, 0xac, 0xc5, 0x03, 0xd9, 0xaa, 0x6e, 0xe7, 0x3a, 0x3f, 0xc2,
+ 0xad, 0x9f, 0xf6, 0x35, 0x97, 0xa3, 0xf2, 0x0d, 0x1c, 0xbe, 0x45, 0x4d,
+ 0x44, 0x53, 0x5a, 0x08, 0x00, 0xe0, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
+ 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08,
0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x45, 0x4e, 0x44,
0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x08, 0x00, 0x64,
0x75, 0x6d, 0x6d, 0x79, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01,
- 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x67, 0x8b, 0x87, 0xa7,
- 0x36, 0xe0, 0x9b, 0x26, 0x5a, 0x83, 0x7a, 0x69, 0x2a, 0x0d, 0x6a, 0x0c,
- 0x85, 0x93, 0x0f, 0x14, 0xe0, 0xe7, 0xbd, 0xc1, 0x86, 0x55, 0xf0, 0xd9,
- 0xbd, 0x45, 0xa9, 0xdc, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x20, 0x0a,
+ 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x67, 0xe0, 0x3d, 0x8d,
+ 0x54, 0x1b, 0x20, 0x00, 0xe7, 0x6f, 0xfa, 0x65, 0xeb, 0x06, 0x9f, 0x54,
+ 0xa4, 0xa9, 0x62, 0x67, 0xcb, 0x6e, 0x30, 0xaa, 0x25, 0x35, 0xa1, 0x33,
+ 0x3b, 0xc8, 0x7e, 0x40, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x20, 0x0a,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00,
0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x50, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
0x02, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41,
0x4d, 0x45, 0x08, 0x00, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x46, 0x53, 0x00,
0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20,
- 0x00, 0x60, 0x36, 0x94, 0xe1, 0x52, 0x18, 0xe8, 0x23, 0x4b, 0xec, 0x4c,
- 0xa9, 0xd4, 0x31, 0x2f, 0x52, 0xb5, 0x12, 0xcf, 0x18, 0xe5, 0x87, 0xd7,
- 0xd4, 0xef, 0x9d, 0xc3, 0xa9, 0xdd, 0x36, 0xcc, 0xaa, 0x4d, 0x44, 0x53,
+ 0x00, 0xa3, 0x9b, 0x03, 0x7c, 0xaf, 0x41, 0x61, 0x6d, 0xfb, 0xa0, 0xdc,
+ 0xe3, 0x61, 0xe2, 0xf7, 0xd0, 0x85, 0x4d, 0x8e, 0x81, 0x55, 0x66, 0x72,
+ 0x50, 0x1b, 0xe1, 0xf7, 0xf3, 0x6f, 0xa3, 0xc9, 0x55, 0x4d, 0x44, 0x53,
0x5a, 0x08, 0x00, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
0x46, 0x46, 0x54, 0x18, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x76, 0x00,
+ 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x75, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02,
0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7c,
0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x07, 0x00, 0x62, 0x6c, 0x69,
0x74, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48,
- 0x41, 0x53, 0x48, 0x20, 0x00, 0x9f, 0x44, 0x7c, 0xfd, 0x90, 0xe9, 0x9f,
- 0xb9, 0xdd, 0xd0, 0xcd, 0xfe, 0xac, 0x9b, 0x86, 0x27, 0x85, 0xe4, 0x69,
- 0xfc, 0xba, 0x93, 0xd1, 0xf2, 0x1c, 0x40, 0xe2, 0x09, 0x8d, 0xdf, 0xa2,
- 0x35, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00,
+ 0x41, 0x53, 0x48, 0x20, 0x00, 0xe1, 0xea, 0xc1, 0xe1, 0xd6, 0x82, 0x70,
+ 0x9e, 0x73, 0x91, 0x07, 0xae, 0x5d, 0x03, 0xb5, 0x1b, 0x0f, 0x91, 0xb7,
+ 0xb2, 0x4d, 0x6a, 0x4f, 0x33, 0x0a, 0xfa, 0x51, 0x80, 0x90, 0xb0, 0x4d,
+ 0x48, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0xec, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
+ 0x00, 0x70, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
0x53, 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x45,
0x4e, 0x44, 0x54, 0x8c, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x17,
0x00, 0x62, 0x6c, 0x69, 0x74, 0x50, 0x72, 0x65, 0x6d, 0x75, 0x6c, 0x74,
0x69, 0x70, 0x6c, 0x79, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x46, 0x53, 0x00,
0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20,
- 0x00, 0xae, 0x6e, 0xd0, 0x1b, 0xb0, 0xa7, 0x28, 0x92, 0xff, 0xc7, 0x25,
- 0x58, 0x6d, 0x60, 0xe8, 0x3b, 0x91, 0xf7, 0x65, 0x5e, 0xc9, 0xf1, 0x49,
- 0xc6, 0xaf, 0xbd, 0xde, 0xbd, 0x81, 0x58, 0xe0, 0xc2, 0x4d, 0x44, 0x53,
+ 0x00, 0x50, 0xc0, 0x67, 0xfc, 0x61, 0x17, 0x83, 0x49, 0x8e, 0x52, 0xd6,
+ 0x78, 0x3d, 0xb5, 0x94, 0x97, 0x86, 0xb6, 0xeb, 0x16, 0x66, 0x5d, 0xc0,
+ 0x9a, 0x14, 0xc3, 0x6d, 0x05, 0x5a, 0xbf, 0xc7, 0xa1, 0x4d, 0x44, 0x53,
0x5a, 0x08, 0x00, 0xb0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
0x46, 0x46, 0x54, 0x18, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x91, 0x00,
+ 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x90, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02,
0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x8b,
0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x16, 0x00, 0x62, 0x6c, 0x69,
0x74, 0x55, 0x6e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x41,
0x6c, 0x70, 0x68, 0x61, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01,
- 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0xdd, 0x01, 0x81, 0xb8,
- 0xcf, 0x08, 0xf3, 0xb6, 0x52, 0x26, 0xdc, 0xbf, 0x1f, 0xda, 0xd6, 0x59,
- 0x35, 0x0c, 0xfc, 0x09, 0xed, 0x12, 0xf9, 0xaa, 0x86, 0x85, 0xf8, 0x4b,
- 0xb5, 0xf8, 0x18, 0x3f, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0xe0, 0x0f,
+ 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x7a, 0xdd, 0xc5, 0x01,
+ 0x87, 0x3b, 0x45, 0xd2, 0x33, 0xa0, 0xab, 0x47, 0x3e, 0xc7, 0xd4, 0xf2,
+ 0xf1, 0x67, 0xc1, 0x3f, 0x1a, 0x63, 0xae, 0x67, 0xc6, 0x28, 0x3d, 0x2a,
+ 0xec, 0x33, 0x3f, 0x56, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0xe0, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00,
0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
0x02, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x45, 0x4e, 0x44, 0x54, 0x04, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x25, 0x00, 0x00, 0x00, 0x43, 0x4e,
@@ -3725,7 +3717,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x04, 0x00, 0x00, 0x00, 0x45, 0x4e,
0x44, 0x54, 0x04, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x04, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xc4, 0x0c, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xeb, 0x02, 0x00, 0x00, 0x0b, 0x02,
@@ -3795,7 +3787,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x84, 0x39, 0x82, 0x60, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x13, 0xbe,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83,
- 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
+ 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70,
0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60,
0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
@@ -3832,7 +3824,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x10, 0x65, 0x40, 0x72, 0x04, 0xa0, 0x10,
- 0xe8, 0x8c, 0x00, 0x50, 0x1c, 0x4b, 0x68, 0x00, 0x00, 0x00, 0xb1, 0x18,
+ 0xe8, 0x8c, 0x00, 0x50, 0x1c, 0x4b, 0x68, 0x08, 0x00, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -3873,53 +3865,53 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88,
0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68,
0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90,
- 0x51, 0xfc, 0xb8, 0x35, 0x02, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
+ 0x51, 0xfc, 0x38, 0x35, 0x02, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21,
0x54, 0xa2, 0x44, 0x57, 0x75, 0x14, 0x85, 0x63, 0x18, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e,
- 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e,
+ 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
- 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
- 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66,
- 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
- 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x63, 0x68,
- 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x72,
- 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x75, 0x73, 0x68,
- 0x6f, 0x72, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0xc6, 0x51,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
+ 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75,
+ 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x63, 0x68, 0x61,
+ 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x75, 0x73, 0x68, 0x6f,
+ 0x72, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0xc6, 0x51,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x00, 0x08, 0x23, 0x08,
0xd1, 0x32, 0x82, 0x00, 0x0c, 0x23, 0x08, 0x00, 0x31, 0x82, 0x00, 0x14,
0x23, 0x08, 0x4f, 0x30, 0x82, 0x00, 0x18, 0x23, 0x08, 0xc0, 0x31, 0xc3,
@@ -3979,25 +3971,25 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x01,
0xad, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c,
0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0x20, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x0a, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x00,
0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00,
- 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00,
0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00,
- 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x12, 0x03,
- 0x94, 0xad, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
+ 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x03,
+ 0x94, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55,
- 0x38, 0x54, 0x6f, 0x55, 0x31, 0x36, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e,
- 0x35, 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70,
- 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e,
- 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00,
+ 0x38, 0x54, 0x6f, 0x55, 0x31, 0x36, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65,
+ 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73,
+ 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
@@ -4071,7 +4063,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x04, 0x73, 0x04, 0xa0, 0x30, 0x88, 0x20, 0x08, 0x53, 0x00, 0x00, 0x00,
0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68,
0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78,
- 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68,
+ 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68,
0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78,
0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76,
0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
@@ -4120,7 +4112,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x61, 0x04, 0xa0, 0x20, 0xca, 0x80, 0x6a, 0x0d, 0x90, 0x1d, 0x01, 0x28,
0x04, 0x32, 0x23, 0x00, 0xc6, 0x01, 0xc0, 0x38, 0x04, 0xd0, 0xc1, 0x61,
0x99, 0x4a, 0x08, 0x03, 0x4c, 0x0a, 0x05, 0x7b, 0x89, 0x8e, 0x25, 0x34,
- 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
+ 0x04, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c,
@@ -4160,63 +4152,63 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x79, 0x20, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x62, 0x1e,
0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40,
0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19,
- 0x21, 0x47, 0xc8, 0x90, 0x51, 0x34, 0x03, 0x32, 0x00, 0x2b, 0x8b, 0xd2,
+ 0x21, 0x47, 0xc8, 0x90, 0x51, 0x34, 0x03, 0x32, 0xf8, 0x29, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1,
0x0c, 0xca, 0x23, 0x21, 0x54, 0xa2, 0x44, 0x57, 0x75, 0x54, 0x84, 0x55,
0x14, 0x94, 0xc1, 0x38, 0xc6, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e,
- 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e,
+ 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
- 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
- 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66,
- 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
- 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72,
- 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
- 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55,
- 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75, 0x63, 0x68, 0x61,
- 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e,
- 0x65, 0x64, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x70, 0x75,
- 0x74, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e,
- 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75,
- 0x74, 0x70, 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65,
- 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c,
- 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x66, 0x82,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
+ 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75,
+ 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e,
+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x6e,
+ 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75, 0x63, 0x68, 0x61, 0x72,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65,
+ 0x64, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x70, 0x75, 0x74,
+ 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72,
+ 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e,
+ 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65,
+ 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x66, 0x82,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x20, 0x30, 0x23, 0x08,
0xd4, 0x36, 0x82, 0x20, 0x34, 0x23, 0x08, 0x82, 0x33, 0x82, 0x20, 0x3c,
0x23, 0x08, 0xd2, 0x31, 0x82, 0x20, 0x40, 0x23, 0x08, 0x01, 0x30, 0x82,
@@ -4299,11 +4291,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x06, 0x94, 0x06, 0x78, 0x90,
0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x47, 0x00,
0x00, 0x00, 0x12, 0x03, 0x94, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00,
+ 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x44, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, 0x1f, 0x00,
+ 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xf9, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0x22, 0x00,
0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0xff,
@@ -4322,7 +4314,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x12, 0x00,
0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c,
- 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0xfc, 0x01, 0x00,
+ 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0xf9, 0x01, 0x00,
0x00, 0x00, 0x5f, 0x5a, 0x4c, 0x32, 0x36, 0x5f, 0x5f, 0x6d, 0x65, 0x74,
0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f,
0x66, 0x63, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x5f, 0x30, 0x5f, 0x5a, 0x4c,
@@ -4340,11 +4332,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x42, 0x41, 0x4c, 0x5f, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x49, 0x5f, 0x6d,
0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
- 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x31, 0x36, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36, 0x34,
- 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33,
- 0x2e, 0x30, 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74,
- 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
+ 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x31, 0x36, 0x33, 0x39, 0x30,
+ 0x32, 0x2e, 0x36, 0x37, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70,
+ 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e,
+ 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x38, 0x10, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
@@ -4416,7 +4408,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x47, 0x10, 0xcc, 0x11, 0x80, 0xc2, 0x14, 0x00, 0x00, 0x00, 0x13, 0xbe,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83,
- 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
+ 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70,
0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60,
0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
@@ -4464,7 +4456,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0xa2, 0xfc, 0xff, 0x0f, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x20,
0xca, 0x80, 0x68, 0x0d, 0x50, 0x1d, 0x01, 0x28, 0x04, 0x32, 0x23, 0x00,
0xc6, 0x01, 0xc0, 0x38, 0x04, 0xd0, 0xc1, 0x61, 0x99, 0x4a, 0x08, 0x03,
- 0x4c, 0x0a, 0x05, 0x7b, 0x69, 0x8e, 0x25, 0x34, 0x00, 0x00, 0xb1, 0x18,
+ 0x4c, 0x0a, 0x05, 0x7b, 0x69, 0x8e, 0x25, 0x34, 0x04, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -4505,62 +4497,62 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x25, 0x01, 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88,
0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68,
0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90,
- 0x51, 0x2c, 0x03, 0x30, 0xb0, 0x29, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
+ 0x51, 0x2c, 0x03, 0x30, 0xa8, 0x29, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21,
0x54, 0xa2, 0x44, 0x57, 0x75, 0x54, 0x84, 0x55, 0x14, 0x14, 0xe3, 0x18,
0xcf, 0x03, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33,
+ 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61,
- 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
- 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
- 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72,
- 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78,
- 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61,
- 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64,
- 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f,
- 0x6f, 0x6c, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x55, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64,
- 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41,
- 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41,
- 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70,
- 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74,
- 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20,
- 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x00, 0xa6, 0x81,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74,
+ 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69,
+ 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
+ 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
+ 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f,
+ 0x6c, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x55, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75,
+ 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c,
+ 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6c,
+ 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75,
+ 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20,
+ 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43,
+ 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x00, 0x00, 0xa6, 0x81,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x20, 0x30, 0x23, 0x08,
0xd3, 0x36, 0x82, 0x20, 0x34, 0x23, 0x08, 0x82, 0x33, 0x82, 0x20, 0x3c,
0x23, 0x08, 0xd1, 0x31, 0x82, 0x20, 0x40, 0x23, 0x08, 0x01, 0x30, 0x82,
@@ -4647,11 +4639,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x10, 0x22, 0x84, 0x06, 0x8f, 0x06, 0x78, 0x40, 0x6a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x12, 0x03,
0x94, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x00,
- 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00,
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xc4, 0x00,
- 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xc4, 0x00,
+ 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xa2, 0x00,
0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x20,
@@ -4670,7 +4662,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x90, 0x00,
0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x42, 0x00,
- 0x00, 0x00, 0x12, 0x03, 0x94, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x5f, 0x5a,
+ 0x00, 0x00, 0x12, 0x03, 0x94, 0xf9, 0x01, 0x00, 0x00, 0x00, 0x5f, 0x5a,
0x4c, 0x32, 0x36, 0x5f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x69,
0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x66, 0x63, 0x5f, 0x70,
0x72, 0x65, 0x64, 0x5f, 0x30, 0x5f, 0x5a, 0x4c, 0x32, 0x36, 0x5f, 0x5f,
@@ -4688,15 +4680,15 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x5f, 0x73, 0x75, 0x62, 0x5f, 0x49, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65,
0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74,
0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64,
- 0x65, 0x78, 0x55, 0x33, 0x32, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70,
- 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e, 0x30,
- 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00,
+ 0x65, 0x78, 0x55, 0x33, 0x32, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37,
+ 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d,
+ 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73, 0x69,
+ 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x84, 0x0c, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x7c, 0x0c, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
- 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xda, 0x02, 0x00, 0x00, 0x0b, 0x02,
+ 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xd9, 0x02, 0x00, 0x00, 0x0b, 0x02,
0x21, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81,
0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01,
0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14,
@@ -4761,7 +4753,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x81, 0x80, 0x14, 0x00, 0x73, 0x04, 0xa0, 0x30, 0x88, 0x00, 0x08, 0x73,
0x04, 0xc1, 0x14, 0x00, 0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79,
0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
- 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38,
+ 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x3a,
0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76,
0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06,
0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07,
@@ -4795,11 +4787,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x68, 0xda, 0x08, 0xf9, 0x80, 0x46, 0x6c, 0x06, 0x44, 0x20, 0xa4, 0x2f,
0x72, 0x18, 0x2d, 0x8a, 0x00, 0x8c, 0x00, 0x11, 0x17, 0x14, 0x31, 0x24,
0x8a, 0x32, 0x06, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x36, 0x08, 0x14, 0xe6, 0x16, 0x00, 0x00, 0xc8, 0x02, 0x01,
+ 0x00, 0x24, 0x36, 0x08, 0x14, 0xde, 0x16, 0x00, 0x00, 0xc8, 0x02, 0x01,
0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x10, 0x04, 0x47, 0x00, 0x0a, 0x81, 0xce,
- 0x08, 0x00, 0xbd, 0xb1, 0x84, 0x06, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18,
+ 0x08, 0x00, 0xbd, 0xb1, 0x84, 0x86, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -4837,135 +4829,631 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0,
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x20,
- 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88,
+ 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88,
0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68,
0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90,
- 0x51, 0xe4, 0xb8, 0x30, 0x02, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
+ 0x51, 0xe4, 0x38, 0x30, 0x02, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21,
0xd4, 0x22, 0x45, 0x57, 0x74, 0x38, 0x06, 0x00, 0x00, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e,
- 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e,
+ 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
- 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
- 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x56,
- 0x65, 0x72, 0x74, 0x65, 0x78, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43,
- 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x33, 0x72, 0x64, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x41, 0x72, 0x72,
- 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f,
- 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00,
- 0x00, 0x00, 0x23, 0x08, 0x80, 0x30, 0x82, 0xf0, 0x28, 0x23, 0x08, 0xc0,
- 0x30, 0x82, 0x00, 0x10, 0x23, 0x08, 0x40, 0x31, 0x82, 0xd0, 0x04, 0x23,
- 0x08, 0x80, 0x31, 0xc3, 0xd0, 0x05, 0xde, 0x0c, 0xc3, 0x27, 0x80, 0xc1,
- 0x0c, 0xc1, 0x30, 0xc3, 0xd0, 0x75, 0x61, 0x30, 0x03, 0x41, 0x74, 0x5d,
- 0x18, 0xcc, 0x10, 0x14, 0x33, 0x04, 0xc6, 0x0c, 0xc1, 0x31, 0x43, 0x80,
- 0xcc, 0x10, 0x24, 0x33, 0x04, 0xca, 0x0c, 0xc0, 0x0c, 0x46, 0x18, 0x2c,
- 0x4c, 0xe3, 0x3c, 0x33, 0x28, 0x61, 0x00, 0x06, 0x61, 0xd0, 0x54, 0x60,
- 0x00, 0x06, 0x61, 0xd0, 0x58, 0x33, 0x48, 0x1f, 0x14, 0x8d, 0x81, 0x14,
- 0x06, 0xdf, 0x44, 0xc5, 0xc1, 0x35, 0x06, 0x18, 0x18, 0x30, 0x99, 0xa3,
- 0xcd, 0xe0, 0x74, 0x90, 0xd4, 0x7d, 0xdb, 0x05, 0x06, 0x18, 0x18, 0x30,
- 0x8d, 0xc3, 0xcd, 0x30, 0xc0, 0x81, 0x1c, 0xcc, 0xc1, 0x0c, 0x83, 0x18,
- 0xbc, 0x01, 0x1d, 0xc8, 0x48, 0x60, 0x82, 0x32, 0x62, 0x63, 0xb3, 0x6b,
- 0x73, 0x69, 0x7b, 0x23, 0xab, 0x63, 0x2b, 0x73, 0x31, 0x63, 0x0b, 0x3b,
- 0x9b, 0x1b, 0x45, 0x18, 0x03, 0x32, 0x48, 0x85, 0x8d, 0xcd, 0xae, 0xcd,
- 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x94, 0xa0, 0x0c, 0x72, 0x09, 0x4b,
- 0x93, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x1b, 0x25, 0x30,
- 0x83, 0xa4, 0xc2, 0xd2, 0xe4, 0x5c, 0xd8, 0xc2, 0xdc, 0xce, 0xea, 0xc2,
- 0xce, 0xca, 0xbe, 0xec, 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0x46, 0x09,
- 0xce, 0x20, 0xa7, 0xb0, 0x34, 0x39, 0x97, 0xb1, 0xb7, 0x36, 0xb8, 0x34,
- 0xb6, 0xb2, 0xaf, 0x37, 0x38, 0xba, 0xb4, 0x37, 0xb7, 0xb9, 0x51, 0x0c,
- 0x34, 0x48, 0x03, 0x35, 0x58, 0x03, 0x36, 0x68, 0x83, 0x54, 0xc2, 0xd2,
- 0xe4, 0x5c, 0xd6, 0xca, 0xe4, 0xdc, 0xca, 0xd8, 0x46, 0x09, 0xe8, 0x00,
- 0x00, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
- 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
- 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
- 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
- 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x07, 0xcc, 0x3c, 0xa4, 0x83, 0x3b, 0x9c, 0x03, 0x3b, 0x94,
- 0x03, 0x3d, 0xa0, 0x83, 0x3c, 0x94, 0x43, 0x38, 0x90, 0xc3, 0x01, 0x00,
- 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x13, 0x04,
- 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0xca,
- 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x12, 0x04, 0x1f, 0x00, 0x00,
- 0x00, 0x00, 0xd7, 0xf0, 0x3c, 0x00, 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x37,
- 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x69, 0x6e, 0x74, 0x6f, 0x6d, 0x6e, 0x69,
- 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53,
- 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42,
- 0x41, 0x41, 0x13, 0x04, 0xe8, 0x98, 0x20, 0x40, 0xc8, 0x86, 0x20, 0x0f,
- 0x36, 0x0c, 0x78, 0xc0, 0x07, 0x7a, 0xb0, 0x61, 0xb8, 0x83, 0x3e, 0xd0,
- 0x83, 0x0d, 0x85, 0x1d, 0xf8, 0x81, 0x1e, 0xf8, 0xc1, 0x1e, 0x6c, 0x18,
- 0xfe, 0xc0, 0x0f, 0xf6, 0x60, 0xc3, 0xf0, 0x07, 0x7e, 0xa0, 0x07, 0x1b,
- 0x06, 0x3f, 0xf0, 0x03, 0x3d, 0x00, 0x3b, 0x0d, 0x44, 0xd2, 0x50, 0x00,
- 0xc6, 0x70, 0x43, 0x70, 0x88, 0xc1, 0x2c, 0x43, 0x20, 0x04, 0x3b, 0x0d,
- 0x07, 0xe3, 0x50, 0x00, 0x46, 0x29, 0x13, 0x54, 0x20, 0x40, 0x31, 0x89,
- 0x5c, 0x00, 0x63, 0x03, 0x81, 0x09, 0x86, 0x0d, 0x88, 0xc0, 0x18, 0x80,
- 0x22, 0x16, 0x28, 0x02, 0x83, 0x0b, 0x60, 0x6c, 0x20, 0x40, 0xc1, 0xb0,
- 0x01, 0x11, 0x10, 0x03, 0x50, 0x07, 0x07, 0x17, 0xc0, 0xd8, 0x40, 0x98,
- 0x82, 0x61, 0x03, 0x22, 0x58, 0x06, 0x60, 0x96, 0x40, 0xc0, 0x80, 0x18,
- 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5b, 0x86, 0x20, 0xf8, 0x83, 0x2d,
- 0x43, 0x11, 0x80, 0xc2, 0x96, 0x61, 0x09, 0x42, 0x61, 0xcb, 0x00, 0x05,
- 0xa1, 0xb0, 0x65, 0xa0, 0x82, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
+ 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75,
+ 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x56, 0x65,
+ 0x72, 0x74, 0x65, 0x78, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x33, 0x72, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69,
+ 0x7a, 0x65, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61,
+ 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77,
+ 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x23, 0x08,
+ 0x80, 0x30, 0x82, 0xf0, 0x28, 0x23, 0x08, 0xc0, 0x30, 0x82, 0x00, 0x10,
+ 0x23, 0x08, 0x40, 0x31, 0x82, 0xd0, 0x04, 0x23, 0x08, 0x80, 0x31, 0xc3,
+ 0xd0, 0x05, 0xde, 0x0c, 0xc3, 0x27, 0x80, 0xc1, 0x0c, 0xc1, 0x30, 0xc3,
+ 0xd0, 0x75, 0x61, 0x30, 0x03, 0x41, 0x74, 0x5d, 0x18, 0xcc, 0x10, 0x14,
+ 0x33, 0x04, 0xc6, 0x0c, 0xc1, 0x31, 0x43, 0x80, 0xcc, 0x10, 0x24, 0x33,
+ 0x04, 0xca, 0x0c, 0xc0, 0x0c, 0x46, 0x18, 0x2c, 0x4c, 0xe3, 0x3c, 0x33,
+ 0x28, 0x61, 0x00, 0x06, 0x61, 0xd0, 0x54, 0x60, 0x00, 0x06, 0x61, 0xd0,
+ 0x58, 0x33, 0x48, 0x1f, 0x14, 0x8d, 0x81, 0x14, 0x06, 0xdf, 0x44, 0xc5,
+ 0xc1, 0x35, 0x06, 0x18, 0x18, 0x30, 0x99, 0xa3, 0xcd, 0xe0, 0x74, 0x90,
+ 0xd4, 0x7d, 0xdb, 0x05, 0x06, 0x18, 0x18, 0x30, 0x8d, 0xc3, 0xcd, 0x30,
+ 0xc0, 0x81, 0x1c, 0xcc, 0xc1, 0x0c, 0x83, 0x18, 0xbc, 0x01, 0x1d, 0xc8,
+ 0x48, 0x60, 0x82, 0x32, 0x62, 0x63, 0xb3, 0x6b, 0x73, 0x69, 0x7b, 0x23,
+ 0xab, 0x63, 0x2b, 0x73, 0x31, 0x63, 0x0b, 0x3b, 0x9b, 0x1b, 0x45, 0x18,
+ 0x03, 0x32, 0x48, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc,
+ 0x8d, 0x6e, 0x94, 0xa0, 0x0c, 0x72, 0x09, 0x4b, 0x93, 0x73, 0xb1, 0x2b,
+ 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x1b, 0x25, 0x30, 0x83, 0xa4, 0xc2, 0xd2,
+ 0xe4, 0x5c, 0xd8, 0xc2, 0xdc, 0xce, 0xea, 0xc2, 0xce, 0xca, 0xbe, 0xec,
+ 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0x46, 0x09, 0xce, 0x20, 0xa7, 0xb0,
+ 0x34, 0x39, 0x97, 0xb1, 0xb7, 0x36, 0xb8, 0x34, 0xb6, 0xb2, 0xaf, 0x37,
+ 0x38, 0xba, 0xb4, 0x37, 0xb7, 0xb9, 0x51, 0x0c, 0x34, 0x48, 0x03, 0x35,
+ 0x58, 0x03, 0x36, 0x68, 0x83, 0x54, 0xc2, 0xd2, 0xe4, 0x5c, 0xd6, 0xca,
+ 0xe4, 0xdc, 0xca, 0xd8, 0x46, 0x09, 0xe8, 0x00, 0x00, 0x00, 0xa9, 0x18,
+ 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77,
+ 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0,
+ 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41,
+ 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
+ 0x1d, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0xcc,
+ 0x3c, 0xa4, 0x83, 0x3b, 0x9c, 0x03, 0x3b, 0x94, 0x03, 0x3d, 0xa0, 0x83,
+ 0x3c, 0x94, 0x43, 0x38, 0x90, 0xc3, 0x01, 0x00, 0x00, 0x00, 0x61, 0x20,
+ 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x13, 0x04, 0x43, 0x2c, 0x10, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0xca, 0xa0, 0x06, 0x00, 0x00,
+ 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x22, 0x47,
+ 0xc8, 0x90, 0x51, 0x12, 0x04, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xf0,
+ 0x3c, 0x00, 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x37, 0x54, 0x72, 0x69, 0x46,
+ 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x69, 0x6e, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65,
+ 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c,
+ 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x13, 0x04,
+ 0xe8, 0x98, 0x20, 0x40, 0xc8, 0x86, 0x20, 0x0f, 0x36, 0x0c, 0x78, 0xc0,
+ 0x07, 0x7a, 0xb0, 0x61, 0xb8, 0x83, 0x3e, 0xd0, 0x83, 0x0d, 0x85, 0x1d,
+ 0xf8, 0x81, 0x1e, 0xf8, 0xc1, 0x1e, 0x6c, 0x18, 0xfe, 0xc0, 0x0f, 0xf6,
+ 0x60, 0xc3, 0xf0, 0x07, 0x7e, 0xa0, 0x07, 0x1b, 0x06, 0x3f, 0xf0, 0x03,
+ 0x3d, 0x00, 0x3b, 0x0d, 0x44, 0xd2, 0x50, 0x00, 0xc6, 0x70, 0x43, 0x70,
+ 0x88, 0xc1, 0x2c, 0x43, 0x20, 0x04, 0x3b, 0x0d, 0x07, 0xe3, 0x50, 0x00,
+ 0x46, 0x29, 0x13, 0x54, 0x20, 0x40, 0x31, 0x89, 0x5c, 0x00, 0x63, 0x03,
+ 0x81, 0x09, 0x86, 0x0d, 0x88, 0xc0, 0x18, 0x80, 0x22, 0x16, 0x28, 0x02,
+ 0x83, 0x0b, 0x60, 0x6c, 0x20, 0x40, 0xc1, 0xb0, 0x01, 0x11, 0x10, 0x03,
+ 0x50, 0x07, 0x07, 0x17, 0xc0, 0xd8, 0x40, 0x98, 0x82, 0x61, 0x03, 0x22,
+ 0x58, 0x06, 0x60, 0x96, 0x40, 0xc0, 0x80, 0x18, 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x5b, 0x86, 0x20, 0xf8, 0x83, 0x2d, 0x43, 0x11, 0x80, 0xc2,
+ 0x96, 0x61, 0x09, 0x42, 0x61, 0xcb, 0x00, 0x05, 0xa1, 0xb0, 0x65, 0xa0,
+ 0x82, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x01,
+ 0x96, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c,
+ 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0x20, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x19, 0x00,
+ 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+ 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x19, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x12, 0x03,
+ 0x94, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
+ 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x67,
+ 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e, 0x64, 0x69,
+ 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x72, 0x72, 0x61, 0x79,
+ 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x61, 0x69, 0x72, 0x36, 0x34,
+ 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33,
+ 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74,
+ 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x38, 0x17, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
+ 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xcc, 0x04, 0x00, 0x00, 0x0b, 0x02,
+ 0x21, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81,
+ 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01,
+ 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14,
+ 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08,
+ 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46,
+ 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0x04, 0x49, 0x0e, 0x90, 0x91, 0x22,
+ 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29,
+ 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x1b, 0xc8,
+ 0x25, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80, 0x03, 0x40, 0x22, 0xc6,
+ 0xe1, 0x1d, 0xe4, 0x41, 0x1e, 0xca, 0x61, 0x1c, 0xe8, 0x81, 0x1d, 0xf2,
+ 0xa1, 0x0d, 0xe4, 0xe1, 0x1d, 0xea, 0xc1, 0x1d, 0xc8, 0xa1, 0x1c, 0xc8,
+ 0xa1, 0x0d, 0xc8, 0x21, 0x1d, 0xec, 0x21, 0x1d, 0xc8, 0xa1, 0x1c, 0xda,
+ 0x60, 0x1e, 0xe2, 0x41, 0x1e, 0xe8, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda,
+ 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0x30, 0x87, 0x70, 0x60, 0x87,
+ 0x79, 0x28, 0x07, 0x80, 0x20, 0x87, 0x74, 0x98, 0x87, 0x70, 0x10, 0x07,
+ 0x76, 0x28, 0x87, 0x36, 0xa0, 0x87, 0x70, 0x48, 0x07, 0x76, 0x68, 0x83,
+ 0x71, 0x08, 0x07, 0x76, 0x60, 0x87, 0x79, 0x00, 0xcc, 0x21, 0x1c, 0xd8,
+ 0x61, 0x1e, 0xca, 0x01, 0x20, 0xd8, 0xa1, 0x1c, 0xe6, 0x61, 0x1e, 0xda,
+ 0x00, 0x1e, 0xe4, 0xa1, 0x1c, 0xc6, 0x21, 0x1d, 0xe6, 0xa1, 0x1c, 0xda,
+ 0xc0, 0x1c, 0xe0, 0xa1, 0x1d, 0xc2, 0x81, 0x1c, 0x00, 0x73, 0x08, 0x07,
+ 0x76, 0x98, 0x87, 0x72, 0x00, 0x08, 0x77, 0x78, 0x87, 0x36, 0x30, 0x07,
+ 0x79, 0x08, 0x87, 0x76, 0x28, 0x87, 0x36, 0x80, 0x87, 0x77, 0x48, 0x07,
+ 0x77, 0xa0, 0x87, 0x72, 0x90, 0x87, 0x36, 0x28, 0x07, 0x76, 0x48, 0x87,
+ 0x76, 0x00, 0xe8, 0x41, 0x1e, 0xea, 0xa1, 0x1c, 0x80, 0xc1, 0x1d, 0xde,
+ 0xa1, 0x0d, 0xcc, 0x41, 0x1e, 0xc2, 0xa1, 0x1d, 0xca, 0xa1, 0x0d, 0xe0,
+ 0xe1, 0x1d, 0xd2, 0xc1, 0x1d, 0xe8, 0xa1, 0x1c, 0xe4, 0xa1, 0x0d, 0xca,
+ 0x81, 0x1d, 0xd2, 0xa1, 0x1d, 0xda, 0xc0, 0x1d, 0xde, 0xc1, 0x1d, 0xda,
+ 0x80, 0x1d, 0xca, 0x21, 0x1c, 0xcc, 0x01, 0x20, 0xdc, 0xe1, 0x1d, 0xda,
+ 0x20, 0x1d, 0xdc, 0xc1, 0x1c, 0xe6, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda,
+ 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87,
+ 0x72, 0x00, 0x08, 0x77, 0x78, 0x87, 0x36, 0x50, 0x87, 0x7a, 0x68, 0x07,
+ 0x78, 0x68, 0x03, 0x7a, 0x08, 0x07, 0x71, 0x60, 0x87, 0x72, 0x98, 0x07,
+ 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6, 0xa1, 0x1c, 0x00, 0xc2, 0x1d, 0xde,
+ 0xa1, 0x0d, 0xdc, 0x21, 0x1c, 0xdc, 0x61, 0x1e, 0xda, 0xc0, 0x1c, 0xe0,
+ 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87,
+ 0x7a, 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68, 0x83, 0x79, 0x48, 0x87,
+ 0x73, 0x70, 0x87, 0x72, 0x20, 0x87, 0x36, 0xd0, 0x87, 0x72, 0x90, 0x87,
+ 0x77, 0x98, 0x87, 0x36, 0x30, 0x07, 0x78, 0x68, 0x83, 0x76, 0x08, 0x07,
+ 0x7a, 0x40, 0x07, 0x80, 0x1e, 0xe4, 0xa1, 0x1e, 0xca, 0x01, 0x20, 0xdc,
+ 0xe1, 0x1d, 0xda, 0x80, 0x1e, 0xe4, 0x21, 0x1c, 0xe0, 0x01, 0x1e, 0xd2,
+ 0xc1, 0x1d, 0xce, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00,
+ 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0x98, 0x07, 0x7a, 0x08, 0x87,
+ 0x71, 0x58, 0x87, 0x36, 0x80, 0x07, 0x79, 0x78, 0x07, 0x7a, 0x28, 0x87,
+ 0x71, 0xa0, 0x87, 0x77, 0x90, 0x87, 0x36, 0x10, 0x87, 0x7a, 0x30, 0x07,
+ 0x73, 0x28, 0x07, 0x79, 0x68, 0x83, 0x79, 0x48, 0x07, 0x7d, 0x28, 0x07,
+ 0x00, 0x0f, 0x00, 0xa2, 0x1e, 0xdc, 0x61, 0x1e, 0xc2, 0xc1, 0x1c, 0xca,
+ 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0,
+ 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00, 0x88, 0x7a, 0x98, 0x87,
+ 0x72, 0x68, 0x83, 0x79, 0x78, 0x07, 0x73, 0xa0, 0x87, 0x36, 0x30, 0x07,
+ 0x76, 0x78, 0x87, 0x70, 0xa0, 0x07, 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6,
+ 0xa1, 0x1c, 0x80, 0x0d, 0x8b, 0x20, 0x00, 0x09, 0xb0, 0x00, 0x55, 0x90,
+ 0x06, 0xc8, 0x06, 0x63, 0x18, 0x80, 0x04, 0xa8, 0x36, 0x20, 0x04, 0x01,
+ 0x24, 0xc0, 0x02, 0x54, 0x1b, 0x90, 0xa2, 0x00, 0x12, 0x60, 0x01, 0xaa,
+ 0x0d, 0x86, 0x61, 0x00, 0x09, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x18,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x82, 0x11, 0x08,
+ 0x03, 0x51, 0x18, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x1e, 0x00,
+ 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22,
+ 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c,
+ 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x64, 0x73, 0x04, 0xc8, 0x20,
+ 0x02, 0x20, 0xcc, 0x11, 0x80, 0xc1, 0x08, 0x40, 0x09, 0x06, 0x11, 0x02,
+ 0x66, 0x10, 0xc5, 0x64, 0xc0, 0x21, 0x94, 0x03, 0x86, 0xd4, 0x71, 0xd2,
+ 0x14, 0x51, 0xc2, 0xe4, 0x8b, 0xcd, 0x40, 0x5c, 0x9c, 0xd3, 0x54, 0x44,
+ 0x24, 0x21, 0x4e, 0x93, 0x02, 0x11, 0xc0, 0x48, 0x48, 0x10, 0x62, 0x10,
+ 0x81, 0x11, 0xe6, 0x08, 0xa0, 0x41, 0x04, 0x47, 0x18, 0x44, 0x10, 0x84,
+ 0x41, 0x04, 0x21, 0x28, 0xc7, 0x10, 0x2d, 0x3c, 0x18, 0x49, 0x0e, 0x04,
+ 0xa4, 0x80, 0x98, 0x23, 0x08, 0xe6, 0x08, 0x40, 0x61, 0x0a, 0x00, 0x00,
+ 0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68,
+ 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78,
+ 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68,
+ 0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78,
+ 0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76,
+ 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
+ 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x78, 0xa0, 0x07, 0x78, 0xd0, 0x06, 0xe9,
+ 0x80, 0x07, 0x7a, 0x80, 0x07, 0x7a, 0x80, 0x07, 0x6d, 0x90, 0x0e, 0x71,
+ 0x60, 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d,
+ 0x90, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
+ 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74,
+ 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a,
+ 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x76,
+ 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
+ 0x60, 0x0f, 0x71, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71,
+ 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x40, 0x07, 0x7a, 0x30, 0x07, 0x72,
+ 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x73, 0x20, 0x07, 0x7a,
+ 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x74,
+ 0x80, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
+ 0x60, 0x0f, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76,
+ 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x79, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x72,
+ 0x80, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x6d, 0x60, 0x0f, 0x71,
+ 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71,
+ 0x20, 0x07, 0x78, 0xd0, 0x06, 0xf6, 0x10, 0x07, 0x79, 0x20, 0x07, 0x7a,
+ 0x20, 0x07, 0x75, 0x60, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x6d,
+ 0x60, 0x0f, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76,
+ 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xd0, 0x06, 0xf6, 0x50, 0x07, 0x71,
+ 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71,
+ 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x7a,
+ 0x10, 0x07, 0x70, 0x20, 0x07, 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07, 0x72,
+ 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a,
+ 0x30, 0x07, 0x72, 0xb0, 0xa2, 0x61, 0x07, 0x76, 0xb0, 0x87, 0x76, 0x70,
+ 0x83, 0x76, 0x28, 0x07, 0x7a, 0x08, 0x07, 0x72, 0x08, 0x07, 0x7a, 0x08,
+ 0x87, 0x15, 0x4f, 0x38, 0xa4, 0x83, 0x3c, 0xb8, 0xc1, 0x3c, 0xd0, 0x43,
+ 0x38, 0xd0, 0x43, 0x3a, 0x8c, 0xc3, 0x2f, 0xa4, 0x83, 0x3b, 0xa4, 0x03,
+ 0x3d, 0x28, 0x3d, 0x20, 0x44, 0x48, 0x08, 0x19, 0x32, 0x52, 0x24, 0x88,
+ 0xd0, 0x08, 0x61, 0x58, 0xce, 0x20, 0x9a, 0x36, 0x42, 0x3e, 0xa0, 0x11,
+ 0x9b, 0x01, 0x11, 0x08, 0xe9, 0x8b, 0x1c, 0xc6, 0x5b, 0x08, 0x86, 0x68,
+ 0x26, 0x89, 0x00, 0x1f, 0xa0, 0x44, 0x23, 0xfc, 0xf8, 0x00, 0x25, 0x1a,
+ 0xa1, 0xcf, 0x07, 0x28, 0xd1, 0x08, 0xbb, 0x22, 0x50, 0x20, 0x03, 0x81,
+ 0x1d, 0x8f, 0x3b, 0x60, 0x80, 0x12, 0x0d, 0x01, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0xc0, 0x8e, 0xc7, 0x24, 0x30, 0x40, 0x89, 0x86, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x60, 0xc7, 0xe3, 0x13, 0x17, 0xa0, 0x44, 0x43, 0x00,
+ 0x00, 0x40, 0x00, 0x00, 0x00, 0xb0, 0xe3, 0xa9, 0x0b, 0x0b, 0x50, 0xa4,
+ 0x21, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xd8, 0xf1, 0xac, 0x46, 0x19,
+ 0x00, 0x8b, 0x34, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x3b, 0x1e,
+ 0xf8, 0xb0, 0x00, 0x45, 0x1a, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80,
+ 0x1d, 0x8f, 0x89, 0x94, 0x01, 0xb0, 0x48, 0x43, 0x00, 0x00, 0x40, 0x10,
+ 0x00, 0x00, 0xb0, 0xe3, 0x59, 0x13, 0x32, 0x00, 0x16, 0x69, 0x08, 0x00,
+ 0x00, 0x08, 0x02, 0x00, 0x00, 0x76, 0x3c, 0xaf, 0x82, 0x06, 0xc0, 0x22,
+ 0x0d, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xef, 0x05, 0x24, 0x54,
+ 0x28, 0x03, 0xa1, 0x21, 0x51, 0xca, 0x88, 0x01, 0x01, 0x00, 0x43, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xa2, 0xb5, 0xe1, 0x24,
+ 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x90, 0xd8,
+ 0x20, 0x50, 0xd8, 0x99, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x13, 0x00,
+ 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09,
+ 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x23, 0x00, 0x33, 0x00, 0x45, 0x40,
+ 0xa2, 0xfc, 0xff, 0x0f, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x20,
+ 0xca, 0xa0, 0x14, 0xc8, 0xd6, 0x00, 0xdd, 0x11, 0x80, 0x42, 0x20, 0x33,
+ 0x02, 0x60, 0x1c, 0x00, 0x8c, 0x43, 0x80, 0x71, 0x10, 0xa0, 0x83, 0xc3,
+ 0xe4, 0x78, 0x84, 0x30, 0x10, 0x49, 0xe1, 0xf0, 0x81, 0x21, 0xd5, 0xb1,
+ 0x84, 0x86, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
+ 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
+ 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
+ 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c,
+ 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03,
+ 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70,
+ 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70,
+ 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec,
+ 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0,
+ 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d,
+ 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43,
+ 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0,
+ 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68,
+ 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28,
+ 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08,
+ 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee,
+ 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62,
+ 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c,
+ 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06,
+ 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43,
+ 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3,
+ 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3,
+ 0x0c, 0xc7, 0x69, 0x87, 0x70, 0x58, 0x87, 0x72, 0x70, 0x83, 0x74, 0x68,
+ 0x07, 0x78, 0x60, 0x87, 0x74, 0x18, 0x87, 0x74, 0xa0, 0x87, 0x19, 0xce,
+ 0x53, 0x0f, 0xee, 0x00, 0x0f, 0xf2, 0x50, 0x0e, 0xe4, 0x90, 0x0e, 0xe3,
+ 0x40, 0x0f, 0xe1, 0x20, 0x0e, 0xec, 0x50, 0x0e, 0x33, 0x20, 0x28, 0x1d,
+ 0xdc, 0xc1, 0x1e, 0xc2, 0x41, 0x1e, 0xd2, 0x21, 0x1c, 0xdc, 0x81, 0x1e,
+ 0xdc, 0xe0, 0x1c, 0xe4, 0xe1, 0x1d, 0xea, 0x01, 0x1e, 0x66, 0x18, 0x51,
+ 0x38, 0xb0, 0x43, 0x3a, 0x9c, 0x83, 0x3b, 0xcc, 0x50, 0x24, 0x76, 0x60,
+ 0x07, 0x7b, 0x68, 0x07, 0x37, 0x60, 0x87, 0x77, 0x78, 0x07, 0x78, 0x98,
+ 0x51, 0x4c, 0xf4, 0x90, 0x0f, 0xf0, 0x50, 0x0e, 0x33, 0x1e, 0x6a, 0x1e,
+ 0xca, 0x61, 0x1c, 0xe8, 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x7e, 0x01, 0x1e,
+ 0xe4, 0xa1, 0x1c, 0xcc, 0x21, 0x1d, 0xf0, 0x61, 0x06, 0x54, 0x85, 0x83,
+ 0x38, 0xcc, 0xc3, 0x3b, 0xb0, 0x43, 0x3d, 0xd0, 0x43, 0x39, 0xfc, 0xc2,
+ 0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
+ 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
+ 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x20, 0x00, 0x00, 0x55, 0x01,
+ 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19,
+ 0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14,
+ 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90, 0x51, 0x64, 0x03, 0x34,
+ 0xe8, 0x2f, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21, 0x54, 0xa2, 0x44, 0x57,
+ 0x75, 0x54, 0x84, 0x54, 0x1c, 0x93, 0x81, 0x4c, 0x88, 0x63, 0x50, 0x50,
+ 0x14, 0x3d, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72,
+ 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69,
+ 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
+ 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72,
+ 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72,
+ 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+ 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x38, 0x75,
+ 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x38, 0x6b,
+ 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66,
+ 0x66, 0x65, 0x72, 0x55, 0x31, 0x36, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x31, 0x36, 0x6b, 0x55, 0x73, 0x65,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72,
+ 0x55, 0x33, 0x32, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x33, 0x32, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74,
+ 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67,
+ 0x6e, 0x65, 0x64, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x38, 0x6b, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31, 0x36,
+ 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x49, 0x73, 0x55, 0x33, 0x32, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74,
+ 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70,
+ 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00,
+ 0x00, 0x00, 0x86, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82,
+ 0x20, 0x50, 0x23, 0x08, 0x55, 0x19, 0x8c, 0x20, 0x08, 0xd5, 0x08, 0x82,
+ 0x60, 0x8d, 0x20, 0x08, 0xd7, 0x08, 0xc2, 0xf4, 0x8c, 0x20, 0x08, 0xd8,
+ 0x08, 0x42, 0x00, 0x8c, 0x20, 0x08, 0xd9, 0x08, 0x42, 0x10, 0x8c, 0x20,
+ 0x04, 0xc2, 0x08, 0x82, 0xa0, 0x8d, 0x20, 0x04, 0xcc, 0x08, 0x82, 0xb5,
+ 0x8d, 0x20, 0x04, 0xcb, 0x08, 0x42, 0xa0, 0x8c, 0x20, 0x04, 0xc8, 0x08,
+ 0xc2, 0xc5, 0x8d, 0x20, 0x00, 0xd0, 0x08, 0x02, 0x20, 0xcd, 0x30, 0xb4,
+ 0x41, 0xe0, 0x06, 0x33, 0x0c, 0x6f, 0x20, 0xc0, 0xc1, 0x0c, 0xc1, 0x30,
+ 0xc3, 0xd0, 0x06, 0x6d, 0x10, 0x07, 0x33, 0x10, 0x44, 0x1b, 0xb4, 0x41,
+ 0x1c, 0xcc, 0x10, 0x14, 0x33, 0x04, 0xc6, 0x0c, 0xc1, 0x31, 0x43, 0x80,
+ 0xcc, 0x10, 0x24, 0x33, 0x04, 0xca, 0x0c, 0xc0, 0x0c, 0x46, 0x1c, 0x2c,
+ 0x4c, 0xe3, 0x3c, 0x33, 0x28, 0x71, 0x00, 0x07, 0x71, 0xd0, 0x54, 0x70,
+ 0x00, 0x07, 0x71, 0xd0, 0x58, 0x33, 0x48, 0x6f, 0x00, 0x45, 0x73, 0x20,
+ 0xc5, 0xc1, 0x1b, 0x4c, 0x94, 0x2b, 0x5c, 0x73, 0x80, 0xc1, 0x01, 0x93,
+ 0x39, 0xda, 0x0c, 0x03, 0x1d, 0x70, 0xdd, 0x0c, 0x50, 0x1b, 0x6c, 0xb0,
+ 0x00, 0x49, 0x6f, 0xf0, 0x06, 0xd3, 0xf5, 0x06, 0xd8, 0x1b, 0x30, 0x9e,
+ 0xf3, 0xcd, 0x30, 0xd8, 0x01, 0x07, 0x06, 0x33, 0x40, 0x75, 0xb0, 0xc9,
+ 0x02, 0x24, 0xbd, 0xc1, 0x1b, 0x4c, 0x57, 0x1b, 0x60, 0x6d, 0xc0, 0x84,
+ 0x81, 0x23, 0x06, 0x33, 0x0c, 0x77, 0xc0, 0x8d, 0xc1, 0x0c, 0x10, 0x1c,
+ 0x6c, 0xb4, 0x00, 0x49, 0x6f, 0xf0, 0x06, 0xd3, 0x05, 0x07, 0x18, 0x1c,
+ 0x30, 0x8d, 0x43, 0x06, 0x33, 0x38, 0x78, 0x00, 0x49, 0x6d, 0xf0, 0x06,
+ 0x65, 0x70, 0xc1, 0x01, 0x06, 0x07, 0x4c, 0xe3, 0x98, 0xc1, 0x0c, 0x46,
+ 0x2b, 0xbc, 0x42, 0x2c, 0xcc, 0x42, 0x2d, 0xd8, 0xc2, 0x0c, 0x83, 0x1c,
+ 0xb0, 0xc2, 0x2d, 0xcc, 0x50, 0xe4, 0x01, 0x77, 0x06, 0x71, 0xa0, 0x07,
+ 0x33, 0x14, 0x7b, 0xc0, 0xa1, 0xc1, 0x1b, 0xe8, 0xc1, 0x0c, 0x05, 0x1f,
+ 0x70, 0x69, 0xd0, 0x06, 0x7a, 0x30, 0x43, 0xd1, 0x07, 0x9c, 0x1a, 0xd4,
+ 0x81, 0x1e, 0xcc, 0x10, 0xb0, 0xc1, 0x0c, 0xc3, 0x1a, 0xf4, 0x82, 0x1f,
+ 0xcc, 0x30, 0x70, 0xbe, 0xe0, 0x07, 0x33, 0x0c, 0xbf, 0xf0, 0x0b, 0x7e,
+ 0x30, 0x83, 0xf0, 0x07, 0xa0, 0x70, 0x75, 0x00, 0x70, 0x62, 0xc0, 0x71,
+ 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71,
+ 0x6e, 0xe0, 0x06, 0x16, 0x1d, 0xe8, 0x81, 0x65, 0x59, 0x96, 0x65, 0x41,
+ 0x7a, 0x00, 0x0f, 0x66, 0x81, 0x06, 0x34, 0xe1, 0x06, 0x60, 0xe1, 0x06,
+ 0x3a, 0xe1, 0x12, 0xb8, 0x40, 0x07, 0xa6, 0x60, 0x0a, 0xa6, 0x60, 0x0a,
+ 0x1c, 0x1d, 0xb8, 0x01, 0x1d, 0xc8, 0x48, 0x60, 0x82, 0x32, 0x62, 0x63,
+ 0xb3, 0x6b, 0x73, 0x69, 0x7b, 0x23, 0xab, 0x63, 0x2b, 0x73, 0x31, 0x63,
+ 0x0b, 0x3b, 0x9b, 0x1b, 0x45, 0x00, 0x85, 0x50, 0x48, 0x85, 0x8d, 0xcd,
+ 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x94, 0x40, 0x14, 0x72,
+ 0x09, 0x4b, 0x93, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x1b,
+ 0x25, 0x18, 0x85, 0xa4, 0xc2, 0xd2, 0xe4, 0x5c, 0xd8, 0xc2, 0xdc, 0xce,
+ 0xea, 0xc2, 0xce, 0xca, 0xbe, 0xec, 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc,
+ 0x46, 0x09, 0x48, 0x21, 0xa7, 0xb0, 0x34, 0x39, 0x97, 0xb1, 0xb7, 0x36,
+ 0xb8, 0x34, 0xb6, 0xb2, 0xaf, 0x37, 0x38, 0xba, 0xb4, 0x37, 0xb7, 0xb9,
+ 0x51, 0x8c, 0x52, 0x30, 0x85, 0x53, 0x40, 0x85, 0x54, 0x50, 0x85, 0x54,
+ 0xc2, 0xd2, 0xe4, 0x5c, 0xd6, 0xca, 0xe4, 0xdc, 0xca, 0xd8, 0x46, 0x09,
+ 0x6e, 0x21, 0xad, 0xb0, 0x34, 0x39, 0x17, 0xb3, 0x3a, 0xb7, 0x31, 0xba,
+ 0xb4, 0x37, 0xb7, 0xaf, 0xb1, 0x37, 0xb7, 0x39, 0xba, 0x30, 0x37, 0xba,
+ 0xb9, 0x51, 0x08, 0x5c, 0xc8, 0x05, 0x5d, 0xd8, 0x05, 0x00, 0xa9, 0x18,
+ 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77,
+ 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0,
+ 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41,
+ 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
+ 0x1d, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0xcc,
+ 0x3c, 0xa4, 0x83, 0x3b, 0x9c, 0x03, 0x3b, 0x94, 0x03, 0x3d, 0xa0, 0x83,
+ 0x3c, 0x94, 0x43, 0x38, 0x90, 0xc3, 0x01, 0x00, 0x00, 0x00, 0x61, 0x20,
+ 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x4a, 0x00, 0x00, 0xb4, 0x81,
+ 0x40, 0x1d, 0x08, 0xf4, 0x81, 0x30, 0x6c, 0x40, 0x84, 0x41, 0x10, 0x00,
+ 0x24, 0x06, 0x20, 0x0c, 0x1b, 0x10, 0x64, 0x10, 0x04, 0x40, 0x11, 0x05,
+ 0x17, 0x11, 0xec, 0xb0, 0x01, 0x71, 0x06, 0x41, 0x00, 0x0c, 0x37, 0x10,
+ 0x5d, 0x18, 0x0c, 0x37, 0x1c, 0x5e, 0x18, 0x54, 0x20, 0xe8, 0x05, 0x20,
+ 0x86, 0x0d, 0x08, 0x36, 0x08, 0x02, 0x60, 0xb8, 0xe1, 0x08, 0x83, 0x30,
+ 0x28, 0x22, 0xd0, 0x0b, 0x40, 0x0c, 0x1b, 0x10, 0x70, 0x10, 0x04, 0xc0,
+ 0xb0, 0x01, 0x41, 0x07, 0x48, 0x00, 0x0c, 0x1b, 0x10, 0x73, 0x40, 0x04,
+ 0xc0, 0xb0, 0x01, 0x21, 0x07, 0x41, 0x00, 0x60, 0x40, 0x0c, 0x11, 0x00,
+ 0x00, 0x00, 0x5b, 0x0a, 0x20, 0xf8, 0x05, 0x02, 0x1c, 0xb6, 0x14, 0x41,
+ 0xf0, 0x0b, 0x04, 0x38, 0x6c, 0x29, 0x84, 0xe0, 0x17, 0x08, 0x70, 0xd8,
+ 0x32, 0x0c, 0xc1, 0x2f, 0x6c, 0x29, 0x88, 0xe0, 0x17, 0x08, 0x70, 0xd8,
+ 0x32, 0x14, 0xc1, 0x2f, 0x6c, 0x19, 0x90, 0xe0, 0x17, 0xb6, 0x0c, 0x4d,
+ 0xf0, 0x0b, 0x5b, 0x86, 0x28, 0xf8, 0x85, 0x2d, 0x83, 0x14, 0xfc, 0xc2,
+ 0x96, 0x61, 0x0a, 0x7e, 0x61, 0xcb, 0x40, 0x05, 0xbf, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00, 0x13, 0x04,
+ 0x60, 0x10, 0x0b, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x24, 0x0a,
+ 0xa4, 0x60, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1c, 0x00,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x0e, 0xc4, 0x19, 0x00, 0x00,
+ 0x00, 0x00, 0xdb, 0x50, 0x00, 0x00, 0x5f, 0x5a, 0x54, 0x53, 0x32, 0x31,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x69, 0x6e, 0x74,
+ 0x73, 0x68, 0x6f, 0x72, 0x74, 0x00, 0x13, 0x84, 0xab, 0xdb, 0x30, 0x8c,
+ 0x83, 0x2f, 0xf8, 0xc1, 0x86, 0x42, 0x1c, 0xcc, 0xc1, 0x0f, 0xcc, 0xa1,
+ 0x1c, 0x36, 0x0c, 0xe7, 0x60, 0x0e, 0xe5, 0xb0, 0x61, 0x38, 0x07, 0x73,
+ 0xf0, 0x83, 0x0d, 0x83, 0x2f, 0xf8, 0x82, 0x1f, 0x6c, 0x18, 0xc8, 0xc1,
+ 0x17, 0xfc, 0x60, 0xc3, 0xb0, 0x0e, 0xeb, 0xe0, 0x07, 0x1b, 0x06, 0x73,
+ 0x30, 0x07, 0x3f, 0x00, 0x00, 0x00, 0x9b, 0x0d, 0x87, 0x94, 0x51, 0x20,
+ 0xc6, 0x70, 0x43, 0xa0, 0x88, 0xc1, 0x2c, 0x43, 0xf0, 0x05, 0xb5, 0x74,
+ 0xb0, 0xd9, 0xb0, 0x58, 0x1b, 0x05, 0x62, 0x90, 0x1b, 0x80, 0x30, 0xdc,
+ 0x10, 0x94, 0x01, 0x18, 0xcc, 0x32, 0x18, 0x42, 0x40, 0x6d, 0x00, 0xc2,
+ 0x70, 0x43, 0x70, 0x06, 0x60, 0x30, 0xcb, 0x40, 0x0c, 0xc1, 0x15, 0x37,
+ 0x36, 0x10, 0xa2, 0x80, 0x02, 0x10, 0x0a, 0x31, 0x03, 0xb8, 0xe0, 0xc6,
+ 0x06, 0x42, 0x15, 0x50, 0x00, 0xc2, 0x15, 0x22, 0x4e, 0x10, 0x61, 0x41,
+ 0x1a, 0xdc, 0x40, 0x05, 0xc3, 0xce, 0x12, 0x28, 0xc4, 0x07, 0x20, 0x0c,
+ 0x37, 0x04, 0x74, 0x00, 0x06, 0x27, 0xdd, 0xd8, 0x40, 0xf0, 0x02, 0x0a,
+ 0x40, 0xb8, 0x40, 0xc4, 0x2c, 0x83, 0x52, 0x14, 0x65, 0xd1, 0x01, 0x5c,
+ 0x70, 0x63, 0x03, 0x61, 0x0c, 0x02, 0x0a, 0x40, 0xb8, 0x40, 0x44, 0x6d,
+ 0x7a, 0x00, 0x17, 0xdc, 0xd8, 0x40, 0x40, 0x83, 0x80, 0x02, 0x10, 0x2e,
+ 0x10, 0x51, 0x60, 0xa0, 0x07, 0x70, 0xc1, 0x8d, 0x0d, 0x84, 0x36, 0x08,
+ 0x28, 0x00, 0xe1, 0x02, 0x11, 0xb6, 0x80, 0xc2, 0x0d, 0x54, 0x10, 0xad,
+ 0x21, 0x6e, 0x70, 0x03, 0x25, 0x04, 0x6b, 0xc5, 0x1b, 0x5c, 0x40, 0x09,
+ 0xc1, 0xce, 0x12, 0x28, 0x94, 0x0b, 0x20, 0x0c, 0x37, 0x04, 0xaf, 0x00,
+ 0x06, 0xb3, 0x0c, 0xc8, 0x11, 0x54, 0x1b, 0xac, 0x02, 0x5e, 0x70, 0x63,
+ 0x3b, 0x21, 0x0f, 0x02, 0x0a, 0x9c, 0xb8, 0x40, 0xc4, 0x2c, 0x81, 0x42,
+ 0xe1, 0x00, 0xc2, 0x70, 0x43, 0x60, 0x0b, 0x60, 0x30, 0xcb, 0xa0, 0x24,
+ 0x41, 0xd1, 0xc1, 0x2c, 0xe0, 0x05, 0x37, 0xb6, 0x10, 0xfe, 0x20, 0xa0,
+ 0x40, 0x8c, 0x59, 0x02, 0x65, 0xa0, 0x46, 0x90, 0x85, 0x81, 0x2b, 0x9c,
+ 0x43, 0x48, 0xd0, 0x02, 0x31, 0x05, 0xa2, 0x4c, 0x61, 0x16, 0xe4, 0x82,
+ 0x1b, 0x5b, 0x08, 0xa3, 0x10, 0x0c, 0x1b, 0x10, 0x01, 0x31, 0x00, 0x95,
+ 0x0a, 0xba, 0x00, 0xb3, 0x0c, 0xd0, 0xb2, 0x07, 0x74, 0x0e, 0x20, 0x0c,
+ 0x37, 0x04, 0xe1, 0x00, 0x06, 0xb3, 0x0c, 0x0d, 0x13, 0xd4, 0xd0, 0x0b,
+ 0x57, 0xa0, 0x10, 0xc0, 0x05, 0x37, 0x36, 0x10, 0x5a, 0x21, 0xa0, 0x00,
+ 0x84, 0x22, 0xc4, 0x01, 0x2e, 0xb8, 0xb1, 0x81, 0x10, 0x0b, 0x01, 0x05,
+ 0x20, 0x5c, 0x21, 0xe2, 0x04, 0x11, 0x16, 0x94, 0xc3, 0x0d, 0x54, 0x30,
+ 0xec, 0x2c, 0x01, 0x45, 0xf8, 0x00, 0xc2, 0x70, 0x43, 0x00, 0x0f, 0x60,
+ 0x30, 0xcb, 0xf0, 0x38, 0x41, 0x49, 0xed, 0x70, 0xf5, 0x0a, 0x01, 0x5c,
+ 0x70, 0x63, 0x03, 0x81, 0x17, 0x02, 0x0a, 0x40, 0xb8, 0x40, 0x44, 0x15,
+ 0xf2, 0x00, 0x17, 0xdc, 0xd8, 0x40, 0x08, 0x87, 0x80, 0x02, 0x10, 0x2e,
+ 0x10, 0x51, 0x0a, 0x3e, 0xc0, 0x05, 0x37, 0x36, 0x10, 0xcc, 0x21, 0xa0,
+ 0x00, 0x84, 0x0b, 0x44, 0xd4, 0x83, 0x0f, 0x70, 0xc1, 0x8d, 0x0d, 0x84,
+ 0x75, 0x08, 0x28, 0x00, 0xe1, 0x02, 0x11, 0xb6, 0xf8, 0xc3, 0x0d, 0x54,
+ 0x10, 0xad, 0x21, 0xec, 0x70, 0x03, 0x25, 0x04, 0x6b, 0x45, 0x3b, 0x5c,
+ 0x40, 0x09, 0xc1, 0xce, 0x12, 0x50, 0x95, 0x0e, 0x6d, 0x00, 0x17, 0xdc,
+ 0xd8, 0x40, 0xb0, 0x87, 0x80, 0x02, 0x10, 0x2e, 0x10, 0x31, 0x4b, 0x40,
+ 0x11, 0x4f, 0x80, 0x30, 0xdc, 0x10, 0xc8, 0x04, 0x18, 0xcc, 0x32, 0x48,
+ 0x51, 0x50, 0xf0, 0xe0, 0x12, 0x58, 0x41, 0x1d, 0xc0, 0x05, 0x37, 0xb6,
+ 0x13, 0xfa, 0x21, 0xa0, 0xc0, 0x89, 0x0b, 0x44, 0xcc, 0x12, 0x50, 0x54,
+ 0x16, 0x20, 0x0c, 0x37, 0x04, 0x3a, 0x01, 0x06, 0xb3, 0x0c, 0xd4, 0x14,
+ 0x14, 0x3e, 0xdc, 0x04, 0x56, 0xd0, 0x07, 0x70, 0xc1, 0x8d, 0x2d, 0x04,
+ 0x92, 0x08, 0x28, 0x10, 0x63, 0x96, 0x80, 0x1a, 0xa8, 0x11, 0xc8, 0x81,
+ 0x51, 0x03, 0x07, 0x0c, 0x1e, 0x28, 0x12, 0x26, 0x39, 0x91, 0xaa, 0x14,
+ 0x78, 0x02, 0x2e, 0xb8, 0xb1, 0x85, 0x80, 0x12, 0xc1, 0xb0, 0x01, 0x11,
+ 0x10, 0x03, 0x30, 0xcb, 0xa0, 0x55, 0xff, 0x40, 0x6b, 0x01, 0xc2, 0x70,
+ 0x43, 0x50, 0x16, 0x60, 0x30, 0xcb, 0x70, 0x59, 0x41, 0x95, 0x44, 0x58,
+ 0x5c, 0x91, 0x44, 0x00, 0x17, 0xdc, 0xd8, 0x40, 0x88, 0x89, 0x80, 0x02,
+ 0x10, 0x8a, 0x30, 0x0b, 0xb8, 0xe0, 0xc6, 0x06, 0x42, 0x4d, 0x04, 0x14,
+ 0x80, 0x70, 0x85, 0x88, 0x13, 0x44, 0x58, 0x90, 0x16, 0x37, 0x50, 0xc1,
+ 0xb0, 0xb3, 0x04, 0x1e, 0xf1, 0x05, 0x08, 0xc3, 0x0d, 0x01, 0x5d, 0x80,
+ 0xc1, 0x2c, 0x43, 0x86, 0x05, 0x45, 0x13, 0x71, 0x71, 0x35, 0x13, 0x01,
+ 0x5c, 0x70, 0x63, 0x03, 0x01, 0x2c, 0x02, 0x0a, 0x40, 0xb8, 0x40, 0x44,
+ 0x15, 0x76, 0x01, 0x17, 0xdc, 0xd8, 0x40, 0x28, 0x8b, 0x80, 0x02, 0x10,
+ 0x2e, 0x10, 0x51, 0x0a, 0x5f, 0xc0, 0x05, 0x37, 0x36, 0x10, 0xd4, 0x22,
+ 0xa0, 0x00, 0x84, 0x0b, 0x44, 0xd4, 0xc3, 0x17, 0x70, 0xc1, 0x8d, 0x0d,
+ 0x84, 0xb7, 0x08, 0x28, 0x00, 0xe1, 0x02, 0x11, 0xb6, 0x88, 0xc6, 0x0d,
+ 0x54, 0x10, 0xad, 0x21, 0x70, 0x71, 0x03, 0x25, 0x04, 0x6b, 0x45, 0x5c,
+ 0x5c, 0x40, 0x09, 0xc1, 0xce, 0x12, 0x78, 0xd5, 0x16, 0x6f, 0x01, 0x17,
+ 0xdc, 0xd8, 0x40, 0xd0, 0x8b, 0x80, 0x02, 0x10, 0x2e, 0x10, 0x31, 0x4b,
+ 0xe0, 0x11, 0x78, 0x80, 0x30, 0xdc, 0x10, 0xd8, 0x06, 0x18, 0xcc, 0x32,
+ 0x70, 0x5b, 0x50, 0x74, 0x21, 0x1b, 0x58, 0xc1, 0x5d, 0xc0, 0x05, 0x37,
+ 0xb6, 0x13, 0x42, 0x23, 0xa0, 0xc0, 0x89, 0x0b, 0x44, 0xcc, 0x12, 0x78,
+ 0x94, 0x1e, 0x20, 0x0c, 0x37, 0x04, 0xbe, 0x01, 0x06, 0xb3, 0x0c, 0x5e,
+ 0x17, 0x14, 0x5f, 0xec, 0x06, 0x56, 0xf0, 0x17, 0x70, 0xc1, 0x8d, 0x2d,
+ 0x04, 0xd4, 0x08, 0x28, 0x10, 0x63, 0x96, 0xc0, 0x1b, 0xa8, 0x11, 0xc8,
+ 0xc1, 0x52, 0x03, 0x0c, 0x0c, 0x32, 0x68, 0x13, 0x3a, 0xbd, 0xe1, 0x2a,
+ 0x25, 0xc2, 0x03, 0x2e, 0xb8, 0xb1, 0x85, 0xc0, 0x1a, 0xc1, 0xb0, 0x01,
+ 0x11, 0x10, 0x03, 0x30, 0x4b, 0xf0, 0x61, 0x40, 0x0c, 0x00, 0x44, 0x00,
+ 0x00, 0x00, 0x5b, 0x86, 0x20, 0x38, 0x87, 0x2d, 0x83, 0x11, 0xa0, 0xc3,
+ 0x96, 0xe2, 0x08, 0x7e, 0x81, 0x00, 0x87, 0x2d, 0x85, 0x12, 0xfc, 0x02,
+ 0x01, 0x0e, 0x5b, 0x86, 0x27, 0x48, 0x87, 0x2d, 0xc3, 0x14, 0xa4, 0xc3,
+ 0x96, 0x22, 0x0b, 0x7e, 0x81, 0x00, 0x87, 0x2d, 0x43, 0x17, 0xa4, 0xc3,
+ 0x96, 0x61, 0x0c, 0x82, 0x74, 0xd8, 0x32, 0xa0, 0x41, 0x90, 0x0e, 0x5b,
+ 0x86, 0x36, 0x08, 0xd2, 0x61, 0x4b, 0x61, 0x07, 0xc1, 0x2f, 0x10, 0xe0,
+ 0xb0, 0x65, 0xe0, 0x83, 0x60, 0x1d, 0xb6, 0x14, 0x7f, 0x10, 0xfc, 0x02,
+ 0x01, 0x0e, 0x5b, 0x86, 0x52, 0x08, 0xd8, 0x61, 0xcb, 0xb0, 0x0a, 0x01,
+ 0x3b, 0x6c, 0x29, 0x5c, 0x21, 0xf8, 0x05, 0x02, 0x1c, 0xb6, 0x0c, 0xb5,
+ 0x10, 0xa4, 0xc3, 0x96, 0x21, 0x17, 0x82, 0x74, 0xd8, 0x52, 0xfc, 0x42,
+ 0xf0, 0x0b, 0x04, 0x38, 0x6c, 0x19, 0xcc, 0x21, 0x48, 0x87, 0x2d, 0xc3,
+ 0x3a, 0x04, 0xe9, 0xb0, 0x65, 0x80, 0x87, 0x20, 0x1d, 0xb6, 0x0c, 0xf5,
+ 0x10, 0xa4, 0xc3, 0x96, 0x21, 0x24, 0x82, 0x74, 0xd8, 0x52, 0x90, 0x44,
+ 0xf0, 0x0b, 0x04, 0x38, 0x6c, 0x19, 0x56, 0x22, 0x58, 0x87, 0x2d, 0x85,
+ 0x4b, 0x04, 0xbf, 0x40, 0x80, 0xc3, 0x96, 0xa1, 0x26, 0x02, 0x76, 0xd8,
+ 0x32, 0xec, 0x44, 0xc0, 0x0e, 0x5b, 0x8a, 0x9e, 0x08, 0x7e, 0x81, 0x00,
+ 0x87, 0x2d, 0x03, 0x59, 0x04, 0xe9, 0xb0, 0x65, 0x40, 0x8b, 0x20, 0x1d,
+ 0xb6, 0x14, 0x6e, 0x11, 0xfc, 0x02, 0x01, 0x0e, 0x5b, 0x86, 0xba, 0x08,
+ 0xd2, 0x61, 0xcb, 0xa0, 0x17, 0x41, 0x3a, 0x6c, 0x19, 0xfe, 0x22, 0x48,
+ 0x87, 0x2d, 0x03, 0x69, 0x04, 0xe9, 0xb0, 0x65, 0x80, 0x8d, 0x20, 0x1d,
+ 0xb6, 0x14, 0xb3, 0x11, 0xfc, 0x02, 0x01, 0x0e, 0x5b, 0x06, 0xdd, 0x08,
+ 0xd6, 0x61, 0x4b, 0xd1, 0x1b, 0xc1, 0x2f, 0x10, 0xe0, 0xb0, 0x65, 0x20,
+ 0x8f, 0x80, 0x1d, 0xb6, 0x0c, 0xea, 0x11, 0xb0, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e,
- 0x10, 0x22, 0x84, 0x01, 0x97, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x12, 0x03,
- 0x94, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00,
- 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x10, 0x22, 0x84, 0x0e, 0xe2, 0x06, 0xf8, 0x30, 0x79, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x12, 0x03,
+ 0x94, 0xb0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x01,
+ 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00,
- 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x11, 0x00,
- 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11, 0x00,
- 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xd0, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xce, 0x01, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xab, 0x01,
+ 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xed, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x89, 0x01, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x89, 0x01,
+ 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x20,
+ 0x00, 0x00, 0xab, 0x01, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xab, 0x01,
+ 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3e, 0x00,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x5d, 0x00,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x18, 0x00,
- 0x00, 0x00, 0x12, 0x03, 0x94, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c,
- 0x76, 0x6d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74,
- 0x6f, 0x72, 0x73, 0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e,
- 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x41,
- 0x72, 0x72, 0x61, 0x79, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35,
- 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c,
- 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2d,
- 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x6e, 0x00,
+ 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x86, 0x00,
+ 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9e, 0x00,
+ 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xb5, 0x00,
+ 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xcb, 0x00,
+ 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xf0, 0x00,
+ 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x06, 0x01,
+ 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0x2b, 0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2b, 0x01,
+ 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0x4f, 0x01, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x4f, 0x01,
+ 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
+ 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x77, 0x01,
+ 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x7f, 0x00,
+ 0x00, 0x00, 0x12, 0x03, 0x94, 0xed, 0x03, 0x00, 0x00, 0x00, 0x5f, 0x5a,
+ 0x4c, 0x32, 0x36, 0x5f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x69,
+ 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x66, 0x63, 0x5f, 0x70,
+ 0x72, 0x65, 0x64, 0x5f, 0x32, 0x5f, 0x5a, 0x4c, 0x32, 0x36, 0x5f, 0x5f,
+ 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63,
+ 0x69, 0x74, 0x5f, 0x66, 0x63, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x5f, 0x33,
+ 0x5f, 0x5a, 0x4c, 0x32, 0x36, 0x5f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x66, 0x63,
+ 0x5f, 0x70, 0x72, 0x65, 0x64, 0x5f, 0x34, 0x6c, 0x6c, 0x76, 0x6d, 0x2e,
+ 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73,
+ 0x5f, 0x5a, 0x4c, 0x31, 0x39, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x33, 0x32,
+ 0x5f, 0x5a, 0x4c, 0x31, 0x39, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x31, 0x36,
+ 0x5f, 0x5a, 0x4c, 0x31, 0x38, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x38, 0x5f,
+ 0x5a, 0x4c, 0x31, 0x37, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x33, 0x32, 0x5f, 0x5a, 0x31,
+ 0x37, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x49, 0x73, 0x55, 0x33, 0x32, 0x2e, 0x4d, 0x54, 0x4c, 0x5f, 0x46,
+ 0x43, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x33, 0x5f, 0x62, 0x5f, 0x5a,
+ 0x4c, 0x31, 0x37, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31, 0x36, 0x5f, 0x5a, 0x31, 0x37,
+ 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x49, 0x73, 0x55, 0x31, 0x36, 0x2e, 0x4d, 0x54, 0x4c, 0x5f, 0x46, 0x43,
+ 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x32, 0x5f, 0x62, 0x5f, 0x5a, 0x31,
+ 0x36, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x49, 0x73, 0x55, 0x38, 0x2e, 0x4d, 0x54, 0x4c, 0x5f, 0x46, 0x43,
+ 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x31, 0x5f, 0x62, 0x5f, 0x5a, 0x32,
+ 0x30, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x4d, 0x54,
+ 0x4c, 0x5f, 0x46, 0x43, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x30, 0x5f,
+ 0x62, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
+ 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x47, 0x4c, 0x4f, 0x42,
+ 0x41, 0x4c, 0x5f, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x49, 0x5f, 0x6d, 0x61,
+ 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
+ 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46,
+ 0x61, 0x6e, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f,
+ 0x6d, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x33, 0x39, 0x30,
+ 0x32, 0x2e, 0x36, 0x37, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70,
+ 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e,
+ 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
- 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x38, 0x17,
+ 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x8c, 0x0c,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10,
- 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xcc, 0x04,
+ 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xd8, 0x02,
0x00, 0x00, 0x0b, 0x02, 0x21, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00,
0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10,
0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04,
@@ -4973,127 +5461,106 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90,
0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0x04, 0x49,
0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83,
- 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x8a, 0x00,
- 0x00, 0x00, 0x1b, 0xc8, 0x25, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80,
- 0x03, 0x40, 0x22, 0xc6, 0xe1, 0x1d, 0xe4, 0x41, 0x1e, 0xca, 0x61, 0x1c,
- 0xe8, 0x81, 0x1d, 0xf2, 0xa1, 0x0d, 0xe4, 0xe1, 0x1d, 0xea, 0xc1, 0x1d,
- 0xc8, 0xa1, 0x1c, 0xc8, 0xa1, 0x0d, 0xc8, 0x21, 0x1d, 0xec, 0x21, 0x1d,
- 0xc8, 0xa1, 0x1c, 0xda, 0x60, 0x1e, 0xe2, 0x41, 0x1e, 0xe8, 0xa1, 0x0d,
- 0xcc, 0x01, 0x1e, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0x30,
- 0x87, 0x70, 0x60, 0x87, 0x79, 0x28, 0x07, 0x80, 0x20, 0x87, 0x74, 0x98,
- 0x87, 0x70, 0x10, 0x07, 0x76, 0x28, 0x87, 0x36, 0xa0, 0x87, 0x70, 0x48,
- 0x07, 0x76, 0x68, 0x83, 0x71, 0x08, 0x07, 0x76, 0x60, 0x87, 0x79, 0x00,
- 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0x20, 0xd8, 0xa1, 0x1c,
- 0xe6, 0x61, 0x1e, 0xda, 0x00, 0x1e, 0xe4, 0xa1, 0x1c, 0xc6, 0x21, 0x1d,
- 0xe6, 0xa1, 0x1c, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x1d, 0xc2, 0x81, 0x1c,
- 0x00, 0x73, 0x08, 0x07, 0x76, 0x98, 0x87, 0x72, 0x00, 0x08, 0x77, 0x78,
- 0x87, 0x36, 0x30, 0x07, 0x79, 0x08, 0x87, 0x76, 0x28, 0x87, 0x36, 0x80,
- 0x87, 0x77, 0x48, 0x07, 0x77, 0xa0, 0x87, 0x72, 0x90, 0x87, 0x36, 0x28,
- 0x07, 0x76, 0x48, 0x87, 0x76, 0x00, 0xe8, 0x41, 0x1e, 0xea, 0xa1, 0x1c,
- 0x80, 0xc1, 0x1d, 0xde, 0xa1, 0x0d, 0xcc, 0x41, 0x1e, 0xc2, 0xa1, 0x1d,
- 0xca, 0xa1, 0x0d, 0xe0, 0xe1, 0x1d, 0xd2, 0xc1, 0x1d, 0xe8, 0xa1, 0x1c,
- 0xe4, 0xa1, 0x0d, 0xca, 0x81, 0x1d, 0xd2, 0xa1, 0x1d, 0xda, 0xc0, 0x1d,
- 0xde, 0xc1, 0x1d, 0xda, 0x80, 0x1d, 0xca, 0x21, 0x1c, 0xcc, 0x01, 0x20,
- 0xdc, 0xe1, 0x1d, 0xda, 0x20, 0x1d, 0xdc, 0xc1, 0x1c, 0xe6, 0xa1, 0x0d,
- 0xcc, 0x01, 0x1e, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0,
- 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00, 0x08, 0x77, 0x78, 0x87, 0x36, 0x50,
- 0x87, 0x7a, 0x68, 0x07, 0x78, 0x68, 0x03, 0x7a, 0x08, 0x07, 0x71, 0x60,
- 0x87, 0x72, 0x98, 0x07, 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6, 0xa1, 0x1c,
- 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xdc, 0x21, 0x1c, 0xdc, 0x61, 0x1e,
+ 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x83, 0x00,
+ 0x00, 0x00, 0x1b, 0xcc, 0x25, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80,
+ 0x03, 0x40, 0x02, 0x2a, 0x62, 0x1c, 0xde, 0x41, 0x1e, 0xe4, 0xa1, 0x1c,
+ 0xc6, 0x81, 0x1e, 0xd8, 0x21, 0x1f, 0xda, 0x40, 0x1e, 0xde, 0xa1, 0x1e,
+ 0xdc, 0x81, 0x1c, 0xca, 0x81, 0x1c, 0xda, 0x80, 0x1c, 0xd2, 0xc1, 0x1e,
+ 0xd2, 0x81, 0x1c, 0xca, 0xa1, 0x0d, 0xe6, 0x21, 0x1e, 0xe4, 0x81, 0x1e,
+ 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d,
+ 0x00, 0x73, 0x08, 0x07, 0x76, 0x98, 0x87, 0x72, 0x00, 0x08, 0x72, 0x48,
+ 0x87, 0x79, 0x08, 0x07, 0x71, 0x60, 0x87, 0x72, 0x68, 0x03, 0x7a, 0x08,
+ 0x87, 0x74, 0x60, 0x87, 0x36, 0x18, 0x87, 0x70, 0x60, 0x07, 0x76, 0x98,
+ 0x07, 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6, 0xa1, 0x1c, 0x00, 0x82, 0x1d,
+ 0xca, 0x61, 0x1e, 0xe6, 0xa1, 0x0d, 0xe0, 0x41, 0x1e, 0xca, 0x61, 0x1c,
+ 0xd2, 0x61, 0x1e, 0xca, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0x21, 0x1c,
+ 0xc8, 0x01, 0x30, 0x87, 0x70, 0x60, 0x87, 0x79, 0x28, 0x07, 0x80, 0x70,
+ 0x87, 0x77, 0x68, 0x03, 0x73, 0x90, 0x87, 0x70, 0x68, 0x87, 0x72, 0x68,
+ 0x03, 0x78, 0x78, 0x87, 0x74, 0x70, 0x07, 0x7a, 0x28, 0x07, 0x79, 0x68,
+ 0x83, 0x72, 0x60, 0x87, 0x74, 0x68, 0x07, 0x80, 0x1e, 0xe4, 0xa1, 0x1e,
+ 0xca, 0x01, 0x18, 0xdc, 0xe1, 0x1d, 0xda, 0xc0, 0x1c, 0xe4, 0x21, 0x1c,
+ 0xda, 0xa1, 0x1c, 0xda, 0x00, 0x1e, 0xde, 0x21, 0x1d, 0xdc, 0x81, 0x1e,
+ 0xca, 0x41, 0x1e, 0xda, 0xa0, 0x1c, 0xd8, 0x21, 0x1d, 0xda, 0xa1, 0x0d,
+ 0xdc, 0xe1, 0x1d, 0xdc, 0xa1, 0x0d, 0xd8, 0xa1, 0x1c, 0xc2, 0xc1, 0x1c,
+ 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xd2, 0xc1, 0x1d, 0xcc, 0x61, 0x1e,
0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d,
0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68,
- 0x83, 0x79, 0x48, 0x87, 0x73, 0x70, 0x87, 0x72, 0x20, 0x87, 0x36, 0xd0,
- 0x87, 0x72, 0x90, 0x87, 0x77, 0x98, 0x87, 0x36, 0x30, 0x07, 0x78, 0x68,
- 0x83, 0x76, 0x08, 0x07, 0x7a, 0x40, 0x07, 0x80, 0x1e, 0xe4, 0xa1, 0x1e,
- 0xca, 0x01, 0x20, 0xdc, 0xe1, 0x1d, 0xda, 0x80, 0x1e, 0xe4, 0x21, 0x1c,
- 0xe0, 0x01, 0x1e, 0xd2, 0xc1, 0x1d, 0xce, 0xa1, 0x0d, 0xda, 0x21, 0x1c,
- 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0x98,
- 0x07, 0x7a, 0x08, 0x87, 0x71, 0x58, 0x87, 0x36, 0x80, 0x07, 0x79, 0x78,
- 0x07, 0x7a, 0x28, 0x87, 0x71, 0xa0, 0x87, 0x77, 0x90, 0x87, 0x36, 0x10,
- 0x87, 0x7a, 0x30, 0x07, 0x73, 0x28, 0x07, 0x79, 0x68, 0x83, 0x79, 0x48,
- 0x07, 0x7d, 0x28, 0x07, 0x00, 0x0f, 0x00, 0xa2, 0x1e, 0xdc, 0x61, 0x1e,
- 0xc2, 0xc1, 0x1c, 0xca, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0xa0, 0x1d,
+ 0x03, 0x75, 0xa8, 0x87, 0x76, 0x80, 0x87, 0x36, 0xa0, 0x87, 0x70, 0x10,
+ 0x07, 0x76, 0x28, 0x87, 0x79, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e,
+ 0xca, 0x01, 0x20, 0xdc, 0xe1, 0x1d, 0xda, 0xc0, 0x1d, 0xc2, 0xc1, 0x1d,
+ 0xe6, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e,
+ 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00, 0x08, 0x77, 0x78,
+ 0x87, 0x36, 0x98, 0x87, 0x74, 0x38, 0x07, 0x77, 0x28, 0x07, 0x72, 0x68,
+ 0x03, 0x7d, 0x28, 0x07, 0x79, 0x78, 0x87, 0x79, 0x68, 0x03, 0x73, 0x80,
+ 0x87, 0x36, 0x68, 0x87, 0x70, 0xa0, 0x07, 0x74, 0x00, 0xe8, 0x41, 0x1e,
+ 0xea, 0xa1, 0x1c, 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xe8, 0x41, 0x1e,
+ 0xc2, 0x01, 0x1e, 0xe0, 0x21, 0x1d, 0xdc, 0xe1, 0x1c, 0xda, 0xa0, 0x1d,
0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00,
- 0x88, 0x7a, 0x98, 0x87, 0x72, 0x68, 0x83, 0x79, 0x78, 0x07, 0x73, 0xa0,
- 0x87, 0x36, 0x30, 0x07, 0x76, 0x78, 0x87, 0x70, 0xa0, 0x07, 0xc0, 0x1c,
- 0xc2, 0x81, 0x1d, 0xe6, 0xa1, 0x1c, 0x80, 0x0d, 0x8b, 0x20, 0x00, 0x09,
- 0xb0, 0x00, 0x55, 0x90, 0x06, 0xc8, 0x06, 0x63, 0x18, 0x80, 0x04, 0xa8,
- 0x36, 0x20, 0x04, 0x01, 0x24, 0xc0, 0x02, 0x54, 0x1b, 0x90, 0xa2, 0x00,
- 0x12, 0x60, 0x01, 0xaa, 0x0d, 0x86, 0x61, 0x00, 0x09, 0xb0, 0x00, 0x00,
- 0x00, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82,
- 0x60, 0x82, 0x11, 0x08, 0x03, 0x51, 0x18, 0x00, 0x00, 0x00, 0x89, 0x20,
- 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64,
+ 0x88, 0x79, 0xa0, 0x87, 0x70, 0x18, 0x87, 0x75, 0x68, 0x03, 0x78, 0x90,
+ 0x87, 0x77, 0xa0, 0x87, 0x72, 0x18, 0x07, 0x7a, 0x78, 0x07, 0x79, 0x68,
+ 0x03, 0x71, 0xa8, 0x07, 0x73, 0x30, 0x87, 0x72, 0x90, 0x87, 0x36, 0x98,
+ 0x87, 0x74, 0xd0, 0x87, 0x72, 0x00, 0xf0, 0x00, 0x20, 0xea, 0xc1, 0x1d,
+ 0xe6, 0x21, 0x1c, 0xcc, 0xa1, 0x1c, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d,
+ 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28,
+ 0x07, 0x80, 0xa8, 0x87, 0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30,
+ 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00,
+ 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0xd8, 0xb0, 0x08, 0x02,
+ 0x90, 0x00, 0x0b, 0x50, 0x05, 0x69, 0x00, 0x06, 0x00, 0x00, 0x49, 0x18,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x84, 0x40, 0x00, 0x89, 0x20,
+ 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64,
0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1,
0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x64,
- 0x73, 0x04, 0xc8, 0x20, 0x02, 0x20, 0xcc, 0x11, 0x80, 0xc1, 0x08, 0x40,
- 0x09, 0x06, 0x11, 0x02, 0x66, 0x10, 0xc5, 0x64, 0xc0, 0x21, 0x94, 0x03,
- 0x86, 0xd4, 0x71, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0x8b, 0xcd, 0x40, 0x5c,
- 0x9c, 0xd3, 0x54, 0x44, 0x24, 0x21, 0x4e, 0x93, 0x02, 0x11, 0xc0, 0x48,
- 0x48, 0x10, 0x62, 0x10, 0x81, 0x11, 0xe6, 0x08, 0xa0, 0x41, 0x04, 0x47,
- 0x18, 0x44, 0x10, 0x84, 0x41, 0x04, 0x21, 0x28, 0xc7, 0x10, 0x2d, 0x3c,
- 0x18, 0x49, 0x0e, 0x04, 0xa4, 0x80, 0x98, 0x23, 0x08, 0xe6, 0x08, 0x40,
- 0x61, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79,
- 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
- 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38,
- 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76,
- 0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06,
- 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07,
- 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x78, 0xa0, 0x07,
- 0x78, 0xd0, 0x06, 0xe9, 0x80, 0x07, 0x7a, 0x80, 0x07, 0x7a, 0x80, 0x07,
- 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07,
- 0x71, 0x60, 0x07, 0x6d, 0x90, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07,
- 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07,
- 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0e,
- 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07,
- 0x6d, 0x60, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07,
- 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x60, 0x07, 0x7a, 0x10, 0x07,
- 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x40, 0x07,
- 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f,
- 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07,
- 0x6d, 0x60, 0x0f, 0x74, 0x80, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07,
- 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07,
- 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x79, 0x60, 0x07,
- 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07,
- 0x6d, 0x60, 0x0f, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07,
- 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xd0, 0x06, 0xf6, 0x10, 0x07,
- 0x79, 0x20, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x7a, 0x20, 0x07,
- 0x75, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07,
- 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xd0, 0x06,
- 0xf6, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07,
- 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x00, 0x07,
- 0x72, 0x40, 0x07, 0x7a, 0x10, 0x07, 0x70, 0x20, 0x07, 0x74, 0xa0, 0x07,
- 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07,
- 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xb0, 0xa2, 0x61, 0x07, 0x76,
- 0xb0, 0x87, 0x76, 0x70, 0x83, 0x76, 0x28, 0x07, 0x7a, 0x08, 0x07, 0x72,
- 0x08, 0x07, 0x7a, 0x08, 0x87, 0x15, 0x4f, 0x38, 0xa4, 0x83, 0x3c, 0xb8,
- 0xc1, 0x3c, 0xd0, 0x43, 0x38, 0xd0, 0x43, 0x3a, 0x8c, 0xc3, 0x2f, 0xa4,
- 0x83, 0x3b, 0xa4, 0x03, 0x3d, 0x28, 0x3d, 0x20, 0x44, 0x48, 0x08, 0x19,
- 0x32, 0x52, 0x24, 0x88, 0xd0, 0x08, 0x61, 0x58, 0xce, 0x20, 0x9a, 0x36,
- 0x42, 0x3e, 0xa0, 0x11, 0x9b, 0x01, 0x11, 0x08, 0xe9, 0x8b, 0x1c, 0xc6,
- 0x5b, 0x08, 0x86, 0x68, 0x26, 0x89, 0x00, 0x1f, 0xa0, 0x44, 0x23, 0xfc,
- 0xf8, 0x00, 0x25, 0x1a, 0xa1, 0xcf, 0x07, 0x28, 0xd1, 0x08, 0xbb, 0x22,
- 0x50, 0x20, 0x03, 0x81, 0x1d, 0x8f, 0x3b, 0x60, 0x80, 0x12, 0x0d, 0x01,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0xc0, 0x8e, 0xc7, 0x24, 0x30, 0x40, 0x89,
- 0x86, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0xc7, 0xe3, 0x13, 0x17,
- 0xa0, 0x44, 0x43, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xb0, 0xe3, 0xa9,
- 0x0b, 0x0b, 0x50, 0xa4, 0x21, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xd8,
- 0xf1, 0xac, 0x46, 0x19, 0x00, 0x8b, 0x34, 0x04, 0x00, 0x00, 0x04, 0x01,
- 0x00, 0x00, 0x3b, 0x1e, 0xf8, 0xb0, 0x00, 0x45, 0x1a, 0x02, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x80, 0x1d, 0x8f, 0x89, 0x94, 0x01, 0xb0, 0x48, 0x43,
- 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0xb0, 0xe3, 0x59, 0x13, 0x32, 0x00,
- 0x16, 0x69, 0x08, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x76, 0x3c, 0xaf,
- 0x82, 0x06, 0xc0, 0x22, 0x0d, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
- 0xef, 0x05, 0x24, 0x54, 0x28, 0x03, 0xa1, 0x21, 0x51, 0xca, 0x88, 0x01,
- 0x01, 0x00, 0x43, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43,
- 0xa2, 0xb5, 0xe1, 0x24, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x90, 0xd8, 0x20, 0x50, 0xd8, 0x99, 0x00, 0x00, 0x20, 0x0b,
- 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11,
- 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x23, 0x00,
- 0x33, 0x00, 0x45, 0x40, 0xa2, 0xfc, 0xff, 0x0f, 0x8a, 0xa0, 0x04, 0x0a,
- 0x61, 0x04, 0xa0, 0x20, 0xca, 0xa0, 0x14, 0xc8, 0xd6, 0x00, 0xdd, 0x11,
- 0x80, 0x42, 0x20, 0x33, 0x02, 0x60, 0x1c, 0x00, 0x8c, 0x43, 0x80, 0x71,
- 0x10, 0xa0, 0x83, 0xc3, 0xe4, 0x78, 0x84, 0x30, 0x10, 0x49, 0xe1, 0xf0,
- 0x81, 0x21, 0xd5, 0xb1, 0x84, 0x06, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18,
+ 0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40, 0x62, 0x8e, 0x00, 0x21,
+ 0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x33, 0x00, 0xc3, 0x08, 0x42,
+ 0x92, 0x03, 0x6a, 0x10, 0x61, 0x11, 0x86, 0x11, 0x88, 0x24, 0x19, 0xc8,
+ 0x49, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0x73, 0x0b, 0x01, 0x44, 0x29, 0x10,
+ 0x01, 0x8c, 0x84, 0x86, 0x96, 0xdc, 0x20, 0xc2, 0x23, 0x94, 0xa1, 0x01,
+ 0x48, 0x71, 0x20, 0x20, 0x05, 0xc0, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x28,
+ 0xc2, 0x30, 0x02, 0x01, 0x0c, 0x22, 0x24, 0x02, 0x00, 0x00, 0x13, 0xbe,
+ 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
+ 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83,
+ 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
+ 0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70,
+ 0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60,
+ 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
+ 0x07, 0x78, 0xa0, 0x07, 0x78, 0xd0, 0x06, 0xe9, 0x80, 0x07, 0x7a, 0x80,
+ 0x07, 0x7a, 0x80, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x10,
+ 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x90, 0x0e, 0x73, 0x20,
+ 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
+ 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40,
+ 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0,
+ 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60,
+ 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x60,
+ 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x60,
+ 0x0f, 0x72, 0x40, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20,
+ 0x07, 0x6d, 0x60, 0x0f, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0,
+ 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x74, 0x80, 0x07, 0x7a, 0x60,
+ 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x76, 0x40,
+ 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60,
+ 0x0f, 0x79, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x7a, 0x10,
+ 0x07, 0x72, 0x80, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x20, 0x07, 0x78, 0xa0,
+ 0x07, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xd0,
+ 0x06, 0xf6, 0x10, 0x07, 0x79, 0x20, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60,
+ 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x50,
+ 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50,
+ 0x07, 0x76, 0xd0, 0x06, 0xf6, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50,
+ 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x6d, 0x60,
+ 0x0f, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x7a, 0x10, 0x07, 0x70, 0x20,
+ 0x07, 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x6d, 0xe0,
+ 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0,
+ 0xf4, 0x80, 0x10, 0x21, 0x21, 0x64, 0xc8, 0x48, 0x91, 0x11, 0x40, 0x23,
+ 0x84, 0x61, 0x0f, 0x61, 0x21, 0x80, 0xe8, 0x65, 0x09, 0x10, 0x71, 0x02,
+ 0x23, 0xb0, 0xe3, 0x89, 0x98, 0x65, 0x81, 0x06, 0x02, 0x00, 0x80, 0x00,
+ 0x00, 0x00, 0x60, 0x48, 0xd4, 0x1d, 0x11, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x48, 0x6c, 0x10, 0x28, 0xac, 0x2d, 0x00,
+ 0x00, 0x90, 0x05, 0x02, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x32, 0x1e,
+ 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
+ 0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x42,
+ 0x75, 0x04, 0xa0, 0x40, 0xe8, 0x8c, 0x00, 0x90, 0x1a, 0x4b, 0x00, 0x41,
+ 0x10, 0xc4, 0x7f, 0x01, 0x04, 0x41, 0x10, 0xff, 0x85, 0xb1, 0x04, 0x10,
+ 0x04, 0x41, 0x12, 0x0c, 0x40, 0x10, 0x04, 0xf1, 0x5f, 0x18, 0x4b, 0x00,
+ 0x41, 0x10, 0xc4, 0x7f, 0x01, 0x04, 0x41, 0x90, 0x04, 0x03, 0x5a, 0x38,
+ 0xb0, 0xe6, 0x88, 0x8e, 0x25, 0x34, 0x04, 0x00, 0x00, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -5131,339 +5598,132 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0,
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x20,
- 0x00, 0x00, 0x55, 0x01, 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88,
+ 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88,
0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68,
0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90,
- 0x51, 0x64, 0x03, 0x34, 0xf0, 0x2f, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
- 0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21,
- 0x54, 0xa2, 0x44, 0x57, 0x75, 0x54, 0x84, 0x54, 0x1c, 0x93, 0x81, 0x4c,
- 0x88, 0x63, 0x50, 0x50, 0x14, 0x3d, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x44,
+ 0x51, 0xec, 0x38, 0x15, 0x02, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
+ 0x41, 0x18, 0x90, 0xc1, 0x19, 0x30, 0x91, 0xd1, 0x10, 0xcc, 0xa0, 0x3c,
+ 0x12, 0x42, 0x29, 0x85, 0x12, 0x5d, 0xcb, 0x02, 0x00, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e,
- 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e,
+ 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
- 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
- 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66,
- 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
- 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72,
- 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
- 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x55,
- 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x55, 0x38, 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70,
- 0x75, 0x74, 0x55, 0x38, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x31, 0x36, 0x75,
- 0x73, 0x68, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x31,
- 0x36, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x33, 0x32, 0x69, 0x6e, 0x70, 0x75,
- 0x74, 0x55, 0x33, 0x32, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64,
- 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
- 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x6b, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x38,
- 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
- 0x49, 0x73, 0x55, 0x31, 0x36, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x33, 0x32, 0x6f, 0x6d,
- 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61,
- 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20,
- 0x54, 0x42, 0x41, 0x41, 0x00, 0x00, 0x86, 0xa5, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x82, 0x20, 0x50, 0x23, 0x08, 0x55, 0x19, 0x8c, 0x20,
- 0x08, 0xd5, 0x08, 0x82, 0x60, 0x8d, 0x20, 0x08, 0xd7, 0x08, 0xc2, 0xf4,
- 0x8c, 0x20, 0x08, 0xd8, 0x08, 0x42, 0x00, 0x8c, 0x20, 0x08, 0xd9, 0x08,
- 0x42, 0x10, 0x8c, 0x20, 0x04, 0xc2, 0x08, 0x82, 0xa0, 0x8d, 0x20, 0x04,
- 0xcc, 0x08, 0x82, 0xb5, 0x8d, 0x20, 0x04, 0xcb, 0x08, 0x42, 0xa0, 0x8c,
- 0x20, 0x04, 0xc8, 0x08, 0xc2, 0xc5, 0x8d, 0x20, 0x00, 0xd0, 0x08, 0x02,
- 0x20, 0xcd, 0x30, 0xb4, 0x41, 0xe0, 0x06, 0x33, 0x0c, 0x6f, 0x20, 0xc0,
- 0xc1, 0x0c, 0xc1, 0x30, 0xc3, 0xd0, 0x06, 0x6d, 0x10, 0x07, 0x33, 0x10,
- 0x44, 0x1b, 0xb4, 0x41, 0x1c, 0xcc, 0x10, 0x14, 0x33, 0x04, 0xc6, 0x0c,
- 0xc1, 0x31, 0x43, 0x80, 0xcc, 0x10, 0x24, 0x33, 0x04, 0xca, 0x0c, 0xc0,
- 0x0c, 0x46, 0x1c, 0x2c, 0x4c, 0xe3, 0x3c, 0x33, 0x28, 0x71, 0x00, 0x07,
- 0x71, 0xd0, 0x54, 0x70, 0x00, 0x07, 0x71, 0xd0, 0x58, 0x33, 0x48, 0x6f,
- 0x00, 0x45, 0x73, 0x20, 0xc5, 0xc1, 0x1b, 0x4c, 0x94, 0x2b, 0x5c, 0x73,
- 0x80, 0xc1, 0x01, 0x93, 0x39, 0xda, 0x0c, 0x03, 0x1d, 0x70, 0xdd, 0x0c,
- 0x50, 0x1b, 0x6c, 0xb0, 0x00, 0x49, 0x6f, 0xf0, 0x06, 0xd3, 0xf5, 0x06,
- 0xd8, 0x1b, 0x30, 0x9e, 0xf3, 0xcd, 0x30, 0xd8, 0x01, 0x07, 0x06, 0x33,
- 0x40, 0x75, 0xb0, 0xc9, 0x02, 0x24, 0xbd, 0xc1, 0x1b, 0x4c, 0x57, 0x1b,
- 0x60, 0x6d, 0xc0, 0x84, 0x81, 0x23, 0x06, 0x33, 0x0c, 0x77, 0xc0, 0x8d,
- 0xc1, 0x0c, 0x10, 0x1c, 0x6c, 0xb4, 0x00, 0x49, 0x6f, 0xf0, 0x06, 0xd3,
- 0x05, 0x07, 0x18, 0x1c, 0x30, 0x8d, 0x43, 0x06, 0x33, 0x38, 0x78, 0x00,
- 0x49, 0x6d, 0xf0, 0x06, 0x65, 0x70, 0xc1, 0x01, 0x06, 0x07, 0x4c, 0xe3,
- 0x98, 0xc1, 0x0c, 0x46, 0x2b, 0xbc, 0x42, 0x2c, 0xcc, 0x42, 0x2d, 0xd8,
- 0xc2, 0x0c, 0x83, 0x1c, 0xb0, 0xc2, 0x2d, 0xcc, 0x50, 0xe4, 0x01, 0x77,
- 0x06, 0x71, 0xa0, 0x07, 0x33, 0x14, 0x7b, 0xc0, 0xa1, 0xc1, 0x1b, 0xe8,
- 0xc1, 0x0c, 0x05, 0x1f, 0x70, 0x69, 0xd0, 0x06, 0x7a, 0x30, 0x43, 0xd1,
- 0x07, 0x9c, 0x1a, 0xd4, 0x81, 0x1e, 0xcc, 0x10, 0xb0, 0xc1, 0x0c, 0xc3,
- 0x1a, 0xf4, 0x82, 0x1f, 0xcc, 0x30, 0x70, 0xbe, 0xe0, 0x07, 0x33, 0x0c,
- 0xbf, 0xf0, 0x0b, 0x7e, 0x30, 0x83, 0xf0, 0x07, 0xa0, 0x70, 0x75, 0x00,
- 0x70, 0x62, 0xc0, 0x71, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0x1c, 0xc7,
- 0x71, 0x1c, 0xc7, 0x71, 0x6e, 0xe0, 0x06, 0x16, 0x1d, 0xe8, 0x81, 0x65,
- 0x59, 0x96, 0x65, 0x41, 0x7a, 0x00, 0x0f, 0x66, 0x81, 0x06, 0x34, 0xe1,
- 0x06, 0x60, 0xe1, 0x06, 0x3a, 0xe1, 0x12, 0xb8, 0x40, 0x07, 0xa6, 0x60,
- 0x0a, 0xa6, 0x60, 0x0a, 0x1c, 0x1d, 0xb8, 0x01, 0x1d, 0xc8, 0x48, 0x60,
- 0x82, 0x32, 0x62, 0x63, 0xb3, 0x6b, 0x73, 0x69, 0x7b, 0x23, 0xab, 0x63,
- 0x2b, 0x73, 0x31, 0x63, 0x0b, 0x3b, 0x9b, 0x1b, 0x45, 0x00, 0x85, 0x50,
- 0x48, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e,
- 0x94, 0x40, 0x14, 0x72, 0x09, 0x4b, 0x93, 0x73, 0xb1, 0x2b, 0x93, 0x9b,
- 0x4b, 0x7b, 0x73, 0x1b, 0x25, 0x18, 0x85, 0xa4, 0xc2, 0xd2, 0xe4, 0x5c,
- 0xd8, 0xc2, 0xdc, 0xce, 0xea, 0xc2, 0xce, 0xca, 0xbe, 0xec, 0xca, 0xe4,
- 0xe6, 0xd2, 0xde, 0xdc, 0x46, 0x09, 0x48, 0x21, 0xa7, 0xb0, 0x34, 0x39,
- 0x97, 0xb1, 0xb7, 0x36, 0xb8, 0x34, 0xb6, 0xb2, 0xaf, 0x37, 0x38, 0xba,
- 0xb4, 0x37, 0xb7, 0xb9, 0x51, 0x8c, 0x52, 0x30, 0x85, 0x53, 0x40, 0x85,
- 0x54, 0x50, 0x85, 0x54, 0xc2, 0xd2, 0xe4, 0x5c, 0xd6, 0xca, 0xe4, 0xdc,
- 0xca, 0xd8, 0x46, 0x09, 0x6e, 0x21, 0xad, 0xb0, 0x34, 0x39, 0x17, 0xb3,
- 0x3a, 0xb7, 0x31, 0xba, 0xb4, 0x37, 0xb7, 0xaf, 0xb1, 0x37, 0xb7, 0x39,
- 0xba, 0x30, 0x37, 0xba, 0xb9, 0x51, 0x08, 0x5c, 0xc8, 0x05, 0x5d, 0xd8,
- 0x05, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
- 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
- 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
- 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
- 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x07, 0xcc, 0x3c, 0xa4, 0x83, 0x3b, 0x9c, 0x03, 0x3b, 0x94,
- 0x03, 0x3d, 0xa0, 0x83, 0x3c, 0x94, 0x43, 0x38, 0x90, 0xc3, 0x01, 0x00,
- 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x13, 0x04,
- 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x4a,
- 0x00, 0x00, 0xb4, 0x81, 0x40, 0x1d, 0x08, 0xf4, 0x81, 0x30, 0x6c, 0x40,
- 0x84, 0x41, 0x10, 0x00, 0x24, 0x06, 0x20, 0x0c, 0x1b, 0x10, 0x64, 0x10,
- 0x04, 0x40, 0x11, 0x05, 0x17, 0x11, 0xec, 0xb0, 0x01, 0x71, 0x06, 0x41,
- 0x00, 0x0c, 0x37, 0x10, 0x5d, 0x18, 0x0c, 0x37, 0x1c, 0x5e, 0x18, 0x54,
- 0x20, 0xe8, 0x05, 0x20, 0x86, 0x0d, 0x08, 0x36, 0x08, 0x02, 0x60, 0xb8,
- 0xe1, 0x08, 0x83, 0x30, 0x28, 0x22, 0xd0, 0x0b, 0x40, 0x0c, 0x1b, 0x10,
- 0x70, 0x10, 0x04, 0xc0, 0xb0, 0x01, 0x41, 0x07, 0x48, 0x00, 0x0c, 0x1b,
- 0x10, 0x73, 0x40, 0x04, 0xc0, 0xb0, 0x01, 0x21, 0x07, 0x41, 0x00, 0x60,
- 0x40, 0x0c, 0x11, 0x00, 0x00, 0x00, 0x5b, 0x0a, 0x20, 0xf8, 0x05, 0x02,
- 0x1c, 0xb6, 0x14, 0x41, 0xf0, 0x0b, 0x04, 0x38, 0x6c, 0x29, 0x84, 0xe0,
- 0x17, 0x08, 0x70, 0xd8, 0x32, 0x0c, 0xc1, 0x2f, 0x6c, 0x29, 0x88, 0xe0,
- 0x17, 0x08, 0x70, 0xd8, 0x32, 0x14, 0xc1, 0x2f, 0x6c, 0x19, 0x90, 0xe0,
- 0x17, 0xb6, 0x0c, 0x4d, 0xf0, 0x0b, 0x5b, 0x86, 0x28, 0xf8, 0x85, 0x2d,
- 0x83, 0x14, 0xfc, 0xc2, 0x96, 0x61, 0x0a, 0x7e, 0x61, 0xcb, 0x40, 0x05,
- 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x39, 0x01,
- 0x00, 0x00, 0x13, 0x04, 0x60, 0x10, 0x0b, 0x04, 0x00, 0x00, 0x02, 0x00,
- 0x00, 0x00, 0x24, 0x0a, 0xa4, 0x60, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30,
- 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x0e,
- 0xc4, 0x19, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x50, 0x00, 0x00, 0x5f, 0x5a,
- 0x54, 0x53, 0x32, 0x31, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e,
- 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x69, 0x6e, 0x74, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x00, 0x13, 0x84,
- 0xab, 0xdb, 0x30, 0x8c, 0x83, 0x2f, 0xf8, 0xc1, 0x86, 0x42, 0x1c, 0xcc,
- 0xc1, 0x0f, 0xcc, 0xa1, 0x1c, 0x36, 0x0c, 0xe7, 0x60, 0x0e, 0xe5, 0xb0,
- 0x61, 0x38, 0x07, 0x73, 0xf0, 0x83, 0x0d, 0x83, 0x2f, 0xf8, 0x82, 0x1f,
- 0x6c, 0x18, 0xc8, 0xc1, 0x17, 0xfc, 0x60, 0xc3, 0xb0, 0x0e, 0xeb, 0xe0,
- 0x07, 0x1b, 0x06, 0x73, 0x30, 0x07, 0x3f, 0x00, 0x00, 0x00, 0x9b, 0x0d,
- 0x87, 0x94, 0x51, 0x20, 0xc6, 0x70, 0x43, 0xa0, 0x88, 0xc1, 0x2c, 0x43,
- 0xf0, 0x05, 0xb5, 0x74, 0xb0, 0xd9, 0xb0, 0x58, 0x1b, 0x05, 0x62, 0x90,
- 0x1b, 0x80, 0x30, 0xdc, 0x10, 0x94, 0x01, 0x18, 0xcc, 0x32, 0x18, 0x42,
- 0x40, 0x6d, 0x00, 0xc2, 0x70, 0x43, 0x70, 0x06, 0x60, 0x30, 0xcb, 0x40,
- 0x0c, 0xc1, 0x15, 0x37, 0x36, 0x10, 0xa2, 0x80, 0x02, 0x10, 0x0a, 0x31,
- 0x03, 0xb8, 0xe0, 0xc6, 0x06, 0x42, 0x15, 0x50, 0x00, 0xc2, 0x15, 0x22,
- 0x4e, 0x10, 0x61, 0x41, 0x1a, 0xdc, 0x40, 0x05, 0xc3, 0xce, 0x12, 0x28,
- 0xc4, 0x07, 0x20, 0x0c, 0x37, 0x04, 0x74, 0x00, 0x06, 0x27, 0xdd, 0xd8,
- 0x40, 0xf0, 0x02, 0x0a, 0x40, 0xb8, 0x40, 0xc4, 0x2c, 0x83, 0x52, 0x14,
- 0x65, 0xd1, 0x01, 0x5c, 0x70, 0x63, 0x03, 0x61, 0x0c, 0x02, 0x0a, 0x40,
- 0xb8, 0x40, 0x44, 0x6d, 0x7a, 0x00, 0x17, 0xdc, 0xd8, 0x40, 0x40, 0x83,
- 0x80, 0x02, 0x10, 0x2e, 0x10, 0x51, 0x60, 0xa0, 0x07, 0x70, 0xc1, 0x8d,
- 0x0d, 0x84, 0x36, 0x08, 0x28, 0x00, 0xe1, 0x02, 0x11, 0xb6, 0x80, 0xc2,
- 0x0d, 0x54, 0x10, 0xad, 0x21, 0x6e, 0x70, 0x03, 0x25, 0x04, 0x6b, 0xc5,
- 0x1b, 0x5c, 0x40, 0x09, 0xc1, 0xce, 0x12, 0x28, 0x94, 0x0b, 0x20, 0x0c,
- 0x37, 0x04, 0xaf, 0x00, 0x06, 0xb3, 0x0c, 0xc8, 0x11, 0x54, 0x1b, 0xac,
- 0x02, 0x5e, 0x70, 0x63, 0x3b, 0x21, 0x0f, 0x02, 0x0a, 0x9c, 0xb8, 0x40,
- 0xc4, 0x2c, 0x81, 0x42, 0xe1, 0x00, 0xc2, 0x70, 0x43, 0x60, 0x0b, 0x60,
- 0x30, 0xcb, 0xa0, 0x24, 0x41, 0xd1, 0xc1, 0x2c, 0xe0, 0x05, 0x37, 0xb6,
- 0x10, 0xfe, 0x20, 0xa0, 0x40, 0x8c, 0x59, 0x02, 0x65, 0xa0, 0x46, 0x90,
- 0x85, 0x81, 0x2b, 0x9c, 0x43, 0x48, 0xd0, 0x02, 0x31, 0x05, 0xa2, 0x4c,
- 0x61, 0x16, 0xe4, 0x82, 0x1b, 0x5b, 0x08, 0xa3, 0x10, 0x0c, 0x1b, 0x10,
- 0x01, 0x31, 0x00, 0x95, 0x0a, 0xba, 0x00, 0xb3, 0x0c, 0xd0, 0xb2, 0x07,
- 0x74, 0x0e, 0x20, 0x0c, 0x37, 0x04, 0xe1, 0x00, 0x06, 0xb3, 0x0c, 0x0d,
- 0x13, 0xd4, 0xd0, 0x0b, 0x57, 0xa0, 0x10, 0xc0, 0x05, 0x37, 0x36, 0x10,
- 0x5a, 0x21, 0xa0, 0x00, 0x84, 0x22, 0xc4, 0x01, 0x2e, 0xb8, 0xb1, 0x81,
- 0x10, 0x0b, 0x01, 0x05, 0x20, 0x5c, 0x21, 0xe2, 0x04, 0x11, 0x16, 0x94,
- 0xc3, 0x0d, 0x54, 0x30, 0xec, 0x2c, 0x01, 0x45, 0xf8, 0x00, 0xc2, 0x70,
- 0x43, 0x00, 0x0f, 0x60, 0x30, 0xcb, 0xf0, 0x38, 0x41, 0x49, 0xed, 0x70,
- 0xf5, 0x0a, 0x01, 0x5c, 0x70, 0x63, 0x03, 0x81, 0x17, 0x02, 0x0a, 0x40,
- 0xb8, 0x40, 0x44, 0x15, 0xf2, 0x00, 0x17, 0xdc, 0xd8, 0x40, 0x08, 0x87,
- 0x80, 0x02, 0x10, 0x2e, 0x10, 0x51, 0x0a, 0x3e, 0xc0, 0x05, 0x37, 0x36,
- 0x10, 0xcc, 0x21, 0xa0, 0x00, 0x84, 0x0b, 0x44, 0xd4, 0x83, 0x0f, 0x70,
- 0xc1, 0x8d, 0x0d, 0x84, 0x75, 0x08, 0x28, 0x00, 0xe1, 0x02, 0x11, 0xb6,
- 0xf8, 0xc3, 0x0d, 0x54, 0x10, 0xad, 0x21, 0xec, 0x70, 0x03, 0x25, 0x04,
- 0x6b, 0x45, 0x3b, 0x5c, 0x40, 0x09, 0xc1, 0xce, 0x12, 0x50, 0x95, 0x0e,
- 0x6d, 0x00, 0x17, 0xdc, 0xd8, 0x40, 0xb0, 0x87, 0x80, 0x02, 0x10, 0x2e,
- 0x10, 0x31, 0x4b, 0x40, 0x11, 0x4f, 0x80, 0x30, 0xdc, 0x10, 0xc8, 0x04,
- 0x18, 0xcc, 0x32, 0x48, 0x51, 0x50, 0xf0, 0xe0, 0x12, 0x58, 0x41, 0x1d,
- 0xc0, 0x05, 0x37, 0xb6, 0x13, 0xfa, 0x21, 0xa0, 0xc0, 0x89, 0x0b, 0x44,
- 0xcc, 0x12, 0x50, 0x54, 0x16, 0x20, 0x0c, 0x37, 0x04, 0x3a, 0x01, 0x06,
- 0xb3, 0x0c, 0xd4, 0x14, 0x14, 0x3e, 0xdc, 0x04, 0x56, 0xd0, 0x07, 0x70,
- 0xc1, 0x8d, 0x2d, 0x04, 0x92, 0x08, 0x28, 0x10, 0x63, 0x96, 0x80, 0x1a,
- 0xa8, 0x11, 0xc8, 0x81, 0x51, 0x03, 0x07, 0x0c, 0x1e, 0x28, 0x12, 0x26,
- 0x39, 0x91, 0xaa, 0x14, 0x78, 0x02, 0x2e, 0xb8, 0xb1, 0x85, 0x80, 0x12,
- 0xc1, 0xb0, 0x01, 0x11, 0x10, 0x03, 0x30, 0xcb, 0xa0, 0x55, 0xff, 0x40,
- 0x6b, 0x01, 0xc2, 0x70, 0x43, 0x50, 0x16, 0x60, 0x30, 0xcb, 0x70, 0x59,
- 0x41, 0x95, 0x44, 0x58, 0x5c, 0x91, 0x44, 0x00, 0x17, 0xdc, 0xd8, 0x40,
- 0x88, 0x89, 0x80, 0x02, 0x10, 0x8a, 0x30, 0x0b, 0xb8, 0xe0, 0xc6, 0x06,
- 0x42, 0x4d, 0x04, 0x14, 0x80, 0x70, 0x85, 0x88, 0x13, 0x44, 0x58, 0x90,
- 0x16, 0x37, 0x50, 0xc1, 0xb0, 0xb3, 0x04, 0x1e, 0xf1, 0x05, 0x08, 0xc3,
- 0x0d, 0x01, 0x5d, 0x80, 0xc1, 0x2c, 0x43, 0x86, 0x05, 0x45, 0x13, 0x71,
- 0x71, 0x35, 0x13, 0x01, 0x5c, 0x70, 0x63, 0x03, 0x01, 0x2c, 0x02, 0x0a,
- 0x40, 0xb8, 0x40, 0x44, 0x15, 0x76, 0x01, 0x17, 0xdc, 0xd8, 0x40, 0x28,
- 0x8b, 0x80, 0x02, 0x10, 0x2e, 0x10, 0x51, 0x0a, 0x5f, 0xc0, 0x05, 0x37,
- 0x36, 0x10, 0xd4, 0x22, 0xa0, 0x00, 0x84, 0x0b, 0x44, 0xd4, 0xc3, 0x17,
- 0x70, 0xc1, 0x8d, 0x0d, 0x84, 0xb7, 0x08, 0x28, 0x00, 0xe1, 0x02, 0x11,
- 0xb6, 0x88, 0xc6, 0x0d, 0x54, 0x10, 0xad, 0x21, 0x70, 0x71, 0x03, 0x25,
- 0x04, 0x6b, 0x45, 0x5c, 0x5c, 0x40, 0x09, 0xc1, 0xce, 0x12, 0x78, 0xd5,
- 0x16, 0x6f, 0x01, 0x17, 0xdc, 0xd8, 0x40, 0xd0, 0x8b, 0x80, 0x02, 0x10,
- 0x2e, 0x10, 0x31, 0x4b, 0xe0, 0x11, 0x78, 0x80, 0x30, 0xdc, 0x10, 0xd8,
- 0x06, 0x18, 0xcc, 0x32, 0x70, 0x5b, 0x50, 0x74, 0x21, 0x1b, 0x58, 0xc1,
- 0x5d, 0xc0, 0x05, 0x37, 0xb6, 0x13, 0x42, 0x23, 0xa0, 0xc0, 0x89, 0x0b,
- 0x44, 0xcc, 0x12, 0x78, 0x94, 0x1e, 0x20, 0x0c, 0x37, 0x04, 0xbe, 0x01,
- 0x06, 0xb3, 0x0c, 0x5e, 0x17, 0x14, 0x5f, 0xec, 0x06, 0x56, 0xf0, 0x17,
- 0x70, 0xc1, 0x8d, 0x2d, 0x04, 0xd4, 0x08, 0x28, 0x10, 0x63, 0x96, 0xc0,
- 0x1b, 0xa8, 0x11, 0xc8, 0xc1, 0x52, 0x03, 0x0c, 0x0c, 0x32, 0x68, 0x13,
- 0x3a, 0xbd, 0xe1, 0x2a, 0x25, 0xc2, 0x03, 0x2e, 0xb8, 0xb1, 0x85, 0xc0,
- 0x1a, 0xc1, 0xb0, 0x01, 0x11, 0x10, 0x03, 0x30, 0x4b, 0xf0, 0x61, 0x40,
- 0x0c, 0x00, 0x44, 0x00, 0x00, 0x00, 0x5b, 0x86, 0x20, 0x38, 0x87, 0x2d,
- 0x83, 0x11, 0xa0, 0xc3, 0x96, 0xe2, 0x08, 0x7e, 0x81, 0x00, 0x87, 0x2d,
- 0x85, 0x12, 0xfc, 0x02, 0x01, 0x0e, 0x5b, 0x86, 0x27, 0x48, 0x87, 0x2d,
- 0xc3, 0x14, 0xa4, 0xc3, 0x96, 0x22, 0x0b, 0x7e, 0x81, 0x00, 0x87, 0x2d,
- 0x43, 0x17, 0xa4, 0xc3, 0x96, 0x61, 0x0c, 0x82, 0x74, 0xd8, 0x32, 0xa0,
- 0x41, 0x90, 0x0e, 0x5b, 0x86, 0x36, 0x08, 0xd2, 0x61, 0x4b, 0x61, 0x07,
- 0xc1, 0x2f, 0x10, 0xe0, 0xb0, 0x65, 0xe0, 0x83, 0x60, 0x1d, 0xb6, 0x14,
- 0x7f, 0x10, 0xfc, 0x02, 0x01, 0x0e, 0x5b, 0x86, 0x52, 0x08, 0xd8, 0x61,
- 0xcb, 0xb0, 0x0a, 0x01, 0x3b, 0x6c, 0x29, 0x5c, 0x21, 0xf8, 0x05, 0x02,
- 0x1c, 0xb6, 0x0c, 0xb5, 0x10, 0xa4, 0xc3, 0x96, 0x21, 0x17, 0x82, 0x74,
- 0xd8, 0x52, 0xfc, 0x42, 0xf0, 0x0b, 0x04, 0x38, 0x6c, 0x19, 0xcc, 0x21,
- 0x48, 0x87, 0x2d, 0xc3, 0x3a, 0x04, 0xe9, 0xb0, 0x65, 0x80, 0x87, 0x20,
- 0x1d, 0xb6, 0x0c, 0xf5, 0x10, 0xa4, 0xc3, 0x96, 0x21, 0x24, 0x82, 0x74,
- 0xd8, 0x52, 0x90, 0x44, 0xf0, 0x0b, 0x04, 0x38, 0x6c, 0x19, 0x56, 0x22,
- 0x58, 0x87, 0x2d, 0x85, 0x4b, 0x04, 0xbf, 0x40, 0x80, 0xc3, 0x96, 0xa1,
- 0x26, 0x02, 0x76, 0xd8, 0x32, 0xec, 0x44, 0xc0, 0x0e, 0x5b, 0x8a, 0x9e,
- 0x08, 0x7e, 0x81, 0x00, 0x87, 0x2d, 0x03, 0x59, 0x04, 0xe9, 0xb0, 0x65,
- 0x40, 0x8b, 0x20, 0x1d, 0xb6, 0x14, 0x6e, 0x11, 0xfc, 0x02, 0x01, 0x0e,
- 0x5b, 0x86, 0xba, 0x08, 0xd2, 0x61, 0xcb, 0xa0, 0x17, 0x41, 0x3a, 0x6c,
- 0x19, 0xfe, 0x22, 0x48, 0x87, 0x2d, 0x03, 0x69, 0x04, 0xe9, 0xb0, 0x65,
- 0x80, 0x8d, 0x20, 0x1d, 0xb6, 0x14, 0xb3, 0x11, 0xfc, 0x02, 0x01, 0x0e,
- 0x5b, 0x06, 0xdd, 0x08, 0xd6, 0x61, 0x4b, 0xd1, 0x1b, 0xc1, 0x2f, 0x10,
- 0xe0, 0xb0, 0x65, 0x20, 0x8f, 0x80, 0x1d, 0xb6, 0x0c, 0xea, 0x11, 0xb0,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x03, 0x00,
- 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x0e, 0xe2, 0x06, 0xf8, 0x30,
- 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x77, 0x00,
- 0x00, 0x00, 0x12, 0x03, 0x94, 0xb0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc7, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xd0, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd1, 0x01, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0xab, 0x01, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xf0, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00, 0x22, 0x00,
- 0x00, 0x00, 0x89, 0x01, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0xab, 0x01, 0x00, 0x00, 0x1c, 0x00,
- 0x00, 0x00, 0xab, 0x01, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x11, 0x00,
- 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x18, 0x00,
- 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x18, 0x00,
- 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x17, 0x00,
- 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x16, 0x00,
- 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x25, 0x00,
- 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x16, 0x00,
- 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x25, 0x00,
- 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x2b, 0x01, 0x00, 0x00, 0x24, 0x00,
- 0x00, 0x00, 0x2b, 0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x4f, 0x01, 0x00, 0x00, 0x28, 0x00,
- 0x00, 0x00, 0x4f, 0x01, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x12, 0x00,
- 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c,
- 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0xf0, 0x03, 0x00,
- 0x00, 0x00, 0x5f, 0x5a, 0x4c, 0x32, 0x36, 0x5f, 0x5f, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f,
- 0x66, 0x63, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x5f, 0x32, 0x5f, 0x5a, 0x4c,
- 0x32, 0x36, 0x5f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6d,
- 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x66, 0x63, 0x5f, 0x70, 0x72,
- 0x65, 0x64, 0x5f, 0x33, 0x5f, 0x5a, 0x4c, 0x32, 0x36, 0x5f, 0x5f, 0x6d,
- 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69,
- 0x74, 0x5f, 0x66, 0x63, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x5f, 0x34, 0x6c,
- 0x6c, 0x76, 0x6d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x5a, 0x4c, 0x31, 0x39, 0x6b, 0x55, 0x73,
- 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x55, 0x33, 0x32, 0x5f, 0x5a, 0x4c, 0x31, 0x39, 0x6b, 0x55, 0x73,
- 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x55, 0x31, 0x36, 0x5f, 0x5a, 0x4c, 0x31, 0x38, 0x6b, 0x55, 0x73,
- 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x55, 0x38, 0x5f, 0x5a, 0x4c, 0x31, 0x37, 0x6b, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x33,
- 0x32, 0x5f, 0x5a, 0x31, 0x37, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x33, 0x32, 0x2e, 0x4d,
- 0x54, 0x4c, 0x5f, 0x46, 0x43, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x33,
- 0x5f, 0x62, 0x5f, 0x5a, 0x4c, 0x31, 0x37, 0x6b, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31, 0x36,
- 0x5f, 0x5a, 0x31, 0x37, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
- 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31, 0x36, 0x2e, 0x4d, 0x54,
- 0x4c, 0x5f, 0x46, 0x43, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x32, 0x5f,
- 0x62, 0x5f, 0x5a, 0x31, 0x36, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x38, 0x2e, 0x4d, 0x54,
- 0x4c, 0x5f, 0x46, 0x43, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x31, 0x5f,
- 0x62, 0x5f, 0x5a, 0x32, 0x30, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65,
- 0x64, 0x2e, 0x4d, 0x54, 0x4c, 0x5f, 0x46, 0x43, 0x5f, 0x49, 0x4e, 0x49,
- 0x54, 0x5f, 0x30, 0x5f, 0x62, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x63, 0x6f,
- 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x64, 0x5f,
- 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x5f, 0x73, 0x75, 0x62, 0x5f,
- 0x49, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x67, 0x65, 0x6e,
- 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65,
- 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
- 0x73, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x61,
- 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69,
- 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d,
- 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
+ 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78,
+ 0x5f, 0x69, 0x64, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x76, 0x69, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65,
+ 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+ 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x61, 0x69,
+ 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69,
+ 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x00, 0x00, 0xa6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82,
+ 0x00, 0x0c, 0x23, 0x08, 0x14, 0x34, 0x82, 0x00, 0x10, 0x23, 0x08, 0x40,
+ 0x31, 0x82, 0x00, 0x18, 0x23, 0x08, 0x92, 0x30, 0x82, 0x00, 0x1c, 0x23,
+ 0x08, 0x00, 0x32, 0xc3, 0xe0, 0x05, 0xdf, 0x0c, 0x03, 0x18, 0x08, 0x61,
+ 0x30, 0x43, 0x30, 0xcc, 0x30, 0x78, 0x9e, 0x18, 0xcc, 0x40, 0x10, 0x9e,
+ 0x27, 0x06, 0x33, 0x04, 0xc5, 0x0c, 0x81, 0x31, 0x43, 0x70, 0xcc, 0x10,
+ 0x20, 0x33, 0x04, 0xc9, 0x0c, 0x81, 0x32, 0xc3, 0xb0, 0x30, 0xcd, 0x0c,
+ 0x41, 0x1c, 0xcc, 0x60, 0x88, 0x81, 0xc3, 0x3c, 0x50, 0x34, 0x83, 0x22,
+ 0x06, 0x65, 0x20, 0x06, 0xcd, 0x55, 0x06, 0x61, 0x20, 0x06, 0x58, 0x36,
+ 0x83, 0x04, 0x06, 0xd2, 0x44, 0x06, 0x94, 0x18, 0x80, 0x41, 0x65, 0xd1,
+ 0x81, 0x46, 0x06, 0x5b, 0x19, 0x30, 0x1c, 0xd4, 0xcd, 0x20, 0xcc, 0x41,
+ 0x1d, 0xcc, 0x30, 0x8c, 0x81, 0x1c, 0xd8, 0xc1, 0x69, 0x00, 0xc7, 0x71,
+ 0x1c, 0xc7, 0x71, 0x9c, 0x18, 0xb8, 0x81, 0x85, 0x06, 0x6e, 0x60, 0x59,
+ 0x96, 0x65, 0x59, 0x62, 0xc0, 0xe9, 0x01, 0x3c, 0x98, 0x05, 0x1a, 0xc8,
+ 0x48, 0x60, 0x82, 0x32, 0x62, 0x63, 0xb3, 0x6b, 0x73, 0x69, 0x7b, 0x23,
+ 0xab, 0x63, 0x2b, 0x73, 0x31, 0x63, 0x0b, 0x3b, 0x9b, 0x1b, 0x45, 0x28,
+ 0x03, 0x33, 0x48, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc,
+ 0x8d, 0x6e, 0x94, 0xe0, 0x0c, 0x72, 0x09, 0x4b, 0x93, 0x73, 0xb1, 0x2b,
+ 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x1b, 0x25, 0x40, 0x83, 0xa4, 0xc2, 0xd2,
+ 0xe4, 0x5c, 0xd8, 0xc2, 0xdc, 0xce, 0xea, 0xc2, 0xce, 0xca, 0xbe, 0xec,
+ 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0x46, 0x09, 0xd2, 0x20, 0xa7, 0xb0,
+ 0x34, 0x39, 0x97, 0xb1, 0xb7, 0x36, 0xb8, 0x34, 0xb6, 0xb2, 0xaf, 0x37,
+ 0x38, 0xba, 0xb4, 0x37, 0xb7, 0xb9, 0x51, 0x0c, 0x35, 0x58, 0x03, 0x36,
+ 0x68, 0x03, 0x37, 0x78, 0x83, 0x54, 0xc2, 0xd2, 0xe4, 0x5c, 0xec, 0xca,
+ 0xe4, 0xe8, 0xca, 0xf0, 0x46, 0x09, 0xec, 0x00, 0x00, 0x00, 0xa9, 0x18,
+ 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77,
+ 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0,
+ 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41,
+ 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
+ 0x1d, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0xcc,
+ 0x3c, 0xa4, 0x83, 0x3b, 0x9c, 0x03, 0x3b, 0x94, 0x03, 0x3d, 0xa0, 0x83,
+ 0x3c, 0x94, 0x43, 0x38, 0x90, 0xc3, 0x01, 0x00, 0x00, 0x00, 0x61, 0x20,
+ 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00,
+ 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x66, 0x00, 0xca, 0x80, 0xee,
+ 0x1c, 0x84, 0x41, 0x4c, 0x13, 0xa5, 0x31, 0x02, 0x10, 0x04, 0x41, 0xfc,
+ 0x23, 0x35, 0x03, 0x00, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1c, 0x00,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x0e, 0xc4, 0x1c, 0x00, 0x00,
+ 0x00, 0x00, 0xcf, 0x13, 0x01, 0x00, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f,
+ 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d,
+ 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41,
+ 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x31, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x13, 0x84, 0x2a, 0x99, 0x20, 0x54,
+ 0xca, 0x86, 0x20, 0x0f, 0x36, 0x0c, 0x78, 0xd0, 0x07, 0x7b, 0xb0, 0x61,
+ 0xf0, 0x03, 0x3f, 0xd8, 0x83, 0x0d, 0x03, 0xe6, 0x07, 0x7b, 0xb0, 0xa1,
+ 0xd0, 0x03, 0x3f, 0xd8, 0x03, 0x50, 0xe0, 0x83, 0x0d, 0x43, 0x28, 0x80,
+ 0x02, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x77, 0xd4, 0xd8, 0x6b, 0xc0, 0xa0,
+ 0x80, 0x02, 0x45, 0x06, 0x19, 0x02, 0xc2, 0xd8, 0x6f, 0x50, 0x26, 0x8c,
+ 0x82, 0x54, 0xe6, 0x18, 0x06, 0x44, 0x99, 0x63, 0x08, 0x04, 0x2e, 0x83,
+ 0x80, 0x18, 0x03, 0x00, 0x00, 0x00, 0x5b, 0x06, 0x21, 0xf0, 0x83, 0x2d,
+ 0x43, 0x11, 0x84, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x02,
+ 0xa4, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c,
+ 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0x38, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00,
+ 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x11, 0x00,
+ 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x03,
+ 0x94, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
+ 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x5a, 0x4c, 0x38, 0x67, 0x43, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x73, 0x63,
+ 0x6c, 0x65, 0x61, 0x72, 0x56, 0x53, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65,
+ 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73,
+ 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
- 0x00, 0x00, 0x9c, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
+ 0x00, 0x00, 0xc8, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c,
0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c,
- 0x00, 0x00, 0xdb, 0x02, 0x00, 0x00, 0x0b, 0x02, 0x21, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x27, 0x03, 0x00, 0x00, 0x0b, 0x02, 0x21, 0x00, 0x02, 0x00,
0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8,
0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05,
0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92,
@@ -5516,19 +5776,21 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01,
0xd8, 0xb0, 0x08, 0x02, 0x90, 0x00, 0x0b, 0x50, 0x05, 0x69, 0x00, 0x06,
0x00, 0x00, 0x49, 0x18, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x84,
- 0x40, 0x00, 0x89, 0x20, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x32, 0x22,
+ 0x40, 0x00, 0x89, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x32, 0x22,
0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93,
0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84,
- 0xa4, 0x4c, 0x10, 0x64, 0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40,
+ 0xa4, 0x4c, 0x10, 0x6c, 0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40,
0x62, 0x8e, 0x00, 0x21, 0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x33,
- 0x00, 0xc3, 0x08, 0x42, 0x92, 0x06, 0x6a, 0x10, 0x61, 0x11, 0x86, 0x11,
- 0x88, 0x24, 0x19, 0xc8, 0x49, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0x73, 0x0b,
- 0x01, 0x44, 0x29, 0x10, 0x01, 0x8c, 0x84, 0x86, 0x96, 0xdc, 0x20, 0xc2,
- 0x23, 0x94, 0xa1, 0x01, 0x48, 0x71, 0x20, 0x20, 0x05, 0xc0, 0x1c, 0x01,
- 0x28, 0x0c, 0x22, 0x28, 0xc2, 0x30, 0x02, 0x01, 0x0c, 0x22, 0x24, 0x02,
+ 0x00, 0xc3, 0x08, 0x42, 0x92, 0x03, 0x6a, 0x10, 0x61, 0x11, 0x86, 0x11,
+ 0x88, 0xe4, 0x2e, 0x69, 0x8a, 0x28, 0x61, 0xf2, 0xb7, 0x05, 0x99, 0x5e,
+ 0x16, 0xa5, 0x26, 0xff, 0x01, 0x04, 0x85, 0x18, 0xb0, 0xd0, 0xd4, 0x45,
+ 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0x6f, 0x0b, 0x32, 0xa5, 0x40, 0x04, 0x30,
+ 0x12, 0x2a, 0x16, 0x20, 0x84, 0x0c, 0x22, 0x3c, 0x42, 0x19, 0x1c, 0x80,
+ 0x14, 0x07, 0x02, 0x52, 0x00, 0xcc, 0x11, 0x80, 0xc2, 0x20, 0x82, 0x22,
+ 0x0c, 0x23, 0x10, 0xc0, 0x20, 0x02, 0x21, 0xcc, 0x11, 0x04, 0x53, 0x00,
0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68,
0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78,
- 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68,
+ 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68,
0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78,
0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76,
0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
@@ -5558,296 +5820,20 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x10, 0x07, 0x70, 0x20, 0x07, 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07, 0x72,
0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a,
0x30, 0x07, 0x72, 0xa0, 0xf4, 0x80, 0x10, 0x21, 0x21, 0x64, 0xc8, 0x48,
- 0x91, 0x11, 0x40, 0x23, 0x84, 0x61, 0x0f, 0x61, 0x21, 0x80, 0xe8, 0x65,
- 0x09, 0x10, 0x71, 0x02, 0x23, 0xb0, 0xe3, 0x89, 0x98, 0x65, 0x89, 0x06,
- 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0x48, 0xd4, 0x1d, 0x11, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x48, 0x6c, 0x10,
- 0x28, 0xdc, 0x2d, 0x00, 0x00, 0x90, 0x05, 0x02, 0x00, 0x00, 0x18, 0x00,
+ 0x91, 0x11, 0x40, 0x23, 0x84, 0x61, 0x8d, 0x60, 0x41, 0xa6, 0x97, 0x25,
+ 0x40, 0xc4, 0x09, 0x96, 0xc0, 0x8e, 0x27, 0x62, 0x96, 0x45, 0x1b, 0x08,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x21, 0x51, 0x67, 0x44, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0xb1, 0x41, 0xa0,
+ 0x70, 0xca, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x00, 0x00, 0x19, 0x00,
0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09,
0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02,
- 0x50, 0x40, 0x05, 0x42, 0x75, 0x04, 0xa0, 0x40, 0xe8, 0x8c, 0x00, 0x90,
- 0x1a, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x7f, 0x01, 0x04, 0x41, 0x10, 0xff,
- 0xc6, 0x12, 0x40, 0x10, 0x04, 0xf1, 0x0f, 0x04, 0x41, 0x10, 0xff, 0x85,
- 0xb1, 0x04, 0x10, 0x04, 0x41, 0xfc, 0x17, 0x40, 0x10, 0x04, 0xf1, 0x5f,
- 0x18, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x3f, 0x10, 0x04, 0x41, 0xfc, 0xa3,
- 0x85, 0x06, 0x6b, 0x8e, 0xbd, 0x46, 0x74, 0x2c, 0xa1, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
- 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
- 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
- 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c,
- 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d,
- 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d,
- 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07,
- 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87,
- 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30,
- 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10,
- 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66,
- 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c,
- 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07,
- 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87,
- 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05,
- 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87,
- 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0,
- 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4,
- 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca,
- 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39,
- 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38,
- 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c,
- 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc7, 0x69, 0x87,
- 0x70, 0x58, 0x87, 0x72, 0x70, 0x83, 0x74, 0x68, 0x07, 0x78, 0x60, 0x87,
- 0x74, 0x18, 0x87, 0x74, 0xa0, 0x87, 0x19, 0xce, 0x53, 0x0f, 0xee, 0x00,
- 0x0f, 0xf2, 0x50, 0x0e, 0xe4, 0x90, 0x0e, 0xe3, 0x40, 0x0f, 0xe1, 0x20,
- 0x0e, 0xec, 0x50, 0x0e, 0x33, 0x20, 0x28, 0x1d, 0xdc, 0xc1, 0x1e, 0xc2,
- 0x41, 0x1e, 0xd2, 0x21, 0x1c, 0xdc, 0x81, 0x1e, 0xdc, 0xe0, 0x1c, 0xe4,
- 0xe1, 0x1d, 0xea, 0x01, 0x1e, 0x66, 0x18, 0x51, 0x38, 0xb0, 0x43, 0x3a,
- 0x9c, 0x83, 0x3b, 0xcc, 0x50, 0x24, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07,
- 0x37, 0x60, 0x87, 0x77, 0x78, 0x07, 0x78, 0x98, 0x51, 0x4c, 0xf4, 0x90,
- 0x0f, 0xf0, 0x50, 0x0e, 0x33, 0x1e, 0x6a, 0x1e, 0xca, 0x61, 0x1c, 0xe8,
- 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x7e, 0x01, 0x1e, 0xe4, 0xa1, 0x1c, 0xcc,
- 0x21, 0x1d, 0xf0, 0x61, 0x06, 0x54, 0x85, 0x83, 0x38, 0xcc, 0xc3, 0x3b,
- 0xb0, 0x43, 0x3d, 0xd0, 0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b,
- 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
- 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
- 0x00, 0x00, 0x79, 0x20, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x62, 0x1e,
- 0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40,
- 0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19,
- 0x21, 0x47, 0xc8, 0x90, 0x51, 0xec, 0xb8, 0x15, 0x02, 0x00, 0x8b, 0xd2,
- 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x30, 0x91, 0xd1,
- 0x10, 0xcc, 0xa0, 0x3c, 0x12, 0x42, 0x29, 0x85, 0x12, 0x5d, 0xcb, 0x02,
- 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x76,
- 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x75, 0x69, 0x6e, 0x74,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69,
- 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74,
- 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e,
- 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44, 0x65,
- 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
- 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0xa6, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x82, 0x00, 0x0c, 0x23, 0x08, 0x54, 0x34, 0x82, 0x00,
- 0x10, 0x23, 0x08, 0x40, 0x31, 0x82, 0x00, 0x18, 0x23, 0x08, 0x92, 0x30,
- 0x82, 0x00, 0x1c, 0x23, 0x08, 0x00, 0x32, 0xc3, 0xe0, 0x05, 0xdf, 0x0c,
- 0x03, 0x18, 0x08, 0x61, 0x30, 0x43, 0x30, 0xcc, 0x30, 0x78, 0x9e, 0x18,
- 0xcc, 0x40, 0x10, 0x9e, 0x27, 0x06, 0x33, 0x04, 0xc5, 0x0c, 0x81, 0x31,
- 0x43, 0x70, 0xcc, 0x10, 0x20, 0x33, 0x04, 0xc9, 0x0c, 0x81, 0x32, 0xc3,
- 0xb0, 0x30, 0xcd, 0x0c, 0x41, 0x1c, 0xcc, 0x60, 0x88, 0x81, 0xc3, 0x3c,
- 0x50, 0x34, 0x83, 0x22, 0x06, 0x65, 0x20, 0x06, 0xcd, 0x55, 0x06, 0x61,
- 0x20, 0x06, 0x58, 0x36, 0x83, 0x04, 0x06, 0xd2, 0x44, 0x06, 0x94, 0x18,
- 0x80, 0x41, 0x65, 0xd1, 0x81, 0x46, 0x06, 0x5b, 0x19, 0x30, 0x1c, 0xd4,
- 0xcd, 0x20, 0xcc, 0x41, 0x1d, 0xcc, 0x30, 0x8c, 0x81, 0x1c, 0xd8, 0xc1,
- 0x69, 0x00, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0x9c, 0x18, 0xb8, 0x81, 0x85,
- 0x06, 0x6e, 0x60, 0x59, 0x96, 0x65, 0x59, 0x62, 0xc0, 0xe9, 0x01, 0x3c,
- 0x98, 0x05, 0x1a, 0xc8, 0x48, 0x60, 0x82, 0x32, 0x62, 0x63, 0xb3, 0x6b,
- 0x73, 0x69, 0x7b, 0x23, 0xab, 0x63, 0x2b, 0x73, 0x31, 0x63, 0x0b, 0x3b,
- 0x9b, 0x1b, 0x45, 0x28, 0x03, 0x33, 0x48, 0x85, 0x8d, 0xcd, 0xae, 0xcd,
- 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x94, 0xe0, 0x0c, 0x72, 0x09, 0x4b,
- 0x93, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x1b, 0x25, 0x40,
- 0x83, 0xa4, 0xc2, 0xd2, 0xe4, 0x5c, 0xd8, 0xc2, 0xdc, 0xce, 0xea, 0xc2,
- 0xce, 0xca, 0xbe, 0xec, 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0x46, 0x09,
- 0xd2, 0x20, 0xa7, 0xb0, 0x34, 0x39, 0x97, 0xb1, 0xb7, 0x36, 0xb8, 0x34,
- 0xb6, 0xb2, 0xaf, 0x37, 0x38, 0xba, 0xb4, 0x37, 0xb7, 0xb9, 0x51, 0x0c,
- 0x35, 0x58, 0x03, 0x36, 0x68, 0x03, 0x37, 0x78, 0x83, 0x54, 0xc2, 0xd2,
- 0xe4, 0x5c, 0xec, 0xca, 0xe4, 0xe8, 0xca, 0xf0, 0x46, 0x09, 0xec, 0x00,
- 0x00, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
- 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
- 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
- 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
- 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x07, 0xcc, 0x3c, 0xa4, 0x83, 0x3b, 0x9c, 0x03, 0x3b, 0x94,
- 0x03, 0x3d, 0xa0, 0x83, 0x3c, 0x94, 0x43, 0x38, 0x90, 0xc3, 0x01, 0x00,
- 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x13, 0x04,
- 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x66,
- 0x00, 0xca, 0x80, 0xee, 0x1c, 0x84, 0x41, 0x50, 0x14, 0xa5, 0x31, 0x02,
- 0x10, 0x04, 0x41, 0xfc, 0x23, 0x35, 0x03, 0x00, 0x00, 0x00, 0xf1, 0x30,
- 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x0e,
- 0xc4, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x13, 0x01, 0x00, 0x6f, 0x6d,
- 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61,
- 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20,
- 0x54, 0x42, 0x41, 0x41, 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x31, 0x43, 0x6c,
- 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x13, 0x84,
- 0x2a, 0x99, 0x20, 0x54, 0xca, 0x86, 0x20, 0x0f, 0x36, 0x0c, 0x78, 0xd0,
- 0x07, 0x7b, 0xb0, 0x61, 0xf0, 0x03, 0x3f, 0xd8, 0x83, 0x0d, 0x03, 0xe6,
- 0x07, 0x7b, 0xb0, 0xa1, 0xd0, 0x03, 0x3f, 0xd8, 0x03, 0x50, 0xe0, 0x83,
- 0x0d, 0x43, 0x28, 0x80, 0x02, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x77, 0xd4,
- 0xd8, 0x6b, 0xc8, 0xa2, 0x80, 0x02, 0x45, 0x06, 0x19, 0x02, 0xc2, 0xd8,
- 0x6f, 0x50, 0xa8, 0x8c, 0x82, 0x54, 0xe6, 0x18, 0x06, 0x44, 0x99, 0x63,
- 0x08, 0x84, 0x2e, 0x83, 0x80, 0x18, 0x03, 0x00, 0x00, 0x00, 0x5b, 0x06,
- 0x21, 0xf0, 0x83, 0x2d, 0x43, 0x11, 0x84, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e,
- 0x10, 0x22, 0x84, 0x02, 0xa7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x12, 0x03,
- 0x94, 0x38, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00,
- 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00,
- 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00,
- 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c,
- 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x00,
- 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x17, 0x00,
- 0x00, 0x00, 0x12, 0x03, 0x94, 0xad, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c,
- 0x76, 0x6d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74,
- 0x6f, 0x72, 0x73, 0x5f, 0x5a, 0x4c, 0x38, 0x67, 0x43, 0x6f, 0x72, 0x6e,
- 0x65, 0x72, 0x73, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x56, 0x53, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36,
- 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31,
- 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
- 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
- 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x30, 0x0e,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
- 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10,
- 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0x35, 0x03,
- 0x00, 0x00, 0x0b, 0x02, 0x21, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00,
- 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10,
- 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04,
- 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10,
- 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90,
- 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0x04, 0x49,
- 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83,
- 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x83, 0x00,
- 0x00, 0x00, 0x1b, 0xcc, 0x25, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80,
- 0x03, 0x40, 0x02, 0x2a, 0x62, 0x1c, 0xde, 0x41, 0x1e, 0xe4, 0xa1, 0x1c,
- 0xc6, 0x81, 0x1e, 0xd8, 0x21, 0x1f, 0xda, 0x40, 0x1e, 0xde, 0xa1, 0x1e,
- 0xdc, 0x81, 0x1c, 0xca, 0x81, 0x1c, 0xda, 0x80, 0x1c, 0xd2, 0xc1, 0x1e,
- 0xd2, 0x81, 0x1c, 0xca, 0xa1, 0x0d, 0xe6, 0x21, 0x1e, 0xe4, 0x81, 0x1e,
- 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d,
- 0x00, 0x73, 0x08, 0x07, 0x76, 0x98, 0x87, 0x72, 0x00, 0x08, 0x72, 0x48,
- 0x87, 0x79, 0x08, 0x07, 0x71, 0x60, 0x87, 0x72, 0x68, 0x03, 0x7a, 0x08,
- 0x87, 0x74, 0x60, 0x87, 0x36, 0x18, 0x87, 0x70, 0x60, 0x07, 0x76, 0x98,
- 0x07, 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6, 0xa1, 0x1c, 0x00, 0x82, 0x1d,
- 0xca, 0x61, 0x1e, 0xe6, 0xa1, 0x0d, 0xe0, 0x41, 0x1e, 0xca, 0x61, 0x1c,
- 0xd2, 0x61, 0x1e, 0xca, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0x21, 0x1c,
- 0xc8, 0x01, 0x30, 0x87, 0x70, 0x60, 0x87, 0x79, 0x28, 0x07, 0x80, 0x70,
- 0x87, 0x77, 0x68, 0x03, 0x73, 0x90, 0x87, 0x70, 0x68, 0x87, 0x72, 0x68,
- 0x03, 0x78, 0x78, 0x87, 0x74, 0x70, 0x07, 0x7a, 0x28, 0x07, 0x79, 0x68,
- 0x83, 0x72, 0x60, 0x87, 0x74, 0x68, 0x07, 0x80, 0x1e, 0xe4, 0xa1, 0x1e,
- 0xca, 0x01, 0x18, 0xdc, 0xe1, 0x1d, 0xda, 0xc0, 0x1c, 0xe4, 0x21, 0x1c,
- 0xda, 0xa1, 0x1c, 0xda, 0x00, 0x1e, 0xde, 0x21, 0x1d, 0xdc, 0x81, 0x1e,
- 0xca, 0x41, 0x1e, 0xda, 0xa0, 0x1c, 0xd8, 0x21, 0x1d, 0xda, 0xa1, 0x0d,
- 0xdc, 0xe1, 0x1d, 0xdc, 0xa1, 0x0d, 0xd8, 0xa1, 0x1c, 0xc2, 0xc1, 0x1c,
- 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xd2, 0xc1, 0x1d, 0xcc, 0x61, 0x1e,
- 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d,
- 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68,
- 0x03, 0x75, 0xa8, 0x87, 0x76, 0x80, 0x87, 0x36, 0xa0, 0x87, 0x70, 0x10,
- 0x07, 0x76, 0x28, 0x87, 0x79, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e,
- 0xca, 0x01, 0x20, 0xdc, 0xe1, 0x1d, 0xda, 0xc0, 0x1d, 0xc2, 0xc1, 0x1d,
- 0xe6, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e,
- 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00, 0x08, 0x77, 0x78,
- 0x87, 0x36, 0x98, 0x87, 0x74, 0x38, 0x07, 0x77, 0x28, 0x07, 0x72, 0x68,
- 0x03, 0x7d, 0x28, 0x07, 0x79, 0x78, 0x87, 0x79, 0x68, 0x03, 0x73, 0x80,
- 0x87, 0x36, 0x68, 0x87, 0x70, 0xa0, 0x07, 0x74, 0x00, 0xe8, 0x41, 0x1e,
- 0xea, 0xa1, 0x1c, 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xe8, 0x41, 0x1e,
- 0xc2, 0x01, 0x1e, 0xe0, 0x21, 0x1d, 0xdc, 0xe1, 0x1c, 0xda, 0xa0, 0x1d,
- 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00,
- 0x88, 0x79, 0xa0, 0x87, 0x70, 0x18, 0x87, 0x75, 0x68, 0x03, 0x78, 0x90,
- 0x87, 0x77, 0xa0, 0x87, 0x72, 0x18, 0x07, 0x7a, 0x78, 0x07, 0x79, 0x68,
- 0x03, 0x71, 0xa8, 0x07, 0x73, 0x30, 0x87, 0x72, 0x90, 0x87, 0x36, 0x98,
- 0x87, 0x74, 0xd0, 0x87, 0x72, 0x00, 0xf0, 0x00, 0x20, 0xea, 0xc1, 0x1d,
- 0xe6, 0x21, 0x1c, 0xcc, 0xa1, 0x1c, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d,
- 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28,
- 0x07, 0x80, 0xa8, 0x87, 0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30,
- 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00,
- 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0xd8, 0xb0, 0x08, 0x02,
- 0x90, 0x00, 0x0b, 0x50, 0x05, 0x69, 0x80, 0x06, 0x00, 0x00, 0x49, 0x18,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x84, 0x40, 0x00, 0x89, 0x20,
- 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64,
- 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1,
- 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x7c,
- 0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40, 0x62, 0x8e, 0x00, 0x21,
- 0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x69, 0x00, 0x06, 0x11, 0x12,
- 0x61, 0x06, 0x60, 0x18, 0x41, 0x58, 0xd2, 0x80, 0x0d, 0x22, 0x34, 0xc2,
- 0x30, 0x02, 0xb1, 0xdc, 0x25, 0x4d, 0x11, 0x25, 0x4c, 0xfe, 0xb6, 0x20,
- 0xd3, 0xcb, 0xa2, 0xd4, 0xe4, 0x3f, 0x80, 0xa0, 0x10, 0x03, 0x16, 0x1e,
- 0x4b, 0x02, 0x76, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c,
- 0x29, 0x10, 0x01, 0x8c, 0x84, 0x8a, 0x08, 0x08, 0x21, 0x83, 0x08, 0x92,
- 0x50, 0x06, 0x08, 0x26, 0xd1, 0x81, 0x80, 0x14, 0x00, 0x73, 0x04, 0xa0,
- 0x30, 0x88, 0xc0, 0x08, 0xc3, 0x08, 0x04, 0x30, 0x88, 0x00, 0x08, 0x83,
- 0x08, 0x84, 0x30, 0x47, 0x10, 0x4c, 0x01, 0x00, 0x00, 0x00, 0x13, 0xbe,
- 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
- 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83,
- 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
- 0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70,
- 0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60,
- 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
- 0x07, 0x78, 0xa0, 0x07, 0x78, 0xd0, 0x06, 0xe9, 0x80, 0x07, 0x7a, 0x80,
- 0x07, 0x7a, 0x80, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x10,
- 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x90, 0x0e, 0x73, 0x20,
- 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
- 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40,
- 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0,
- 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60,
- 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x60,
- 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x60,
- 0x0f, 0x72, 0x40, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20,
- 0x07, 0x6d, 0x60, 0x0f, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0,
- 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x74, 0x80, 0x07, 0x7a, 0x60,
- 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x76, 0x40,
- 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60,
- 0x0f, 0x79, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x7a, 0x10,
- 0x07, 0x72, 0x80, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x20, 0x07, 0x78, 0xa0,
- 0x07, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xd0,
- 0x06, 0xf6, 0x10, 0x07, 0x79, 0x20, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60,
- 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x50,
- 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50,
- 0x07, 0x76, 0xd0, 0x06, 0xf6, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50,
- 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x6d, 0x60,
- 0x0f, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x7a, 0x10, 0x07, 0x70, 0x20,
- 0x07, 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x6d, 0xe0,
- 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0,
- 0xf4, 0x80, 0x10, 0x21, 0x21, 0x64, 0xc8, 0x48, 0x91, 0x11, 0x40, 0x23,
- 0x84, 0x61, 0x8d, 0x60, 0x41, 0xa6, 0x97, 0x25, 0x40, 0xc4, 0x09, 0x96,
- 0xc0, 0x8e, 0x27, 0xb2, 0x92, 0xe5, 0x1a, 0x06, 0x00, 0x00, 0x02, 0x00,
- 0x00, 0x80, 0x1d, 0xcf, 0x19, 0x30, 0xcd, 0xc2, 0x0d, 0x04, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0xc0, 0x90, 0x68, 0x0e, 0x0c, 0x0a, 0x00, 0x80, 0x00,
- 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x24, 0x36, 0x08, 0x14, 0xbe,
- 0x19, 0x00, 0x00, 0xc8, 0x02, 0x01, 0x1d, 0x00, 0x00, 0x00, 0x32, 0x1e,
- 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
- 0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02, 0x50, 0x50, 0x05, 0x51,
- 0x40, 0x85, 0x54, 0x4a, 0xc5, 0x44, 0x64, 0x04, 0xa0, 0x08, 0x08, 0x8f,
- 0x00, 0x14, 0x50, 0x21, 0x95, 0x52, 0x31, 0xd1, 0x19, 0x01, 0xa0, 0x34,
- 0x96, 0x21, 0x04, 0x80, 0x30, 0x04, 0xc4, 0xc6, 0x12, 0x40, 0x10, 0x04,
- 0xf1, 0x5f, 0x00, 0x41, 0x10, 0xc4, 0xbf, 0xb1, 0x04, 0x10, 0x04, 0x41,
- 0xfc, 0x03, 0x41, 0x10, 0xc4, 0x7f, 0x61, 0x2c, 0x01, 0x04, 0x41, 0x10,
- 0xff, 0x05, 0x10, 0x04, 0x41, 0xfc, 0x17, 0xc6, 0x12, 0x40, 0x10, 0x04,
- 0xf1, 0x0f, 0x04, 0x41, 0x10, 0xff, 0xa8, 0xa1, 0x71, 0x71, 0xbe, 0x1a,
- 0xd3, 0x1d, 0x4b, 0x68, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x50, 0x40, 0x05, 0x51, 0x06, 0x05, 0x53, 0x38, 0xa5, 0x53, 0x3c, 0x44,
+ 0x46, 0x00, 0x8a, 0x80, 0xea, 0x08, 0x40, 0xc1, 0x14, 0x4e, 0xe9, 0x14,
+ 0x0f, 0x9d, 0x11, 0x00, 0x52, 0x63, 0x09, 0x20, 0x08, 0x82, 0xf8, 0x2f,
+ 0x80, 0x20, 0x08, 0xe2, 0xbf, 0x30, 0x96, 0x00, 0x82, 0x20, 0x48, 0x82,
+ 0x01, 0x08, 0x82, 0x20, 0xfe, 0x0b, 0x63, 0x09, 0x20, 0x08, 0x82, 0xf8,
+ 0x2f, 0x80, 0x20, 0x08, 0x92, 0x60, 0x40, 0x0b, 0x07, 0x7b, 0x31, 0xd1,
+ 0xb1, 0x84, 0x86, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -5884,159 +5870,153 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x38, 0xcc, 0xc3, 0x3b, 0xb0, 0x43, 0x3d, 0xd0, 0x43, 0x39, 0xfc, 0xc2,
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
- 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x20, 0x00, 0x00, 0xfc, 0x00,
+ 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x20, 0x00, 0x00, 0xfd, 0x00,
0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19,
0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14,
0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90, 0x51, 0x34, 0x03, 0x32,
- 0x58, 0x27, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0x50, 0x27, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x30, 0x91, 0xc1, 0x20, 0xd1, 0x62, 0x24, 0x0d, 0x31, 0x28, 0x8f,
0x84, 0x50, 0xcc, 0x80, 0x10, 0x0c, 0xc4, 0x44, 0x97, 0x72, 0x00, 0x00,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33,
+ 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65,
- 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72,
- 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x66, 0x6c, 0x6f, 0x61, 0x74,
- 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69,
- 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x75,
- 0x69, 0x6e, 0x74, 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
- 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
- 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
- 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43,
- 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c,
- 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c,
- 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46,
- 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59,
- 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x00, 0x46, 0x5a,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x00, 0x10, 0x23, 0x08,
- 0x17, 0x37, 0x82, 0x00, 0x14, 0x23, 0x08, 0x80, 0x31, 0x82, 0x00, 0x1c,
- 0x23, 0x08, 0xd5, 0x30, 0x82, 0x00, 0x20, 0x23, 0x08, 0x40, 0x32, 0x82,
- 0x00, 0x28, 0x23, 0x08, 0xc0, 0x32, 0x82, 0x00, 0x30, 0x23, 0x08, 0x40,
- 0x33, 0xc3, 0x70, 0x06, 0x01, 0x1a, 0xcc, 0x30, 0xa4, 0x81, 0xa0, 0x06,
- 0x33, 0x04, 0xc3, 0x0c, 0xc3, 0x19, 0x9c, 0xc1, 0x1a, 0xcc, 0x40, 0x10,
- 0x67, 0x70, 0x06, 0x6b, 0x30, 0x43, 0x50, 0xcc, 0x10, 0x18, 0x33, 0x04,
- 0xc7, 0x0c, 0x01, 0x32, 0x43, 0x90, 0xcc, 0x10, 0x28, 0x33, 0x14, 0x0b,
- 0xd3, 0x38, 0xcf, 0x0c, 0x06, 0x14, 0x31, 0x92, 0x33, 0xcd, 0x20, 0xf8,
- 0xc1, 0x1f, 0xcc, 0x60, 0xac, 0x01, 0xc5, 0x54, 0x8e, 0x35, 0x43, 0xb6,
- 0x06, 0x6e, 0xa0, 0x06, 0x12, 0xf7, 0x06, 0x6a, 0xb0, 0x06, 0x9d, 0x07,
- 0x07, 0x69, 0xb0, 0x06, 0x1f, 0x18, 0xc4, 0x41, 0x1a, 0xac, 0xc1, 0x17,
- 0x06, 0x72, 0x90, 0x06, 0x6b, 0xf0, 0x89, 0xc1, 0x0c, 0x52, 0x1a, 0x5c,
- 0x58, 0x1b, 0x64, 0x6b, 0x90, 0x06, 0xda, 0x26, 0x0a, 0x63, 0xd0, 0x06,
- 0x64, 0xe0, 0x06, 0x4c, 0x19, 0x38, 0x66, 0x30, 0x83, 0x10, 0x0a, 0xa3,
- 0x30, 0xc3, 0xc0, 0x06, 0xa0, 0x40, 0x0a, 0xf7, 0x01, 0x1c, 0xc7, 0x71,
- 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0x6e, 0xe0, 0x06, 0x16, 0x1d, 0xe8,
- 0x81, 0x65, 0x59, 0x96, 0x65, 0xb9, 0x01, 0x1d, 0xa0, 0x81, 0x1e, 0xc8,
- 0x88, 0x5f, 0xa0, 0x81, 0x8c, 0x04, 0x26, 0x28, 0x23, 0x36, 0x36, 0xbb,
- 0x36, 0x97, 0xb6, 0x37, 0xb2, 0x3a, 0xb6, 0x32, 0x17, 0x33, 0xb6, 0xb0,
- 0xb3, 0xb9, 0x51, 0x04, 0x39, 0x98, 0x83, 0x54, 0xd8, 0xd8, 0xec, 0xda,
- 0x5c, 0xd2, 0xc8, 0xca, 0xdc, 0xe8, 0x46, 0x09, 0xe8, 0x20, 0x97, 0xb0,
- 0x34, 0x39, 0x17, 0xbb, 0x32, 0xb9, 0xb9, 0xb4, 0x37, 0xb7, 0x51, 0x82,
- 0x3a, 0x48, 0x2a, 0x2c, 0x4d, 0xce, 0x85, 0x2d, 0xcc, 0xed, 0xac, 0x2e,
- 0xec, 0xac, 0xec, 0xcb, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, 0x94,
- 0xc0, 0x0e, 0x72, 0x0a, 0x4b, 0x93, 0x73, 0x19, 0x7b, 0x6b, 0x83, 0x4b,
- 0x63, 0x2b, 0xfb, 0x7a, 0x83, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x1b, 0xc5,
- 0xb8, 0x03, 0x3c, 0xc8, 0x03, 0x3d, 0xd8, 0x03, 0x3e, 0x48, 0x25, 0x2c,
- 0x4d, 0xce, 0xc5, 0xae, 0x4c, 0x8e, 0xae, 0x0c, 0x6f, 0x94, 0x80, 0x14,
- 0x00, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
- 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
- 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
- 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
- 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x07, 0xcc, 0x3c, 0xa4, 0x83, 0x3b, 0x9c, 0x03, 0x3b, 0x94,
- 0x03, 0x3d, 0xa0, 0x83, 0x3c, 0x94, 0x43, 0x38, 0x90, 0xc3, 0x01, 0x00,
- 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x13, 0x04,
- 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x66,
- 0x00, 0xca, 0x80, 0x70, 0x09, 0x90, 0x9e, 0x83, 0x38, 0x8a, 0xef, 0x1b,
- 0x8b, 0x00, 0x02, 0xe3, 0xa0, 0x35, 0x03, 0x30, 0x02, 0x30, 0x46, 0x00,
- 0x82, 0x20, 0x88, 0x7f, 0x63, 0x04, 0x20, 0x08, 0x82, 0x20, 0x28, 0x10,
- 0x9b, 0x01, 0xa0, 0x37, 0x07, 0x41, 0x06, 0x64, 0x50, 0x06, 0x66, 0x40,
- 0x70, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x26, 0x00,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78,
+ 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28,
+ 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32,
+ 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69, 0x72,
+ 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x75, 0x69,
+ 0x6e, 0x74, 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
+ 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e,
+ 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f,
+ 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75,
+ 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c,
+ 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64,
+ 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x00, 0x00, 0x06, 0x5c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x00, 0x0c, 0x23, 0x08,
+ 0x94, 0x36, 0x82, 0x00, 0x10, 0x23, 0x08, 0x40, 0x31, 0x82, 0x00, 0x18,
+ 0x23, 0x08, 0x92, 0x30, 0x82, 0x00, 0x1c, 0x23, 0x08, 0x00, 0x32, 0x82,
+ 0x00, 0x24, 0x23, 0x08, 0x80, 0x32, 0x82, 0x00, 0x2c, 0x23, 0x08, 0x00,
+ 0x33, 0x82, 0x00, 0x34, 0x33, 0x0c, 0x67, 0x10, 0xa0, 0xc1, 0x0c, 0x43,
+ 0x1a, 0x08, 0x6a, 0x30, 0x43, 0x30, 0xcc, 0x30, 0x9c, 0xc1, 0x19, 0xac,
+ 0xc1, 0x0c, 0x04, 0x71, 0x06, 0x67, 0xb0, 0x06, 0x33, 0x04, 0xc5, 0x0c,
+ 0x81, 0x31, 0x43, 0x70, 0xcc, 0x10, 0x20, 0x33, 0x04, 0xc9, 0x0c, 0x81,
+ 0x32, 0x43, 0xb1, 0x30, 0x8d, 0xf3, 0xcc, 0x60, 0x40, 0x11, 0x23, 0x39,
+ 0xd3, 0x0c, 0xc2, 0x1f, 0x80, 0xc2, 0x0c, 0xc6, 0x1a, 0x50, 0x4c, 0xe5,
+ 0x58, 0x33, 0x64, 0x6b, 0xe0, 0x06, 0x6f, 0x20, 0x71, 0x70, 0xa0, 0x06,
+ 0x6b, 0xd0, 0x79, 0x71, 0x90, 0x06, 0x6b, 0xf0, 0x81, 0x81, 0x1c, 0xa4,
+ 0xc1, 0x1a, 0x7c, 0x61, 0x30, 0x07, 0x69, 0xb0, 0x06, 0x9f, 0x18, 0xcc,
+ 0x20, 0xa5, 0xc1, 0x85, 0xb5, 0x41, 0xb6, 0x06, 0x69, 0xa0, 0x6d, 0xa3,
+ 0x30, 0x06, 0x6d, 0x40, 0x06, 0x6e, 0xc0, 0x94, 0x81, 0x63, 0x06, 0x33,
+ 0x08, 0xa2, 0x40, 0x0a, 0x33, 0x0c, 0x6c, 0x10, 0x0a, 0xa5, 0x70, 0x60,
+ 0x00, 0x70, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0x6e,
+ 0xe0, 0x06, 0x16, 0x1d, 0xe8, 0x81, 0x65, 0x59, 0x96, 0x65, 0xb9, 0x01,
+ 0x1d, 0xa0, 0x81, 0x1e, 0xc8, 0x88, 0x5f, 0xa0, 0x81, 0x8c, 0x04, 0x26,
+ 0x28, 0x23, 0x36, 0x36, 0xbb, 0x36, 0x97, 0xb6, 0x37, 0xb2, 0x3a, 0xb6,
+ 0x32, 0x17, 0x33, 0xb6, 0xb0, 0xb3, 0xb9, 0x51, 0x84, 0x39, 0xa0, 0x83,
+ 0x54, 0xd8, 0xd8, 0xec, 0xda, 0x5c, 0xd2, 0xc8, 0xca, 0xdc, 0xe8, 0x46,
+ 0x09, 0xea, 0x20, 0x97, 0xb0, 0x34, 0x39, 0x17, 0xbb, 0x32, 0xb9, 0xb9,
+ 0xb4, 0x37, 0xb7, 0x51, 0x02, 0x3b, 0x48, 0x2a, 0x2c, 0x4d, 0xce, 0x85,
+ 0x2d, 0xcc, 0xed, 0xac, 0x2e, 0xec, 0xac, 0xec, 0xcb, 0xae, 0x4c, 0x6e,
+ 0x2e, 0xed, 0xcd, 0x6d, 0x94, 0xe0, 0x0e, 0x72, 0x0a, 0x4b, 0x93, 0x73,
+ 0x19, 0x7b, 0x6b, 0x83, 0x4b, 0x63, 0x2b, 0xfb, 0x7a, 0x83, 0xa3, 0x4b,
+ 0x7b, 0x73, 0x9b, 0x1b, 0xc5, 0xc0, 0x83, 0x3c, 0xd0, 0x83, 0x3d, 0xe0,
+ 0x83, 0x3e, 0x48, 0x25, 0x2c, 0x4d, 0xce, 0xc5, 0xae, 0x4c, 0x8e, 0xae,
+ 0x0c, 0x6f, 0x94, 0xa0, 0x14, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00,
+ 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58,
+ 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3,
+ 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d,
+ 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0xd1, 0x10,
+ 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0xcc, 0x3c, 0xa4, 0x83, 0x3b,
+ 0x9c, 0x03, 0x3b, 0x94, 0x03, 0x3d, 0xa0, 0x83, 0x3c, 0x94, 0x43, 0x38,
+ 0x90, 0xc3, 0x01, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x13, 0x04, 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x0d, 0x00,
+ 0x00, 0x00, 0x04, 0x66, 0x00, 0xa8, 0x96, 0x00, 0xdd, 0x39, 0x08, 0x83,
+ 0xe8, 0xba, 0xb1, 0x08, 0x20, 0x30, 0x0e, 0x4a, 0x33, 0x00, 0x23, 0x00,
+ 0x63, 0x04, 0x20, 0x08, 0x82, 0xf8, 0x37, 0x46, 0x00, 0x82, 0x20, 0x08,
+ 0x82, 0x02, 0xa9, 0x19, 0x00, 0x6a, 0x73, 0x10, 0x61, 0x10, 0x06, 0x62,
+ 0x30, 0x06, 0xe4, 0x66, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x25, 0x00,
0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x0e, 0x84, 0x1c, 0x00, 0x00,
0x00, 0x00, 0xcf, 0x03, 0x01, 0x00, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f,
0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d,
0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41,
0x5f, 0x5a, 0x54, 0x53, 0x31, 0x30, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61,
- 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x13, 0x04, 0x0c, 0x9a, 0x20, 0x60,
- 0xd1, 0x04, 0x01, 0x93, 0x26, 0x08, 0xd8, 0x34, 0x41, 0xc0, 0xa8, 0x09,
- 0x02, 0xe1, 0x4c, 0x10, 0x88, 0x67, 0x43, 0x70, 0x0a, 0x1b, 0x06, 0x53,
- 0x80, 0x85, 0x54, 0xd8, 0x30, 0xc4, 0x42, 0x2c, 0xa4, 0xc2, 0x86, 0xa1,
- 0x8b, 0x85, 0x54, 0xd8, 0x30, 0xcc, 0xc2, 0x2c, 0xa4, 0xc2, 0x86, 0xe1,
- 0x8b, 0x85, 0x54, 0xd8, 0xb0, 0xa0, 0x42, 0x2c, 0xa4, 0xc2, 0x2c, 0xa8,
- 0x42, 0x2d, 0xac, 0x42, 0x2d, 0xb0, 0x42, 0x2d, 0xb4, 0xc2, 0x86, 0xc1,
- 0x16, 0x6a, 0x81, 0x15, 0x36, 0x08, 0xae, 0xf0, 0x0a, 0x00, 0xe7, 0xe0,
- 0xd8, 0x6d, 0x50, 0x03, 0x2e, 0xa0, 0x80, 0x91, 0x41, 0x86, 0xc0, 0x60,
- 0x06, 0x19, 0x02, 0x83, 0xd9, 0x69, 0x78, 0x03, 0x30, 0x28, 0x28, 0x00,
- 0xe3, 0x02, 0x2c, 0x5b, 0x12, 0xd5, 0x18, 0xb0, 0x41, 0x40, 0x01, 0x23,
- 0x5b, 0x0e, 0x57, 0x19, 0x54, 0x14, 0x90, 0x30, 0xdc, 0x10, 0xa4, 0x01,
- 0x18, 0xcc, 0x32, 0x04, 0x42, 0x30, 0x86, 0xb0, 0xcc, 0x81, 0x49, 0x41,
- 0xf8, 0xcf, 0x31, 0x2c, 0x41, 0x36, 0x4b, 0x20, 0x0c, 0x54, 0x3c, 0x18,
- 0x20, 0x04, 0xb3, 0x0d, 0x52, 0x00, 0xcc, 0x36, 0x04, 0x49, 0x90, 0x41,
- 0x40, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x5b, 0x06, 0x21, 0x88, 0x85, 0x2d,
- 0x83, 0x11, 0xcc, 0xc2, 0x96, 0x21, 0x09, 0x62, 0x61, 0x4b, 0xb1, 0x04,
- 0xb6, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20,
- 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x03,
- 0xde, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c,
- 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0x70, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x0a, 0x00,
- 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00,
- 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00,
- 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x11, 0x00,
- 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x16, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x27, 0x00,
- 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0c, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x12, 0x03,
- 0x94, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
- 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
- 0x5a, 0x4c, 0x31, 0x37, 0x67, 0x54, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72,
- 0x64, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x5a, 0x4c,
- 0x38, 0x67, 0x43, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x73, 0x62, 0x6c, 0x69,
- 0x74, 0x56, 0x53, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e,
- 0x31, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65,
- 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2d, 0x73,
- 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x13, 0x84, 0x0a, 0x9a, 0x20, 0x54,
+ 0xd1, 0x04, 0xa1, 0x92, 0x26, 0x08, 0xd5, 0x34, 0x41, 0xa8, 0xa8, 0x09,
+ 0x02, 0xe1, 0x4c, 0x10, 0x88, 0x67, 0x43, 0x80, 0x0a, 0x1b, 0x86, 0x53,
+ 0x88, 0x05, 0x55, 0xd8, 0x30, 0xc8, 0x82, 0x2c, 0xa8, 0xc2, 0x86, 0xa1,
+ 0x93, 0x05, 0x55, 0xd8, 0x30, 0x7c, 0xb2, 0xa0, 0x0a, 0x1b, 0x96, 0x54,
+ 0x90, 0x05, 0x55, 0xa0, 0x85, 0x55, 0xa8, 0x05, 0x56, 0xa8, 0x85, 0x56,
+ 0xa8, 0x05, 0x57, 0xd8, 0x30, 0xd8, 0x42, 0x2d, 0xb4, 0xc2, 0x06, 0xe1,
+ 0x15, 0x60, 0x01, 0x00, 0x00, 0x00, 0xd7, 0xd4, 0xd8, 0x6b, 0x40, 0x83,
+ 0x2c, 0xa0, 0x40, 0x91, 0x41, 0x86, 0xc0, 0x60, 0x06, 0x19, 0x02, 0x83,
+ 0xd9, 0x8f, 0x88, 0xba, 0x33, 0x28, 0x28, 0x50, 0x64, 0xbf, 0x61, 0xfa,
+ 0xcc, 0x80, 0x02, 0x12, 0x86, 0x1b, 0x82, 0x31, 0x00, 0x83, 0x59, 0x86,
+ 0x40, 0x08, 0xc6, 0x10, 0x10, 0x37, 0xb0, 0x27, 0x08, 0xff, 0x39, 0x06,
+ 0x24, 0xb0, 0x66, 0x09, 0x84, 0x81, 0x8a, 0x46, 0x02, 0x84, 0x60, 0xb6,
+ 0xe1, 0x09, 0x80, 0xd9, 0x86, 0x20, 0x09, 0x32, 0x08, 0x88, 0x01, 0x00,
+ 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x5b, 0x06, 0x21, 0x90, 0x85, 0x2d,
+ 0x83, 0x11, 0xc8, 0xc2, 0x96, 0x02, 0x09, 0x6c, 0x81, 0xb8, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x02, 0xd5, 0x05, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x29, 0x00,
+ 0x00, 0x00, 0x12, 0x03, 0x94, 0x38, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x44, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x98, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x1f, 0x00,
+ 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x49, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x06, 0x00,
+ 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c,
+ 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0xa9, 0x00, 0x00,
+ 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61,
+ 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x5a, 0x4c, 0x38, 0x67,
+ 0x43, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x73, 0x62, 0x6c, 0x69, 0x74, 0x56,
+ 0x53, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x61, 0x69, 0x72, 0x36,
+ 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31,
+ 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
+ 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
- 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
+ 0x00, 0x00, 0x08, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c,
0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c,
0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x0b, 0x02, 0x21, 0x00, 0x02, 0x00,
@@ -6099,7 +6079,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0xc3, 0x08, 0x44, 0x52, 0x02, 0xa5, 0x1d, 0x08, 0x48, 0x01, 0x00, 0x00,
0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68,
0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78,
- 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68,
+ 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68,
0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78,
0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76,
0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
@@ -6135,7 +6115,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x21, 0x01, 0x00, 0x80, 0x2c, 0x10, 0x08, 0x00, 0x00, 0x00, 0x32, 0x1e,
0x98, 0x10, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
0x43, 0x82, 0x22, 0x28, 0x81, 0x42, 0x18, 0x01, 0xa0, 0x1b, 0x01, 0x20,
- 0x1f, 0x4b, 0x68, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x1f, 0x4b, 0x68, 0x08, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -6175,35 +6155,35 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x20, 0x00, 0x00, 0x8d, 0x00,
0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19,
0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14,
- 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90, 0x51, 0x6c, 0x20, 0x53,
- 0x01, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90, 0x51, 0x6c, 0xa0, 0x52,
+ 0x01, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x44, 0x91, 0x01, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
- 0x6f, 0x61, 0x74, 0x34, 0x00, 0x00, 0x23, 0x08, 0x80, 0x30, 0x82, 0xe0,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x34, 0x00, 0x00, 0x00, 0x23, 0x08, 0x80, 0x30, 0x82, 0xe0,
0x1c, 0x23, 0x08, 0xc0, 0x30, 0x82, 0x00, 0x10, 0x23, 0x08, 0x40, 0x31,
0x82, 0xc0, 0x04, 0x33, 0x0c, 0x4e, 0xf0, 0xcc, 0x30, 0x40, 0x42, 0x34,
0x43, 0x30, 0xcc, 0x30, 0x38, 0x8e, 0x34, 0x03, 0x41, 0x38, 0x8e, 0x34,
@@ -6233,26 +6213,26 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x01, 0xbb, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x23, 0x00,
0x00, 0x00, 0x12, 0x03, 0x94, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00,
+ 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x44, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1f, 0x00,
- 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00,
+ 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0xa1, 0x00, 0x00,
+ 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0x7e, 0x00, 0x00,
0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61,
0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x75, 0x6d, 0x6d, 0x79,
- 0x46, 0x53, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31,
- 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d,
- 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2d, 0x73, 0x69,
- 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x46, 0x53, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x61, 0x69, 0x72,
+ 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73,
+ 0x31, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c,
+ 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
- 0x00, 0x00, 0x78, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
+ 0x00, 0x00, 0x74, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c,
0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c,
0x00, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x0b, 0x02, 0x21, 0x00, 0x02, 0x00,
@@ -6319,7 +6299,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x73, 0x04, 0xa0, 0x30, 0x88, 0xa0, 0x08, 0x00, 0x00, 0x00, 0x13, 0xbe,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83,
- 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
+ 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70,
0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60,
0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
@@ -6355,7 +6335,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x2c, 0x10, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x42, 0x72, 0x04, 0x80, 0xce,
- 0x08, 0x00, 0xc5, 0xb1, 0x84, 0x06, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18,
+ 0x08, 0x00, 0xc5, 0xb1, 0x84, 0x86, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -6396,49 +6376,49 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88,
0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68,
0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90,
- 0x51, 0xd4, 0x30, 0xfc, 0x01, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
+ 0x51, 0xd4, 0xb0, 0xfb, 0x01, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0xa1, 0x3c, 0x12, 0x42, 0x29,
0x85, 0x12, 0x5d, 0x0b, 0xb3, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
- 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61,
- 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73,
- 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69,
- 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f,
- 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44,
- 0x65, 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61,
- 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x23, 0x08, 0x80, 0x30, 0x82, 0x10,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69,
+ 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74,
+ 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44, 0x65,
+ 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
+ 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x23, 0x08, 0x80, 0x30, 0x82, 0x10,
0x29, 0x23, 0x08, 0xc0, 0x30, 0x82, 0x00, 0x10, 0x23, 0x08, 0x40, 0x31,
0x82, 0xf0, 0x04, 0x23, 0x08, 0x80, 0x31, 0x82, 0x00, 0x1c, 0x33, 0x0c,
0x5b, 0xc0, 0xcd, 0x30, 0x74, 0x82, 0x37, 0x43, 0x30, 0xcc, 0x30, 0x6c,
@@ -6479,26 +6459,26 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x01,
0x80, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c,
0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0x20, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0a, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x00,
0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00,
- 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,
0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00,
- 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x03,
- 0x94, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
+ 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x03,
+ 0x94, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x63,
- 0x6c, 0x65, 0x61, 0x72, 0x46, 0x53, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e,
- 0x35, 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70,
- 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e,
- 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00,
+ 0x6c, 0x65, 0x61, 0x72, 0x46, 0x53, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65,
+ 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73,
+ 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
- 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x48, 0x0f,
+ 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x44, 0x0f,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10,
0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0x6c, 0x03,
@@ -6554,7 +6534,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00,
0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0xd8, 0x60, 0x08, 0x03,
0xb0, 0x00, 0xd5, 0x86, 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48,
- 0x03, 0x34, 0xd8, 0xa0, 0x10, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x6d,
+ 0x03, 0x30, 0xd8, 0xa0, 0x10, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x6d,
0x00, 0xac, 0x01, 0x20, 0x01, 0xd5, 0x06, 0xa3, 0x08, 0x80, 0x05, 0xa8,
0x36, 0x18, 0x86, 0x00, 0x2c, 0x40, 0xb5, 0xc1, 0x38, 0xfe, 0xff, 0xff,
0xff, 0x7f, 0x00, 0x24, 0x80, 0x02, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00,
@@ -6567,7 +6547,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0xc7, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x24, 0xc2, 0x0c, 0xc0, 0x30, 0x02,
0xb1, 0x0c, 0x23, 0x08, 0xcb, 0x51, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xff,
0x13, 0x71, 0x4d, 0x54, 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0,
- 0x20, 0x82, 0x13, 0x24, 0x41, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9,
+ 0x20, 0x82, 0x13, 0xe4, 0x40, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9,
0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c, 0x84, 0x0a, 0x08, 0x20, 0x08,
0x62, 0x10, 0x21, 0x12, 0x4a, 0xc1, 0x30, 0xcd, 0x23, 0xd1, 0x64, 0x04,
0x86, 0xb8, 0x48, 0x9a, 0x22, 0x4a, 0x98, 0xfc, 0x5f, 0x02, 0x98, 0x67,
@@ -6577,7 +6557,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x84, 0x41, 0x04, 0x42, 0x18, 0x46, 0x20, 0x00, 0x00, 0x13, 0xbe,
0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83,
- 0x39, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
+ 0x39, 0x70, 0x03, 0x3a, 0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87,
0x76, 0xa8, 0x07, 0x76, 0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70,
0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60,
0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0,
@@ -6615,11 +6595,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x00, 0x00, 0x48, 0x6c, 0x10, 0x28, 0xec, 0x36, 0x00, 0x00,
0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e,
0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
- 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xaa,
- 0x20, 0x0a, 0xa8, 0x90, 0x4a, 0xa9, 0x98, 0x88, 0x18, 0x01, 0x28, 0x02,
+ 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xa8,
+ 0x20, 0x0a, 0xa6, 0x70, 0x4a, 0xa7, 0x78, 0x88, 0x18, 0x01, 0x28, 0x02,
0x4a, 0xea, 0xdd, 0xfa, 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60,
- 0x04, 0xa0, 0x80, 0x0a, 0xa9, 0x94, 0x8a, 0x89, 0x8e, 0x11, 0x00, 0xfa,
- 0xc6, 0x12, 0x1a, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x04, 0xa0, 0x60, 0x0a, 0xa7, 0x74, 0x8a, 0x87, 0x8e, 0x11, 0x00, 0xfa,
+ 0xc6, 0x12, 0x1a, 0x02, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -6660,68 +6640,68 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19,
0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14,
0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90, 0x51, 0x64, 0x03, 0x34,
- 0x00, 0x2f, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0xf8, 0x2d, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x44, 0x91, 0xc1, 0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b,
0xa4, 0x60, 0x8a, 0xf2, 0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1,
0xa5, 0x1c, 0x11, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
- 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72,
- 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67,
- 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73,
- 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72,
- 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f,
- 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75,
- 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e,
- 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
- 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73,
- 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78,
- 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
- 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74,
- 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c,
- 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
- 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70,
- 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
- 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x86, 0x6c, 0x00, 0x00, 0x00, 0x00,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65,
+ 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72,
+ 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73,
+ 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+ 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61,
+ 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74,
+ 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54,
+ 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73,
+ 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73,
+ 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64,
+ 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f,
+ 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
+ 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
+ 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x86, 0x6c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x82, 0x00, 0x14, 0x23, 0x08, 0x5f, 0x36, 0x82, 0x00,
0x18, 0x23, 0x08, 0xc0, 0x31, 0x82, 0x00, 0x20, 0x23, 0x08, 0x94, 0x30,
0x82, 0x00, 0x24, 0x23, 0x08, 0x80, 0x32, 0x82, 0x00, 0x2c, 0x23, 0x08,
@@ -6733,7 +6713,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x33, 0x14, 0x4b, 0x1c, 0xc4, 0x01, 0xd3, 0xcc, 0x10, 0x98, 0xc2, 0x0c,
0x48, 0x1c, 0x38, 0x0f, 0xc4, 0x34, 0x91, 0x34, 0x43, 0xf2, 0x06, 0x13,
0xf5, 0x54, 0x8c, 0x15, 0x5d, 0x33, 0x28, 0x6d, 0x80, 0x65, 0x71, 0xf0,
- 0x06, 0x1a, 0xb3, 0x45, 0xdc, 0x0c, 0x59, 0x1c, 0xd4, 0x01, 0x1c, 0x58,
+ 0x06, 0x1a, 0xb3, 0x45, 0xdc, 0x0c, 0x59, 0x1c, 0xd4, 0xc1, 0x1c, 0x58,
0x61, 0x60, 0x07, 0x70, 0x10, 0x07, 0x62, 0x30, 0x06, 0x77, 0xf0, 0x06,
0x71, 0x40, 0x06, 0x65, 0x80, 0x07, 0x6f, 0x10, 0x07, 0x64, 0x60, 0x06,
0x79, 0xf0, 0x06, 0x71, 0x40, 0x06, 0x67, 0x30, 0x83, 0x34, 0x07, 0x9d,
@@ -6796,11 +6776,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x10, 0x22, 0x84, 0x02, 0x98, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x12, 0x03,
0x94, 0xa8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00,
- 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00,
0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x24, 0x00,
+ 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x24, 0x00,
0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24,
@@ -6812,8 +6792,8 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x25, 0x00,
- 0x00, 0x00, 0x12, 0x03, 0x94, 0x25, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x6c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x24, 0x00,
+ 0x00, 0x00, 0x12, 0x03, 0x94, 0x22, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x6c,
0x76, 0x6d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74,
0x6f, 0x72, 0x73, 0x5f, 0x5f, 0x61, 0x69, 0x72, 0x5f, 0x73, 0x61, 0x6d,
0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x62, 0x6c,
@@ -6821,12 +6801,12 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32,
0x64, 0x2e, 0x76, 0x34, 0x66, 0x33, 0x32, 0x61, 0x69, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2e, 0x66, 0x2e, 0x66, 0x33, 0x32,
- 0x2e, 0x73, 0x2e, 0x69, 0x33, 0x32, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e,
- 0x35, 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70,
- 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e,
- 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00,
+ 0x2e, 0x73, 0x2e, 0x69, 0x33, 0x32, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65,
+ 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73,
+ 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
- 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x94, 0x0f,
+ 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x90, 0x0f,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10,
0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0x7b, 0x03,
@@ -6882,7 +6862,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00,
0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0xd8, 0x60, 0x08, 0x03,
0xb0, 0x00, 0xd5, 0x86, 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48,
- 0x03, 0x34, 0xd8, 0xa0, 0x10, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x6d,
+ 0x03, 0x30, 0xd8, 0xa0, 0x10, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x6d,
0x00, 0xac, 0x01, 0x20, 0x01, 0xd5, 0x06, 0xa3, 0x08, 0x80, 0x05, 0xa8,
0x36, 0x18, 0x86, 0x00, 0x2c, 0x40, 0xb5, 0xc1, 0x38, 0xfe, 0xff, 0xff,
0xff, 0x7f, 0x00, 0x24, 0x80, 0x02, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00,
@@ -6895,7 +6875,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0xc7, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x24, 0xc2, 0x0c, 0xc0, 0x30, 0x02,
0xb1, 0x0c, 0x23, 0x08, 0xcb, 0x51, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xff,
0x13, 0x71, 0x4d, 0x54, 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0,
- 0x20, 0x82, 0x13, 0x24, 0x41, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9,
+ 0x20, 0x82, 0x13, 0xe4, 0x40, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9,
0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c, 0x84, 0x0a, 0x08, 0x20, 0x08,
0x62, 0x10, 0x21, 0x12, 0x4a, 0xc1, 0x30, 0xcd, 0x23, 0xd1, 0x64, 0x04,
0x86, 0xb8, 0x48, 0x9a, 0x22, 0x4a, 0x98, 0xfc, 0x5f, 0x02, 0x98, 0x67,
@@ -6905,7 +6885,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x84, 0x41, 0x04, 0x42, 0x18, 0x46, 0x20, 0x80, 0x61, 0x84, 0x01,
0x18, 0x46, 0x18, 0x16, 0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79,
0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
- 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38,
+ 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x3a,
0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76,
0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06,
0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07,
@@ -6945,10 +6925,10 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x48, 0x6c, 0x10, 0x28, 0xdc, 0x37, 0x00, 0x00, 0x90, 0x05, 0x02, 0x00,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x8a, 0xa0,
- 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xaa, 0x20, 0x0a, 0xa8, 0x90,
- 0x4a, 0xa9, 0x98, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
- 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x80, 0x0a,
- 0xa9, 0x94, 0x8a, 0x89, 0x8e, 0x11, 0x00, 0xfa, 0xc6, 0x12, 0x1a, 0x00,
+ 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xa8, 0x20, 0x0a, 0xa6, 0x70,
+ 0x4a, 0xa7, 0x78, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
+ 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x60, 0x0a,
+ 0xa7, 0x74, 0x8a, 0x87, 0x8e, 0x11, 0x00, 0xfa, 0xc6, 0x12, 0x1a, 0x02,
0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
@@ -6989,69 +6969,69 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x79, 0x20, 0x00, 0x00, 0x2a, 0x01, 0x00, 0x00, 0x62, 0x1e,
0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19, 0x24, 0x90, 0x91, 0x40,
0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14, 0x32, 0x9e, 0x18, 0x19,
- 0x21, 0x47, 0xc8, 0x90, 0x51, 0x64, 0x03, 0x34, 0x00, 0x2f, 0x8b, 0xd2,
+ 0x21, 0x47, 0xc8, 0x90, 0x51, 0x64, 0x03, 0x34, 0xf8, 0x2d, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0xc1,
0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b, 0xa4, 0x60, 0x8a, 0xf2,
0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1, 0xa5, 0x1c, 0x11, 0x00,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33,
+ 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
- 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69,
- 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63,
- 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74,
- 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c,
- 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72,
- 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61,
- 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61,
- 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
- 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70,
- 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c,
- 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69,
- 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
- 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43,
- 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c,
- 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c,
- 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46,
- 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59,
- 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72,
+ 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72,
- 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x86, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61,
+ 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69, 0x72,
+ 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f,
+ 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+ 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69,
+ 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c,
+ 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
+ 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
+ 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e,
+ 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f,
+ 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75,
+ 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c,
+ 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64,
+ 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e,
+ 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x00, 0x86, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x82,
0x00, 0x14, 0x23, 0x08, 0x5f, 0x36, 0x82, 0x00, 0x18, 0x23, 0x08, 0xc0,
0x31, 0x82, 0x00, 0x20, 0x23, 0x08, 0x94, 0x30, 0x82, 0x00, 0x24, 0x23,
0x08, 0x80, 0x32, 0x82, 0x00, 0x2c, 0x23, 0x08, 0x00, 0x33, 0x82, 0x00,
@@ -7063,7 +7043,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0xc4, 0x01, 0xd3, 0xcc, 0x10, 0x98, 0xc2, 0x0c, 0x48, 0x1c, 0x38, 0x0f,
0xc4, 0x34, 0x91, 0x34, 0x43, 0xf2, 0x06, 0x13, 0xf5, 0x54, 0x8c, 0x15,
0x5d, 0x33, 0x28, 0x6d, 0x80, 0x65, 0x71, 0xf0, 0x06, 0x1a, 0xb3, 0x45,
- 0xdc, 0x0c, 0x59, 0x1c, 0xd4, 0x01, 0x1c, 0x58, 0x61, 0x60, 0x07, 0x70,
+ 0xdc, 0x0c, 0x59, 0x1c, 0xd4, 0xc1, 0x1c, 0x58, 0x61, 0x60, 0x07, 0x70,
0x10, 0x07, 0x62, 0x30, 0x06, 0x77, 0xf0, 0x06, 0x71, 0x40, 0x06, 0x65,
0x80, 0x07, 0x6f, 0x10, 0x07, 0x64, 0x60, 0x06, 0x79, 0xf0, 0x06, 0x71,
0x40, 0x06, 0x67, 0x30, 0x83, 0x34, 0x07, 0x9d, 0x47, 0x07, 0x59, 0x1c,
@@ -7129,11 +7109,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x10, 0x22, 0x84, 0x02, 0x9d, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x65, 0x0c, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x12, 0x03,
0x94, 0xa8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x00,
- 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00,
0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x24, 0x00,
+ 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x24, 0x00,
0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24,
@@ -7145,8 +7125,8 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0c,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x29, 0x00,
- 0x00, 0x00, 0x12, 0x03, 0x94, 0x35, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x6c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x28, 0x00,
+ 0x00, 0x00, 0x12, 0x03, 0x94, 0x32, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x6c,
0x76, 0x6d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74,
0x6f, 0x72, 0x73, 0x5f, 0x5f, 0x61, 0x69, 0x72, 0x5f, 0x73, 0x61, 0x6d,
0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x62, 0x6c,
@@ -7155,11 +7135,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75,
0x72, 0x65, 0x5f, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x66, 0x33, 0x32, 0x61,
0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2e, 0x66,
- 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x2e, 0x69, 0x33, 0x32, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36,
- 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31,
- 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
- 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x2e, 0x69, 0x33, 0x32, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61,
+ 0x70, 0x70, 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34,
+ 0x2e, 0x30, 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xcc, 0x0f, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
@@ -7216,7 +7196,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03,
0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8,
0x61, 0x1e, 0xca, 0x01, 0xd8, 0x60, 0x08, 0x03, 0xb0, 0x00, 0xd5, 0x86,
- 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48, 0x03, 0x34, 0xd8, 0xa0,
+ 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48, 0x03, 0x30, 0xd8, 0xa0,
0x10, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x6d, 0x00, 0xac, 0x01, 0x20,
0x01, 0xd5, 0x06, 0xa3, 0x08, 0x80, 0x05, 0xa8, 0x36, 0x18, 0x86, 0x00,
0x2c, 0x40, 0xb5, 0xc1, 0x38, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x24,
@@ -7229,8 +7209,8 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x21, 0xc2, 0x0c, 0xc0, 0x50, 0x24, 0x80, 0x41, 0xc7, 0x1c, 0x01, 0x28,
0x0c, 0x22, 0x24, 0xc2, 0x0c, 0xc0, 0x30, 0x02, 0xb1, 0x0c, 0x23, 0x08,
0xcb, 0x51, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xff, 0x13, 0x71, 0x4d, 0x54,
- 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0x24,
- 0x41, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29,
+ 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0xe4,
+ 0x40, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29,
0x10, 0x01, 0x8c, 0x84, 0x0a, 0x08, 0x20, 0x08, 0x62, 0x10, 0x21, 0x12,
0x4a, 0xc1, 0x30, 0xcd, 0x23, 0xd1, 0x64, 0x04, 0x86, 0xb8, 0x48, 0x9a,
0x22, 0x4a, 0x98, 0xfc, 0x5f, 0x02, 0x98, 0x67, 0x21, 0xa2, 0x7f, 0x1a,
@@ -7240,7 +7220,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x42, 0x18, 0x46, 0x20, 0x80, 0x29, 0x80, 0x61, 0x84, 0x61, 0x19, 0x46,
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xbe, 0x70, 0x48, 0x07, 0x79,
0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72,
- 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x38,
+ 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83, 0x39, 0x70, 0x03, 0x3a,
0x70, 0x03, 0x38, 0x68, 0x83, 0x79, 0x48, 0x87, 0x76, 0xa8, 0x07, 0x76,
0x08, 0x07, 0x7a, 0x78, 0x07, 0x79, 0xd8, 0x70, 0x1b, 0xe5, 0xd0, 0x06,
0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07,
@@ -7280,11 +7260,11 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0xb1, 0x41, 0xa0, 0x30, 0xe3, 0x00, 0x00, 0x40, 0x16, 0x08, 0x13, 0x00,
0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09,
0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04,
- 0xa0, 0x0c, 0x0a, 0xaa, 0x20, 0x0a, 0xa8, 0x90, 0x4a, 0xa9, 0x98, 0x88,
+ 0xa0, 0x0c, 0x0a, 0xa8, 0x20, 0x0a, 0xa6, 0x70, 0x4a, 0xa7, 0x78, 0x88,
0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa, 0xf7, 0xff, 0xff, 0x17,
- 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x80, 0x0a, 0xa9, 0x94, 0x8a, 0x89,
+ 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x60, 0x0a, 0xa7, 0x74, 0x8a, 0x87,
0x8e, 0x11, 0x00, 0x5a, 0xc6, 0x08, 0x40, 0x10, 0x04, 0x45, 0x30, 0xa0,
- 0x6f, 0x2c, 0xa1, 0x01, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x6f, 0x2c, 0xa1, 0x21, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -7325,68 +7305,68 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x62, 0x1e, 0x48, 0x20, 0x43, 0x88, 0x0c, 0x19, 0x39, 0x19,
0x24, 0x90, 0x91, 0x40, 0xc6, 0xc8, 0xc8, 0x68, 0x22, 0x50, 0x08, 0x14,
0x32, 0x9e, 0x18, 0x19, 0x21, 0x47, 0xc8, 0x90, 0x51, 0x64, 0x03, 0x34,
- 0x00, 0x2f, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0xf8, 0x2d, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x44, 0x91, 0xc1, 0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b,
0xa4, 0x60, 0x8a, 0xf2, 0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1,
0xa5, 0x1c, 0x11, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
- 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72,
- 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67,
- 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73,
- 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72,
- 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f,
- 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75,
- 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e,
- 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
- 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73,
- 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78,
- 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
- 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74,
- 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c,
- 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
- 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70,
- 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
- 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x86, 0x6c, 0x00, 0x00, 0x00, 0x00,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65,
+ 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72,
+ 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73,
+ 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+ 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61,
+ 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74,
+ 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54,
+ 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73,
+ 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73,
+ 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64,
+ 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f,
+ 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
+ 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
+ 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x86, 0x6c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x82, 0x00, 0x14, 0x23, 0x08, 0x9f, 0x36, 0x82, 0x00,
0x18, 0x23, 0x08, 0xc0, 0x31, 0x82, 0x00, 0x20, 0x23, 0x08, 0x94, 0x30,
0x82, 0x00, 0x24, 0x23, 0x08, 0x80, 0x32, 0x82, 0x00, 0x2c, 0x23, 0x08,
@@ -7398,7 +7378,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x33, 0x14, 0x4b, 0x1c, 0xc4, 0x01, 0xd3, 0xcc, 0x10, 0x98, 0xc2, 0x0c,
0x48, 0x1c, 0x38, 0x0f, 0xc4, 0x34, 0x91, 0x34, 0x43, 0xf2, 0x06, 0x13,
0xf5, 0x54, 0x8c, 0x15, 0x5d, 0x33, 0x28, 0x6d, 0x80, 0x65, 0x71, 0xf0,
- 0x06, 0x1a, 0xb3, 0x45, 0xdc, 0x0c, 0x59, 0x1c, 0xd4, 0x01, 0x1c, 0x58,
+ 0x06, 0x1a, 0xb3, 0x45, 0xdc, 0x0c, 0x59, 0x1c, 0xd4, 0xc1, 0x1c, 0x58,
0x61, 0x60, 0x07, 0x70, 0x10, 0x07, 0x62, 0x30, 0x06, 0x77, 0xf0, 0x06,
0x71, 0x40, 0x06, 0x65, 0x80, 0x07, 0x6f, 0x10, 0x07, 0x64, 0x60, 0x06,
0x79, 0xf0, 0x06, 0x71, 0x40, 0x06, 0x67, 0x30, 0x83, 0x34, 0x07, 0x9d,
@@ -7468,12 +7448,12 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x0e, 0x10, 0x22, 0x84, 0x02,
0x9f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0c,
0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x12, 0x03, 0x94, 0xa8, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x0a, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x07, 0x00,
0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00,
- 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00,
+ 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00,
0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x15, 0x00,
- 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x15, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x39, 0x00,
@@ -7486,7 +7466,7 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x5d, 0x0c, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x12, 0x03,
- 0x94, 0x34, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
+ 0x94, 0x31, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x67,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
0x5f, 0x61, 0x69, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x62, 0x6c, 0x69, 0x74, 0x55, 0x6e,
@@ -7495,13 +7475,13 @@ unsigned char compiled_default_ios_sim_metallib[] = {
0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x64,
0x2e, 0x76, 0x34, 0x66, 0x33, 0x32, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x76, 0x65, 0x72, 0x74, 0x2e, 0x66, 0x2e, 0x66, 0x33, 0x32, 0x2e,
- 0x73, 0x2e, 0x69, 0x33, 0x32, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70,
- 0x6c, 0x65, 0x2d, 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x30, 0x2e, 0x30,
- 0x2d, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00,
+ 0x73, 0x2e, 0x69, 0x33, 0x32, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37,
+ 0x61, 0x69, 0x72, 0x36, 0x34, 0x2d, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2d,
+ 0x69, 0x6f, 0x73, 0x31, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x2d, 0x73, 0x69,
+ 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
-unsigned int compiled_default_ios_sim_metallib_len = 47342;
+unsigned int compiled_default_ios_sim_metallib_len = 47198;
#elif TARGET_OS_IOS // TARGET_OS_OSX || TARGET_OS_MACCATALYST
@@ -7510,20 +7490,20 @@ unsigned int compiled_default_ios_sim_metallib_len = 47342;
constexpr
unsigned char compiled_default_ios_metallib[] = {
- 0x4d, 0x54, 0x4c, 0x42, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x2e, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4d, 0x54, 0x4c, 0x42, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xce, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x06, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x9a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x9d, 0x00, 0x00,
+ 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x9c, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
0x4e, 0x41, 0x4d, 0x45, 0x14, 0x00, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x38, 0x54, 0x6f, 0x55, 0x31,
0x36, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41, 0x53,
- 0x48, 0x20, 0x00, 0x56, 0x27, 0x6e, 0x2a, 0xae, 0xe2, 0x88, 0x63, 0x0e,
- 0x08, 0x70, 0x16, 0xfb, 0x80, 0xa1, 0x78, 0x28, 0x81, 0x46, 0xac, 0x2e,
- 0xc6, 0x4c, 0xc6, 0x57, 0x0a, 0x48, 0xad, 0x2a, 0x28, 0x57, 0xcf, 0x4d,
+ 0x48, 0x20, 0x00, 0xbd, 0x9d, 0x81, 0xf2, 0xbc, 0x9b, 0xef, 0xbf, 0x5a,
+ 0xaf, 0x22, 0xbb, 0x91, 0x0d, 0x3e, 0xda, 0x97, 0x78, 0x51, 0xc9, 0x24,
+ 0x38, 0x0f, 0x99, 0x21, 0x71, 0x44, 0x47, 0xf7, 0x4e, 0x80, 0xd8, 0x4d,
0x44, 0x53, 0x5a, 0x08, 0x00, 0x90, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7532,9 +7512,9 @@ unsigned char compiled_default_ios_metallib[] = {
0x54, 0x85, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55,
0x31, 0x36, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41,
- 0x53, 0x48, 0x20, 0x00, 0x0e, 0xbe, 0x10, 0x94, 0x87, 0xf0, 0xc1, 0xf8,
- 0xdd, 0xd6, 0x3e, 0x1d, 0x7e, 0xde, 0x46, 0x3b, 0x67, 0x4f, 0xb7, 0x2d,
- 0xcb, 0xc7, 0xf0, 0x2e, 0xe7, 0x73, 0x41, 0x44, 0xf0, 0x63, 0xea, 0x31,
+ 0x53, 0x48, 0x20, 0x00, 0xc1, 0xf2, 0x56, 0xec, 0x47, 0x14, 0xba, 0x70,
+ 0x2c, 0xfa, 0x2d, 0x22, 0xdb, 0xa7, 0xff, 0x4d, 0x19, 0x22, 0x88, 0xcc,
+ 0x5b, 0xd8, 0xaa, 0xfb, 0x87, 0x6e, 0x70, 0x84, 0x84, 0x5b, 0x72, 0x82,
0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x20, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7543,10 +7523,10 @@ unsigned char compiled_default_ios_metallib[] = {
0x44, 0x54, 0x85, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00,
0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x55, 0x33, 0x32, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48,
- 0x41, 0x53, 0x48, 0x20, 0x00, 0x4e, 0xa5, 0xbd, 0x08, 0x79, 0x04, 0xe9,
- 0xa8, 0xe9, 0x88, 0xd4, 0x91, 0xc6, 0xb1, 0x0c, 0xf2, 0x34, 0x16, 0x71,
- 0xf4, 0xde, 0xfa, 0xac, 0x5b, 0x65, 0xb7, 0x50, 0x82, 0xc6, 0x18, 0xd5,
- 0xb7, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x0e, 0x00, 0x00, 0x00,
+ 0x41, 0x53, 0x48, 0x20, 0x00, 0xd1, 0x2c, 0xc5, 0x82, 0xc0, 0xd2, 0x56,
+ 0xcf, 0xbc, 0xde, 0xe5, 0x5a, 0xb7, 0x1b, 0xde, 0x64, 0xd1, 0xf5, 0x44,
+ 0x16, 0xc3, 0xad, 0xb3, 0x2a, 0x63, 0x74, 0xe0, 0xca, 0xab, 0xba, 0x62,
+ 0x88, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x40, 0x0e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x31, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xb0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
@@ -7555,9 +7535,9 @@ unsigned char compiled_default_ios_metallib[] = {
0x00, 0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e,
0x64, 0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x72, 0x72,
0x61, 0x79, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02, 0x48, 0x41,
- 0x53, 0x48, 0x20, 0x00, 0x81, 0xf0, 0xdf, 0x92, 0xe9, 0x1d, 0x1c, 0xa4,
- 0x11, 0x2a, 0x77, 0x2d, 0x7a, 0x39, 0xc6, 0x5f, 0xae, 0x75, 0x72, 0x98,
- 0x0d, 0x99, 0xdf, 0xfc, 0x87, 0x26, 0xef, 0x15, 0x58, 0xe6, 0xbc, 0xd8,
+ 0x53, 0x48, 0x20, 0x00, 0xe2, 0x39, 0xd1, 0xdd, 0x49, 0x7e, 0x94, 0xc8,
+ 0x3c, 0x03, 0x7d, 0x59, 0x1a, 0xed, 0x2a, 0xe1, 0xa4, 0x24, 0xb0, 0x69,
+ 0x21, 0xbd, 0x19, 0xbe, 0xd6, 0x72, 0x74, 0x22, 0xee, 0x30, 0x6c, 0x7a,
0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x80, 0x0b, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x5a, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7567,88 +7547,88 @@ unsigned char compiled_default_ios_metallib[] = {
0x67, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x49, 0x6e, 0x64,
0x69, 0x63, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6c, 0x65, 0x6d,
0x65, 0x6e, 0x74, 0x73, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x02,
- 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x1e, 0xad, 0xa6, 0x08, 0x47, 0x61,
- 0x85, 0x66, 0x2d, 0xa6, 0x4d, 0x97, 0x60, 0x85, 0xfe, 0x8f, 0x40, 0x27,
- 0xa7, 0x1d, 0xe3, 0xf2, 0x27, 0x95, 0xdc, 0x2b, 0x6d, 0x29, 0x69, 0xe7,
- 0xe6, 0xc2, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x30, 0x14, 0x00, 0x00,
+ 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x31, 0x5e, 0xad, 0x39, 0x33, 0xbb,
+ 0x60, 0x67, 0xe6, 0x59, 0x6e, 0x1a, 0xec, 0x84, 0x8f, 0x68, 0x8b, 0xfb,
+ 0xef, 0xcc, 0x49, 0x5c, 0xc7, 0x81, 0x7f, 0xc9, 0x3e, 0x73, 0x1d, 0x12,
+ 0x39, 0x61, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x30, 0x14, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0x62, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x70, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45,
0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x45, 0x4e, 0x44, 0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45,
0x08, 0x00, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x56, 0x53, 0x00, 0x54, 0x59,
- 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x03,
- 0x39, 0x5a, 0x5d, 0xb7, 0x45, 0xbf, 0x95, 0x42, 0xf1, 0x14, 0xe3, 0x64,
- 0x50, 0x28, 0x33, 0x23, 0x9b, 0x4a, 0x4d, 0xea, 0xf6, 0xdb, 0xee, 0x42,
- 0x46, 0xee, 0x1d, 0x9e, 0x68, 0x57, 0x07, 0x4d, 0x44, 0x53, 0x5a, 0x08,
- 0x00, 0x60, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46,
+ 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x05,
+ 0x75, 0x80, 0x54, 0x64, 0xa0, 0xbb, 0x8f, 0x30, 0x63, 0x6e, 0x84, 0x2e,
+ 0x21, 0xdc, 0x52, 0x7b, 0x64, 0x92, 0xfe, 0xb2, 0xa5, 0x95, 0x73, 0x0b,
+ 0x5a, 0xad, 0xd4, 0x4c, 0xf1, 0x27, 0xc7, 0x4d, 0x44, 0x53, 0x5a, 0x08,
+ 0x00, 0x50, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46,
0x54, 0x18, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x47, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7c, 0x00, 0x00,
0x00, 0x4e, 0x41, 0x4d, 0x45, 0x07, 0x00, 0x62, 0x6c, 0x69, 0x74, 0x56,
0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x00, 0x48, 0x41, 0x53,
- 0x48, 0x20, 0x00, 0x98, 0xe7, 0x87, 0xbf, 0x40, 0x07, 0x6a, 0x21, 0xf0,
- 0x6c, 0xd8, 0xda, 0x3b, 0x14, 0x26, 0x3e, 0xfd, 0xc5, 0x9a, 0x39, 0x84,
- 0x73, 0xfe, 0x8f, 0x50, 0x3a, 0xf3, 0x56, 0x92, 0x5d, 0x53, 0x78, 0x4d,
- 0x44, 0x53, 0x5a, 0x08, 0x00, 0xd0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x48, 0x20, 0x00, 0xec, 0x6c, 0x96, 0xff, 0xaa, 0x3c, 0x17, 0xf3, 0x02,
+ 0xec, 0x38, 0x44, 0x8a, 0x4a, 0xc0, 0x0c, 0x73, 0x72, 0xc9, 0x9f, 0xff,
+ 0xb8, 0x54, 0xea, 0x39, 0xaf, 0xa9, 0x9d, 0x1a, 0x63, 0xc4, 0x67, 0x4d,
+ 0x44, 0x53, 0x5a, 0x08, 0x00, 0x80, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08,
0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44,
0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x08, 0x00, 0x64,
0x75, 0x6d, 0x6d, 0x79, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01,
- 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x24, 0x44, 0xc2, 0xb3,
- 0x49, 0xb9, 0x94, 0x61, 0x4e, 0xe8, 0xed, 0x2f, 0xfd, 0x20, 0x17, 0xe7,
- 0x3c, 0x44, 0xc0, 0x1c, 0x30, 0x53, 0x56, 0xd2, 0xf1, 0x49, 0x13, 0x8c,
- 0x97, 0x8c, 0x85, 0xcb, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x10, 0x09,
+ 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x29, 0x84, 0x34, 0x7e,
+ 0x99, 0xb8, 0x4f, 0x99, 0x7d, 0xcc, 0x9c, 0x4a, 0xd5, 0x52, 0x7f, 0x51,
+ 0x2b, 0xe9, 0xc6, 0x29, 0x48, 0x4e, 0x69, 0xe8, 0xa5, 0x0e, 0x9f, 0x9b,
+ 0x62, 0x28, 0x53, 0xd3, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x10, 0x09,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00,
0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xd0, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x70, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7d, 0x00, 0x00, 0x00, 0x4e, 0x41,
0x4d, 0x45, 0x08, 0x00, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x46, 0x53, 0x00,
0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20,
- 0x00, 0x02, 0x3f, 0xbb, 0x4e, 0xbf, 0xd1, 0xd5, 0x30, 0x5a, 0x80, 0x85,
- 0x96, 0x55, 0xd5, 0x10, 0x97, 0x14, 0xc7, 0x17, 0x55, 0xaf, 0x37, 0xb0,
- 0x6d, 0x9a, 0x23, 0x0a, 0x8a, 0xd8, 0xcb, 0x84, 0x5f, 0x4d, 0x44, 0x53,
+ 0x00, 0xb5, 0x3b, 0x9d, 0x77, 0x44, 0xac, 0xf0, 0xac, 0xac, 0x45, 0x8c,
+ 0x5e, 0xf2, 0x14, 0xe9, 0xd6, 0x54, 0x9f, 0x0a, 0x61, 0xa0, 0xb7, 0x5d,
+ 0x3c, 0x3c, 0x0a, 0x39, 0x28, 0x6e, 0x99, 0xc3, 0xd0, 0x4d, 0x44, 0x53,
0x5a, 0x08, 0x00, 0x70, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
0x46, 0x46, 0x54, 0x18, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x68, 0x00,
+ 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x68, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x7c,
0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x07, 0x00, 0x62, 0x6c, 0x69,
0x74, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48,
- 0x41, 0x53, 0x48, 0x20, 0x00, 0x0b, 0x68, 0x33, 0x59, 0x26, 0x18, 0x83,
- 0x47, 0x30, 0xe3, 0x0b, 0x36, 0x15, 0x81, 0x3a, 0x70, 0x7c, 0x35, 0xd1,
- 0x13, 0xfa, 0xf8, 0xa4, 0xa9, 0x19, 0xd7, 0x23, 0x62, 0x61, 0x91, 0xd1,
- 0x59, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0xb0, 0x0d, 0x00, 0x00, 0x00,
+ 0x41, 0x53, 0x48, 0x20, 0x00, 0x5f, 0x3b, 0x8f, 0x9b, 0x2a, 0x30, 0x80,
+ 0x8e, 0x67, 0x8a, 0x4c, 0xf2, 0xb2, 0x52, 0x40, 0x85, 0xaa, 0x58, 0xa7,
+ 0x03, 0xac, 0x07, 0x4d, 0xbc, 0xf2, 0x50, 0xa8, 0x5c, 0x0f, 0xa6, 0xa2,
+ 0x82, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0xb0, 0x0d, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00, 0xec, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x50, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
+ 0x00, 0xf0, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52,
0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45,
0x4e, 0x44, 0x54, 0x8c, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x17,
0x00, 0x62, 0x6c, 0x69, 0x74, 0x50, 0x72, 0x65, 0x6d, 0x75, 0x6c, 0x74,
0x69, 0x70, 0x6c, 0x79, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x46, 0x53, 0x00,
0x54, 0x59, 0x50, 0x45, 0x01, 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20,
- 0x00, 0x6e, 0xbb, 0x3c, 0x72, 0xb0, 0xd4, 0x02, 0x92, 0xb2, 0x00, 0x27,
- 0x75, 0x88, 0x9f, 0x07, 0xb1, 0x75, 0xe9, 0xfc, 0x5e, 0xe7, 0xdf, 0x5c,
- 0x4f, 0x14, 0xb4, 0xcc, 0x0e, 0xbd, 0xed, 0x27, 0xd7, 0x4d, 0x44, 0x53,
+ 0x00, 0x14, 0x9b, 0xb5, 0x1f, 0x39, 0x3d, 0xc6, 0xda, 0x18, 0xc8, 0xb1,
+ 0xb2, 0xd5, 0x83, 0xfe, 0xa4, 0x01, 0xa2, 0xb2, 0x40, 0x36, 0x5e, 0xb6,
+ 0x71, 0x22, 0x72, 0x2f, 0x83, 0x13, 0x82, 0xcd, 0xdc, 0x4d, 0x44, 0x53,
0x5a, 0x08, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
0x46, 0x46, 0x54, 0x18, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
+ 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x8b,
0x00, 0x00, 0x00, 0x4e, 0x41, 0x4d, 0x45, 0x16, 0x00, 0x62, 0x6c, 0x69,
0x74, 0x55, 0x6e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x41,
0x6c, 0x70, 0x68, 0x61, 0x46, 0x53, 0x00, 0x54, 0x59, 0x50, 0x45, 0x01,
- 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x88, 0x8c, 0x52, 0x90,
- 0x55, 0x43, 0xab, 0x24, 0x45, 0x72, 0x78, 0x9a, 0x7a, 0xcc, 0xcd, 0x50,
- 0x24, 0x11, 0x61, 0x13, 0xc9, 0x70, 0x2d, 0x6b, 0x89, 0xa8, 0x22, 0xf5,
- 0xb7, 0x8a, 0xda, 0x7b, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x30, 0x0e,
+ 0x00, 0x01, 0x48, 0x41, 0x53, 0x48, 0x20, 0x00, 0x23, 0x8d, 0x7e, 0x8d,
+ 0xef, 0xcb, 0x76, 0x40, 0x76, 0x75, 0x7f, 0x5a, 0x42, 0x9a, 0xed, 0xa8,
+ 0xbb, 0xd9, 0x22, 0xac, 0x3b, 0x79, 0x37, 0x08, 0xf0, 0x1e, 0xb8, 0x17,
+ 0xbd, 0x83, 0xa0, 0x3b, 0x4d, 0x44, 0x53, 0x5a, 0x08, 0x00, 0x30, 0x0e,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x46, 0x46, 0x54, 0x18, 0x00,
0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa0, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x56, 0x45, 0x52, 0x53, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x45, 0x4e, 0x44, 0x54, 0x04, 0x00,
0x00, 0x00, 0x45, 0x4e, 0x44, 0x54, 0x25, 0x00, 0x00, 0x00, 0x43, 0x4e,
@@ -7786,7 +7766,7 @@ unsigned char compiled_default_ios_metallib[] = {
0xb2, 0x40, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x10, 0x65, 0x40, 0x72, 0x04, 0xa0, 0x10,
- 0xe8, 0x8c, 0x00, 0x50, 0x1c, 0x4b, 0x68, 0x00, 0x00, 0x00, 0xb1, 0x18,
+ 0xe8, 0x8c, 0x00, 0x50, 0x1c, 0x4b, 0x68, 0x08, 0x00, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -7825,53 +7805,53 @@ unsigned char compiled_default_ios_metallib[] = {
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x7e,
- 0xdc, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
+ 0x9c, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21,
0x54, 0xa2, 0x44, 0x57, 0x75, 0x14, 0x85, 0x63, 0x18, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e,
- 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e,
+ 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
- 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
- 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66,
- 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
- 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x63, 0x68,
- 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x72,
- 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x75, 0x73, 0x68,
- 0x6f, 0x72, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x13, 0x04,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
+ 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75,
+ 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x63, 0x68, 0x61,
+ 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x75, 0x73, 0x68, 0x6f,
+ 0x72, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x13, 0x04,
0x40, 0x98, 0x20, 0x44, 0xcb, 0x04, 0x01, 0x18, 0x26, 0x08, 0x00, 0x31,
0x41, 0x00, 0x8a, 0x09, 0xc2, 0x13, 0x4c, 0x10, 0x00, 0x63, 0x82, 0x00,
0x1c, 0x1b, 0x06, 0x30, 0x08, 0xc2, 0x60, 0xc3, 0x20, 0x06, 0xc2, 0x18,
@@ -8045,7 +8025,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x61, 0x04, 0xa0, 0x20, 0xca, 0x80, 0x6a, 0x0d, 0x90, 0x1d, 0x01, 0x28,
0x04, 0x32, 0x23, 0x00, 0xc6, 0x01, 0xc0, 0x38, 0x04, 0xd0, 0xc1, 0x61,
0x99, 0x4a, 0x08, 0x03, 0x4c, 0x0a, 0x05, 0x7b, 0x89, 0x8e, 0x25, 0x34,
- 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
+ 0x04, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c,
@@ -8083,63 +8063,63 @@ unsigned char compiled_default_ios_metallib[] = {
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x9a, 0x01, 0x19, 0x80, 0x15, 0x00, 0x00, 0x8b, 0xd2,
+ 0xc8, 0x90, 0x51, 0x9a, 0x01, 0x19, 0xfc, 0x14, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1,
0x0c, 0xca, 0x23, 0x21, 0x54, 0xa2, 0x44, 0x57, 0x75, 0x54, 0x84, 0x55,
0x14, 0x94, 0xc1, 0x38, 0xc6, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x53, 0x44,
0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74,
- 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35,
- 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e,
- 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e,
+ 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64,
- 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
- 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65,
- 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73,
- 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66,
- 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
- 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f,
- 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72,
- 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
- 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55,
- 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75, 0x63, 0x68, 0x61,
- 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e,
- 0x65, 0x64, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x70, 0x75,
- 0x74, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e,
- 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75,
- 0x74, 0x70, 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65,
- 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c,
- 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x13, 0x04,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
+ 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75,
+ 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e,
+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x6e,
+ 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75, 0x63, 0x68, 0x61, 0x72,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65,
+ 0x64, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x70, 0x75, 0x74,
+ 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72,
+ 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e,
+ 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65,
+ 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x13, 0x04,
0x81, 0x99, 0x20, 0x50, 0xdb, 0x04, 0x41, 0x68, 0x26, 0x08, 0x82, 0x33,
0x41, 0x10, 0x9e, 0x09, 0x82, 0x74, 0x4c, 0x10, 0x04, 0x68, 0x82, 0x10,
0x00, 0x13, 0x04, 0x21, 0x9a, 0x20, 0x04, 0xc1, 0x04, 0x21, 0x20, 0x26,
@@ -8345,7 +8325,7 @@ unsigned char compiled_default_ios_metallib[] = {
0xa2, 0xfc, 0xff, 0x0f, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x20,
0xca, 0x80, 0x68, 0x0d, 0x50, 0x1d, 0x01, 0x28, 0x04, 0x32, 0x23, 0x00,
0xc6, 0x01, 0xc0, 0x38, 0x04, 0xd0, 0xc1, 0x61, 0x99, 0x4a, 0x08, 0x03,
- 0x4c, 0x0a, 0x05, 0x7b, 0x69, 0x8e, 0x25, 0x34, 0x00, 0x00, 0xb1, 0x18,
+ 0x4c, 0x0a, 0x05, 0x7b, 0x69, 0x8e, 0x25, 0x34, 0x04, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -8384,62 +8364,62 @@ unsigned char compiled_default_ios_metallib[] = {
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
0x00, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x96,
- 0x01, 0x18, 0xd8, 0x14, 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
+ 0x01, 0x18, 0xd4, 0x14, 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21,
0x54, 0xa2, 0x44, 0x57, 0x75, 0x54, 0x84, 0x55, 0x14, 0x14, 0xe3, 0x18,
0xcf, 0x03, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33,
+ 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61,
- 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
- 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
- 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72,
- 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78,
- 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61,
- 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64,
- 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f,
- 0x6f, 0x6c, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x55, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64,
- 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41,
- 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41,
- 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
- 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70,
- 0x75, 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74,
- 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20,
- 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x00, 0x13, 0x04,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74,
+ 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69,
+ 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
+ 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
+ 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x62, 0x6f, 0x6f,
+ 0x6c, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x55, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x75,
+ 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c,
+ 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6c,
+ 0x69, 0x67, 0x6e, 0x65, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75,
+ 0x74, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20,
+ 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43,
+ 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00, 0x00, 0x00, 0x13, 0x04,
0x81, 0x99, 0x20, 0x4c, 0xdb, 0x04, 0x41, 0x68, 0x26, 0x08, 0x82, 0x33,
0x41, 0x10, 0x9e, 0x09, 0x42, 0x74, 0x4c, 0x10, 0x04, 0x68, 0x82, 0x10,
0x00, 0x13, 0x04, 0x21, 0x9a, 0x20, 0x04, 0xc1, 0x04, 0x21, 0x20, 0x26,
@@ -8533,10 +8513,10 @@ unsigned char compiled_default_ios_metallib[] = {
0x05, 0xbf, 0xf8, 0x33, 0x80, 0x34, 0x11, 0xd1, 0x2f, 0x39, 0x54, 0x24,
0x10, 0x3e, 0x43, 0x4c, 0xc0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x68, 0x0b, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x64, 0x0b, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
- 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xd2, 0x02, 0x00, 0x00, 0x0b, 0x82,
+ 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xd1, 0x02, 0x00, 0x00, 0x0b, 0x82,
0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81,
0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01,
0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14,
@@ -8633,11 +8613,11 @@ unsigned char compiled_default_ios_metallib[] = {
0x04, 0xe0, 0x05, 0x45, 0x0c, 0x79, 0x18, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0xd0, 0x08, 0x61, 0xd8, 0xcc, 0x20, 0x9a,
0x36, 0x42, 0x3e, 0xa0, 0x11, 0x9b, 0x01, 0x11, 0x08, 0xe9, 0x8b, 0x1c,
- 0x46, 0x8b, 0x22, 0x00, 0x93, 0xd8, 0x20, 0x50, 0x18, 0x59, 0x00, 0x00,
+ 0x46, 0x8b, 0x22, 0x00, 0x93, 0xd8, 0x20, 0x50, 0xf8, 0x58, 0x00, 0x00,
0x20, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e,
0x98, 0x10, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02, 0x50, 0x10, 0x04, 0x47,
- 0x00, 0x0a, 0x81, 0xce, 0x08, 0x00, 0xbd, 0xb1, 0x84, 0x06, 0x00, 0x00,
+ 0x00, 0x0a, 0x81, 0xce, 0x08, 0x00, 0xbd, 0xb1, 0x84, 0x86, 0x00, 0x00,
0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
@@ -8675,108 +8655,108 @@ unsigned char compiled_default_ios_metallib[] = {
0xb0, 0x43, 0x3d, 0xd0, 0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b,
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
- 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x72, 0x5c, 0x18, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xd2,
+ 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x22, 0x47,
+ 0xc8, 0x90, 0x51, 0x72, 0x1c, 0x18, 0x01, 0x00, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x6c, 0x11, 0xc1,
0x0c, 0xca, 0x23, 0x21, 0xd4, 0x22, 0x45, 0x57, 0x74, 0x38, 0x06, 0x00,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33,
+ 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61,
- 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
- 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
- 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x66, 0x69,
- 0x72, 0x73, 0x74, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x76, 0x65, 0x72,
- 0x74, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d,
- 0x33, 0x72, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
- 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x54, 0x72, 0x69, 0x46, 0x61,
- 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x72,
- 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74,
- 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x3c,
- 0xca, 0x04, 0x01, 0x18, 0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09,
- 0x42, 0x13, 0x4c, 0x10, 0x00, 0x63, 0xc3, 0xd0, 0x05, 0xde, 0x86, 0xe1,
- 0x13, 0xc0, 0x60, 0x43, 0x30, 0x6c, 0x18, 0xba, 0x30, 0x08, 0x83, 0x0d,
- 0x04, 0xd1, 0x85, 0x41, 0x18, 0x6c, 0x08, 0x8a, 0x0d, 0x81, 0xb1, 0x21,
- 0x38, 0x36, 0x04, 0xc8, 0x86, 0x20, 0xd9, 0x10, 0x28, 0x1b, 0x80, 0x0d,
- 0x46, 0x18, 0x2c, 0x4c, 0xe3, 0x3c, 0x1b, 0x94, 0x30, 0x00, 0x83, 0x30,
- 0x68, 0x2a, 0x30, 0x00, 0x83, 0x30, 0x68, 0xac, 0x0d, 0xd2, 0x07, 0x45,
- 0x63, 0x20, 0x85, 0xc1, 0x37, 0x51, 0x71, 0x70, 0x8d, 0x01, 0x06, 0x06,
- 0x4c, 0xe6, 0x68, 0x1b, 0x9c, 0x0e, 0x92, 0xba, 0x6f, 0xbb, 0xc0, 0x00,
- 0x03, 0x03, 0xa6, 0x71, 0xb8, 0x0d, 0x03, 0x1c, 0xc8, 0xc1, 0x1c, 0x6c,
- 0x18, 0xc4, 0xe0, 0x0d, 0xe8, 0x40, 0x23, 0x81, 0x09, 0x6a, 0xc4, 0xc6,
- 0x66, 0xd7, 0xe6, 0xd2, 0xf6, 0x46, 0x56, 0xc7, 0x56, 0xe6, 0x62, 0xc6,
- 0x16, 0x76, 0x36, 0x37, 0x45, 0x18, 0x03, 0x32, 0xa8, 0xc2, 0xc6, 0x66,
- 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x28, 0x83, 0x2e,
- 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53,
- 0x02, 0x33, 0x28, 0x15, 0x96, 0x26, 0xe7, 0xc2, 0x16, 0xe6, 0x76, 0x56,
- 0x17, 0x76, 0x56, 0xf6, 0x65, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36,
- 0x25, 0x38, 0x83, 0x4e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53,
- 0x0c, 0x34, 0x48, 0x03, 0x35, 0x58, 0x03, 0x36, 0x68, 0x83, 0x2a, 0x61,
- 0x69, 0x72, 0x2e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x53, 0x02, 0x3a,
- 0x00, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
- 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
- 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
- 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
- 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x43, 0x00,
- 0x00, 0x00, 0x13, 0x04, 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00,
- 0x00, 0x00, 0x04, 0xca, 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30,
- 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x12,
- 0x04, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xf0, 0x3c, 0x00, 0x5f, 0x5a,
- 0x54, 0x53, 0x31, 0x37, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x41, 0x72,
- 0x72, 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x69, 0x6e, 0x74,
- 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63,
- 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b,
- 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x13, 0x04, 0xe8, 0x98, 0x20, 0x40,
- 0xc8, 0x86, 0x20, 0x0f, 0x36, 0x0c, 0x78, 0xc0, 0x07, 0x7a, 0xb0, 0x61,
- 0xb8, 0x83, 0x3e, 0xd0, 0x83, 0x0d, 0x85, 0x1d, 0xf8, 0x81, 0x1e, 0xf8,
- 0xc1, 0x1e, 0x6c, 0x18, 0xfe, 0xc0, 0x0f, 0xf6, 0x60, 0xc3, 0xf0, 0x07,
- 0x7e, 0xa0, 0x07, 0x1b, 0x06, 0x3f, 0xf0, 0x03, 0x3d, 0x00, 0x3b, 0x0d,
- 0x44, 0xd2, 0x50, 0x00, 0xc6, 0x70, 0x43, 0x70, 0x88, 0xc1, 0x2c, 0x43,
- 0x20, 0x04, 0x3b, 0x0d, 0x07, 0xe3, 0x50, 0x00, 0x46, 0x29, 0x13, 0x54,
- 0x20, 0x40, 0x31, 0x89, 0x5c, 0x00, 0x63, 0x03, 0x81, 0x09, 0x86, 0x0d,
- 0x88, 0xc0, 0x18, 0x80, 0x22, 0x16, 0x28, 0x02, 0x83, 0x0b, 0x60, 0x6c,
- 0x20, 0x40, 0xc1, 0xb0, 0x01, 0x11, 0x10, 0x03, 0x50, 0x07, 0x07, 0x17,
- 0xc0, 0xd8, 0x40, 0x98, 0x82, 0x61, 0x03, 0x22, 0x58, 0x06, 0x60, 0x96,
- 0x40, 0xc0, 0x80, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5b, 0x86,
- 0x20, 0xf8, 0x83, 0x2d, 0x43, 0x11, 0x80, 0xc2, 0x96, 0x61, 0x09, 0x42,
- 0x61, 0xcb, 0x00, 0x05, 0xa1, 0xb0, 0x65, 0xa0, 0x82, 0x50, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0f, 0x00,
- 0x00, 0x00, 0x52, 0x0e, 0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44,
- 0xc8, 0xe4, 0x48, 0x39, 0x40, 0x88, 0x90, 0xa1, 0x01, 0x44, 0xcb, 0x52,
- 0x31, 0xbe, 0xb1, 0x38, 0x01, 0xb0, 0xfc, 0xc2, 0xe4, 0x44, 0x92, 0x06,
- 0x0c, 0x16, 0x64, 0x06, 0xd1, 0xb4, 0x11, 0xf2, 0x01, 0x8d, 0xd8, 0x0c,
- 0x88, 0x40, 0x48, 0x5f, 0xe4, 0x30, 0x5a, 0x14, 0x01, 0x18, 0x00, 0x00,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x74,
+ 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x61, 0x69,
+ 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69, 0x64, 0x78, 0x61, 0x69,
+ 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x66, 0x69, 0x72,
+ 0x73, 0x74, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x76, 0x65, 0x72, 0x74,
+ 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x33,
+ 0x72, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67,
+ 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e,
+ 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70,
+ 0x75, 0x74, 0x13, 0x04, 0x40, 0x98, 0x20, 0x3c, 0xca, 0x04, 0x01, 0x18,
+ 0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09, 0x42, 0x13, 0x4c, 0x10,
+ 0x00, 0x63, 0xc3, 0xd0, 0x05, 0xde, 0x86, 0xe1, 0x13, 0xc0, 0x60, 0x43,
+ 0x30, 0x6c, 0x18, 0xba, 0x30, 0x08, 0x83, 0x0d, 0x04, 0xd1, 0x85, 0x41,
+ 0x18, 0x6c, 0x08, 0x8a, 0x0d, 0x81, 0xb1, 0x21, 0x38, 0x36, 0x04, 0xc8,
+ 0x86, 0x20, 0xd9, 0x10, 0x28, 0x1b, 0x80, 0x0d, 0x46, 0x18, 0x2c, 0x4c,
+ 0xe3, 0x3c, 0x1b, 0x94, 0x30, 0x00, 0x83, 0x30, 0x68, 0x2a, 0x30, 0x00,
+ 0x83, 0x30, 0x68, 0xac, 0x0d, 0xd2, 0x07, 0x45, 0x63, 0x20, 0x85, 0xc1,
+ 0x37, 0x51, 0x71, 0x70, 0x8d, 0x01, 0x06, 0x06, 0x4c, 0xe6, 0x68, 0x1b,
+ 0x9c, 0x0e, 0x92, 0xba, 0x6f, 0xbb, 0xc0, 0x00, 0x03, 0x03, 0xa6, 0x71,
+ 0xb8, 0x0d, 0x03, 0x1c, 0xc8, 0xc1, 0x1c, 0x6c, 0x18, 0xc4, 0xe0, 0x0d,
+ 0xe8, 0x40, 0x23, 0x81, 0x09, 0x6a, 0xc4, 0xc6, 0x66, 0xd7, 0xe6, 0xd2,
+ 0xf6, 0x46, 0x56, 0xc7, 0x56, 0xe6, 0x62, 0xc6, 0x16, 0x76, 0x36, 0x37,
+ 0x45, 0x18, 0x03, 0x32, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46,
+ 0x56, 0xe6, 0x46, 0x37, 0x25, 0x28, 0x83, 0x2e, 0x61, 0x69, 0x72, 0x2e,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x02, 0x33, 0x28, 0x15,
+ 0x96, 0x26, 0xe7, 0xc2, 0x16, 0xe6, 0x76, 0x56, 0x17, 0x76, 0x56, 0xf6,
+ 0x65, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x38, 0x83, 0x4e,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x0c, 0x34, 0x48, 0x03,
+ 0x35, 0x58, 0x03, 0x36, 0x68, 0x83, 0x2a, 0x61, 0x69, 0x72, 0x2e, 0x6b,
+ 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x53, 0x02, 0x3a, 0x00, 0x00, 0xa9, 0x18,
+ 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77,
+ 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0,
+ 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41,
+ 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
+ 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x13, 0x04,
+ 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0xca,
+ 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1f, 0x00,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x12, 0x04, 0x1f, 0x00, 0x00,
+ 0x00, 0x00, 0xd7, 0xf0, 0x3c, 0x00, 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x37,
+ 0x54, 0x72, 0x69, 0x46, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x69, 0x6e, 0x74, 0x6f, 0x6d, 0x6e, 0x69,
+ 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53,
+ 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42,
+ 0x41, 0x41, 0x13, 0x04, 0xe8, 0x98, 0x20, 0x40, 0xc8, 0x86, 0x20, 0x0f,
+ 0x36, 0x0c, 0x78, 0xc0, 0x07, 0x7a, 0xb0, 0x61, 0xb8, 0x83, 0x3e, 0xd0,
+ 0x83, 0x0d, 0x85, 0x1d, 0xf8, 0x81, 0x1e, 0xf8, 0xc1, 0x1e, 0x6c, 0x18,
+ 0xfe, 0xc0, 0x0f, 0xf6, 0x60, 0xc3, 0xf0, 0x07, 0x7e, 0xa0, 0x07, 0x1b,
+ 0x06, 0x3f, 0xf0, 0x03, 0x3d, 0x00, 0x3b, 0x0d, 0x44, 0xd2, 0x50, 0x00,
+ 0xc6, 0x70, 0x43, 0x70, 0x88, 0xc1, 0x2c, 0x43, 0x20, 0x04, 0x3b, 0x0d,
+ 0x07, 0xe3, 0x50, 0x00, 0x46, 0x29, 0x13, 0x54, 0x20, 0x40, 0x31, 0x89,
+ 0x5c, 0x00, 0x63, 0x03, 0x81, 0x09, 0x86, 0x0d, 0x88, 0xc0, 0x18, 0x80,
+ 0x22, 0x16, 0x28, 0x02, 0x83, 0x0b, 0x60, 0x6c, 0x20, 0x40, 0xc1, 0xb0,
+ 0x01, 0x11, 0x10, 0x03, 0x50, 0x07, 0x07, 0x17, 0xc0, 0xd8, 0x40, 0x98,
+ 0x82, 0x61, 0x03, 0x22, 0x58, 0x06, 0x60, 0x96, 0x40, 0xc0, 0x80, 0x18,
+ 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5b, 0x86, 0x20, 0xf8, 0x83, 0x2d,
+ 0x43, 0x11, 0x80, 0xc2, 0x96, 0x61, 0x09, 0x42, 0x61, 0xcb, 0x00, 0x05,
+ 0xa1, 0xb0, 0x65, 0xa0, 0x82, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x52, 0x0e,
+ 0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44, 0xc8, 0xe4, 0x48, 0x39,
+ 0x40, 0x88, 0x90, 0xa1, 0x01, 0x44, 0xcb, 0x52, 0x31, 0xbe, 0xb1, 0x38,
+ 0x01, 0xb0, 0xfc, 0xc2, 0xe4, 0x44, 0x92, 0x06, 0x08, 0x16, 0x64, 0x06,
+ 0xd1, 0xb4, 0x11, 0xf2, 0x01, 0x8d, 0xd8, 0x0c, 0x88, 0x40, 0x48, 0x5f,
+ 0xe4, 0x30, 0x5a, 0x14, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x14,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
@@ -8904,7 +8884,7 @@ unsigned char compiled_default_ios_metallib[] = {
0xca, 0xa0, 0x14, 0xc8, 0xd6, 0x00, 0xdd, 0x11, 0x80, 0x42, 0x20, 0x33,
0x02, 0x60, 0x1c, 0x00, 0x8c, 0x43, 0x80, 0x71, 0x10, 0xa0, 0x83, 0xc3,
0xe4, 0x78, 0x84, 0x30, 0x10, 0x49, 0xe1, 0xf0, 0x81, 0x21, 0xd5, 0xb1,
- 0x84, 0x06, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x84, 0x86, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -8942,71 +8922,71 @@ unsigned char compiled_default_ios_metallib[] = {
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x3c, 0x01,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xf8, 0x17,
- 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xf4, 0x17,
+ 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x6c, 0x11, 0xc1, 0x0c, 0xca, 0x23, 0x21, 0x54, 0xa2, 0x44, 0x57,
0x75, 0x54, 0x84, 0x54, 0x1c, 0x93, 0x81, 0x4c, 0x88, 0x63, 0x50, 0x50,
0x14, 0x3d, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67,
- 0x72, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x69, 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69,
- 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74,
- 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e,
- 0x66, 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69,
- 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69,
- 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
- 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a,
- 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61,
- 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x38,
- 0x75, 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x38,
- 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x55, 0x31, 0x36, 0x75, 0x73, 0x68, 0x6f, 0x72,
- 0x74, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x31, 0x36, 0x6b, 0x55, 0x73,
- 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65,
- 0x72, 0x55, 0x33, 0x32, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x33, 0x32,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69,
- 0x74, 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69,
- 0x67, 0x6e, 0x65, 0x64, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
- 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x38, 0x6b, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31,
- 0x36, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65,
- 0x78, 0x49, 0x73, 0x55, 0x33, 0x32, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f,
- 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d,
- 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72,
+ 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x69,
+ 0x64, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
+ 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72,
+ 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72,
+ 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x73, 0x72, 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x75, 0x6e, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+ 0x74, 0x62, 0x6f, 0x6f, 0x6c, 0x6b, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x55, 0x38, 0x75,
+ 0x63, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x38, 0x6b,
+ 0x55, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66,
+ 0x66, 0x65, 0x72, 0x55, 0x31, 0x36, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x31, 0x36, 0x6b, 0x55, 0x73, 0x65,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72,
+ 0x55, 0x33, 0x32, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x33, 0x32, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74,
+ 0x65, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6b, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x67,
+ 0x6e, 0x65, 0x64, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x38, 0x6b, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x73, 0x55, 0x31, 0x36,
+ 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x49, 0x73, 0x55, 0x33, 0x32, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74,
+ 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70,
+ 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x00,
0x00, 0x00, 0x13, 0x04, 0x81, 0x9a, 0x20, 0x54, 0x65, 0x30, 0x41, 0x10,
0xaa, 0x09, 0x82, 0x60, 0x4d, 0x10, 0x84, 0x6b, 0x82, 0x30, 0x3d, 0x13,
0x04, 0x01, 0x9b, 0x20, 0x04, 0xc0, 0x04, 0x41, 0xc8, 0x26, 0x08, 0x41,
@@ -9209,10 +9189,10 @@ unsigned char compiled_default_ios_metallib[] = {
0xfc, 0xe2, 0xcf, 0x00, 0xd2, 0x44, 0x44, 0xbf, 0xe4, 0x50, 0x91, 0x40,
0xf8, 0x0c, 0x31, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x40, 0x0b, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x34, 0x0b, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00,
- 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0x0b, 0x82,
+ 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0xc5, 0x02, 0x00, 0x00, 0x0b, 0x82,
0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81,
0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01,
0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14,
@@ -9270,7 +9250,7 @@ unsigned char compiled_default_ios_metallib[] = {
0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c,
0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x64, 0x73, 0x04, 0x60, 0x30,
0x02, 0x50, 0x82, 0x40, 0x62, 0x8e, 0x00, 0x21, 0x62, 0x06, 0x30, 0x4a,
- 0x02, 0x18, 0x3a, 0x33, 0x00, 0xc3, 0x08, 0x42, 0x92, 0x06, 0x6a, 0x10,
+ 0x02, 0x18, 0x3a, 0x33, 0x00, 0xc3, 0x08, 0x42, 0x92, 0x03, 0x6a, 0x10,
0x61, 0x11, 0x86, 0x11, 0x88, 0x24, 0x19, 0xc8, 0x49, 0xd2, 0x14, 0x51,
0xc2, 0xe4, 0x73, 0x0b, 0x01, 0x44, 0x29, 0x10, 0x01, 0x8c, 0x84, 0x86,
0x96, 0xdc, 0x20, 0xc2, 0x23, 0x94, 0xa1, 0x01, 0x48, 0x71, 0x20, 0x20,
@@ -9306,19 +9286,18 @@ unsigned char compiled_default_ios_metallib[] = {
0x7a, 0x10, 0x07, 0x70, 0x20, 0x07, 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07,
0x72, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07,
0x7a, 0x30, 0x07, 0x72, 0xa0, 0xf3, 0x40, 0x08, 0x19, 0x32, 0x52, 0x64,
- 0x04, 0xe0, 0x09, 0x8c, 0xc0, 0x0e, 0x66, 0x59, 0xa2, 0x81, 0x00, 0x00,
+ 0x04, 0xe0, 0x09, 0x8c, 0xc0, 0x0e, 0x66, 0x59, 0xa0, 0x81, 0x00, 0x00,
0x20, 0x00, 0x00, 0x60, 0xc8, 0x13, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x80, 0x46, 0x08, 0xc3, 0x1e, 0xc2, 0x42, 0x00,
- 0xd1, 0xcb, 0x4a, 0x6c, 0x10, 0x28, 0xfc, 0x2b, 0x00, 0x00, 0x90, 0x05,
- 0x02, 0x00, 0x18, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
+ 0xd1, 0xcb, 0x4a, 0x6c, 0x10, 0x28, 0xcc, 0x2b, 0x00, 0x00, 0x90, 0x05,
+ 0x02, 0x00, 0x15, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x42, 0x75, 0x04, 0xa0, 0x40,
0xe8, 0x8c, 0x00, 0x90, 0x1a, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x7f, 0x01,
- 0x04, 0x41, 0x10, 0xff, 0xc6, 0x12, 0x40, 0x10, 0x04, 0xf1, 0x0f, 0x04,
- 0x41, 0x10, 0xff, 0x85, 0xb1, 0x04, 0x10, 0x04, 0x41, 0xfc, 0x17, 0x40,
- 0x10, 0x04, 0xf1, 0x5f, 0x18, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x3f, 0x10,
- 0x04, 0x41, 0xfc, 0xa3, 0x85, 0x06, 0x6b, 0x8e, 0xbd, 0x46, 0x74, 0x2c,
- 0xa1, 0x01, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x04, 0x41, 0x10, 0xff, 0x85, 0xb1, 0x04, 0x10, 0x04, 0x41, 0x12, 0x0c,
+ 0x40, 0x10, 0x04, 0xf1, 0x5f, 0x18, 0x4b, 0x00, 0x41, 0x10, 0xc4, 0x7f,
+ 0x01, 0x04, 0x41, 0x90, 0x04, 0x03, 0x5a, 0x38, 0xb0, 0xe6, 0x88, 0x8e,
+ 0x25, 0x34, 0x04, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -9356,52 +9335,52 @@ unsigned char compiled_default_ios_metallib[] = {
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xc6, 0x00,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x76, 0xdc, 0x0a, 0x01, 0x00,
- 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x76, 0x9c, 0x0a, 0x01, 0x00,
+ 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x30, 0x91, 0xd1, 0x10, 0xcc, 0xa0, 0x3c, 0x12, 0x42, 0x29, 0x85,
0x12, 0x5d, 0xcb, 0x02, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61,
- 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64,
- 0x75, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62,
- 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43,
- 0x6f, 0x6c, 0x6f, 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65,
- 0x61, 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43,
- 0x6c, 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x63, 0x6c,
- 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x13, 0x04,
- 0x60, 0x98, 0x20, 0x50, 0xd1, 0x04, 0x01, 0x20, 0x26, 0x08, 0x40, 0x31,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69,
+ 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x75,
+ 0x69, 0x6e, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x76, 0x69, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
+ 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f,
+ 0x6c, 0x6f, 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61,
+ 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c,
+ 0x65, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x63, 0x6c, 0x65,
+ 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x13, 0x04,
+ 0x60, 0x98, 0x20, 0x50, 0xd0, 0x04, 0x01, 0x20, 0x26, 0x08, 0x40, 0x31,
0x41, 0x00, 0x8c, 0x09, 0x82, 0x24, 0x4c, 0x10, 0x80, 0x63, 0x82, 0x00,
0x20, 0x1b, 0x06, 0x2f, 0xf8, 0x36, 0x0c, 0x60, 0x20, 0x84, 0xc1, 0x86,
0x60, 0xd8, 0x30, 0x78, 0x62, 0x20, 0x06, 0x1b, 0x08, 0xc2, 0x13, 0x03,
@@ -9428,8 +9407,8 @@ unsigned char compiled_default_ios_metallib[] = {
0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x34, 0x00,
0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x04, 0x66, 0x00, 0xca, 0x80, 0xee, 0x1c, 0x84, 0x41, 0x50,
- 0x14, 0xa5, 0x31, 0x02, 0x10, 0x04, 0x41, 0xfc, 0x23, 0x35, 0x03, 0x00,
+ 0x00, 0x00, 0x04, 0x66, 0x00, 0xca, 0x80, 0xee, 0x1c, 0x84, 0x41, 0x4c,
+ 0x13, 0xa5, 0x31, 0x02, 0x10, 0x04, 0x41, 0xfc, 0x23, 0x35, 0x03, 0x00,
0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x22, 0x47,
0xc8, 0x90, 0x51, 0x0e, 0xc4, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x13,
0x01, 0x00, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74,
@@ -9440,290 +9419,283 @@ unsigned char compiled_default_ios_metallib[] = {
0x36, 0x0c, 0x78, 0xd0, 0x07, 0x7b, 0xb0, 0x61, 0xf0, 0x03, 0x3f, 0xd8,
0x83, 0x0d, 0x03, 0xe6, 0x07, 0x7b, 0xb0, 0xa1, 0xd0, 0x03, 0x3f, 0xd8,
0x03, 0x50, 0xe0, 0x83, 0x0d, 0x43, 0x28, 0x80, 0x02, 0x1f, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0xd4, 0xd8, 0x6b, 0xc8, 0xa2, 0x80, 0x02, 0x45, 0x06,
- 0x19, 0x02, 0xc2, 0xd8, 0x6f, 0x50, 0xa8, 0x8c, 0x82, 0x54, 0xe6, 0x18,
- 0x06, 0x44, 0x99, 0x63, 0x08, 0x84, 0x2e, 0x83, 0x80, 0x18, 0x03, 0x00,
+ 0x00, 0x00, 0x77, 0xd4, 0xd8, 0x6b, 0xc0, 0xa0, 0x80, 0x02, 0x45, 0x06,
+ 0x19, 0x02, 0xc2, 0xd8, 0x6f, 0x50, 0x26, 0x8c, 0x82, 0x54, 0xe6, 0x18,
+ 0x06, 0x44, 0x99, 0x63, 0x08, 0x04, 0x2e, 0x83, 0x80, 0x18, 0x03, 0x00,
0x00, 0x00, 0x5b, 0x06, 0x21, 0xf0, 0x83, 0x2d, 0x43, 0x11, 0x84, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0e, 0x00,
0x00, 0x00, 0x52, 0x0e, 0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44,
0xc8, 0xe4, 0x48, 0x39, 0x40, 0x88, 0x90, 0xa1, 0x05, 0x30, 0xff, 0x5c,
0xf2, 0x06, 0xe7, 0x44, 0x0d, 0x11, 0x49, 0x06, 0x10, 0x2d, 0x4b, 0xc5,
- 0xf8, 0xc6, 0xe2, 0x04, 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x2a, 0x90,
+ 0xf8, 0xc6, 0xe2, 0x04, 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x2a, 0x60,
0x58, 0x70, 0x08, 0x0b, 0x01, 0x44, 0x2f, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
- 0x00, 0x00, 0xb0, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43,
- 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c,
- 0x30, 0x24, 0x80, 0x10, 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c,
- 0x00, 0x00, 0x24, 0x03, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00,
- 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8,
- 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05,
- 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92,
- 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32,
- 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19,
- 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51,
- 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18,
- 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x1b, 0xcc, 0x25, 0xf8, 0xff, 0xff,
- 0xff, 0xff, 0x01, 0x80, 0x03, 0x40, 0x02, 0x2a, 0x62, 0x1c, 0xde, 0x41,
- 0x1e, 0xe4, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xd8, 0x21, 0x1f, 0xda, 0x40,
- 0x1e, 0xde, 0xa1, 0x1e, 0xdc, 0x81, 0x1c, 0xca, 0x81, 0x1c, 0xda, 0x80,
- 0x1c, 0xd2, 0xc1, 0x1e, 0xd2, 0x81, 0x1c, 0xca, 0xa1, 0x0d, 0xe6, 0x21,
- 0x1e, 0xe4, 0x81, 0x1e, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21,
- 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x73, 0x08, 0x07, 0x76, 0x98, 0x87, 0x72,
- 0x00, 0x08, 0x72, 0x48, 0x87, 0x79, 0x08, 0x07, 0x71, 0x60, 0x87, 0x72,
- 0x68, 0x03, 0x7a, 0x08, 0x87, 0x74, 0x60, 0x87, 0x36, 0x18, 0x87, 0x70,
- 0x60, 0x07, 0x76, 0x98, 0x07, 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6, 0xa1,
- 0x1c, 0x00, 0x82, 0x1d, 0xca, 0x61, 0x1e, 0xe6, 0xa1, 0x0d, 0xe0, 0x41,
- 0x1e, 0xca, 0x61, 0x1c, 0xd2, 0x61, 0x1e, 0xca, 0xa1, 0x0d, 0xcc, 0x01,
- 0x1e, 0xda, 0x21, 0x1c, 0xc8, 0x01, 0x30, 0x87, 0x70, 0x60, 0x87, 0x79,
- 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68, 0x03, 0x73, 0x90, 0x87, 0x70,
- 0x68, 0x87, 0x72, 0x68, 0x03, 0x78, 0x78, 0x87, 0x74, 0x70, 0x07, 0x7a,
- 0x28, 0x07, 0x79, 0x68, 0x83, 0x72, 0x60, 0x87, 0x74, 0x68, 0x07, 0x80,
- 0x1e, 0xe4, 0xa1, 0x1e, 0xca, 0x01, 0x18, 0xdc, 0xe1, 0x1d, 0xda, 0xc0,
- 0x1c, 0xe4, 0x21, 0x1c, 0xda, 0xa1, 0x1c, 0xda, 0x00, 0x1e, 0xde, 0x21,
- 0x1d, 0xdc, 0x81, 0x1e, 0xca, 0x41, 0x1e, 0xda, 0xa0, 0x1c, 0xd8, 0x21,
- 0x1d, 0xda, 0xa1, 0x0d, 0xdc, 0xe1, 0x1d, 0xdc, 0xa1, 0x0d, 0xd8, 0xa1,
- 0x1c, 0xc2, 0xc1, 0x1c, 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xd2, 0xc1,
- 0x1d, 0xcc, 0x61, 0x1e, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21,
- 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80,
- 0x70, 0x87, 0x77, 0x68, 0x03, 0x75, 0xa8, 0x87, 0x76, 0x80, 0x87, 0x36,
- 0xa0, 0x87, 0x70, 0x10, 0x07, 0x76, 0x28, 0x87, 0x79, 0x00, 0xcc, 0x21,
- 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0x20, 0xdc, 0xe1, 0x1d, 0xda, 0xc0,
- 0x1d, 0xc2, 0xc1, 0x1d, 0xe6, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0xa0,
- 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72,
- 0x00, 0x08, 0x77, 0x78, 0x87, 0x36, 0x98, 0x87, 0x74, 0x38, 0x07, 0x77,
- 0x28, 0x07, 0x72, 0x68, 0x03, 0x7d, 0x28, 0x07, 0x79, 0x78, 0x87, 0x79,
- 0x68, 0x03, 0x73, 0x80, 0x87, 0x36, 0x68, 0x87, 0x70, 0xa0, 0x07, 0x74,
- 0x00, 0xe8, 0x41, 0x1e, 0xea, 0xa1, 0x1c, 0x00, 0xc2, 0x1d, 0xde, 0xa1,
- 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0x01, 0x1e, 0xe0, 0x21, 0x1d, 0xdc, 0xe1,
- 0x1c, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79,
- 0xa8, 0x87, 0x72, 0x00, 0x88, 0x79, 0xa0, 0x87, 0x70, 0x18, 0x87, 0x75,
- 0x68, 0x03, 0x78, 0x90, 0x87, 0x77, 0xa0, 0x87, 0x72, 0x18, 0x07, 0x7a,
- 0x78, 0x07, 0x79, 0x68, 0x03, 0x71, 0xa8, 0x07, 0x73, 0x30, 0x87, 0x72,
- 0x90, 0x87, 0x36, 0x98, 0x87, 0x74, 0xd0, 0x87, 0x72, 0x00, 0xf0, 0x00,
- 0x20, 0xea, 0xc1, 0x1d, 0xe6, 0x21, 0x1c, 0xcc, 0xa1, 0x1c, 0xda, 0xc0,
- 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a,
- 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0xa8, 0x87, 0x79, 0x28, 0x87, 0x36,
- 0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77,
- 0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01,
- 0xd8, 0xb0, 0x08, 0x02, 0x90, 0x00, 0x0b, 0x50, 0x05, 0x69, 0x80, 0x06,
- 0x00, 0x00, 0x49, 0x18, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x84,
- 0x40, 0x00, 0x89, 0x20, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x32, 0x22,
- 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93,
- 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84,
- 0xa4, 0x4c, 0x10, 0x7c, 0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40,
- 0x62, 0x8e, 0x00, 0x21, 0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x69,
- 0x00, 0x06, 0x11, 0x12, 0x61, 0x06, 0x60, 0x18, 0x41, 0x58, 0xd2, 0x80,
- 0x0d, 0x22, 0x34, 0xc2, 0x30, 0x02, 0xb1, 0xdc, 0x25, 0x4d, 0x11, 0x25,
- 0x4c, 0xfe, 0xb6, 0x20, 0xd3, 0xcb, 0xa2, 0xd4, 0xe4, 0x3f, 0x80, 0xa0,
- 0x10, 0x03, 0x16, 0x1e, 0x4b, 0x02, 0x76, 0x91, 0x34, 0x45, 0x94, 0x30,
- 0xf9, 0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c, 0x84, 0x8a, 0x08, 0x08,
- 0x21, 0x83, 0x08, 0x92, 0x50, 0x06, 0x08, 0x26, 0xd1, 0x81, 0x80, 0x14,
- 0x00, 0x73, 0x04, 0xa0, 0x30, 0x88, 0xc0, 0x08, 0xc3, 0x08, 0x04, 0x30,
- 0x88, 0x00, 0x08, 0x83, 0x08, 0x84, 0x30, 0x47, 0x10, 0x4c, 0x01, 0x00,
- 0x00, 0x00, 0x13, 0xaa, 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68,
- 0x83, 0x70, 0x80, 0x07, 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78,
- 0x87, 0x79, 0x88, 0x83, 0x38, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0xd8,
- 0x70, 0x1b, 0xe5, 0xd0, 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a,
- 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71,
- 0xa0, 0x07, 0x78, 0xa0, 0x07, 0x78, 0xd0, 0x06, 0xe9, 0x80, 0x07, 0x7a,
- 0x80, 0x07, 0x7a, 0x80, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a,
- 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x90, 0x0e, 0x73,
- 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
- 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76,
- 0x40, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72,
- 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x76, 0x40, 0x07, 0x7a,
- 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x71,
- 0x60, 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d,
- 0x60, 0x0f, 0x72, 0x40, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
- 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72,
- 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x74, 0x80, 0x07, 0x7a,
- 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x76,
- 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
- 0x60, 0x0f, 0x79, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x7a,
- 0x10, 0x07, 0x72, 0x80, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x20, 0x07, 0x78,
- 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78,
- 0xd0, 0x06, 0xf6, 0x10, 0x07, 0x79, 0x20, 0x07, 0x7a, 0x20, 0x07, 0x75,
- 0x60, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72,
- 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72,
- 0x50, 0x07, 0x76, 0xd0, 0x06, 0xf6, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a,
- 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x6d,
- 0x60, 0x0f, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x7a, 0x10, 0x07, 0x70,
- 0x20, 0x07, 0x74, 0xa0, 0x07, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x6d,
- 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72,
- 0xa0, 0xf3, 0x40, 0x08, 0x19, 0x32, 0x52, 0x64, 0x04, 0xe0, 0x09, 0x96,
- 0xc0, 0x0e, 0x26, 0x59, 0xae, 0x61, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60,
- 0x07, 0xd3, 0x2c, 0xdc, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x30, 0xe4,
- 0xa1, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40,
- 0x23, 0x84, 0x61, 0x8d, 0x60, 0x41, 0xa6, 0x97, 0x95, 0xd8, 0x20, 0x50,
- 0xf8, 0x62, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x1d, 0x00,
- 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09,
- 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02,
- 0x50, 0x50, 0x05, 0x51, 0x40, 0x85, 0x54, 0x4a, 0xc5, 0x44, 0x64, 0x04,
- 0xa0, 0x08, 0x08, 0x8f, 0x00, 0x14, 0x50, 0x21, 0x95, 0x52, 0x31, 0xd1,
- 0x19, 0x01, 0xa0, 0x34, 0x96, 0x21, 0x04, 0x80, 0x30, 0x04, 0xc4, 0xc6,
- 0x12, 0x40, 0x10, 0x04, 0xf1, 0x5f, 0x00, 0x41, 0x10, 0xc4, 0xbf, 0xb1,
- 0x04, 0x10, 0x04, 0x41, 0xfc, 0x03, 0x41, 0x10, 0xc4, 0x7f, 0x61, 0x2c,
- 0x01, 0x04, 0x41, 0x10, 0xff, 0x05, 0x10, 0x04, 0x41, 0xfc, 0x17, 0xc6,
- 0x12, 0x40, 0x10, 0x04, 0xf1, 0x0f, 0x04, 0x41, 0x10, 0xff, 0xa8, 0xa1,
- 0x71, 0x71, 0xbe, 0x1a, 0xd3, 0x1d, 0x4b, 0x68, 0x00, 0x00, 0xb1, 0x18,
- 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
- 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
- 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
- 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1,
- 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84,
- 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc,
- 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70,
- 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19,
- 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f,
- 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21,
- 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc,
- 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84,
- 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37,
- 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70,
- 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77,
- 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79,
- 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e,
- 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1,
- 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81,
- 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98,
- 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88,
- 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4,
- 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc7, 0x69, 0x87, 0x70, 0x58, 0x87, 0x72,
- 0x70, 0x83, 0x74, 0x68, 0x07, 0x78, 0x60, 0x87, 0x74, 0x18, 0x87, 0x74,
- 0xa0, 0x87, 0x19, 0xce, 0x53, 0x0f, 0xee, 0x00, 0x0f, 0xf2, 0x50, 0x0e,
- 0xe4, 0x90, 0x0e, 0xe3, 0x40, 0x0f, 0xe1, 0x20, 0x0e, 0xec, 0x50, 0x0e,
- 0x33, 0x20, 0x28, 0x1d, 0xdc, 0xc1, 0x1e, 0xc2, 0x41, 0x1e, 0xd2, 0x21,
- 0x1c, 0xdc, 0x81, 0x1e, 0xdc, 0xe0, 0x1c, 0xe4, 0xe1, 0x1d, 0xea, 0x01,
- 0x1e, 0x66, 0x18, 0x51, 0x38, 0xb0, 0x43, 0x3a, 0x9c, 0x83, 0x3b, 0xcc,
- 0x50, 0x24, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x60, 0x87, 0x77,
- 0x78, 0x07, 0x78, 0x98, 0x51, 0x4c, 0xf4, 0x90, 0x0f, 0xf0, 0x50, 0x0e,
- 0x33, 0x1e, 0x6a, 0x1e, 0xca, 0x61, 0x1c, 0xe8, 0x21, 0x1d, 0xde, 0xc1,
- 0x1d, 0x7e, 0x01, 0x1e, 0xe4, 0xa1, 0x1c, 0xcc, 0x21, 0x1d, 0xf0, 0x61,
- 0x06, 0x54, 0x85, 0x83, 0x38, 0xcc, 0xc3, 0x3b, 0xb0, 0x43, 0x3d, 0xd0,
- 0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0,
- 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
- 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
- 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x9a,
- 0x01, 0x19, 0xac, 0x13, 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
- 0x41, 0x18, 0x90, 0xc1, 0x19, 0x30, 0x91, 0xc1, 0x20, 0xd1, 0x62, 0x24,
- 0x0d, 0x31, 0x28, 0x8f, 0x84, 0x50, 0xcc, 0x80, 0x10, 0x0c, 0xc4, 0x44,
- 0x97, 0x72, 0x00, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0,
+ 0x17, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x68, 0x0c,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x0c, 0x30, 0x24, 0x80, 0x10,
+ 0x05, 0xc8, 0x14, 0x00, 0x00, 0x00, 0x21, 0x0c, 0x00, 0x00, 0x12, 0x03,
+ 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00,
+ 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10,
+ 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04,
+ 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10,
+ 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90,
+ 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48,
+ 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83,
+ 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x83, 0x00,
+ 0x00, 0x00, 0x1b, 0xcc, 0x25, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80,
+ 0x03, 0x40, 0x02, 0x2a, 0x62, 0x1c, 0xde, 0x41, 0x1e, 0xe4, 0xa1, 0x1c,
+ 0xc6, 0x81, 0x1e, 0xd8, 0x21, 0x1f, 0xda, 0x40, 0x1e, 0xde, 0xa1, 0x1e,
+ 0xdc, 0x81, 0x1c, 0xca, 0x81, 0x1c, 0xda, 0x80, 0x1c, 0xd2, 0xc1, 0x1e,
+ 0xd2, 0x81, 0x1c, 0xca, 0xa1, 0x0d, 0xe6, 0x21, 0x1e, 0xe4, 0x81, 0x1e,
+ 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d,
+ 0x00, 0x73, 0x08, 0x07, 0x76, 0x98, 0x87, 0x72, 0x00, 0x08, 0x72, 0x48,
+ 0x87, 0x79, 0x08, 0x07, 0x71, 0x60, 0x87, 0x72, 0x68, 0x03, 0x7a, 0x08,
+ 0x87, 0x74, 0x60, 0x87, 0x36, 0x18, 0x87, 0x70, 0x60, 0x07, 0x76, 0x98,
+ 0x07, 0xc0, 0x1c, 0xc2, 0x81, 0x1d, 0xe6, 0xa1, 0x1c, 0x00, 0x82, 0x1d,
+ 0xca, 0x61, 0x1e, 0xe6, 0xa1, 0x0d, 0xe0, 0x41, 0x1e, 0xca, 0x61, 0x1c,
+ 0xd2, 0x61, 0x1e, 0xca, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0x21, 0x1c,
+ 0xc8, 0x01, 0x30, 0x87, 0x70, 0x60, 0x87, 0x79, 0x28, 0x07, 0x80, 0x70,
+ 0x87, 0x77, 0x68, 0x03, 0x73, 0x90, 0x87, 0x70, 0x68, 0x87, 0x72, 0x68,
+ 0x03, 0x78, 0x78, 0x87, 0x74, 0x70, 0x07, 0x7a, 0x28, 0x07, 0x79, 0x68,
+ 0x83, 0x72, 0x60, 0x87, 0x74, 0x68, 0x07, 0x80, 0x1e, 0xe4, 0xa1, 0x1e,
+ 0xca, 0x01, 0x18, 0xdc, 0xe1, 0x1d, 0xda, 0xc0, 0x1c, 0xe4, 0x21, 0x1c,
+ 0xda, 0xa1, 0x1c, 0xda, 0x00, 0x1e, 0xde, 0x21, 0x1d, 0xdc, 0x81, 0x1e,
+ 0xca, 0x41, 0x1e, 0xda, 0xa0, 0x1c, 0xd8, 0x21, 0x1d, 0xda, 0xa1, 0x0d,
+ 0xdc, 0xe1, 0x1d, 0xdc, 0xa1, 0x0d, 0xd8, 0xa1, 0x1c, 0xc2, 0xc1, 0x1c,
+ 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xd2, 0xc1, 0x1d, 0xcc, 0x61, 0x1e,
+ 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d, 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d,
+ 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28, 0x07, 0x80, 0x70, 0x87, 0x77, 0x68,
+ 0x03, 0x75, 0xa8, 0x87, 0x76, 0x80, 0x87, 0x36, 0xa0, 0x87, 0x70, 0x10,
+ 0x07, 0x76, 0x28, 0x87, 0x79, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e,
+ 0xca, 0x01, 0x20, 0xdc, 0xe1, 0x1d, 0xda, 0xc0, 0x1d, 0xc2, 0xc1, 0x1d,
+ 0xe6, 0xa1, 0x0d, 0xcc, 0x01, 0x1e, 0xda, 0xa0, 0x1d, 0xc2, 0x81, 0x1e,
+ 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00, 0x08, 0x77, 0x78,
+ 0x87, 0x36, 0x98, 0x87, 0x74, 0x38, 0x07, 0x77, 0x28, 0x07, 0x72, 0x68,
+ 0x03, 0x7d, 0x28, 0x07, 0x79, 0x78, 0x87, 0x79, 0x68, 0x03, 0x73, 0x80,
+ 0x87, 0x36, 0x68, 0x87, 0x70, 0xa0, 0x07, 0x74, 0x00, 0xe8, 0x41, 0x1e,
+ 0xea, 0xa1, 0x1c, 0x00, 0xc2, 0x1d, 0xde, 0xa1, 0x0d, 0xe8, 0x41, 0x1e,
+ 0xc2, 0x01, 0x1e, 0xe0, 0x21, 0x1d, 0xdc, 0xe1, 0x1c, 0xda, 0xa0, 0x1d,
+ 0xc2, 0x81, 0x1e, 0xd0, 0x01, 0xa0, 0x07, 0x79, 0xa8, 0x87, 0x72, 0x00,
+ 0x88, 0x79, 0xa0, 0x87, 0x70, 0x18, 0x87, 0x75, 0x68, 0x03, 0x78, 0x90,
+ 0x87, 0x77, 0xa0, 0x87, 0x72, 0x18, 0x07, 0x7a, 0x78, 0x07, 0x79, 0x68,
+ 0x03, 0x71, 0xa8, 0x07, 0x73, 0x30, 0x87, 0x72, 0x90, 0x87, 0x36, 0x98,
+ 0x87, 0x74, 0xd0, 0x87, 0x72, 0x00, 0xf0, 0x00, 0x20, 0xea, 0xc1, 0x1d,
+ 0xe6, 0x21, 0x1c, 0xcc, 0xa1, 0x1c, 0xda, 0xc0, 0x1c, 0xe0, 0xa1, 0x0d,
+ 0xda, 0x21, 0x1c, 0xe8, 0x01, 0x1d, 0x00, 0x7a, 0x90, 0x87, 0x7a, 0x28,
+ 0x07, 0x80, 0xa8, 0x87, 0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30,
+ 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00,
+ 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01, 0xd8, 0xb0, 0x08, 0x02,
+ 0x90, 0x00, 0x0b, 0x50, 0x05, 0x69, 0x00, 0x06, 0x00, 0x00, 0x49, 0x18,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x84, 0x40, 0x00, 0x89, 0x20,
+ 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64,
+ 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1,
+ 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x6c,
+ 0x73, 0x04, 0x60, 0x30, 0x02, 0x50, 0x82, 0x40, 0x62, 0x8e, 0x00, 0x21,
+ 0x62, 0x06, 0x30, 0x4a, 0x02, 0x18, 0x3a, 0x33, 0x00, 0xc3, 0x08, 0x42,
+ 0x92, 0x03, 0x6a, 0x10, 0x61, 0x11, 0x86, 0x11, 0x88, 0xe4, 0x2e, 0x69,
+ 0x8a, 0x28, 0x61, 0xf2, 0xb7, 0x05, 0x99, 0x5e, 0x16, 0xa5, 0x26, 0xff,
+ 0x01, 0x04, 0x85, 0x18, 0xb0, 0xd0, 0xd4, 0x45, 0xd2, 0x14, 0x51, 0xc2,
+ 0xe4, 0x6f, 0x0b, 0x32, 0xa5, 0x40, 0x04, 0x30, 0x12, 0x2a, 0x16, 0x20,
+ 0x84, 0x0c, 0x22, 0x3c, 0x42, 0x19, 0x1c, 0x80, 0x14, 0x07, 0x02, 0x52,
+ 0x00, 0xcc, 0x11, 0x80, 0xc2, 0x20, 0x82, 0x22, 0x0c, 0x23, 0x10, 0xc0,
+ 0x20, 0x02, 0x21, 0xcc, 0x11, 0x04, 0x53, 0x00, 0x00, 0x00, 0x13, 0xaa,
+ 0x70, 0x48, 0x07, 0x79, 0xb0, 0x03, 0x3a, 0x68, 0x83, 0x70, 0x80, 0x07,
+ 0x78, 0x60, 0x87, 0x72, 0x68, 0x83, 0x74, 0x78, 0x87, 0x79, 0x88, 0x83,
+ 0x38, 0x70, 0x03, 0x38, 0x70, 0x03, 0x38, 0xd8, 0x70, 0x1b, 0xe5, 0xd0,
+ 0x06, 0xf0, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0,
+ 0x07, 0x76, 0x40, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x78, 0xa0,
+ 0x07, 0x78, 0xd0, 0x06, 0xe9, 0x80, 0x07, 0x7a, 0x80, 0x07, 0x7a, 0x80,
+ 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x10, 0x07, 0x76, 0xa0,
+ 0x07, 0x71, 0x60, 0x07, 0x6d, 0x90, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30,
+ 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40,
+ 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60,
+ 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20,
+ 0x07, 0x6d, 0x60, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0,
+ 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x60, 0x07, 0x7a, 0x10,
+ 0x07, 0x76, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x40,
+ 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60,
+ 0x0f, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20,
+ 0x07, 0x6d, 0x60, 0x0f, 0x74, 0x80, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xa0,
+ 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x76, 0x40, 0x07, 0x7a, 0x60,
+ 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0x60, 0x0f, 0x79, 0x60,
+ 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80, 0x07, 0x7a, 0x10, 0x07, 0x72, 0x80,
+ 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x20, 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20,
+ 0x07, 0x78, 0xa0, 0x07, 0x71, 0x20, 0x07, 0x78, 0xd0, 0x06, 0xf6, 0x10,
+ 0x07, 0x79, 0x20, 0x07, 0x7a, 0x20, 0x07, 0x75, 0x60, 0x07, 0x7a, 0x20,
+ 0x07, 0x75, 0x60, 0x07, 0x6d, 0x60, 0x0f, 0x72, 0x50, 0x07, 0x76, 0xa0,
+ 0x07, 0x72, 0x50, 0x07, 0x76, 0xa0, 0x07, 0x72, 0x50, 0x07, 0x76, 0xd0,
+ 0x06, 0xf6, 0x50, 0x07, 0x71, 0x20, 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20,
+ 0x07, 0x7a, 0x50, 0x07, 0x71, 0x20, 0x07, 0x6d, 0x60, 0x0f, 0x71, 0x00,
+ 0x07, 0x72, 0x40, 0x07, 0x7a, 0x10, 0x07, 0x70, 0x20, 0x07, 0x74, 0xa0,
+ 0x07, 0x71, 0x00, 0x07, 0x72, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0,
+ 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0xf3, 0x40, 0x08,
+ 0x19, 0x32, 0x52, 0x64, 0x04, 0xe0, 0x09, 0x96, 0xc0, 0x0e, 0x66, 0x59,
+ 0xb4, 0x81, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0xc8, 0x13, 0x01, 0x00,
+ 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x46, 0x08, 0xc3,
+ 0x1a, 0xc1, 0x82, 0x4c, 0x2f, 0x2b, 0xb1, 0x41, 0xa0, 0x70, 0xc2, 0x00,
+ 0x00, 0x40, 0x16, 0x08, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x32, 0x1e,
+ 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
+ 0x43, 0x02, 0x45, 0x50, 0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x51,
+ 0x06, 0x05, 0x53, 0x38, 0xa5, 0x53, 0x3c, 0x44, 0x46, 0x00, 0x8a, 0x80,
+ 0xea, 0x08, 0x40, 0xc1, 0x14, 0x4e, 0xe9, 0x14, 0x0f, 0x9d, 0x11, 0x00,
+ 0x52, 0x63, 0x09, 0x20, 0x08, 0x82, 0xf8, 0x2f, 0x80, 0x20, 0x08, 0xe2,
+ 0xbf, 0x30, 0x96, 0x00, 0x82, 0x20, 0x48, 0x82, 0x01, 0x08, 0x82, 0x20,
+ 0xfe, 0x0b, 0x63, 0x09, 0x20, 0x08, 0x82, 0xf8, 0x2f, 0x80, 0x20, 0x08,
+ 0x92, 0x60, 0x40, 0x0b, 0x07, 0x7b, 0x31, 0xd1, 0xb1, 0x84, 0x86, 0x00,
+ 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
+ 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
+ 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
+ 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c,
+ 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d,
+ 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d,
+ 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07,
+ 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87,
+ 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30,
+ 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10,
+ 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66,
+ 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c,
+ 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07,
+ 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87,
+ 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05,
+ 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87,
+ 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0,
+ 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4,
+ 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca,
+ 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39,
+ 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38,
+ 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c,
+ 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc7, 0x69, 0x87,
+ 0x70, 0x58, 0x87, 0x72, 0x70, 0x83, 0x74, 0x68, 0x07, 0x78, 0x60, 0x87,
+ 0x74, 0x18, 0x87, 0x74, 0xa0, 0x87, 0x19, 0xce, 0x53, 0x0f, 0xee, 0x00,
+ 0x0f, 0xf2, 0x50, 0x0e, 0xe4, 0x90, 0x0e, 0xe3, 0x40, 0x0f, 0xe1, 0x20,
+ 0x0e, 0xec, 0x50, 0x0e, 0x33, 0x20, 0x28, 0x1d, 0xdc, 0xc1, 0x1e, 0xc2,
+ 0x41, 0x1e, 0xd2, 0x21, 0x1c, 0xdc, 0x81, 0x1e, 0xdc, 0xe0, 0x1c, 0xe4,
+ 0xe1, 0x1d, 0xea, 0x01, 0x1e, 0x66, 0x18, 0x51, 0x38, 0xb0, 0x43, 0x3a,
+ 0x9c, 0x83, 0x3b, 0xcc, 0x50, 0x24, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07,
+ 0x37, 0x60, 0x87, 0x77, 0x78, 0x07, 0x78, 0x98, 0x51, 0x4c, 0xf4, 0x90,
+ 0x0f, 0xf0, 0x50, 0x0e, 0x33, 0x1e, 0x6a, 0x1e, 0xca, 0x61, 0x1c, 0xe8,
+ 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x7e, 0x01, 0x1e, 0xe4, 0xa1, 0x1c, 0xcc,
+ 0x21, 0x1d, 0xf0, 0x61, 0x06, 0x54, 0x85, 0x83, 0x38, 0xcc, 0xc3, 0x3b,
+ 0xb0, 0x43, 0x3d, 0xd0, 0x43, 0x39, 0xfc, 0xc2, 0x3c, 0xe4, 0x43, 0x3b,
+ 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
+ 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
+ 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0x22, 0x47,
+ 0xc8, 0x90, 0x51, 0x9a, 0x01, 0x19, 0xa8, 0x13, 0x00, 0x00, 0x8b, 0xc2,
+ 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x30, 0x91, 0xc1,
+ 0x20, 0xd1, 0x62, 0x24, 0x0d, 0x31, 0x28, 0x8f, 0x84, 0x50, 0xcc, 0x80,
+ 0x10, 0x0c, 0xc4, 0x44, 0x97, 0x72, 0x00, 0x00, 0x00, 0x00, 0x53, 0x44,
+ 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68,
+ 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65,
+ 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e,
+ 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f,
+ 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69,
+ 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x6f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e,
+ 0x31, 0x29, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43,
+ 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72,
+ 0x74, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x75, 0x69, 0x6e, 0x74, 0x76, 0x69,
+ 0x64, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61,
+ 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69,
+ 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e,
+ 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75,
+ 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73,
+ 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62,
+ 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
+ 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69,
+ 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75,
+ 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61,
- 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x76,
- 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
- 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x66,
- 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72,
- 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78,
- 0x5f, 0x69, 0x64, 0x75, 0x69, 0x6e, 0x74, 0x76, 0x69, 0x64, 0x61, 0x69,
- 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e,
- 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61,
- 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
- 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74,
- 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c,
- 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
- 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70,
- 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
- 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x00, 0x13, 0x04, 0x80, 0x98, 0x20, 0x5c, 0xdc, 0x04, 0x01, 0x28,
- 0x26, 0x08, 0x80, 0x31, 0x41, 0x00, 0x8e, 0x09, 0x42, 0x35, 0x4c, 0x10,
- 0x00, 0x64, 0x82, 0x00, 0x24, 0x13, 0x04, 0x40, 0x99, 0x20, 0x00, 0xcb,
- 0x04, 0x01, 0x60, 0x26, 0x08, 0x40, 0xb3, 0x61, 0x38, 0x83, 0x00, 0x0d,
- 0x36, 0x0c, 0x69, 0x20, 0xa8, 0xc1, 0x86, 0x60, 0xd8, 0x30, 0x9c, 0xc1,
- 0x1a, 0xac, 0xc1, 0x06, 0x82, 0x38, 0x83, 0x35, 0x58, 0x83, 0x0d, 0x41,
- 0xb1, 0x21, 0x30, 0x36, 0x04, 0xc7, 0x86, 0x00, 0xd9, 0x10, 0x24, 0x1b,
- 0x02, 0x65, 0x43, 0xb1, 0x30, 0x8d, 0xf3, 0x6c, 0x30, 0xa0, 0x88, 0x91,
- 0x9c, 0x69, 0x83, 0xe0, 0x07, 0x7f, 0xb0, 0xc1, 0x58, 0x03, 0x8a, 0xa9,
- 0x1c, 0x6b, 0x43, 0xb6, 0x06, 0x6e, 0xa0, 0x06, 0x12, 0xf7, 0x06, 0x6a,
- 0xb0, 0x06, 0x9d, 0x07, 0x07, 0x69, 0xb0, 0x06, 0x1f, 0x18, 0xc4, 0x41,
- 0x1a, 0xac, 0xc1, 0x17, 0x06, 0x72, 0x90, 0x06, 0x6b, 0xf0, 0x89, 0xc1,
- 0x06, 0x29, 0x0d, 0x2e, 0xac, 0x0d, 0xb2, 0x35, 0x48, 0x03, 0x6d, 0x13,
- 0x85, 0x31, 0x68, 0x03, 0x32, 0x70, 0x03, 0xa6, 0x0c, 0x1c, 0x33, 0xd8,
- 0x20, 0x84, 0xc2, 0x28, 0x6c, 0x18, 0xd8, 0x00, 0x14, 0x48, 0x41, 0x23,
- 0x81, 0x09, 0x6a, 0xc4, 0xc6, 0x66, 0xd7, 0xe6, 0xd2, 0xf6, 0x46, 0x56,
- 0xc7, 0x56, 0xe6, 0x62, 0xc6, 0x16, 0x76, 0x36, 0x37, 0x45, 0x90, 0x83,
- 0x39, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46,
- 0x37, 0x25, 0xa0, 0x83, 0x2e, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x82, 0x3a, 0x28, 0x15, 0x96, 0x26, 0xe7,
- 0xc2, 0x16, 0xe6, 0x76, 0x56, 0x17, 0x76, 0x56, 0xf6, 0x65, 0x57, 0x26,
- 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0xb0, 0x83, 0x4e, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x8c, 0x3b, 0xc0, 0x83, 0x3c, 0xd0, 0x83,
- 0x3d, 0xe0, 0x83, 0x2a, 0x61, 0x69, 0x72, 0x2e, 0x76, 0x65, 0x72, 0x74,
- 0x65, 0x78, 0x53, 0x02, 0x52, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00,
- 0x00, 0x00, 0x0b, 0x0a, 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58,
- 0x70, 0x98, 0x43, 0x3d, 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3,
- 0x82, 0xe6, 0x1c, 0xc6, 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d,
- 0xe6, 0x21, 0x1d, 0xe8, 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0x61, 0x20,
- 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x13, 0x04, 0x43, 0x2c, 0x10, 0x00,
- 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x66, 0x00, 0xca, 0x80, 0x70,
- 0x09, 0x90, 0x9e, 0x83, 0x38, 0x8a, 0xef, 0x1b, 0x8b, 0x00, 0x02, 0xe3,
- 0xa0, 0x35, 0x03, 0x30, 0x02, 0x30, 0x46, 0x00, 0x82, 0x20, 0x88, 0x7f,
- 0x63, 0x04, 0x20, 0x08, 0x82, 0x20, 0x28, 0x10, 0x9b, 0x01, 0xa0, 0x37,
- 0x07, 0x41, 0x06, 0x64, 0x50, 0x06, 0x66, 0x40, 0x70, 0x06, 0x00, 0x00,
- 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x0e, 0x84, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x03,
- 0x01, 0x00, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74,
- 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20,
- 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41, 0x5f, 0x5a, 0x54, 0x53,
- 0x31, 0x30, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x00, 0x00, 0x13, 0x04, 0x0c, 0x9a, 0x20, 0x60, 0xd1, 0x04, 0x01, 0x93,
- 0x26, 0x08, 0xd8, 0x34, 0x41, 0xc0, 0xa8, 0x09, 0x02, 0xe1, 0x4c, 0x10,
- 0x88, 0x67, 0x43, 0x70, 0x0a, 0x1b, 0x06, 0x53, 0x80, 0x85, 0x54, 0xd8,
- 0x30, 0xc4, 0x42, 0x2c, 0xa4, 0xc2, 0x86, 0xa1, 0x8b, 0x85, 0x54, 0xd8,
- 0x30, 0xcc, 0xc2, 0x2c, 0xa4, 0xc2, 0x86, 0xe1, 0x8b, 0x85, 0x54, 0xd8,
- 0xb0, 0xa0, 0x42, 0x2c, 0xa4, 0xc2, 0x2c, 0xa8, 0x42, 0x2d, 0xac, 0x42,
- 0x2d, 0xb0, 0x42, 0x2d, 0xb4, 0xc2, 0x86, 0xc1, 0x16, 0x6a, 0x81, 0x15,
- 0x36, 0x08, 0xae, 0xf0, 0x0a, 0x00, 0xe7, 0xe0, 0xd8, 0x6d, 0x50, 0x03,
- 0x2e, 0xa0, 0x80, 0x91, 0x41, 0x86, 0xc0, 0x60, 0x06, 0x19, 0x02, 0x83,
- 0xd9, 0x69, 0x78, 0x03, 0x30, 0x28, 0x28, 0x00, 0xe3, 0x02, 0x2c, 0x5b,
- 0x12, 0xd5, 0x18, 0xb0, 0x41, 0x40, 0x01, 0x23, 0x5b, 0x0e, 0x57, 0x19,
- 0x54, 0x14, 0x90, 0x30, 0xdc, 0x10, 0xa4, 0x01, 0x18, 0xcc, 0x32, 0x04,
- 0x42, 0x30, 0x86, 0xb0, 0xcc, 0x81, 0x49, 0x41, 0x7c, 0xe6, 0x18, 0x96,
- 0x20, 0x9b, 0x25, 0x10, 0x06, 0x2a, 0x1e, 0x0c, 0x10, 0x82, 0xd9, 0x06,
- 0x29, 0x00, 0x66, 0x1b, 0x82, 0x24, 0xc8, 0x20, 0x20, 0x06, 0x06, 0x00,
- 0x00, 0x00, 0x5b, 0x06, 0x21, 0x88, 0x85, 0x2d, 0x83, 0x11, 0xcc, 0xc2,
- 0x96, 0x21, 0x09, 0x62, 0x61, 0x4b, 0xb1, 0x04, 0xb6, 0x40, 0xdc, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x12, 0x00,
+ 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42,
+ 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x00, 0x00, 0x13, 0x04, 0x60, 0x98, 0x20, 0x50,
+ 0xda, 0x04, 0x01, 0x20, 0x26, 0x08, 0x40, 0x31, 0x41, 0x00, 0x8c, 0x09,
+ 0x82, 0x24, 0x4c, 0x10, 0x80, 0x63, 0x82, 0x00, 0x20, 0x13, 0x04, 0x20,
+ 0x99, 0x20, 0x00, 0xca, 0x04, 0x01, 0x58, 0x26, 0x08, 0x00, 0x33, 0x41,
+ 0x00, 0x9a, 0x0d, 0xc3, 0x19, 0x04, 0x68, 0xb0, 0x61, 0x48, 0x03, 0x41,
+ 0x0d, 0x36, 0x04, 0xc3, 0x86, 0xe1, 0x0c, 0xd6, 0x60, 0x0d, 0x36, 0x10,
+ 0xc4, 0x19, 0xac, 0xc1, 0x1a, 0x6c, 0x08, 0x8a, 0x0d, 0x81, 0xb1, 0x21,
+ 0x38, 0x36, 0x04, 0xc8, 0x86, 0x20, 0xd9, 0x10, 0x28, 0x1b, 0x8a, 0x85,
+ 0x69, 0x9c, 0x67, 0x83, 0x01, 0x45, 0x8c, 0xe4, 0x4c, 0x1b, 0x84, 0x3f,
+ 0x00, 0x85, 0x0d, 0xc6, 0x1a, 0x50, 0x4c, 0xe5, 0x58, 0x1b, 0xb2, 0x35,
+ 0x70, 0x83, 0x37, 0x90, 0x38, 0x38, 0x50, 0x83, 0x35, 0xe8, 0xbc, 0x38,
+ 0x48, 0x83, 0x35, 0xf8, 0xc0, 0x40, 0x0e, 0xd2, 0x60, 0x0d, 0xbe, 0x30,
+ 0x98, 0x83, 0x34, 0x58, 0x83, 0x4f, 0x0c, 0x36, 0x48, 0x69, 0x70, 0x61,
+ 0x6d, 0x90, 0xad, 0x41, 0x1a, 0x68, 0xdb, 0x28, 0x8c, 0x41, 0x1b, 0x90,
+ 0x81, 0x1b, 0x30, 0x65, 0xe0, 0x98, 0xc1, 0x06, 0x41, 0x14, 0x48, 0x61,
+ 0xc3, 0xc0, 0x06, 0xa1, 0x50, 0x0a, 0x1a, 0x09, 0x4c, 0x50, 0x23, 0x36,
+ 0x36, 0xbb, 0x36, 0x97, 0xb6, 0x37, 0xb2, 0x3a, 0xb6, 0x32, 0x17, 0x33,
+ 0xb6, 0xb0, 0xb3, 0xb9, 0x29, 0xc2, 0x1c, 0xd0, 0x41, 0x15, 0x36, 0x36,
+ 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x1d, 0x74,
+ 0x09, 0x4b, 0x93, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b,
+ 0x12, 0xd8, 0x41, 0xa9, 0xb0, 0x34, 0x39, 0x17, 0xb6, 0x30, 0xb7, 0xb3,
+ 0xba, 0xb0, 0xb3, 0xb2, 0x2f, 0xbb, 0x32, 0xb9, 0xb9, 0xb4, 0x37, 0xb7,
+ 0x29, 0xc1, 0x1d, 0x74, 0x0a, 0x4b, 0x93, 0x73, 0x19, 0x7b, 0x6b, 0x83,
+ 0x4b, 0x63, 0x2b, 0xfb, 0x7a, 0x83, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x9b,
+ 0x62, 0xe0, 0x41, 0x1e, 0xe8, 0xc1, 0x1e, 0xf0, 0x41, 0x1f, 0x54, 0x09,
+ 0x4b, 0x93, 0x73, 0xb1, 0x2b, 0x93, 0xa3, 0x2b, 0xc3, 0x9b, 0x12, 0x94,
+ 0x02, 0x00, 0xa9, 0x18, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0a,
+ 0x72, 0x28, 0x87, 0x77, 0x80, 0x07, 0x7a, 0x58, 0x70, 0x98, 0x43, 0x3d,
+ 0xb8, 0xc3, 0x38, 0xb0, 0x43, 0x39, 0xd0, 0xc3, 0x82, 0xe6, 0x1c, 0xc6,
+ 0xa1, 0x0d, 0xe8, 0x41, 0x1e, 0xc2, 0xc1, 0x1d, 0xe6, 0x21, 0x1d, 0xe8,
+ 0x21, 0x1d, 0xde, 0xc1, 0x1d, 0x00, 0x61, 0x20, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x13, 0x04, 0x43, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x0d, 0x00,
+ 0x00, 0x00, 0x04, 0x66, 0x00, 0xa8, 0x96, 0x00, 0xdd, 0x39, 0x08, 0x83,
+ 0xe8, 0xba, 0xb1, 0x08, 0x20, 0x30, 0x0e, 0x4a, 0x33, 0x00, 0x23, 0x00,
+ 0x63, 0x04, 0x20, 0x08, 0x82, 0xf8, 0x37, 0x46, 0x00, 0x82, 0x20, 0x08,
+ 0x82, 0x02, 0xa9, 0x19, 0x00, 0x6a, 0x73, 0x10, 0x61, 0x10, 0x06, 0x62,
+ 0x30, 0x06, 0xe4, 0x66, 0x00, 0x00, 0xf1, 0x30, 0x00, 0x00, 0x25, 0x00,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x0e, 0x84, 0x1c, 0x00, 0x00,
+ 0x00, 0x00, 0xcf, 0x03, 0x01, 0x00, 0x6f, 0x6d, 0x6e, 0x69, 0x70, 0x6f,
+ 0x74, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x53, 0x69, 0x6d,
+ 0x70, 0x6c, 0x65, 0x20, 0x43, 0x2b, 0x2b, 0x20, 0x54, 0x42, 0x41, 0x41,
+ 0x5f, 0x5a, 0x54, 0x53, 0x31, 0x30, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x13, 0x84, 0x0a, 0x9a, 0x20, 0x54,
+ 0xd1, 0x04, 0xa1, 0x92, 0x26, 0x08, 0xd5, 0x34, 0x41, 0xa8, 0xa8, 0x09,
+ 0x02, 0xe1, 0x4c, 0x10, 0x88, 0x67, 0x43, 0x80, 0x0a, 0x1b, 0x86, 0x53,
+ 0x88, 0x05, 0x55, 0xd8, 0x30, 0xc8, 0x82, 0x2c, 0xa8, 0xc2, 0x86, 0xa1,
+ 0x93, 0x05, 0x55, 0xd8, 0x30, 0x7c, 0xb2, 0xa0, 0x0a, 0x1b, 0x96, 0x54,
+ 0x90, 0x05, 0x55, 0xa0, 0x85, 0x55, 0xa8, 0x05, 0x56, 0xa8, 0x85, 0x56,
+ 0xa8, 0x05, 0x57, 0xd8, 0x30, 0xd8, 0x42, 0x2d, 0xb4, 0xc2, 0x06, 0xe1,
+ 0x15, 0x60, 0x01, 0x00, 0x00, 0x00, 0xd7, 0xd4, 0xd8, 0x6b, 0x40, 0x83,
+ 0x2c, 0xa0, 0x40, 0x91, 0x41, 0x86, 0xc0, 0x60, 0x06, 0x19, 0x02, 0x83,
+ 0xd9, 0x8f, 0x88, 0xba, 0x33, 0x28, 0x28, 0x50, 0x64, 0xbf, 0x61, 0xfa,
+ 0xcc, 0x80, 0x02, 0x12, 0x86, 0x1b, 0x82, 0x31, 0x00, 0x83, 0x59, 0x86,
+ 0x40, 0x08, 0xc6, 0x10, 0x10, 0x37, 0xb0, 0x27, 0x88, 0xcf, 0x1c, 0x03,
+ 0x12, 0x58, 0xb3, 0x04, 0xc2, 0x40, 0x45, 0x23, 0x01, 0x42, 0x30, 0xdb,
+ 0xf0, 0x04, 0xc0, 0x6c, 0x43, 0x90, 0x04, 0x19, 0x04, 0xc4, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x5b, 0x06, 0x21, 0x90, 0x85, 0x2d,
+ 0x83, 0x11, 0xc8, 0xc2, 0x96, 0x02, 0x09, 0x6c, 0x81, 0xb8, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x0e, 0x00,
0x00, 0x00, 0x52, 0x0e, 0x10, 0x22, 0x64, 0x82, 0xa4, 0x1c, 0x20, 0x44,
- 0xc8, 0xe4, 0x48, 0x39, 0x40, 0x88, 0x90, 0xa1, 0x09, 0x30, 0xff, 0x5c,
+ 0xc8, 0xe4, 0x48, 0x39, 0x40, 0x88, 0x90, 0xa1, 0x05, 0x30, 0xff, 0x5c,
0xf2, 0x06, 0xe7, 0x44, 0x0d, 0x11, 0x49, 0x06, 0x10, 0x2d, 0x4b, 0xc5,
- 0xf8, 0xc6, 0xe2, 0x04, 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x3a, 0xe0,
- 0x5b, 0x60, 0x04, 0x0b, 0x32, 0xbd, 0xac, 0x05, 0x58, 0xff, 0x5c, 0xd6,
- 0xbb, 0xd1, 0x12, 0x97, 0xe0, 0x38, 0xd1, 0x20, 0x89, 0xcd, 0x80, 0x08,
- 0x84, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf8, 0xc6, 0xe2, 0x04, 0xc0, 0xf2, 0x0b, 0x93, 0x13, 0x49, 0x2a, 0x50,
+ 0x5b, 0x60, 0x04, 0x0b, 0x32, 0xbd, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xc0, 0x17, 0x0b, 0x00, 0x00,
0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x42, 0x43, 0xc0, 0xde, 0x35, 0x14, 0x00, 0x00, 0x03, 0x00,
@@ -9822,7 +9794,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x06, 0xfb, 0x58, 0x89, 0x0d, 0x02, 0x85, 0x5d, 0x04, 0x00, 0x00, 0xb2,
0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x82, 0x22, 0x28,
- 0x81, 0x42, 0x18, 0x01, 0xa0, 0x1b, 0x01, 0x20, 0x1f, 0x4b, 0x68, 0x00,
+ 0x81, 0x42, 0x18, 0x01, 0xa0, 0x1b, 0x01, 0x20, 0x1f, 0x4b, 0x68, 0x08,
0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
@@ -9861,34 +9833,34 @@ unsigned char compiled_default_ios_metallib[] = {
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0x36, 0x90, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xd2,
+ 0xc8, 0x90, 0x51, 0x36, 0x50, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0x01,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33,
+ 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72,
+ 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x00,
0x00, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x38, 0xc7, 0x04, 0x01, 0x18,
0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09, 0x02, 0x13, 0x6c, 0x18,
0x9c, 0xe0, 0xd9, 0x30, 0x40, 0x42, 0xb4, 0x21, 0x18, 0x36, 0x0c, 0x8e,
@@ -10020,7 +9992,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x40, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x45, 0x50,
0x02, 0x85, 0x30, 0x02, 0x50, 0x40, 0x05, 0x42, 0x72, 0x04, 0x80, 0xce,
- 0x08, 0x00, 0xc5, 0xb1, 0x84, 0x06, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18,
+ 0x08, 0x00, 0xc5, 0xb1, 0x84, 0x86, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x18,
0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1,
0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42,
0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f,
@@ -10059,49 +10031,49 @@ unsigned char compiled_default_ios_metallib[] = {
0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74,
0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18,
0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0x6a,
- 0x18, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91,
+ 0xd8, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91,
0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0xa1, 0x3c, 0x12, 0x42, 0x29,
0x85, 0x12, 0x5d, 0x0b, 0xb3, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
- 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61,
- 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73,
- 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69,
- 0x6e, 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f,
- 0x72, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44,
- 0x65, 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61,
- 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x61,
- 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x13, 0x04, 0x40, 0x98, 0x20, 0x44,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69,
+ 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74,
+ 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x44, 0x65,
+ 0x70, 0x74, 0x68, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
+ 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72,
+ 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x13, 0x04, 0x40, 0x98, 0x20, 0x44,
0xca, 0x04, 0x01, 0x18, 0x26, 0x08, 0x00, 0x31, 0x41, 0x00, 0x8a, 0x09,
0xc2, 0x13, 0x4c, 0x10, 0x00, 0x63, 0x82, 0x00, 0x1c, 0x1b, 0x86, 0x2d,
0xe0, 0x36, 0x0c, 0x9d, 0xe0, 0x6d, 0x08, 0x86, 0x0d, 0xc3, 0xf6, 0x7d,
@@ -10196,7 +10168,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03,
0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8,
0x61, 0x1e, 0xca, 0x01, 0xd8, 0x60, 0x08, 0x03, 0xb0, 0x00, 0xd5, 0x86,
- 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48, 0x03, 0x34, 0xd8, 0xa0,
+ 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48, 0x03, 0x30, 0xd8, 0xa0,
0x10, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x6d, 0x00, 0xac, 0x01, 0x20,
0x01, 0xd5, 0x06, 0xa3, 0x08, 0x80, 0x05, 0xa8, 0x36, 0x18, 0x86, 0x00,
0x2c, 0x40, 0xb5, 0xc1, 0x38, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x24,
@@ -10209,8 +10181,8 @@ unsigned char compiled_default_ios_metallib[] = {
0x21, 0xc2, 0x0c, 0xc0, 0x50, 0x24, 0x80, 0x41, 0xc7, 0x1c, 0x01, 0x28,
0x0c, 0x22, 0x24, 0xc2, 0x0c, 0xc0, 0x30, 0x02, 0xb1, 0x0c, 0x23, 0x08,
0xcb, 0x51, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xff, 0x13, 0x71, 0x4d, 0x54,
- 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0x24,
- 0x41, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29,
+ 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0xe4,
+ 0x40, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29,
0x10, 0x01, 0x8c, 0x84, 0x0a, 0x08, 0x20, 0x08, 0x62, 0x10, 0x21, 0x12,
0x4a, 0xc1, 0x30, 0xcd, 0x23, 0xd1, 0x74, 0x91, 0x34, 0x45, 0x94, 0x30,
0xf9, 0xbf, 0x04, 0x30, 0xcf, 0x42, 0x44, 0xff, 0x34, 0x46, 0x00, 0x0c,
@@ -10255,11 +10227,11 @@ unsigned char compiled_default_ios_metallib[] = {
0xb0, 0x20, 0xd3, 0xc7, 0x4a, 0x6c, 0x10, 0x28, 0x9c, 0x34, 0x00, 0x00,
0x90, 0x05, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e,
0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04,
- 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xaa,
- 0x20, 0x0a, 0xa8, 0x90, 0x4a, 0xa9, 0x98, 0x88, 0x18, 0x01, 0x28, 0x02,
+ 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xa8,
+ 0x20, 0x0a, 0xa6, 0x70, 0x4a, 0xa7, 0x78, 0x88, 0x18, 0x01, 0x28, 0x02,
0x4a, 0xea, 0xdd, 0xfa, 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60,
- 0x04, 0xa0, 0x80, 0x0a, 0xa9, 0x94, 0x8a, 0x89, 0x8e, 0x11, 0x00, 0xf2,
- 0xc6, 0x12, 0x1a, 0x00, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x04, 0xa0, 0x60, 0x0a, 0xa7, 0x74, 0x8a, 0x87, 0x8e, 0x11, 0x00, 0xf2,
+ 0xc6, 0x12, 0x1a, 0x02, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -10297,69 +10269,69 @@ unsigned char compiled_default_ios_metallib[] = {
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x17, 0x01,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0x80, 0x17,
- 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xfc, 0x16,
+ 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x44, 0x91, 0xc1, 0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b,
0xa4, 0x60, 0x8a, 0xf2, 0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1,
0xa5, 0x1c, 0x11, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
- 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72,
- 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67,
- 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73,
- 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72,
- 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f,
- 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75,
- 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e,
- 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
- 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73,
- 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78,
- 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
- 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74,
- 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c,
- 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
- 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70,
- 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
- 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65,
+ 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72,
+ 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73,
+ 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+ 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61,
+ 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74,
+ 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54,
+ 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73,
+ 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73,
+ 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64,
+ 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f,
+ 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
+ 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
+ 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78,
0xd9, 0x04, 0x01, 0x30, 0x26, 0x08, 0xc0, 0x31, 0x41, 0x00, 0x90, 0x09,
0x02, 0x25, 0x4c, 0x10, 0x80, 0x64, 0x82, 0x00, 0x28, 0x13, 0x04, 0x60,
0x99, 0x20, 0x00, 0xcc, 0x04, 0x01, 0x68, 0x26, 0x08, 0x80, 0x33, 0x41,
@@ -10370,7 +10342,7 @@ unsigned char compiled_default_ios_metallib[] = {
0xd9, 0x50, 0x2c, 0x71, 0x10, 0x07, 0x4c, 0xb3, 0x21, 0x30, 0x85, 0x0d,
0x48, 0x1c, 0x38, 0x0f, 0xc4, 0x34, 0x91, 0xb4, 0x21, 0x79, 0x83, 0x89,
0x7a, 0x2a, 0xc6, 0x8a, 0xae, 0x0d, 0x4a, 0x1b, 0x60, 0x59, 0x1c, 0xbc,
- 0x81, 0xc6, 0x6c, 0x11, 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x80, 0x03, 0x2b,
+ 0x81, 0xc6, 0x6c, 0x11, 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x98, 0x03, 0x2b,
0x0c, 0xec, 0x00, 0x0e, 0xe2, 0x40, 0x0c, 0xc6, 0xe0, 0x0e, 0xde, 0x20,
0x0e, 0xc8, 0xa0, 0x0c, 0xf0, 0xe0, 0x0d, 0xe2, 0x80, 0x0c, 0xcc, 0x20,
0x0f, 0xde, 0x20, 0x0e, 0xc8, 0xe0, 0x0c, 0x36, 0x48, 0x73, 0xd0, 0x79,
@@ -10488,7 +10460,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x79, 0x28, 0x87, 0x36, 0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03,
0x73, 0x60, 0x87, 0x77, 0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8,
0x61, 0x1e, 0xca, 0x01, 0xd8, 0x60, 0x08, 0x03, 0xb0, 0x00, 0xd5, 0x86,
- 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48, 0x03, 0x34, 0xd8, 0xa0,
+ 0x65, 0x20, 0x80, 0x04, 0x58, 0x80, 0x2a, 0x48, 0x03, 0x30, 0xd8, 0xa0,
0x10, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x6d, 0x00, 0xac, 0x01, 0x20,
0x01, 0xd5, 0x06, 0xa3, 0x08, 0x80, 0x05, 0xa8, 0x36, 0x18, 0x86, 0x00,
0x2c, 0x40, 0xb5, 0xc1, 0x38, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x24,
@@ -10501,8 +10473,8 @@ unsigned char compiled_default_ios_metallib[] = {
0x21, 0xc2, 0x0c, 0xc0, 0x50, 0x24, 0x80, 0x41, 0xc7, 0x1c, 0x01, 0x28,
0x0c, 0x22, 0x24, 0xc2, 0x0c, 0xc0, 0x30, 0x02, 0xb1, 0x0c, 0x23, 0x08,
0xcb, 0x51, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xff, 0x13, 0x71, 0x4d, 0x54,
- 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0x24,
- 0x41, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29,
+ 0x44, 0xfc, 0xf6, 0xf0, 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0xe4,
+ 0x40, 0x73, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29,
0x10, 0x01, 0x8c, 0x84, 0x0a, 0x08, 0x20, 0x08, 0x62, 0x10, 0x21, 0x12,
0x4a, 0xc1, 0x30, 0xcd, 0x23, 0xd1, 0x74, 0x91, 0x34, 0x45, 0x94, 0x30,
0xf9, 0xbf, 0x04, 0x30, 0xcf, 0x42, 0x44, 0xff, 0x34, 0x46, 0x00, 0x0c,
@@ -10549,10 +10521,10 @@ unsigned char compiled_default_ios_metallib[] = {
0x4a, 0x6c, 0x10, 0x28, 0x9c, 0x35, 0x00, 0x00, 0x90, 0x05, 0x02, 0x00,
0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11,
0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x8a, 0xa0,
- 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xaa, 0x20, 0x0a, 0xa8, 0x90,
- 0x4a, 0xa9, 0x98, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
- 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x80, 0x0a,
- 0xa9, 0x94, 0x8a, 0x89, 0x8e, 0x11, 0x00, 0xf2, 0xc6, 0x12, 0x1a, 0x00,
+ 0x04, 0x0a, 0x61, 0x04, 0xa0, 0x0c, 0x0a, 0xa8, 0x20, 0x0a, 0xa6, 0x70,
+ 0x4a, 0xa7, 0x78, 0x88, 0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa,
+ 0xf7, 0xff, 0xff, 0x17, 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x60, 0x0a,
+ 0xa7, 0x74, 0x8a, 0x87, 0x8e, 0x11, 0x00, 0xf2, 0xc6, 0x12, 0x1a, 0x02,
0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x33, 0x08,
0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38,
0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71,
@@ -10591,69 +10563,69 @@ unsigned char compiled_default_ios_metallib[] = {
0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a, 0x87, 0x79, 0x98, 0x87,
0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28, 0x07, 0x72, 0x00, 0x00,
0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x22, 0x47,
- 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0x80, 0x17, 0x00, 0x00, 0x8b, 0xd2,
+ 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xfc, 0x16, 0x00, 0x00, 0x8b, 0xc2,
0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1, 0x19, 0x44, 0x91, 0xc1,
0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b, 0xa4, 0x60, 0x8a, 0xf2,
0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1, 0xa5, 0x1c, 0x11, 0x00,
0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x41,
0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56, 0x4d, 0x20, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x20,
- 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x39, 0x30, 0x32,
- 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29, 0x4d, 0x65, 0x74, 0x61,
- 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
- 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36,
+ 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65, 0x2d, 0x33,
+ 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d, 0x65, 0x74, 0x61, 0x6c,
+ 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
+ 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61,
+ 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d, 0x65,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x63,
- 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
- 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
- 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69,
- 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63,
- 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74,
- 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c,
- 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72,
- 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61,
- 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61,
- 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69,
- 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
- 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70,
- 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c,
- 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69,
- 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a,
- 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72,
- 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43,
- 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c,
- 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c,
- 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46,
- 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59,
- 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72,
+ 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72,
- 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78, 0xd9, 0x04, 0x01, 0x30,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x61,
+ 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x69, 0x72,
+ 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f,
+ 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x65, 0x72, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+ 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x61, 0x69,
+ 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72,
+ 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c,
+ 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
+ 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x61, 0x69, 0x72,
+ 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x61, 0x69, 0x72, 0x2e,
+ 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x43, 0x6f,
+ 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73, 0x72, 0x63, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x72, 0x63, 0x4c, 0x75,
+ 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x73, 0x74, 0x46, 0x6c,
+ 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x64,
+ 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x69, 0x72, 0x2e,
+ 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x00, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78, 0xd9, 0x04, 0x01, 0x30,
0x26, 0x08, 0xc0, 0x31, 0x41, 0x00, 0x90, 0x09, 0x02, 0x25, 0x4c, 0x10,
0x80, 0x64, 0x82, 0x00, 0x28, 0x13, 0x04, 0x60, 0x99, 0x20, 0x00, 0xcc,
0x04, 0x01, 0x68, 0x26, 0x08, 0x80, 0x33, 0x41, 0x00, 0x9e, 0x09, 0x82,
@@ -10664,7 +10636,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x10, 0x07, 0x4c, 0xb3, 0x21, 0x30, 0x85, 0x0d, 0x48, 0x1c, 0x38, 0x0f,
0xc4, 0x34, 0x91, 0xb4, 0x21, 0x79, 0x83, 0x89, 0x7a, 0x2a, 0xc6, 0x8a,
0xae, 0x0d, 0x4a, 0x1b, 0x60, 0x59, 0x1c, 0xbc, 0x81, 0xc6, 0x6c, 0x11,
- 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x80, 0x03, 0x2b, 0x0c, 0xec, 0x00, 0x0e,
+ 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x98, 0x03, 0x2b, 0x0c, 0xec, 0x00, 0x0e,
0xe2, 0x40, 0x0c, 0xc6, 0xe0, 0x0e, 0xde, 0x20, 0x0e, 0xc8, 0xa0, 0x0c,
0xf0, 0xe0, 0x0d, 0xe2, 0x80, 0x0c, 0xcc, 0x20, 0x0f, 0xde, 0x20, 0x0e,
0xc8, 0xe0, 0x0c, 0x36, 0x48, 0x73, 0xd0, 0x79, 0x74, 0x90, 0xc5, 0xc1,
@@ -10787,7 +10759,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x98, 0x87, 0x77, 0x30, 0x07, 0x7a, 0x68, 0x03, 0x73, 0x60, 0x87, 0x77,
0x08, 0x07, 0x7a, 0x00, 0xcc, 0x21, 0x1c, 0xd8, 0x61, 0x1e, 0xca, 0x01,
0xd8, 0x60, 0x08, 0x03, 0xb0, 0x00, 0xd5, 0x86, 0x65, 0x20, 0x80, 0x04,
- 0x58, 0x80, 0x2a, 0x48, 0x03, 0x34, 0xd8, 0xa0, 0x10, 0xff, 0xff, 0xff,
+ 0x58, 0x80, 0x2a, 0x48, 0x03, 0x30, 0xd8, 0xa0, 0x10, 0xff, 0xff, 0xff,
0xff, 0x3f, 0x00, 0x6d, 0x00, 0xac, 0x01, 0x20, 0x01, 0xd5, 0x06, 0xa3,
0x08, 0x80, 0x05, 0xa8, 0x36, 0x18, 0x86, 0x00, 0x2c, 0x40, 0xb5, 0xc1,
0x38, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x24, 0x80, 0x02, 0x49, 0x18,
@@ -10800,7 +10772,7 @@ unsigned char compiled_default_ios_metallib[] = {
0x50, 0x24, 0x80, 0x41, 0xc7, 0x1c, 0x01, 0x28, 0x0c, 0x22, 0x24, 0xc2,
0x0c, 0xc0, 0x30, 0x02, 0xb1, 0x0c, 0x23, 0x08, 0xcb, 0x51, 0xd2, 0x14,
0x51, 0xc2, 0xe4, 0xff, 0x13, 0x71, 0x4d, 0x54, 0x44, 0xfc, 0xf6, 0xf0,
- 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0x24, 0x41, 0x73, 0x91, 0x34,
+ 0x4f, 0x63, 0x04, 0xc0, 0x20, 0x82, 0x13, 0xe4, 0x40, 0x73, 0x91, 0x34,
0x45, 0x94, 0x30, 0xf9, 0xdb, 0x82, 0x4c, 0x29, 0x10, 0x01, 0x8c, 0x84,
0x0a, 0x08, 0x20, 0x08, 0x62, 0x10, 0x21, 0x12, 0x4a, 0xc1, 0x30, 0xcd,
0x23, 0xd1, 0x74, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xbf, 0x04, 0x30,
@@ -10848,11 +10820,11 @@ unsigned char compiled_default_ios_metallib[] = {
0xb1, 0x41, 0xa0, 0x30, 0xda, 0x00, 0x00, 0x40, 0x16, 0x08, 0x13, 0x00,
0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09,
0x26, 0x47, 0xc6, 0x04, 0x43, 0x02, 0x8a, 0xa0, 0x04, 0x0a, 0x61, 0x04,
- 0xa0, 0x0c, 0x0a, 0xaa, 0x20, 0x0a, 0xa8, 0x90, 0x4a, 0xa9, 0x98, 0x88,
+ 0xa0, 0x0c, 0x0a, 0xa8, 0x20, 0x0a, 0xa6, 0x70, 0x4a, 0xa7, 0x78, 0x88,
0x18, 0x01, 0x28, 0x02, 0x4a, 0xea, 0xdd, 0xfa, 0xf7, 0xff, 0xff, 0x17,
- 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x80, 0x0a, 0xa9, 0x94, 0x8a, 0x89,
+ 0x90, 0xf0, 0x3f, 0x60, 0x04, 0xa0, 0x60, 0x0a, 0xa7, 0x74, 0x8a, 0x87,
0x8e, 0x11, 0x00, 0x5a, 0xc6, 0x08, 0x40, 0x10, 0x04, 0x45, 0x30, 0x20,
- 0x6f, 0x2c, 0xa1, 0x01, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
+ 0x6f, 0x2c, 0xa1, 0x21, 0x00, 0x00, 0xb1, 0x18, 0x00, 0x00, 0x6d, 0x00,
0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01,
0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78,
0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4,
@@ -10890,69 +10862,69 @@ unsigned char compiled_default_ios_metallib[] = {
0x3c, 0xe4, 0x43, 0x3b, 0x88, 0xc3, 0x3b, 0xb0, 0xc3, 0x8c, 0xc5, 0x0a,
0x87, 0x79, 0x98, 0x87, 0x77, 0x18, 0x87, 0x74, 0x08, 0x07, 0x7a, 0x28,
0x07, 0x72, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x17, 0x01,
- 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0x80, 0x17,
- 0x00, 0x00, 0x8b, 0xd2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
+ 0x00, 0x00, 0x22, 0x47, 0xc8, 0x90, 0x51, 0xb2, 0x01, 0x1a, 0xfc, 0x16,
+ 0x00, 0x00, 0x8b, 0xc2, 0x06, 0xc5, 0xc6, 0x91, 0x41, 0x18, 0x90, 0xc1,
0x19, 0x44, 0x91, 0xc1, 0x28, 0x12, 0x83, 0x48, 0xcb, 0x63, 0x24, 0x8b,
0xa4, 0x60, 0x8a, 0xf2, 0x20, 0x14, 0x33, 0x20, 0x04, 0x03, 0x31, 0xd1,
0xa5, 0x1c, 0x11, 0x00, 0x00, 0x00, 0x53, 0x44, 0x4b, 0x20, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x77, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x56,
- 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x39, 0x30,
- 0x32, 0x2e, 0x39, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x66, 0x65,
- 0x2d, 0x39, 0x30, 0x32, 0x2e, 0x39, 0x2e, 0x35, 0x35, 0x2e, 0x31, 0x29,
- 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73,
+ 0x4d, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x39,
+ 0x30, 0x32, 0x2e, 0x36, 0x37, 0x20, 0x28, 0x6d, 0x65, 0x74, 0x61, 0x6c,
+ 0x66, 0x65, 0x2d, 0x33, 0x39, 0x30, 0x32, 0x2e, 0x36, 0x37, 0x29, 0x4d,
+ 0x65, 0x74, 0x61, 0x6c, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x69, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x73, 0x5f,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66,
+ 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x66, 0x61, 0x73, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
- 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e,
- 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e,
- 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c,
- 0x6f, 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72,
- 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e,
- 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67,
- 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73,
- 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72,
- 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f,
- 0x72, 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75,
- 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e,
- 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
- 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73,
- 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78,
- 0x74, 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61,
- 0x64, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63,
- 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74,
- 0x73, 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c,
- 0x73, 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
- 0x64, 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70,
- 0x6f, 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e,
- 0x61, 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72,
- 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c,
- 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x61,
+ 0x69, 0x72, 0x2e, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x34, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61,
+ 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x69, 0x72, 0x2e, 0x66, 0x72, 0x61, 0x67, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x75, 0x73, 0x65,
+ 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72,
+ 0x64, 0x73, 0x61, 0x69, 0x72, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+ 0x65, 0x61, 0x69, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x69, 0x72, 0x2e, 0x73,
+ 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+ 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x73, 0x61,
+ 0x6d, 0x70, 0x6c, 0x65, 0x3e, 0x73, 0x72, 0x63, 0x54, 0x65, 0x78, 0x74,
+ 0x75, 0x72, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65,
+ 0x72, 0x61, 0x69, 0x72, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x72, 0x63, 0x54,
+ 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x6e, 0x74, 0x73,
+ 0x72, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x62, 0x6f, 0x6f, 0x6c, 0x73,
+ 0x72, 0x63, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x64,
+ 0x73, 0x74, 0x46, 0x6c, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f,
+ 0x72, 0x74, 0x59, 0x64, 0x73, 0x74, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
+ 0x6e, 0x63, 0x65, 0x61, 0x69, 0x72, 0x2e, 0x61, 0x72, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x61, 0x69, 0x72, 0x2e,
+ 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x69,
+ 0x67, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x6c, 0x69, 0x74, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x61, 0x69, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x13, 0x04, 0xa0, 0x98, 0x20, 0x78,
0xda, 0x04, 0x01, 0x30, 0x26, 0x08, 0xc0, 0x31, 0x41, 0x00, 0x90, 0x09,
0x02, 0x25, 0x4c, 0x10, 0x80, 0x64, 0x82, 0x00, 0x28, 0x13, 0x04, 0x60,
0x99, 0x20, 0x00, 0xcc, 0x04, 0x01, 0x68, 0x26, 0x08, 0x80, 0x33, 0x41,
@@ -10963,7 +10935,7 @@ unsigned char compiled_default_ios_metallib[] = {
0xd9, 0x50, 0x2c, 0x71, 0x10, 0x07, 0x4c, 0xb3, 0x21, 0x30, 0x85, 0x0d,
0x48, 0x1c, 0x38, 0x0f, 0xc4, 0x34, 0x91, 0xb4, 0x21, 0x79, 0x83, 0x89,
0x7a, 0x2a, 0xc6, 0x8a, 0xae, 0x0d, 0x4a, 0x1b, 0x60, 0x59, 0x1c, 0xbc,
- 0x81, 0xc6, 0x6c, 0x11, 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x80, 0x03, 0x2b,
+ 0x81, 0xc6, 0x6c, 0x11, 0xb7, 0x21, 0x8b, 0x83, 0x3a, 0x98, 0x03, 0x2b,
0x0c, 0xec, 0x00, 0x0e, 0xe2, 0x40, 0x0c, 0xc6, 0xe0, 0x0e, 0xde, 0x20,
0x0e, 0xc8, 0xa0, 0x0c, 0xf0, 0xe0, 0x0d, 0xe2, 0x80, 0x0c, 0xcc, 0x20,
0x0f, 0xde, 0x20, 0x0e, 0xc8, 0xe0, 0x0c, 0x36, 0x48, 0x73, 0xd0, 0x79,
@@ -11035,6 +11007,6 @@ unsigned char compiled_default_ios_metallib[] = {
0x00, 0x12, 0xf9, 0x82, 0xd3, 0x54, 0x44, 0x34, 0xf9, 0x85, 0x5f, 0xdc,
0xb6, 0x2f, 0xf9, 0xc8, 0x6d, 0x03, 0x00, 0x00, 0x00, 0x00
};
-unsigned int compiled_default_ios_metallib_len = 42286;
+unsigned int compiled_default_ios_metallib_len = 42190;
#endif // TARGET_OS_OSX || TARGET_OS_MACCATALYST
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc
index bad16d6e222..dcd24dc4346 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc
@@ -1,7 +1,7 @@
// GENERATED FILE - DO NOT EDIT.
// Generated by gen_mtl_internal_shaders.py
//
-// Copyright 2019 The ANGLE Project Authors. All rights reserved.
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
@@ -17,7 +17,7 @@ constexpr char default_metallib_src[] = R"(
# 1 "master_source.metal"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
-# 374 "<built-in>" 3
+# 376 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "master_source.metal" 2
@@ -42,14 +42,7 @@ constexpr char default_metallib_src[] = R"(
using namespace metal;
-constant float2 gCorners[6] = {
- float2(-1.0f, 1.0f), float2(1.0f, -1.0f), float2(-1.0f, -1.0f),
- float2(-1.0f, 1.0f), float2(1.0f, 1.0f), float2(1.0f, -1.0f),
-};
-
-
-
-constant int gTexcoordsIndices[6] = {2, 1, 0, 2, 3, 1};
+constant float2 gCorners[3] = {float2(-1.0f, -1.0f), float2(3.0f, -1.0f), float2(-1.0f, 3.0f)};
fragment float4 dummyFS()
{
@@ -79,7 +72,7 @@ fragment float4 clearFS(constant ClearParams &clearParams [[buffer(0)]])
struct BlitParams
{
- float2 srcTexCoords[4];
+ float2 srcTexCoords[3];
int srcLevel;
bool srcLuminance;
bool dstFlipViewportY;
@@ -97,7 +90,7 @@ vertex BlitVSOut blitVS(unsigned int vid [[ vertex_id ]],
{
BlitVSOut output;
output.position = float4(gCorners[vid], 0.0, 1.0);
- output.texCoords = options.srcTexCoords[gTexcoordsIndices[vid]];
+ output.texCoords = options.srcTexCoords[vid];
if (!options.dstFlipViewportY)
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.cpp
index 103a92b7322..df325770c86 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.cpp
@@ -184,6 +184,11 @@ StreamProducerImpl *DisplayNULL::createStreamProducerD3DTexture(
return nullptr;
}
+ShareGroupImpl *DisplayNULL::createShareGroup()
+{
+ return new ShareGroupNULL();
+}
+
void DisplayNULL::generateExtensions(egl::DisplayExtensions *outExtensions) const
{
outExtensions->createContextRobustness = true;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.h b/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.h
index 99b9107bcfe..f770f9be67a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.h
@@ -14,6 +14,8 @@
namespace rx
{
+class ShareGroupNULL : public ShareGroupImpl
+{};
class AllocationTrackerNULL;
@@ -73,6 +75,8 @@ class DisplayNULL : public DisplayImpl
StreamProducerImpl *createStreamProducerD3DTexture(egl::Stream::ConsumerType consumerType,
const egl::AttributeMap &attribs) override;
+ ShareGroupImpl *createShareGroup() override;
+
void populateFeatureList(angle::FeatureList *features) override {}
private:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.cpp b/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.cpp
index dde950fde22..58988ae4744 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.cpp
@@ -173,7 +173,8 @@ angle::Result TextureNULL::releaseTexImage(const gl::Context *context)
}
angle::Result TextureNULL::syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits)
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source)
{
return angle::Result::Continue;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.h b/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.h
index 5b6ef5c58ac..d29401a05d4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/null/TextureNULL.h
@@ -118,7 +118,8 @@ class TextureNULL : public TextureImpl
angle::Result releaseTexImage(const gl::Context *context) override;
angle::Result syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits) override;
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source) override;
angle::Result setStorageMultisample(const gl::Context *context,
gl::TextureType type,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
index 8319e4bd9d2..684f8044d69 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
@@ -207,6 +207,50 @@ void SetFloatUniformMatrixFast(unsigned int arrayElementOffset,
}
} // anonymous namespace
+void RotateRectangle(const SurfaceRotation rotation,
+ const bool flipY,
+ const int framebufferWidth,
+ const int framebufferHeight,
+ const gl::Rectangle &incoming,
+ gl::Rectangle *outgoing)
+{
+ // GLES's y-axis points up; Vulkan's points down.
+ switch (rotation)
+ {
+ case SurfaceRotation::Identity:
+ // Do not rotate gl_Position (surface matches the device's orientation):
+ outgoing->x = incoming.x;
+ outgoing->y = flipY ? framebufferHeight - incoming.y - incoming.height : incoming.y;
+ outgoing->width = incoming.width;
+ outgoing->height = incoming.height;
+ break;
+ case SurfaceRotation::Rotated90Degrees:
+ // Rotate gl_Position 90 degrees:
+ outgoing->x = incoming.y;
+ outgoing->y = flipY ? incoming.x : framebufferWidth - incoming.x - incoming.width;
+ outgoing->width = incoming.height;
+ outgoing->height = incoming.width;
+ break;
+ case SurfaceRotation::Rotated180Degrees:
+ // Rotate gl_Position 180 degrees:
+ outgoing->x = framebufferWidth - incoming.x - incoming.width;
+ outgoing->y = flipY ? incoming.y : framebufferHeight - incoming.y - incoming.height;
+ outgoing->width = incoming.width;
+ outgoing->height = incoming.height;
+ break;
+ case SurfaceRotation::Rotated270Degrees:
+ // Rotate gl_Position 270 degrees:
+ outgoing->x = framebufferHeight - incoming.y - incoming.height;
+ outgoing->y = flipY ? framebufferWidth - incoming.x - incoming.width : incoming.x;
+ outgoing->width = incoming.height;
+ outgoing->height = incoming.width;
+ break;
+ default:
+ UNREACHABLE();
+ break;
+ }
+}
+
PackPixelsParams::PackPixelsParams()
: destFormat(nullptr),
outputPitch(0),
@@ -577,7 +621,7 @@ angle::Result IncompleteTextureSet::getIncompleteTexture(
GL_UNSIGNED_BYTE, color));
}
- ANGLE_TRY(t->syncState(context));
+ ANGLE_TRY(t->syncState(context, gl::TextureCommand::Other));
mIncompleteTextures[type].set(context, t.release());
*textureOut = mIncompleteTextures[type].get();
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.h
index 809d63778ef..aa020a1428f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.h
@@ -60,6 +60,13 @@ enum class SurfaceRotation
EnumCount = InvalidEnum,
};
+void RotateRectangle(const SurfaceRotation rotation,
+ const bool flipY,
+ const int framebufferWidth,
+ const int framebufferHeight,
+ const gl::Rectangle &incoming,
+ gl::Rectangle *outgoing);
+
using MipGenerationFunction = void (*)(size_t sourceWidth,
size_t sourceHeight,
size_t sourceDepth,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn
index ff23b3703aa..8583d23c052 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn
@@ -20,6 +20,8 @@ declare_args() {
_vulkan_backend_sources = [
"BufferVk.cpp",
"BufferVk.h",
+ "CommandProcessor.cpp",
+ "CommandProcessor.h",
"CompilerVk.cpp",
"CompilerVk.h",
"ContextVk.cpp",
@@ -83,7 +85,6 @@ _vulkan_backend_sources = [
"vk_cache_utils.h",
"vk_caps_utils.cpp",
"vk_caps_utils.h",
- "vk_ext_provoking_vertex.h",
"vk_format_table_autogen.cpp",
"vk_format_utils.cpp",
"vk_format_utils.h",
@@ -155,47 +156,6 @@ if (is_mac) {
]
}
-config("angle_vulkan_lib_android") {
- if (is_android) {
- libs = [ "vulkan" ]
- }
-}
-
-config("angle_vulkan_headers_config") {
- if (angle_shared_libvulkan) {
- defines = [ "ANGLE_SHARED_LIBVULKAN=1" ]
- }
-}
-
-angle_source_set("angle_vulkan_headers") {
- sources = [ "vk_headers.h" ]
- if (angle_shared_libvulkan) {
- public_deps = [ "$angle_root/src/third_party/volk:volk" ]
- } else {
- public_deps =
- [ "$angle_root/third_party/vulkan-headers/src:vulkan_headers" ]
- }
- public_configs = [ ":angle_vulkan_headers_config" ]
-}
-
-group("angle_vulkan_entry_points") {
- public_configs = [ ":angle_vulkan_lib_android" ]
- public_deps = [ ":angle_vulkan_headers" ]
- if (is_fuchsia) {
- public_deps += [
- "$angle_root/src/common/fuchsia_egl",
- "//third_party/fuchsia-sdk:vulkan_base",
- "//third_party/fuchsia-sdk/sdk/pkg/vulkan",
- ]
- } else if (!is_android && !is_ggp) {
- if (angle_shared_libvulkan) {
- data_deps = [ "$angle_root/third_party/vulkan-loader/src:libvulkan" ]
- } else {
- deps = [ "$angle_root/third_party/vulkan-loader/src:libvulkan" ]
- }
- }
-}
-
config("angle_vulkan_backend_config") {
defines = [ "ANGLE_ENABLE_VULKAN" ]
if (angle_enable_swiftshader) {
@@ -211,7 +171,7 @@ config("angle_vulkan_backend_config") {
angle_source_set("angle_vk_mem_alloc_wrapper") {
deps = [
- ":angle_vulkan_headers",
+ "$angle_root/src/common/vulkan:angle_vulkan_headers",
"$angle_vulkan_memory_allocator_dir",
]
sources = [
@@ -232,8 +192,6 @@ angle_source_set("angle_vulkan_backend") {
libs = []
deps = [
":angle_vk_mem_alloc_wrapper",
- ":angle_vulkan_entry_points",
- ":angle_vulkan_headers",
"$angle_root:angle_gpu_info_util",
"$angle_root:angle_image_util",
"$angle_spirv_tools_dir:spvtools_val",
@@ -242,15 +200,28 @@ angle_source_set("angle_vulkan_backend") {
"$angle_root:angle_glslang_wrapper",
"$angle_root:libANGLE_headers",
"$angle_root/src/common/vulkan",
+ "$angle_root/src/common/vulkan:angle_vulkan_entry_points",
+ "$angle_root/src/common/vulkan:angle_vulkan_headers",
]
public_configs = [ ":angle_vulkan_backend_config" ]
data_deps = []
+ defines = []
+
+ if (angle_enable_vulkan_validation_layers) {
+ defines += [ "ANGLE_ENABLE_VULKAN_VALIDATION_LAYERS_BY_DEFAULT" ]
+ data_deps += [ "$angle_root/src/common/vulkan:vulkan_validation_layers" ]
+ }
+
if (is_android) {
libs += [ "vulkan" ]
}
+ if (is_fuchsia) {
+ public_deps += [ "$angle_root/src/common/fuchsia_egl:backend" ]
+ }
+
# Include generated shaders.
import("vk_internal_shaders_autogen.gni")
sources += angle_vulkan_internal_shaders
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.cpp
index e05767cff92..956deb85b12 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/vulkan/BufferVk.h"
+#include "common/FixedVector.h"
#include "common/debug.h"
#include "common/mathutil.h"
#include "common/utilities.h"
@@ -103,6 +104,13 @@ ANGLE_INLINE VkMemoryPropertyFlags GetPreferredMemoryType(gl::BufferBinding targ
return kHostCachedFlags;
}
}
+
+ANGLE_INLINE bool SubDataSizeMeetsThreshold(size_t subDataSize, size_t bufferSize)
+{
+ // A sub data update with size > 50% of buffer size meets the threshold
+ // to acquire a new BufferHelper from the pool.
+ return subDataSize > (bufferSize / 2);
+}
} // namespace
// ConversionBuffer implementation.
@@ -336,6 +344,7 @@ angle::Result BufferVk::mapRange(const gl::Context *context,
GLbitfield access,
void **mapPtr)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "BufferVk::mapRange");
return mapRangeImpl(vk::GetImpl(context), offset, length, access, mapPtr);
}
@@ -506,12 +515,56 @@ angle::Result BufferVk::stagedUpdate(ContextVk *contextVk,
// Enqueue a copy command on the GPU.
VkBufferCopy copyRegion = {stagingBufferOffset, offset, size};
- ANGLE_TRY(mBuffer->copyFromBuffer(contextVk, mStagingBuffer.getCurrentBuffer(), copyRegion));
+ ANGLE_TRY(
+ mBuffer->copyFromBuffer(contextVk, mStagingBuffer.getCurrentBuffer(), 1, &copyRegion));
mStagingBuffer.getCurrentBuffer()->retain(&contextVk->getResourceUseList());
return angle::Result::Continue;
}
+angle::Result BufferVk::acquireAndUpdate(ContextVk *contextVk,
+ const uint8_t *data,
+ size_t size,
+ size_t offset)
+{
+ // Here we acquire a new BufferHelper and directUpdate() the new buffer.
+ // If the subData size was less than the buffer's size we additionally enqueue
+ // a GPU copy of the remaining regions from the old mBuffer to the new one.
+ vk::BufferHelper *src = mBuffer;
+ size_t offsetAfterSubdata = (offset + size);
+ bool updateRegionBeforeSubData = (offset > 0);
+ bool updateRegionAfterSubData = (offsetAfterSubdata < static_cast<size_t>(mState.getSize()));
+
+ if (updateRegionBeforeSubData || updateRegionAfterSubData)
+ {
+ src->retain(&contextVk->getResourceUseList());
+ }
+
+ ANGLE_TRY(acquireBufferHelper(contextVk, size, &mBuffer));
+ ANGLE_TRY(directUpdate(contextVk, data, size, offset));
+
+ constexpr int kMaxCopyRegions = 2;
+ angle::FixedVector<VkBufferCopy, kMaxCopyRegions> copyRegions;
+
+ if (updateRegionBeforeSubData)
+ {
+ copyRegions.push_back({0, 0, offset});
+ }
+ if (updateRegionAfterSubData)
+ {
+ copyRegions.push_back({offsetAfterSubdata, offsetAfterSubdata,
+ (static_cast<size_t>(mState.getSize()) - offsetAfterSubdata)});
+ }
+
+ if (!copyRegions.empty())
+ {
+ ANGLE_TRY(mBuffer->copyFromBuffer(contextVk, src, static_cast<uint32_t>(copyRegions.size()),
+ copyRegions.data()));
+ }
+
+ return angle::Result::Continue;
+}
+
angle::Result BufferVk::setDataImpl(ContextVk *contextVk,
const uint8_t *data,
size_t size,
@@ -521,15 +574,14 @@ angle::Result BufferVk::setDataImpl(ContextVk *contextVk,
updateShadowBuffer(data, size, offset);
// if the buffer is currently in use
- // if size matches mBuffer's size, acquire a new BufferHelper from the pool
+ // if sub data size meets threshold, acquire a new BufferHelper from the pool
// else stage an update
// else update the buffer directly
if (mBuffer->isCurrentlyInUse(contextVk->getLastCompletedQueueSerial()))
{
- if (size == static_cast<size_t>(mState.getSize()))
+ if (SubDataSizeMeetsThreshold(size, static_cast<size_t>(mState.getSize())))
{
- ANGLE_TRY(acquireBufferHelper(contextVk, size, &mBuffer));
- ANGLE_TRY(directUpdate(contextVk, data, size, offset));
+ ANGLE_TRY(acquireAndUpdate(contextVk, data, size, offset));
}
else
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.h
index d6a52d6637a..31bf58d275b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.h
@@ -84,16 +84,18 @@ class BufferVk : public BufferImpl
const vk::BufferHelper &getBuffer() const
{
- ASSERT(mBuffer && mBuffer->valid());
+ ASSERT(isBufferValid());
return *mBuffer;
}
vk::BufferHelper &getBuffer()
{
- ASSERT(mBuffer && mBuffer->valid());
+ ASSERT(isBufferValid());
return *mBuffer;
}
+ bool isBufferValid() const { return mBuffer && mBuffer->valid(); }
+
angle::Result mapImpl(ContextVk *contextVk, void **mapPtr);
angle::Result mapRangeImpl(ContextVk *contextVk,
VkDeviceSize offset,
@@ -139,6 +141,10 @@ class BufferVk : public BufferImpl
const uint8_t *data,
size_t size,
size_t offset);
+ angle::Result acquireAndUpdate(ContextVk *contextVk,
+ const uint8_t *data,
+ size_t size,
+ size_t offset);
angle::Result setDataImpl(ContextVk *contextVk,
const uint8_t *data,
size_t size,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.cpp
new file mode 100644
index 00000000000..729e925653e
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.cpp
@@ -0,0 +1,78 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// CommandProcessor.cpp:
+// Implements the class methods for CommandProcessor.
+//
+
+#include "libANGLE/renderer/vulkan/CommandProcessor.h"
+#include "libANGLE/trace.h"
+
+namespace rx
+{
+
+CommandProcessor::CommandProcessor() : mWorkerThreadIdle(true) {}
+
+void CommandProcessor::queueCommands(const vk::CommandProcessorTask &commands)
+{
+ ANGLE_TRACE_EVENT0("gpu.angle", "RendererVk::queueCommands");
+ std::lock_guard<std::mutex> queueLock(mWorkerMutex);
+ ASSERT(commands.commandBuffer == nullptr || !commands.commandBuffer->empty());
+ mCommandsQueue.push(commands);
+ mWorkAvailableCondition.notify_one();
+}
+
+angle::Result CommandProcessor::processCommandProcessorTasks()
+{
+ while (true)
+ {
+ std::unique_lock<std::mutex> lock(mWorkerMutex);
+ mWorkerIdleCondition.notify_one();
+ mWorkerThreadIdle = true;
+ // Only wake if notified and command queue is not empty
+ mWorkAvailableCondition.wait(lock, [this] { return !mCommandsQueue.empty(); });
+ mWorkerThreadIdle = false;
+ vk::CommandProcessorTask task = mCommandsQueue.front();
+ mCommandsQueue.pop();
+ lock.unlock();
+ // Either both ptrs should be null or non-null
+ ASSERT((task.commandBuffer != nullptr && task.contextVk != nullptr) ||
+ (task.commandBuffer == nullptr && task.contextVk == nullptr));
+ // A work block with null ptrs signals worker thread to exit
+ if (task.commandBuffer == nullptr && task.contextVk == nullptr)
+ {
+ break;
+ }
+
+ ASSERT(!task.commandBuffer->empty());
+ // TODO: Will need some way to synchronize error reporting between threads
+ ANGLE_TRY(task.commandBuffer->flushToPrimary(task.contextVk, task.primaryCB));
+ ASSERT(task.commandBuffer->empty());
+ task.commandBuffer->releaseToContextQueue(task.contextVk);
+ }
+ return angle::Result::Continue;
+}
+
+void CommandProcessor::waitForWorkComplete()
+{
+ ANGLE_TRACE_EVENT0("gpu.angle", "CommandProcessor::waitForWorkerThreadIdle");
+ std::unique_lock<std::mutex> lock(mWorkerMutex);
+ mWorkerIdleCondition.wait(lock,
+ [this] { return (mCommandsQueue.empty() && mWorkerThreadIdle); });
+ // Worker thread is idle and command queue is empty so good to continue
+ lock.unlock();
+}
+
+void CommandProcessor::shutdown(std::thread *commandProcessorThread)
+{
+ waitForWorkComplete();
+ const vk::CommandProcessorTask endTask = vk::kEndCommandProcessorThread;
+ queueCommands(endTask);
+ if (commandProcessorThread->joinable())
+ {
+ commandProcessorThread->join();
+ }
+}
+} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.h
new file mode 100644
index 00000000000..be8a3c4c5d8
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.h
@@ -0,0 +1,74 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// CommandProcessor.h:
+// A class to process and submit Vulkan command buffers that can be
+// used in an asynchronous worker thread.
+//
+
+#ifndef LIBANGLE_RENDERER_VULKAN_COMMAND_PROCESSOR_H_
+#define LIBANGLE_RENDERER_VULKAN_COMMAND_PROCESSOR_H_
+
+#include <condition_variable>
+#include <mutex>
+#include <queue>
+#include <thread>
+
+#include "common/vulkan/vk_headers.h"
+#include "libANGLE/renderer/vulkan/vk_helpers.h"
+
+namespace rx
+{
+namespace vk
+{
+// CommandProcessorTask is used to queue a task to the worker thread when
+// enableCommandProcessingThread feature is true.
+// The typical task includes pointers in all values and the worker thread will
+// process the SecondaryCommandBuffer commands in cbh into the primaryCB.
+// There is a special task in which all of the pointers are null that will trigger
+// the worker thread to exit, and is sent when the renderer instance shuts down.
+struct CommandProcessorTask
+{
+ ContextVk *contextVk;
+ // TODO: b/153666475 Removed primaryCB in threading phase2.
+ vk::PrimaryCommandBuffer *primaryCB;
+ CommandBufferHelper *commandBuffer;
+};
+
+static const CommandProcessorTask kEndCommandProcessorThread = {nullptr, nullptr, nullptr};
+} // namespace vk
+
+class CommandProcessor : angle::NonCopyable
+{
+ public:
+ CommandProcessor();
+ ~CommandProcessor() = default;
+
+ // Main worker loop that should be launched in its own thread. The
+ // loop waits for work to be submitted from a separate thread.
+ angle::Result processCommandProcessorTasks();
+ // Called asynchronously from workLoop() thread to queue work that is
+ // then processed by the workLoop() thread
+ void queueCommands(const vk::CommandProcessorTask &commands);
+ // Used by separate thread to wait for worker thread to complete all
+ // outstanding work.
+ void waitForWorkComplete();
+ // Stop the command processor loop
+ void shutdown(std::thread *commandProcessorThread);
+
+ private:
+ std::queue<vk::CommandProcessorTask> mCommandsQueue;
+ std::mutex mWorkerMutex;
+ // Signal worker thread when work is available
+ std::condition_variable mWorkAvailableCondition;
+ // Signal main thread when all work completed
+ std::condition_variable mWorkerIdleCondition;
+ // Track worker thread Idle state for assertion purposes
+ bool mWorkerThreadIdle;
+};
+
+} // namespace rx
+
+#endif // LIBANGLE_RENDERER_VULKAN_COMMAND_PROCESSOR_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp
index 030fa20976f..0276a4a8b57 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp
@@ -47,22 +47,28 @@ namespace rx
namespace
{
+// For DesciptorSetUpdates
+constexpr size_t kDescriptorBufferInfosInitialSize = 8;
+constexpr size_t kDescriptorImageInfosInitialSize = 4;
+constexpr size_t kDescriptorWriteInfosInitialSize =
+ kDescriptorBufferInfosInitialSize + kDescriptorImageInfosInitialSize;
+
// For shader uniforms such as gl_DepthRange and the viewport size.
struct GraphicsDriverUniforms
{
std::array<float, 4> viewport;
- float halfRenderAreaHeight;
- float viewportYScale;
- float negViewportYScale;
+ // Used to flip gl_FragCoord (both .xy for Android pre-rotation; only .y for desktop)
+ std::array<float, 2> halfRenderArea;
+ std::array<float, 2> flipXY;
+ std::array<float, 2> negFlipXY;
// 32 bits for 32 clip planes
uint32_t enabledClipPlanes;
uint32_t xfbActiveUnpaused;
uint32_t xfbVerticesPerDraw;
- // NOTE: Explicit padding. Fill in with useful data when needed in the future.
- std::array<int32_t, 2> padding;
+ std::array<int32_t, 3> padding;
std::array<int32_t, 4> xfbBufferOffsets;
@@ -79,6 +85,9 @@ struct GraphicsDriverUniforms
// Used to pre-rotate gl_Position for swapchain images on Android (a mat2, which is padded to
// the size of two vec4's).
std::array<float, 8> preRotation;
+ // Used to pre-rotate gl_FragCoord for swapchain images on Android (a mat2, which is padded to
+ // the size of two vec4's).
+ std::array<float, 8> fragRotation;
};
struct ComputeDriverUniforms
@@ -119,7 +128,6 @@ constexpr VkColorComponentFlags kAllColorChannelsMask =
constexpr VkBufferUsageFlags kVertexBufferUsage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
constexpr size_t kDefaultValueSize = sizeof(gl::VertexAttribCurrentValueData::Values);
constexpr size_t kDefaultBufferSize = kDefaultValueSize * 16;
-constexpr size_t kDefaultPoolAllocatorPageSize = 16 * 1024;
constexpr size_t kDriverUniformsAllocatorPageSize = 4 * 1024;
constexpr size_t kInFlightCommandsLimit = 100u;
@@ -127,24 +135,18 @@ constexpr size_t kInFlightCommandsLimit = 100u;
void InitializeSubmitInfo(VkSubmitInfo *submitInfo,
const vk::PrimaryCommandBuffer &commandBuffer,
const std::vector<VkSemaphore> &waitSemaphores,
- std::vector<VkPipelineStageFlags> *waitSemaphoreStageMasks,
+ const std::vector<VkPipelineStageFlags> &waitSemaphoreStageMasks,
const vk::Semaphore *signalSemaphore)
{
// Verify that the submitInfo has been zero'd out.
ASSERT(submitInfo->signalSemaphoreCount == 0);
-
+ ASSERT(waitSemaphores.size() == waitSemaphoreStageMasks.size());
submitInfo->sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
submitInfo->commandBufferCount = commandBuffer.valid() ? 1 : 0;
submitInfo->pCommandBuffers = commandBuffer.ptr();
-
- if (waitSemaphoreStageMasks->size() < waitSemaphores.size())
- {
- waitSemaphoreStageMasks->resize(waitSemaphores.size(), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
- }
-
submitInfo->waitSemaphoreCount = static_cast<uint32_t>(waitSemaphores.size());
submitInfo->pWaitSemaphores = waitSemaphores.data();
- submitInfo->pWaitDstStageMask = waitSemaphoreStageMasks->data();
+ submitInfo->pWaitDstStageMask = waitSemaphoreStageMasks.data();
if (signalSemaphore)
{
@@ -189,7 +191,8 @@ void ApplySampleCoverage(const gl::State &glState,
}
// When an Android surface is rotated differently than the device's native orientation, ANGLE must
-// rotate gl_Position in the vertex shader. The following are the rotation matrices used.
+// rotate gl_Position in the vertex shader and gl_FragCoord in the fragment shader. The following
+// are the rotation matrices used.
//
// Note: these are mat2's that are appropriately padded (4 floats per row).
using PreRotationMatrixValues = std::array<float, 8>;
@@ -213,6 +216,25 @@ constexpr angle::PackedEnumMap<rx::SurfaceRotation,
{rx::SurfaceRotation::FlippedRotated270Degrees,
{{0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f}}}}};
+constexpr angle::PackedEnumMap<rx::SurfaceRotation,
+ PreRotationMatrixValues,
+ angle::EnumSize<rx::SurfaceRotation>()>
+ kFragRotationMatrices = {
+ {{rx::SurfaceRotation::Identity, {{1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f}}},
+ {rx::SurfaceRotation::Rotated90Degrees,
+ {{0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f}}},
+ {rx::SurfaceRotation::Rotated180Degrees,
+ {{1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f}}},
+ {rx::SurfaceRotation::Rotated270Degrees,
+ {{0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f}}},
+ {rx::SurfaceRotation::FlippedIdentity, {{1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f}}},
+ {rx::SurfaceRotation::FlippedRotated90Degrees,
+ {{0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f}}},
+ {rx::SurfaceRotation::FlippedRotated180Degrees,
+ {{1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f}}},
+ {rx::SurfaceRotation::FlippedRotated270Degrees,
+ {{0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f}}}}};
+
bool IsRotatedAspectRatio(SurfaceRotation rotation)
{
return ((rotation == SurfaceRotation::Rotated90Degrees) ||
@@ -252,50 +274,6 @@ SurfaceRotation DetermineSurfaceRotation(gl::Framebuffer *framebuffer,
}
}
-void RotateRectangle(const SurfaceRotation rotation,
- const bool flipY,
- const int framebufferWidth,
- const int framebufferHeight,
- const gl::Rectangle &incoming,
- gl::Rectangle *outgoing)
-{
- // GLES's y-axis points up; Vulkan's points down.
- switch (rotation)
- {
- case SurfaceRotation::Identity:
- // Do not rotate gl_Position (surface matches the device's orientation):
- outgoing->x = incoming.x;
- outgoing->y = flipY ? framebufferHeight - incoming.y - incoming.height : incoming.y;
- outgoing->width = incoming.width;
- outgoing->height = incoming.height;
- break;
- case SurfaceRotation::Rotated90Degrees:
- // Rotate gl_Position 90 degrees:
- outgoing->x = incoming.y;
- outgoing->y = flipY ? incoming.x : framebufferWidth - incoming.x - incoming.width;
- outgoing->width = incoming.height;
- outgoing->height = incoming.width;
- break;
- case SurfaceRotation::Rotated180Degrees:
- // Rotate gl_Position 180 degrees:
- outgoing->x = framebufferWidth - incoming.x - incoming.width;
- outgoing->y = flipY ? incoming.y : framebufferHeight - incoming.y - incoming.height;
- outgoing->width = incoming.width;
- outgoing->height = incoming.height;
- break;
- case SurfaceRotation::Rotated270Degrees:
- // Rotate gl_Position 270 degrees:
- outgoing->x = framebufferHeight - incoming.y - incoming.height;
- outgoing->y = flipY ? framebufferWidth - incoming.x - incoming.width : incoming.x;
- outgoing->width = incoming.height;
- outgoing->height = incoming.width;
- break;
- default:
- UNREACHABLE();
- break;
- }
-}
-
// Should not generate a copy with modern C++.
EventName GetTraceEventName(const char *title, uint32_t counter)
{
@@ -375,6 +353,7 @@ angle::Result CommandQueue::init(vk::Context *context)
angle::Result CommandQueue::checkCompletedCommands(vk::Context *context)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "CommandQueue::checkCompletedCommands");
RendererVk *renderer = context->getRenderer();
VkDevice device = renderer->getDevice();
@@ -517,7 +496,7 @@ angle::Result CommandQueue::finishToSerial(vk::Context *context, Serial serial,
{
return angle::Result::Continue;
}
-
+ ANGLE_TRACE_EVENT0("gpu.angle", "CommandQueue::finishToSerial");
// Find the first batch with serial equal to or bigger than given serial (note that
// the batch serials are unique, otherwise upper-bound would have been necessary).
//
@@ -559,9 +538,6 @@ angle::Result CommandQueue::submitFrame(vk::Context *context,
vk::PrimaryCommandBuffer &&commandBuffer)
{
ANGLE_TRACE_EVENT0("gpu.angle", "CommandQueue::submitFrame");
- VkFenceCreateInfo fenceInfo = {};
- fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
- fenceInfo.flags = 0;
RendererVk *renderer = context->getRenderer();
VkDevice device = renderer->getDevice();
@@ -617,6 +593,8 @@ egl::ContextPriority GetContextPriority(const gl::State &state)
ContextVk::ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk *renderer)
: ContextImpl(state, errorSet),
vk::Context(renderer),
+ mGraphicsDirtyBitHandlers{},
+ mComputeDirtyBitHandlers{},
mRenderPassCommandBuffer(nullptr),
mCurrentGraphicsPipeline(nullptr),
mCurrentComputePipeline(nullptr),
@@ -639,16 +617,19 @@ ContextVk::ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk
mIsAnyHostVisibleBufferWritten(false),
mEmulateSeamfulCubeMapSampling(false),
mUseOldRewriteStructSamplers(false),
- mPoolAllocator(kDefaultPoolAllocatorPageSize, 1),
- mOutsideRenderPassCommands(false),
- mRenderPassCommands(true),
+ mOutsideRenderPassCommands(nullptr),
+ mRenderPassCommands(nullptr),
mHasPrimaryCommands(false),
mGpuEventsEnabled(false),
mGpuClockSync{std::numeric_limits<double>::max(), std::numeric_limits<double>::max()},
mGpuEventTimestampOrigin(0),
mPrimaryBufferCounter(0),
mRenderPassCounter(0),
- mContextPriority(renderer->getDriverPriority(GetContextPriority(state)))
+ mContextPriority(renderer->getDriverPriority(GetContextPriority(state))),
+ mCurrentIndirectBuffer(nullptr),
+ mBufferInfos(),
+ mImageInfos(),
+ mWriteInfos()
{
ANGLE_TRACE_EVENT0("gpu.angle", "ContextVk::ContextVk");
memset(&mClearColorValue, 0, sizeof(mClearColorValue));
@@ -737,6 +718,11 @@ ContextVk::ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk
mPipelineDirtyBitsMask.set();
mPipelineDirtyBitsMask.reset(gl::State::DIRTY_BIT_TEXTURE_BINDINGS);
+
+ // Reserve reasonable amount of spaces so that for majority of apps we don't need to grow at all
+ mBufferInfos.reserve(kDescriptorBufferInfosInitialSize);
+ mImageInfos.reserve(kDescriptorImageInfosInitialSize);
+ mWriteInfos.reserve(kDescriptorWriteInfosInitialSize);
}
ContextVk::~ContextVk() = default;
@@ -858,10 +844,20 @@ angle::Result ContextVk::initialize()
mUseOldRewriteStructSamplers = shouldUseOldRewriteStructSamplers();
- // Push a scope in the pool allocator so we can easily reinitialize on flush.
- mPoolAllocator.push();
- mOutsideRenderPassCommands.initialize(&mPoolAllocator);
- mRenderPassCommands.initialize(&mPoolAllocator);
+ // Prepare command buffer queue by:
+ // 1. Initializing each command buffer (as non-renderpass initially)
+ // 2. Put a pointer to each command buffer into queue
+ for (vk::CommandBufferHelper &commandBuffer : mCommandBuffers)
+ {
+ // TODO: b/157508684 Don't cache feature in class like this, just check when needed
+ commandBuffer.initialize(false,
+ mRenderer->getFeatures().preferAggregateBarrierCalls.enabled);
+ recycleCommandBuffer(&commandBuffer);
+ }
+ // Now assign initial command buffers from queue
+ getNextAvailableCommandBuffer(&mOutsideRenderPassCommands, false);
+ getNextAvailableCommandBuffer(&mRenderPassCommands, true);
+
ANGLE_TRY(startPrimaryCommandBuffer());
if (mGpuEventsEnabled)
@@ -876,7 +872,7 @@ angle::Result ContextVk::initialize()
mPrimaryBufferCounter++;
EventName eventName = GetTraceEventName("Primary", mPrimaryBufferCounter);
- ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands.getCommandBuffer(),
+ ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands->getCommandBuffer(),
TRACE_EVENT_PHASE_BEGIN, eventName));
}
@@ -953,6 +949,10 @@ angle::Result ContextVk::setupDraw(const gl::Context *context,
*commandBufferOut = mRenderPassCommandBuffer;
ASSERT(*commandBufferOut);
+ // Create a local object to ensure we flush the descriptor updates to device when we leave this
+ // function
+ ScopedDescriptorSetUpdates descriptorSetUpdates(this);
+
if (mProgram && mProgram->dirtyUniforms())
{
ANGLE_TRY(mProgram->updateUniforms(this));
@@ -1003,7 +1003,7 @@ angle::Result ContextVk::setupIndexedDraw(const gl::Context *context,
if (indexType != mCurrentDrawElementsType)
{
mCurrentDrawElementsType = indexType;
- setIndexBufferDirty();
+ ANGLE_TRY(onIndexBufferChange(nullptr));
}
const gl::Buffer *elementArrayBuffer = mVertexArray->getState().getElementArrayBuffer();
@@ -1058,8 +1058,14 @@ angle::Result ContextVk::setupIndirectDraw(const gl::Context *context,
GLsizei vertexCount = 0;
GLsizei instanceCount = 1;
- mRenderPassCommands.bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
- vk::PipelineStage::DrawIndirect, indirectBuffer);
+ if (indirectBuffer != mCurrentIndirectBuffer)
+ {
+ ANGLE_TRY(endRenderPass());
+ mCurrentIndirectBuffer = indirectBuffer;
+ }
+
+ mRenderPassCommands->bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
+ vk::PipelineStage::DrawIndirect, indirectBuffer);
ANGLE_TRY(setupDraw(context, mode, firstVertex, vertexCount, instanceCount,
gl::DrawElementsType::InvalidEnum, nullptr, dirtyBitMask,
@@ -1080,7 +1086,7 @@ angle::Result ContextVk::setupIndexedIndirectDraw(const gl::Context *context,
if (indexType != mCurrentDrawElementsType)
{
mCurrentDrawElementsType = indexType;
- setIndexBufferDirty();
+ ANGLE_TRY(onIndexBufferChange(nullptr));
}
return setupIndirectDraw(context, mode, mIndexedDirtyBitsMask, indirectBuffer,
@@ -1111,7 +1117,7 @@ angle::Result ContextVk::setupLineLoopIndexedIndirectDraw(const gl::Context *con
if (indexType != mCurrentDrawElementsType)
{
mCurrentDrawElementsType = indexType;
- setIndexBufferDirty();
+ ANGLE_TRY(onIndexBufferChange(nullptr));
}
return setupIndirectDraw(context, mode, mIndexedDirtyBitsMask, dstIndirectBuf,
@@ -1139,7 +1145,7 @@ angle::Result ContextVk::setupLineLoopIndirectDraw(const gl::Context *context,
if (gl::DrawElementsType::UnsignedInt != mCurrentDrawElementsType)
{
mCurrentDrawElementsType = gl::DrawElementsType::UnsignedInt;
- setIndexBufferDirty();
+ ANGLE_TRY(onIndexBufferChange(nullptr));
}
return setupIndirectDraw(context, mode, mIndexedDirtyBitsMask, indirectBufferHelperOut,
@@ -1157,7 +1163,7 @@ angle::Result ContextVk::setupLineLoopDraw(const gl::Context *context,
{
ANGLE_TRY(mVertexArray->handleLineLoop(this, firstVertex, vertexOrIndexCount,
indexTypeOrInvalid, indices, numIndicesOut));
- setIndexBufferDirty();
+ ANGLE_TRY(onIndexBufferChange(nullptr));
mCurrentDrawElementsType = indexTypeOrInvalid != gl::DrawElementsType::InvalidEnum
? indexTypeOrInvalid
: gl::DrawElementsType::UnsignedInt;
@@ -1173,7 +1179,11 @@ angle::Result ContextVk::setupDispatch(const gl::Context *context,
// The following ensures prior commands are flushed before we start processing dirty bits.
ANGLE_TRY(flushOutsideRenderPassCommands());
ANGLE_TRY(endRenderPass());
- *commandBufferOut = &mOutsideRenderPassCommands.getCommandBuffer();
+ *commandBufferOut = &mOutsideRenderPassCommands->getCommandBuffer();
+
+ // Create a local object to ensure we flush the descriptor updates to device when we leave this
+ // function
+ ScopedDescriptorSetUpdates descriptorSetUpdates(this);
if (mProgram && mProgram->dirtyUniforms())
{
@@ -1250,7 +1260,7 @@ angle::Result ContextVk::handleDirtyGraphicsPipeline(const gl::Context *context,
mGraphicsPipelineTransition.reset();
}
- mRenderPassCommands.pauseTransformFeedbackIfStarted();
+ mRenderPassCommands->pauseTransformFeedbackIfStarted();
commandBuffer->bindGraphicsPipeline(mCurrentGraphicsPipeline->getPipeline());
// Update the queue serial for the pipeline object.
ASSERT(mCurrentGraphicsPipeline && mCurrentGraphicsPipeline->valid());
@@ -1341,13 +1351,13 @@ ANGLE_INLINE angle::Result ContextVk::handleDirtyTexturesImpl(
angle::Result ContextVk::handleDirtyGraphicsTextures(const gl::Context *context,
vk::CommandBuffer *commandBuffer)
{
- return handleDirtyTexturesImpl(&mRenderPassCommands);
+ return handleDirtyTexturesImpl(mRenderPassCommands);
}
angle::Result ContextVk::handleDirtyComputeTextures(const gl::Context *context,
vk::CommandBuffer *commandBuffer)
{
- return handleDirtyTexturesImpl(&mOutsideRenderPassCommands);
+ return handleDirtyTexturesImpl(mOutsideRenderPassCommands);
}
angle::Result ContextVk::handleDirtyGraphicsVertexBuffers(const gl::Context *context,
@@ -1371,8 +1381,8 @@ angle::Result ContextVk::handleDirtyGraphicsVertexBuffers(const gl::Context *con
vk::BufferHelper *arrayBuffer = arrayBufferResources[attribIndex];
if (arrayBuffer)
{
- mRenderPassCommands.bufferRead(&mResourceUseList, VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
- vk::PipelineStage::VertexInput, arrayBuffer);
+ mRenderPassCommands->bufferRead(&mResourceUseList, VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
+ vk::PipelineStage::VertexInput, arrayBuffer);
}
}
@@ -1389,8 +1399,8 @@ angle::Result ContextVk::handleDirtyGraphicsIndexBuffer(const gl::Context *conte
mVertexArray->getCurrentElementArrayBufferOffset(),
getVkIndexType(mCurrentDrawElementsType));
- mRenderPassCommands.bufferRead(&mResourceUseList, VK_ACCESS_INDEX_READ_BIT,
- vk::PipelineStage::VertexInput, elementArrayBuffer);
+ mRenderPassCommands->bufferRead(&mResourceUseList, VK_ACCESS_INDEX_READ_BIT,
+ vk::PipelineStage::VertexInput, elementArrayBuffer);
return angle::Result::Continue;
}
@@ -1419,13 +1429,13 @@ ANGLE_INLINE angle::Result ContextVk::handleDirtyShaderResourcesImpl(
angle::Result ContextVk::handleDirtyGraphicsShaderResources(const gl::Context *context,
vk::CommandBuffer *commandBuffer)
{
- return handleDirtyShaderResourcesImpl(context, &mRenderPassCommands);
+ return handleDirtyShaderResourcesImpl(context, mRenderPassCommands);
}
angle::Result ContextVk::handleDirtyComputeShaderResources(const gl::Context *context,
vk::CommandBuffer *commandBuffer)
{
- return handleDirtyShaderResourcesImpl(context, &mOutsideRenderPassCommands);
+ return handleDirtyShaderResourcesImpl(context, mOutsideRenderPassCommands);
}
angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackBuffersEmulation(
@@ -1435,29 +1445,27 @@ angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackBuffersEmulation(
const gl::ProgramExecutable *executable = mState.getProgramExecutable();
ASSERT(executable);
- if (executable->hasTransformFeedbackOutput() && mState.isTransformFeedbackActive())
+ if (!executable->hasTransformFeedbackOutput() || !mState.isTransformFeedbackActive())
{
- size_t bufferCount = executable->getTransformFeedbackBufferCount(mState);
- const std::vector<gl::OffsetBindingPointer<gl::Buffer>> &xfbBuffers =
- mState.getCurrentTransformFeedback()->getIndexedBuffers();
-
- for (size_t bufferIndex = 0; bufferIndex < bufferCount; ++bufferIndex)
- {
- const gl::OffsetBindingPointer<gl::Buffer> &xfbBuffer = xfbBuffers[bufferIndex];
- gl::Buffer *buffer = xfbBuffer.get();
- ASSERT(buffer != nullptr);
- BufferVk *bufferVk = vk::GetImpl(buffer);
- vk::BufferHelper &bufferHelper = bufferVk->getBuffer();
+ return angle::Result::Continue;
+ }
- mRenderPassCommands.bufferWrite(&mResourceUseList, VK_ACCESS_SHADER_WRITE_BIT,
- vk::PipelineStage::VertexShader, &bufferHelper);
- }
+ TransformFeedbackVk *transformFeedbackVk = vk::GetImpl(mState.getCurrentTransformFeedback());
+ size_t bufferCount = executable->getTransformFeedbackBufferCount();
+ const gl::TransformFeedbackBuffersArray<vk::BufferHelper *> &bufferHelpers =
+ transformFeedbackVk->getBufferHelpers();
- // TODO(http://anglebug.com/3570): Need to update to handle Program Pipelines
- ANGLE_TRY(mProgram->getExecutable().updateTransformFeedbackDescriptorSet(
- mProgram->getState(), mProgram->getDefaultUniformBlocks(), this));
+ for (size_t bufferIndex = 0; bufferIndex < bufferCount; ++bufferIndex)
+ {
+ vk::BufferHelper *bufferHelper = bufferHelpers[bufferIndex];
+ ASSERT(bufferHelper);
+ mRenderPassCommands->bufferWrite(&mResourceUseList, VK_ACCESS_SHADER_WRITE_BIT,
+ vk::PipelineStage::VertexShader, bufferHelper);
}
- return angle::Result::Continue;
+
+ // TODO(http://anglebug.com/3570): Need to update to handle Program Pipelines
+ return mProgram->getExecutable().updateTransformFeedbackDescriptorSet(
+ mProgram->getState(), mProgram->getDefaultUniformBlocks(), this);
}
angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackBuffersExtension(
@@ -1468,38 +1476,35 @@ angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackBuffersExtension(
ASSERT(executable);
if (!executable->hasTransformFeedbackOutput() || !mState.isTransformFeedbackActive())
+ {
return angle::Result::Continue;
+ }
- size_t bufferIndex = 0;
TransformFeedbackVk *transformFeedbackVk = vk::GetImpl(mState.getCurrentTransformFeedback());
+ size_t bufferCount = executable->getTransformFeedbackBufferCount();
- size_t bufferCount = executable->getTransformFeedbackBufferCount(mState);
- gl::TransformFeedbackBuffersArray<VkBuffer> bufferHandles;
+ const gl::TransformFeedbackBuffersArray<vk::BufferHelper *> &bufferHelpers =
+ transformFeedbackVk->getBufferHelpers();
- const std::vector<gl::OffsetBindingPointer<gl::Buffer>> &xfbBuffers =
- mState.getCurrentTransformFeedback()->getIndexedBuffers();
-
- for (bufferIndex = 0; bufferIndex < bufferCount; ++bufferIndex)
+ for (size_t bufferIndex = 0; bufferIndex < bufferCount; ++bufferIndex)
{
- const gl::OffsetBindingPointer<gl::Buffer> &bufferBinding = xfbBuffers[bufferIndex];
- gl::Buffer *buffer = bufferBinding.get();
- ASSERT(buffer != nullptr);
- BufferVk *bufferVk = vk::GetImpl(buffer);
-
- vk::BufferHelper &bufferHelper = bufferVk->getBuffer();
- bufferHandles[bufferIndex] = bufferHelper.getBuffer().getHandle();
-
- mRenderPassCommands.bufferWrite(&mResourceUseList,
- VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
- vk::PipelineStage::TransformFeedback, &bufferHelper);
+ vk::BufferHelper *bufferHelper = bufferHelpers[bufferIndex];
+ ASSERT(bufferHelper);
+ mRenderPassCommands->bufferWrite(&mResourceUseList,
+ VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
+ vk::PipelineStage::TransformFeedback, bufferHelper);
}
- const TransformFeedbackBufferRange &xfbBufferRangeExtension =
- transformFeedbackVk->getTransformFeedbackBufferRange();
+ const gl::TransformFeedbackBuffersArray<VkBuffer> &bufferHandles =
+ transformFeedbackVk->getBufferHandles();
+ const gl::TransformFeedbackBuffersArray<VkDeviceSize> &bufferOffsets =
+ transformFeedbackVk->getBufferOffsets();
+ const gl::TransformFeedbackBuffersArray<VkDeviceSize> &bufferSizes =
+ transformFeedbackVk->getBufferSizes();
- commandBuffer->bindTransformFeedbackBuffers(
- static_cast<uint32_t>(bufferCount), bufferHandles.data(),
- xfbBufferRangeExtension.offsets.data(), xfbBufferRangeExtension.sizes.data());
+ commandBuffer->bindTransformFeedbackBuffers(static_cast<uint32_t>(bufferCount),
+ bufferHandles.data(), bufferOffsets.data(),
+ bufferSizes.data());
return angle::Result::Continue;
}
@@ -1511,21 +1516,21 @@ angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackState(const gl::Con
ASSERT(executable);
if (!executable->hasTransformFeedbackOutput() || !mState.isTransformFeedbackActiveUnpaused())
+ {
return angle::Result::Continue;
+ }
TransformFeedbackVk *transformFeedbackVk = vk::GetImpl(mState.getCurrentTransformFeedback());
// We should have same number of counter buffers as xfb buffers have
- size_t bufferCount = executable->getTransformFeedbackBufferCount(mState);
+ size_t bufferCount = executable->getTransformFeedbackBufferCount();
const gl::TransformFeedbackBuffersArray<VkBuffer> &counterBufferHandles =
transformFeedbackVk->getCounterBufferHandles();
- bool rebindBuffer = transformFeedbackVk->getTransformFeedbackBufferRebindState();
-
- mRenderPassCommands.beginTransformFeedback(bufferCount, counterBufferHandles.data(),
- rebindBuffer);
+ bool rebindBuffers = transformFeedbackVk->getAndResetBufferRebindState();
- transformFeedbackVk->unsetTransformFeedbackBufferRebindState();
+ mRenderPassCommands->beginTransformFeedback(bufferCount, counterBufferHandles.data(),
+ rebindBuffers);
return angle::Result::Continue;
}
@@ -1534,7 +1539,7 @@ angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackResume(
const gl::Context *context,
vk::CommandBuffer *commandBuffer)
{
- mRenderPassCommands.resumeTransformFeedbackIfStarted();
+ mRenderPassCommands->resumeTransformFeedbackIfStarted();
return angle::Result::Continue;
}
@@ -1545,15 +1550,18 @@ angle::Result ContextVk::handleDirtyDescriptorSets(const gl::Context *context,
return angle::Result::Continue;
}
-angle::Result ContextVk::submitFrame(const VkSubmitInfo &submitInfo,
- vk::PrimaryCommandBuffer &&commandBuffer)
+void ContextVk::updateOverlayOnPresent()
{
// Update overlay if active.
gl::RunningGraphWidget *renderPassCount =
mState.getOverlay()->getRunningGraphWidget(gl::WidgetId::VulkanRenderPassCount);
- renderPassCount->add(mRenderPassCommands.getAndResetCounter());
+ renderPassCount->add(mRenderPassCommands->getAndResetCounter());
renderPassCount->next();
+}
+angle::Result ContextVk::submitFrame(const VkSubmitInfo &submitInfo,
+ vk::PrimaryCommandBuffer &&commandBuffer)
+{
if (vk::CommandBufferHelper::kEnableCommandStreamDiagnostics)
{
dumpCommandStreamDiagnostics();
@@ -1688,14 +1696,7 @@ angle::Result ContextVk::synchronizeCpuGpuTime()
vk::DeviceScoped<vk::PrimaryCommandBuffer> commandBatch(device);
vk::PrimaryCommandBuffer &commandBuffer = commandBatch.get();
- ANGLE_TRY(mCommandQueue.allocatePrimaryCommandBuffer(this, mCommandPool, &commandBuffer));
-
- VkCommandBufferBeginInfo beginInfo = {};
- beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
- beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
- beginInfo.pInheritanceInfo = nullptr;
-
- ANGLE_VK_TRY(this, commandBuffer.begin(beginInfo));
+ ANGLE_TRY(mRenderer->getCommandBufferOneOff(this, &commandBuffer));
commandBuffer.setEvent(gpuReady.get().getHandle(), VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT);
commandBuffer.waitEvents(1, cpuReady.get().ptr(), VK_PIPELINE_STAGE_HOST_BIT,
@@ -1706,12 +1707,9 @@ angle::Result ContextVk::synchronizeCpuGpuTime()
ANGLE_VK_TRY(this, commandBuffer.end());
- // Submit the command buffer
- VkSubmitInfo submitInfo = {};
- InitializeSubmitInfo(&submitInfo, commandBatch.get(), {}, &mWaitSemaphoreStageMasks,
- nullptr);
-
- ANGLE_TRY(submitFrame(submitInfo, commandBatch.release()));
+ Serial throwAwaySerial;
+ ANGLE_TRY(mRenderer->queueSubmitOneOff(this, std::move(commandBuffer), mContextPriority,
+ nullptr, &throwAwaySerial));
// Wait for GPU to be ready. This is a short busy wait.
VkResult result = VK_EVENT_RESET;
@@ -1897,6 +1895,7 @@ void ContextVk::flushGpuEvents(double nextSyncGpuTimestampS, double nextSyncCpuT
void ContextVk::clearAllGarbage()
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ContextVk::clearAllGarbage");
for (vk::GarbageObject &garbage : mCurrentGarbage)
{
garbage.destroy(mRenderer);
@@ -1907,8 +1906,8 @@ void ContextVk::clearAllGarbage()
void ContextVk::handleDeviceLost()
{
- mOutsideRenderPassCommands.reset();
- mRenderPassCommands.reset();
+ mOutsideRenderPassCommands->reset();
+ mRenderPassCommands->reset();
mCommandQueue.handleDeviceLost(mRenderer);
clearAllGarbage();
@@ -2157,8 +2156,8 @@ angle::Result ContextVk::drawArraysIndirect(const gl::Context *context,
if (mVertexArray->getStreamingVertexAttribsMask().any())
{
- mRenderPassCommands.bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
- vk::PipelineStage::DrawIndirect, currentIndirectBuf);
+ mRenderPassCommands->bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
+ vk::PipelineStage::DrawIndirect, currentIndirectBuf);
// We have instanced vertex attributes that need to be emulated for Vulkan.
// invalidate any cache and map the buffer so that we can read the indirect data.
@@ -2211,8 +2210,8 @@ angle::Result ContextVk::drawElementsIndirect(const gl::Context *context,
if (mVertexArray->getStreamingVertexAttribsMask().any())
{
- mRenderPassCommands.bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
- vk::PipelineStage::DrawIndirect, currentIndirectBuf);
+ mRenderPassCommands->bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
+ vk::PipelineStage::DrawIndirect, currentIndirectBuf);
// We have instanced vertex attributes that need to be emulated for Vulkan.
// invalidate any cache and map the buffer so that we can read the indirect data.
@@ -2271,12 +2270,12 @@ angle::Result ContextVk::drawElementsIndirect(const gl::Context *context,
void ContextVk::optimizeRenderPassForPresent(VkFramebuffer framebufferHandle)
{
- if (!mRenderPassCommands.started())
+ if (!mRenderPassCommands->started())
{
return;
}
- if (framebufferHandle != mRenderPassCommands.getFramebufferHandle())
+ if (framebufferHandle != mRenderPassCommands->getFramebufferHandle())
{
return;
}
@@ -2294,8 +2293,8 @@ void ContextVk::optimizeRenderPassForPresent(VkFramebuffer framebufferHandle)
{
size_t depthStencilAttachmentIndexVk = mDrawFramebuffer->getDepthStencilAttachmentIndexVk();
// Change depthstencil attachment storeOp to DONT_CARE
- mRenderPassCommands.invalidateRenderPassStencilAttachment(depthStencilAttachmentIndexVk);
- mRenderPassCommands.invalidateRenderPassDepthAttachment(depthStencilAttachmentIndexVk);
+ mRenderPassCommands->invalidateRenderPassStencilAttachment(depthStencilAttachmentIndexVk);
+ mRenderPassCommands->invalidateRenderPassDepthAttachment(depthStencilAttachmentIndexVk);
// Mark content as invalid so that we will not load them in next renderpass
depthStencilRenderTarget->invalidateContent();
}
@@ -2303,7 +2302,7 @@ void ContextVk::optimizeRenderPassForPresent(VkFramebuffer framebufferHandle)
// Use finalLayout instead of extra barrier for layout change to present
vk::ImageHelper &image = color0RenderTarget->getImage();
image.setCurrentImageLayout(vk::ImageLayout::Present);
- mRenderPassCommands.updateRenderPassAttachmentFinalLayout(0, image.getCurrentImageLayout());
+ mRenderPassCommands->updateRenderPassAttachmentFinalLayout(0, image.getCurrentImageLayout());
}
gl::GraphicsResetStatus ContextVk::getResetStatus()
@@ -2461,13 +2460,8 @@ void ContextVk::updateSampleMask(const gl::State &glState)
}
}
-void ContextVk::updateViewport(FramebufferVk *framebufferVk,
- const gl::Rectangle &viewport,
- float nearPlane,
- float farPlane,
- bool invertViewport)
+gl::Rectangle ContextVk::getCorrectedViewport(const gl::Rectangle &viewport) const
{
- VkViewport vkViewport;
const gl::Caps &caps = getCaps();
const VkPhysicalDeviceLimits &limitsVk = mRenderer->getPhysicalDeviceProperties().limits;
const int viewportBoundsRangeLow = static_cast<int>(limitsVk.viewportBoundsRange[0]);
@@ -2483,10 +2477,11 @@ void ContextVk::updateViewport(FramebufferVk *framebufferVk,
// VkPhysicalDeviceLimits::maxViewportDimensions[1]
int correctedHeight = std::min<int>(viewport.height, caps.maxViewportHeight);
correctedHeight = std::max<int>(correctedHeight, 0);
- // x and y must each be between viewportBoundsRange[0] and viewportBoundsRange[1], inclusive
- int correctedX = std::min<int>(viewport.x, viewportBoundsRangeHigh);
+ // x and y must each be between viewportBoundsRange[0] and viewportBoundsRange[1], inclusive.
+ // Viewport size cannot be 0 so ensure there is always size for a 1x1 viewport
+ int correctedX = std::min<int>(viewport.x, viewportBoundsRangeHigh - 1);
correctedX = std::max<int>(correctedX, viewportBoundsRangeLow);
- int correctedY = std::min<int>(viewport.y, viewportBoundsRangeHigh);
+ int correctedY = std::min<int>(viewport.y, viewportBoundsRangeHigh - 1);
correctedY = std::max<int>(correctedY, viewportBoundsRangeLow);
// x + width must be less than or equal to viewportBoundsRange[1]
if ((correctedX + correctedWidth) > viewportBoundsRangeHigh)
@@ -2499,12 +2494,23 @@ void ContextVk::updateViewport(FramebufferVk *framebufferVk,
correctedHeight = viewportBoundsRangeHigh - correctedY;
}
- gl::Box fbDimensions = framebufferVk->getState().getDimensions();
- gl::Rectangle correctedRect =
- gl::Rectangle(correctedX, correctedY, correctedWidth, correctedHeight);
+ return gl::Rectangle(correctedX, correctedY, correctedWidth, correctedHeight);
+}
+
+void ContextVk::updateViewport(FramebufferVk *framebufferVk,
+ const gl::Rectangle &viewport,
+ float nearPlane,
+ float farPlane,
+ bool invertViewport)
+{
+
+ gl::Box fbDimensions = framebufferVk->getState().getDimensions();
+ gl::Rectangle correctedRect = getCorrectedViewport(viewport);
gl::Rectangle rotatedRect;
RotateRectangle(getRotationDrawFramebuffer(), false, fbDimensions.width, fbDimensions.height,
correctedRect, &rotatedRect);
+
+ VkViewport vkViewport;
gl_vk::GetViewport(rotatedRect, nearPlane, farPlane, invertViewport,
// If the surface is rotated 90/270 degrees, use the framebuffer's width
// instead of the height for calculating the final viewport.
@@ -2527,7 +2533,8 @@ angle::Result ContextVk::updateScissor(const gl::State &glState)
// Clip the render area to the viewport.
gl::Rectangle viewportClippedRenderArea;
- gl::ClipRectangle(renderArea, glState.getViewport(), &viewportClippedRenderArea);
+ gl::ClipRectangle(renderArea, getCorrectedViewport(glState.getViewport()),
+ &viewportClippedRenderArea);
gl::Rectangle scissoredArea = ClipRectToScissor(getState(), viewportClippedRenderArea, false);
gl::Rectangle rotatedScissoredArea;
@@ -2548,9 +2555,9 @@ angle::Result ContextVk::updateScissor(const gl::State &glState)
// a render pass, the scissor is disabled and a draw call is issued to affect the whole
// framebuffer.
gl::Rectangle scissoredRenderArea = framebufferVk->getScissoredRenderArea(this);
- if (!mRenderPassCommands.empty())
+ if (!mRenderPassCommands->empty())
{
- if (!mRenderPassCommands.getRenderArea().encloses(scissoredRenderArea))
+ if (!mRenderPassCommands->getRenderArea().encloses(scissoredRenderArea))
{
ANGLE_TRY(endRenderPass());
}
@@ -2823,7 +2830,6 @@ angle::Result ContextVk::syncState(const gl::Context *context,
&mGraphicsPipelineTransition, depthStencilState, drawFramebuffer);
mGraphicsPipelineDesc->updateRenderPassDesc(&mGraphicsPipelineTransition,
mDrawFramebuffer->getRenderPassDesc());
- invalidateCurrentTransformFeedbackBuffers();
break;
}
case gl::State::DIRTY_BIT_RENDERBUFFER_BINDING:
@@ -2832,8 +2838,8 @@ angle::Result ContextVk::syncState(const gl::Context *context,
{
mVertexArray = vk::GetImpl(glState.getVertexArray());
invalidateDefaultAttributes(context->getStateCache().getActiveDefaultAttribsMask());
- mVertexArray->updateActiveAttribInfo(this);
- setIndexBufferDirty();
+ ANGLE_TRY(mVertexArray->updateActiveAttribInfo(this));
+ ANGLE_TRY(onIndexBufferChange(mVertexArray->getCurrentElementArrayBuffer()));
break;
}
case gl::State::DIRTY_BIT_DRAW_INDIRECT_BUFFER_BINDING:
@@ -3185,27 +3191,83 @@ void ContextVk::invalidateCurrentTransformFeedbackBuffers()
{
mGraphicsDirtyBits.set(DIRTY_BIT_TRANSFORM_FEEDBACK_BUFFERS);
}
- if (getFeatures().emulateTransformFeedback.enabled)
+ else if (getFeatures().emulateTransformFeedback.enabled)
{
mGraphicsDirtyBits.set(DIRTY_BIT_DESCRIPTOR_SETS);
}
}
-void ContextVk::invalidateCurrentTransformFeedbackState()
+void ContextVk::onTransformFeedbackStateChanged()
{
- mGraphicsDirtyBits.set(DIRTY_BIT_TRANSFORM_FEEDBACK_STATE);
+ if (getFeatures().supportsTransformFeedbackExtension.enabled)
+ {
+ mGraphicsDirtyBits.set(DIRTY_BIT_TRANSFORM_FEEDBACK_STATE);
+ invalidateCurrentTransformFeedbackBuffers();
+ }
+ else if (getFeatures().emulateTransformFeedback.enabled)
+ {
+ invalidateGraphicsDriverUniforms();
+ }
}
-void ContextVk::onTransformFeedbackStateChanged()
+angle::Result ContextVk::onBeginTransformFeedback(
+ size_t bufferCount,
+ const gl::TransformFeedbackBuffersArray<vk::BufferHelper *> &buffers)
+{
+ onTransformFeedbackStateChanged();
+
+ for (size_t bufferIndex = 0; bufferIndex < bufferCount; ++bufferIndex)
+ {
+ if (mCurrentTransformFeedbackBuffers.count(buffers[bufferIndex]) != 0)
+ {
+ ANGLE_TRY(endRenderPass());
+ break;
+ }
+ }
+
+ populateTransformFeedbackBufferSet(bufferCount, buffers);
+
+ if (getFeatures().supportsTransformFeedbackExtension.enabled)
+ {
+ mGraphicsDirtyBits.set(DIRTY_BIT_TRANSFORM_FEEDBACK_RESUME);
+ }
+
+ return angle::Result::Continue;
+}
+
+void ContextVk::populateTransformFeedbackBufferSet(
+ size_t bufferCount,
+ const gl::TransformFeedbackBuffersArray<vk::BufferHelper *> &buffers)
+{
+ for (size_t bufferIndex = 0; bufferIndex < bufferCount; ++bufferIndex)
+ {
+ mCurrentTransformFeedbackBuffers.insert(buffers[bufferIndex]);
+ }
+}
+
+void ContextVk::onEndTransformFeedback()
{
if (getFeatures().supportsTransformFeedbackExtension.enabled)
{
- invalidateCurrentTransformFeedbackState();
+ mRenderPassCommands->endTransformFeedback();
}
else if (getFeatures().emulateTransformFeedback.enabled)
{
- invalidateGraphicsDriverUniforms();
+ onTransformFeedbackStateChanged();
+ }
+}
+
+angle::Result ContextVk::onPauseTransformFeedback()
+{
+ if (getFeatures().supportsTransformFeedbackExtension.enabled)
+ {
+ return endRenderPass();
}
+ else if (getFeatures().emulateTransformFeedback.enabled)
+ {
+ onTransformFeedbackStateChanged();
+ }
+ return angle::Result::Continue;
}
void ContextVk::invalidateGraphicsDescriptorSet(uint32_t usedDescriptorSet)
@@ -3248,8 +3310,8 @@ angle::Result ContextVk::dispatchComputeIndirect(const gl::Context *context, GLi
gl::Buffer *glBuffer = getState().getTargetBuffer(gl::BufferBinding::DispatchIndirect);
vk::BufferHelper &buffer = vk::GetImpl(glBuffer)->getBuffer();
- mOutsideRenderPassCommands.bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
- vk::PipelineStage::DrawIndirect, &buffer);
+ mOutsideRenderPassCommands->bufferRead(&mResourceUseList, VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
+ vk::PipelineStage::DrawIndirect, &buffer);
commandBuffer->dispatchIndirect(buffer.getBuffer(), indirect);
@@ -3383,17 +3445,50 @@ angle::Result ContextVk::handleDirtyGraphicsDriverUniforms(const gl::Context *co
&newBuffer));
gl::Rectangle glViewport = mState.getViewport();
+ float halfRenderAreaWidth =
+ static_cast<float>(mDrawFramebuffer->getState().getDimensions().width) * 0.5f;
float halfRenderAreaHeight =
static_cast<float>(mDrawFramebuffer->getState().getDimensions().height) * 0.5f;
if (isRotatedAspectRatioForDrawFBO())
{
// The surface is rotated 90/270 degrees. This changes the aspect ratio of the surface.
- // TODO(ianelliott): handle small viewport/scissor cases. http://anglebug.com/4431
+ std::swap(glViewport.x, glViewport.y);
std::swap(glViewport.width, glViewport.height);
- halfRenderAreaHeight =
- static_cast<float>(mDrawFramebuffer->getState().getDimensions().width) * 0.5f;
}
- float scaleY = isViewportFlipEnabledForDrawFBO() ? -1.0f : 1.0f;
+ float flipX = 1.0f;
+ float flipY = -1.0f;
+ // Y-axis flipping only comes into play with the default framebuffer (i.e. a swapchain image).
+ // For 0-degree rotation, an FBO or pbuffer could be the draw framebuffer, and so we must check
+ // whether flipY should be positive or negative. All other rotations, will be to the default
+ // framebuffer, and so the value of isViewportFlipEnabledForDrawFBO() is assumed true; the
+ // appropriate flipY value is chosen such that gl_FragCoord is positioned at the lower-left
+ // corner of the window.
+ switch (mCurrentRotationDrawFramebuffer)
+ {
+ case SurfaceRotation::Identity:
+ flipX = 1.0f;
+ flipY = isViewportFlipEnabledForDrawFBO() ? -1.0f : 1.0f;
+ break;
+ case SurfaceRotation::Rotated90Degrees:
+ ASSERT(isViewportFlipEnabledForDrawFBO());
+ flipX = 1.0f;
+ flipY = 1.0f;
+ std::swap(halfRenderAreaWidth, halfRenderAreaHeight);
+ break;
+ case SurfaceRotation::Rotated180Degrees:
+ ASSERT(isViewportFlipEnabledForDrawFBO());
+ flipX = -1.0f;
+ flipY = 1.0f;
+ break;
+ case SurfaceRotation::Rotated270Degrees:
+ ASSERT(isViewportFlipEnabledForDrawFBO());
+ flipX = -1.0f;
+ flipY = -1.0f;
+ break;
+ default:
+ UNREACHABLE();
+ break;
+ }
uint32_t xfbActiveUnpaused = mState.isTransformFeedbackActiveUnpaused();
@@ -3406,9 +3501,9 @@ angle::Result ContextVk::handleDirtyGraphicsDriverUniforms(const gl::Context *co
*driverUniforms = {
{static_cast<float>(glViewport.x), static_cast<float>(glViewport.y),
static_cast<float>(glViewport.width), static_cast<float>(glViewport.height)},
- halfRenderAreaHeight,
- scaleY,
- -scaleY,
+ {halfRenderAreaWidth, halfRenderAreaHeight},
+ {flipX, flipY},
+ {flipX, -flipY},
mState.getEnabledClipDistances().bits(),
xfbActiveUnpaused,
mXfbVertexCountPerInstance,
@@ -3416,9 +3511,12 @@ angle::Result ContextVk::handleDirtyGraphicsDriverUniforms(const gl::Context *co
{},
{},
{depthRangeNear, depthRangeFar, depthRangeDiff, 0.0f},
+ {},
{}};
memcpy(&driverUniforms->preRotation, &kPreRotationMatrices[mCurrentRotationDrawFramebuffer],
sizeof(PreRotationMatrixValues));
+ memcpy(&driverUniforms->fragRotation, &kFragRotationMatrices[mCurrentRotationDrawFramebuffer],
+ sizeof(PreRotationMatrixValues));
if (xfbActiveUnpaused)
{
@@ -3524,23 +3622,21 @@ angle::Result ContextVk::updateDriverUniformsDescriptorSet(
&driverUniforms->descriptorPoolBinding, &driverUniforms->descriptorSet));
// Update the driver uniform descriptor set.
- VkDescriptorBufferInfo bufferInfo = {};
- bufferInfo.buffer = buffer;
- bufferInfo.offset = 0;
- bufferInfo.range = driverUniformsSize;
-
- VkWriteDescriptorSet writeInfo = {};
- writeInfo.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
- writeInfo.dstSet = driverUniforms->descriptorSet;
- writeInfo.dstBinding = 0;
- writeInfo.dstArrayElement = 0;
- writeInfo.descriptorCount = 1;
- writeInfo.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
- writeInfo.pImageInfo = nullptr;
- writeInfo.pTexelBufferView = nullptr;
- writeInfo.pBufferInfo = &bufferInfo;
-
- vkUpdateDescriptorSets(getDevice(), 1, &writeInfo, 0, nullptr);
+ VkDescriptorBufferInfo &bufferInfo = allocBufferInfo();
+ bufferInfo.buffer = buffer;
+ bufferInfo.offset = 0;
+ bufferInfo.range = driverUniformsSize;
+
+ VkWriteDescriptorSet &writeInfo = allocWriteInfo();
+ writeInfo.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
+ writeInfo.dstSet = driverUniforms->descriptorSet;
+ writeInfo.dstBinding = 0;
+ writeInfo.dstArrayElement = 0;
+ writeInfo.descriptorCount = 1;
+ writeInfo.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
+ writeInfo.pImageInfo = nullptr;
+ writeInfo.pTexelBufferView = nullptr;
+ writeInfo.pBufferInfo = &bufferInfo;
return angle::Result::Continue;
}
@@ -3586,6 +3682,7 @@ angle::Result ContextVk::updateActiveTextures(const gl::Context *context)
gl::Texture *texture = textures[textureUnit];
gl::Sampler *sampler = mState.getSampler(static_cast<uint32_t>(textureUnit));
gl::TextureType textureType = textureTypes[textureUnit];
+ ASSERT(textureType != gl::TextureType::InvalidEnum);
// Null textures represent incomplete textures.
if (texture == nullptr)
@@ -3690,20 +3787,10 @@ angle::Result ContextVk::updateActiveImages(const gl::Context *context,
return angle::Result::Continue;
}
-void ContextVk::insertWaitSemaphore(const vk::Semaphore *waitSemaphore)
-{
- ASSERT(waitSemaphore);
- mWaitSemaphores.push_back(waitSemaphore->getHandle());
-}
-
-bool ContextVk::shouldFlush()
-{
- return getRenderer()->shouldCleanupGarbage();
-}
-
bool ContextVk::hasRecordedCommands()
{
- return !mOutsideRenderPassCommands.empty() || !mRenderPassCommands.empty() ||
+ ASSERT(mOutsideRenderPassCommands && mRenderPassCommands);
+ return !mOutsideRenderPassCommands->empty() || !mRenderPassCommands->empty() ||
mHasPrimaryCommands;
}
@@ -3730,7 +3817,7 @@ angle::Result ContextVk::flushImpl(const vk::Semaphore *signalSemaphore)
memoryBarrier.srcAccessMask = VK_ACCESS_MEMORY_WRITE_BIT;
memoryBarrier.dstAccessMask = VK_ACCESS_HOST_READ_BIT;
- mOutsideRenderPassCommands.getCommandBuffer().memoryBarrier(
+ mOutsideRenderPassCommands->getCommandBuffer().memoryBarrier(
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_HOST_BIT, &memoryBarrier);
mIsAnyHostVisibleBufferWritten = false;
}
@@ -3738,17 +3825,19 @@ angle::Result ContextVk::flushImpl(const vk::Semaphore *signalSemaphore)
if (mGpuEventsEnabled)
{
EventName eventName = GetTraceEventName("Primary", mPrimaryBufferCounter);
- ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands.getCommandBuffer(),
+ ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands->getCommandBuffer(),
TRACE_EVENT_PHASE_END, eventName));
}
ANGLE_TRY(flushOutsideRenderPassCommands());
- ANGLE_VK_TRY(this, mPrimaryCommands.end());
- // Free secondary command pool allocations and restart command buffers with the new page.
- mPoolAllocator.pop();
- mPoolAllocator.push();
- mOutsideRenderPassCommands.reset();
- mRenderPassCommands.reset();
+ if (mRenderer->getFeatures().enableCommandProcessingThread.enabled)
+ {
+ // Worker thread must complete adding any commands that were just flushed above to the
+ // primary command buffer before we can End the primary command buffer below.
+ mRenderer->waitForWorkerThreadIdle();
+ }
+
+ ANGLE_VK_TRY(this, mPrimaryCommands.end());
Serial serial = getCurrentQueueSerial();
mResourceUseList.releaseResourceUsesAndUpdateSerials(serial);
@@ -3756,7 +3845,7 @@ angle::Result ContextVk::flushImpl(const vk::Semaphore *signalSemaphore)
waitForSwapchainImageIfNecessary();
VkSubmitInfo submitInfo = {};
- InitializeSubmitInfo(&submitInfo, mPrimaryCommands, mWaitSemaphores, &mWaitSemaphoreStageMasks,
+ InitializeSubmitInfo(&submitInfo, mPrimaryCommands, mWaitSemaphores, mWaitSemaphoreStageMasks,
signalSemaphore);
ANGLE_TRY(submitFrame(submitInfo, std::move(mPrimaryCommands)));
@@ -3765,13 +3854,14 @@ angle::Result ContextVk::flushImpl(const vk::Semaphore *signalSemaphore)
mRenderPassCounter = 0;
mWaitSemaphores.clear();
+ mWaitSemaphoreStageMasks.clear();
mPrimaryBufferCounter++;
if (mGpuEventsEnabled)
{
EventName eventName = GetTraceEventName("Primary", mPrimaryBufferCounter);
- ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands.getCommandBuffer(),
+ ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands->getCommandBuffer(),
TRACE_EVENT_PHASE_BEGIN, eventName));
}
@@ -3808,9 +3898,10 @@ angle::Result ContextVk::finishImpl()
return angle::Result::Continue;
}
-void ContextVk::addWaitSemaphore(VkSemaphore semaphore)
+void ContextVk::addWaitSemaphore(VkSemaphore semaphore, VkPipelineStageFlags stageMask)
{
mWaitSemaphores.push_back(semaphore);
+ mWaitSemaphoreStageMasks.push_back(stageMask);
}
const vk::CommandPool &ContextVk::getCommandPool() const
@@ -3906,14 +3997,8 @@ angle::Result ContextVk::getTimestamp(uint64_t *timestampOut)
vk::DeviceScoped<vk::PrimaryCommandBuffer> commandBatch(device);
vk::PrimaryCommandBuffer &commandBuffer = commandBatch.get();
- ANGLE_TRY(mCommandQueue.allocatePrimaryCommandBuffer(this, mCommandPool, &commandBuffer));
+ ANGLE_TRY(mRenderer->getCommandBufferOneOff(this, &commandBuffer));
- VkCommandBufferBeginInfo beginInfo = {};
- beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
- beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
- beginInfo.pInheritanceInfo = nullptr;
-
- ANGLE_VK_TRY(this, commandBuffer.begin(beginInfo));
timestampQuery.writeTimestamp(this, &commandBuffer);
ANGLE_VK_TRY(this, commandBuffer.end());
@@ -3937,8 +4022,8 @@ angle::Result ContextVk::getTimestamp(uint64_t *timestampOut)
submitInfo.pSignalSemaphores = nullptr;
Serial throwAwaySerial;
- ANGLE_TRY(
- mRenderer->queueSubmit(this, mContextPriority, submitInfo, &fence.get(), &throwAwaySerial));
+ ANGLE_TRY(mRenderer->queueSubmitOneOff(this, std::move(commandBuffer), mContextPriority,
+ &fence.get(), &throwAwaySerial));
// Wait for the submission to finish. Given no semaphores, there is hope that it would execute
// in parallel with what's already running on the GPU.
@@ -3953,7 +4038,7 @@ angle::Result ContextVk::getTimestamp(uint64_t *timestampOut)
*timestampOut *
static_cast<double>(getRenderer()->getPhysicalDeviceProperties().limits.timestampPeriod));
- return mCommandQueue.releasePrimaryCommandBuffer(this, commandBatch.release());
+ return angle::Result::Continue;
}
void ContextVk::invalidateDefaultAttribute(size_t attribIndex)
@@ -3990,10 +4075,9 @@ angle::Result ContextVk::updateDefaultAttribute(size_t attribIndex)
ASSERT(!defaultBuffer.isCoherent());
ANGLE_TRY(defaultBuffer.flush(this));
- mVertexArray->updateDefaultAttrib(this, attribIndex, bufferHandle,
- defaultBuffer.getCurrentBuffer(),
- static_cast<uint32_t>(offset));
- return angle::Result::Continue;
+ return mVertexArray->updateDefaultAttrib(this, attribIndex, bufferHandle,
+ defaultBuffer.getCurrentBuffer(),
+ static_cast<uint32_t>(offset));
}
void ContextVk::waitForSwapchainImageIfNecessary()
@@ -4003,7 +4087,8 @@ void ContextVk::waitForSwapchainImageIfNecessary()
vk::Semaphore waitSemaphore = mCurrentWindowSurface->getAcquireImageSemaphore();
if (waitSemaphore.valid())
{
- addWaitSemaphore(waitSemaphore.getHandle());
+ addWaitSemaphore(waitSemaphore.getHandle(),
+ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT);
addGarbage(&waitSemaphore);
}
}
@@ -4013,7 +4098,7 @@ vk::DescriptorSetLayoutDesc ContextVk::getDriverUniformsDescriptorSetDesc(
VkShaderStageFlags shaderStages) const
{
vk::DescriptorSetLayoutDesc desc;
- desc.update(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1, shaderStages);
+ desc.update(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1, shaderStages, nullptr);
return desc;
}
@@ -4042,6 +4127,8 @@ angle::Result ContextVk::onBufferRead(VkAccessFlags readAccessType,
vk::PipelineStage readStage,
vk::BufferHelper *buffer)
{
+ ASSERT(!buffer->isReleasedToExternal());
+
ANGLE_TRY(endRenderPass());
if (!buffer->canAccumulateRead(this, readAccessType))
@@ -4049,7 +4136,7 @@ angle::Result ContextVk::onBufferRead(VkAccessFlags readAccessType,
ANGLE_TRY(flushOutsideRenderPassCommands());
}
- mOutsideRenderPassCommands.bufferRead(&mResourceUseList, readAccessType, readStage, buffer);
+ mOutsideRenderPassCommands->bufferRead(&mResourceUseList, readAccessType, readStage, buffer);
return angle::Result::Continue;
}
@@ -4058,6 +4145,8 @@ angle::Result ContextVk::onBufferWrite(VkAccessFlags writeAccessType,
vk::PipelineStage writeStage,
vk::BufferHelper *buffer)
{
+ ASSERT(!buffer->isReleasedToExternal());
+
ANGLE_TRY(endRenderPass());
if (!buffer->canAccumulateWrite(this, writeAccessType))
@@ -4065,7 +4154,7 @@ angle::Result ContextVk::onBufferWrite(VkAccessFlags writeAccessType,
ANGLE_TRY(flushOutsideRenderPassCommands());
}
- mOutsideRenderPassCommands.bufferWrite(&mResourceUseList, writeAccessType, writeStage, buffer);
+ mOutsideRenderPassCommands->bufferWrite(&mResourceUseList, writeAccessType, writeStage, buffer);
return angle::Result::Continue;
}
@@ -4074,6 +4163,8 @@ angle::Result ContextVk::onImageRead(VkImageAspectFlags aspectFlags,
vk::ImageLayout imageLayout,
vk::ImageHelper *image)
{
+ ASSERT(!image->isReleasedToExternal());
+
ANGLE_TRY(endRenderPass());
if (image->isLayoutChangeNecessary(imageLayout))
@@ -4090,6 +4181,8 @@ angle::Result ContextVk::onImageWrite(VkImageAspectFlags aspectFlags,
vk::ImageLayout imageLayout,
vk::ImageHelper *image)
{
+ ASSERT(!image->isReleasedToExternal());
+
ANGLE_TRY(endRenderPass());
// Barriers are always required for image writes.
@@ -4118,17 +4211,8 @@ angle::Result ContextVk::flushAndBeginRenderPass(
vk::CommandBuffer *outsideRenderPassCommandBuffer;
ANGLE_TRY(endRenderPassAndGetCommandBuffer(&outsideRenderPassCommandBuffer));
- gl::Rectangle rotatedRenderArea = renderArea;
- if (isRotatedAspectRatioForDrawFBO())
- {
- // The surface is rotated 90/270 degrees. This changes the aspect ratio of
- // the surface. Swap the width and height of the renderArea.
- // TODO(ianelliott): handle small viewport/scissor cases. http://anglebug.com/4431
- std::swap(rotatedRenderArea.width, rotatedRenderArea.height);
- }
-
- mRenderPassCommands.beginRenderPass(framebuffer, rotatedRenderArea, renderPassDesc,
- renderPassAttachmentOps, clearValues, commandBufferOut);
+ mRenderPassCommands->beginRenderPass(framebuffer, renderArea, renderPassDesc,
+ renderPassAttachmentOps, clearValues, commandBufferOut);
return angle::Result::Continue;
}
@@ -4158,13 +4242,13 @@ angle::Result ContextVk::startRenderPass(gl::Rectangle renderArea,
angle::Result ContextVk::endRenderPass()
{
- if (mRenderPassCommands.empty())
+ if (mRenderPassCommands->empty())
{
onRenderPassFinished();
return angle::Result::Continue;
}
- ASSERT(mOutsideRenderPassCommands.empty());
+ ASSERT(mOutsideRenderPassCommands->empty());
if (mActiveQueryAnySamples)
{
mActiveQueryAnySamples->getQueryHelper()->endOcclusionQuery(this, mRenderPassCommandBuffer);
@@ -4177,6 +4261,22 @@ angle::Result ContextVk::endRenderPass()
ANGLE_TRY(mActiveQueryAnySamplesConservative->stashQueryHelper(this));
}
+ mCurrentTransformFeedbackBuffers.clear();
+ mCurrentIndirectBuffer = nullptr;
+
+ // Reset serials for XFB if active.
+ if (mState.isTransformFeedbackActiveUnpaused())
+ {
+ const gl::ProgramExecutable *executable = mState.getProgramExecutable();
+ ASSERT(executable);
+ size_t xfbBufferCount = executable->getTransformFeedbackBufferCount();
+
+ TransformFeedbackVk *transformFeedbackVk =
+ vk::GetImpl(mState.getCurrentTransformFeedback());
+
+ populateTransformFeedbackBufferSet(xfbBufferCount, transformFeedbackVk->getBufferHelpers());
+ }
+
onRenderPassFinished();
if (mGpuEventsEnabled)
@@ -4184,20 +4284,30 @@ angle::Result ContextVk::endRenderPass()
mRenderPassCounter++;
EventName eventName = GetTraceEventName("RP", mRenderPassCounter);
- ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands.getCommandBuffer(),
+ ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands->getCommandBuffer(),
TRACE_EVENT_PHASE_BEGIN, eventName));
ANGLE_TRY(flushOutsideRenderPassCommands());
}
- mRenderPassCommands.pauseTransformFeedbackIfStarted();
+ mRenderPassCommands->pauseTransformFeedbackIfStarted();
+
+ if (mRenderer->getFeatures().enableCommandProcessingThread.enabled)
+ {
+ vk::CommandProcessorTask task = {this, &mPrimaryCommands, mRenderPassCommands};
+ queueCommandsToWorker(task);
+ getNextAvailableCommandBuffer(&mRenderPassCommands, true);
+ }
+ else
+ {
+ ANGLE_TRY(mRenderPassCommands->flushToPrimary(this, &mPrimaryCommands));
+ }
- ANGLE_TRY(mRenderPassCommands.flushToPrimary(this, &mPrimaryCommands));
mHasPrimaryCommands = true;
if (mGpuEventsEnabled)
{
EventName eventName = GetTraceEventName("RP", mRenderPassCounter);
- ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands.getCommandBuffer(),
+ ANGLE_TRY(traceGpuEvent(&mOutsideRenderPassCommands->getCommandBuffer(),
TRACE_EVENT_PHASE_END, eventName));
ANGLE_TRY(flushOutsideRenderPassCommands());
}
@@ -4209,7 +4319,31 @@ void ContextVk::onRenderPassImageWrite(VkImageAspectFlags aspectFlags,
vk::ImageLayout imageLayout,
vk::ImageHelper *image)
{
- mRenderPassCommands.imageWrite(&mResourceUseList, aspectFlags, imageLayout, image);
+ mRenderPassCommands->imageWrite(&mResourceUseList, aspectFlags, imageLayout, image);
+}
+
+void ContextVk::getNextAvailableCommandBuffer(vk::CommandBufferHelper **commandBuffer,
+ bool hasRenderPass)
+{
+ ANGLE_TRACE_EVENT0("gpu.angle", "ContextVk::getNextAvailableCommandBuffer");
+ std::unique_lock<std::mutex> lock(mCommandBufferQueueMutex);
+ // Only wake if notified and command queue is not empty
+ mAvailableCommandBufferCondition.wait(lock,
+ [this] { return !mAvailableCommandBuffers.empty(); });
+ *commandBuffer = mAvailableCommandBuffers.front();
+ ASSERT((*commandBuffer)->empty());
+ mAvailableCommandBuffers.pop();
+ lock.unlock();
+ (*commandBuffer)->setHasRenderPass(hasRenderPass);
+}
+
+void ContextVk::recycleCommandBuffer(vk::CommandBufferHelper *commandBuffer)
+{
+ ANGLE_TRACE_EVENT0("gpu.angle", "RendererVk::waitForWorkerThreadIdle");
+ std::lock_guard<std::mutex> queueLock(mCommandBufferQueueMutex);
+ ASSERT(commandBuffer->empty());
+ mAvailableCommandBuffers.push(commandBuffer);
+ mAvailableCommandBufferCondition.notify_one();
}
angle::Result ContextVk::syncExternalMemory()
@@ -4292,9 +4426,18 @@ bool ContextVk::shouldConvertUint8VkIndexType(gl::DrawElementsType glIndexType)
angle::Result ContextVk::flushOutsideRenderPassCommands()
{
- if (!mOutsideRenderPassCommands.empty())
+ if (!mOutsideRenderPassCommands->empty())
{
- ANGLE_TRY(mOutsideRenderPassCommands.flushToPrimary(this, &mPrimaryCommands));
+ if (mRenderer->getFeatures().enableCommandProcessingThread.enabled)
+ {
+ vk::CommandProcessorTask task = {this, &mPrimaryCommands, mOutsideRenderPassCommands};
+ queueCommandsToWorker(task);
+ getNextAvailableCommandBuffer(&mOutsideRenderPassCommands, false);
+ }
+ else
+ {
+ ANGLE_TRY(mOutsideRenderPassCommands->flushToPrimary(this, &mPrimaryCommands));
+ }
mHasPrimaryCommands = true;
}
return angle::Result::Continue;
@@ -4304,7 +4447,7 @@ void ContextVk::beginOcclusionQuery(QueryVk *queryVk)
{
// To avoid complexity, we always start and end occlusion query inside renderpass. if renderpass
// not yet started, we just remember it and defer the start call.
- if (mRenderPassCommands.started())
+ if (mRenderPassCommands->started())
{
queryVk->getQueryHelper()->beginOcclusionQuery(this, mRenderPassCommandBuffer);
}
@@ -4326,7 +4469,7 @@ void ContextVk::beginOcclusionQuery(QueryVk *queryVk)
void ContextVk::endOcclusionQuery(QueryVk *queryVk)
{
- if (mRenderPassCommands.started())
+ if (mRenderPassCommands->started())
{
queryVk->getQueryHelper()->endOcclusionQuery(this, mRenderPassCommandBuffer);
}
@@ -4351,4 +4494,74 @@ bool ContextVk::isRobustResourceInitEnabled() const
return mState.isRobustResourceInitEnabled();
}
+VkDescriptorBufferInfo &ContextVk::allocBufferInfos(size_t count)
+{
+ return allocInfos<VkDescriptorBufferInfo, &VkWriteDescriptorSet::pBufferInfo>(&mBufferInfos,
+ count);
+}
+
+VkDescriptorImageInfo &ContextVk::allocImageInfos(size_t count)
+{
+ return allocInfos<VkDescriptorImageInfo, &VkWriteDescriptorSet::pImageInfo>(&mImageInfos,
+ count);
+}
+
+template <typename T, const T *VkWriteDescriptorSet::*pInfo>
+T &ContextVk::allocInfos(std::vector<T> *mInfos, size_t count)
+{
+ size_t oldSize = mInfos->size();
+ size_t newSize = oldSize + count;
+ if (newSize > mInfos->capacity())
+ {
+ // If we have reached capacity, grow the storage and patch the descriptor set with new
+ // buffer info pointer
+ growCapacity<T, pInfo>(mInfos, newSize);
+ }
+ mInfos->resize(newSize);
+ return (*mInfos)[oldSize];
+}
+
+template <typename T, const T *VkWriteDescriptorSet::*pInfo>
+void ContextVk::growCapacity(std::vector<T> *mInfos, size_t newSize)
+{
+ const T *const oldInfoStart = mInfos->empty() ? nullptr : &(*mInfos)[0];
+ size_t newCapacity = std::max(mInfos->capacity() << 1, newSize);
+ mInfos->reserve(newCapacity);
+
+ if (oldInfoStart)
+ {
+ // patch mWriteInfo with new BufferInfo/ImageInfo pointers
+ for (VkWriteDescriptorSet &set : mWriteInfos)
+ {
+ if (set.*pInfo)
+ {
+ size_t index = set.*pInfo - oldInfoStart;
+ set.*pInfo = &(*mInfos)[index];
+ }
+ }
+ }
+}
+
+// ScopedDescriptorSetUpdates
+ANGLE_INLINE ContextVk::ScopedDescriptorSetUpdates::ScopedDescriptorSetUpdates(ContextVk *contextVk)
+ : mContextVk(contextVk)
+{}
+
+ANGLE_INLINE ContextVk::ScopedDescriptorSetUpdates::~ScopedDescriptorSetUpdates()
+{
+ if (mContextVk->mWriteInfos.empty())
+ {
+ ASSERT(mContextVk->mBufferInfos.empty());
+ ASSERT(mContextVk->mImageInfos.empty());
+ return;
+ }
+
+ vkUpdateDescriptorSets(mContextVk->getDevice(),
+ static_cast<uint32_t>(mContextVk->mWriteInfos.size()),
+ mContextVk->mWriteInfos.data(), 0, nullptr);
+ mContextVk->mWriteInfos.clear();
+ mContextVk->mBufferInfos.clear();
+ mContextVk->mImageInfos.clear();
+}
+
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.h
index 90b7ef1f2cf..84003f12247 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.h
@@ -10,13 +10,15 @@
#ifndef LIBANGLE_RENDERER_VULKAN_CONTEXTVK_H_
#define LIBANGLE_RENDERER_VULKAN_CONTEXTVK_H_
+#include <condition_variable>
+
#include "common/PackedEnums.h"
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/renderer/ContextImpl.h"
#include "libANGLE/renderer/renderer_utils.h"
#include "libANGLE/renderer/vulkan/OverlayVk.h"
#include "libANGLE/renderer/vulkan/PersistentCommandPool.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/vk_helpers.h"
namespace angle
@@ -296,30 +298,19 @@ class ContextVk : public ContextImpl, public vk::Context
ANGLE_INLINE void invalidateVertexAndIndexBuffers()
{
- // TODO: Make the pipeline invalidate more fine-grained. Only need to dirty here if PSO
- // VtxInput state (stride, fmt, inputRate...) has changed. http://anglebug.com/3256
invalidateCurrentGraphicsPipeline();
mGraphicsDirtyBits.set(DIRTY_BIT_VERTEX_BUFFERS);
mGraphicsDirtyBits.set(DIRTY_BIT_INDEX_BUFFER);
}
- ANGLE_INLINE void invalidateVertexBuffers()
- {
- mGraphicsDirtyBits.set(DIRTY_BIT_VERTEX_BUFFERS);
- }
+ angle::Result onVertexBufferChange(const vk::BufferHelper *vertexBuffer);
- ANGLE_INLINE void onVertexAttributeChange(size_t attribIndex,
- GLuint stride,
- GLuint divisor,
- angle::FormatID format,
- GLuint relativeOffset)
- {
- invalidateVertexAndIndexBuffers();
- // Set divisor to 1 for attribs with emulated divisor
- mGraphicsPipelineDesc->updateVertexInput(
- &mGraphicsPipelineTransition, static_cast<uint32_t>(attribIndex), stride,
- divisor > mRenderer->getMaxVertexAttribDivisor() ? 1 : divisor, format, relativeOffset);
- }
+ angle::Result onVertexAttributeChange(size_t attribIndex,
+ GLuint stride,
+ GLuint divisor,
+ angle::FormatID format,
+ GLuint relativeOffset,
+ const vk::BufferHelper *vertexBuffer);
void invalidateDefaultAttribute(size_t attribIndex);
void invalidateDefaultAttributes(const gl::AttributesMask &dirtyMask);
@@ -327,8 +318,12 @@ class ContextVk : public ContextImpl, public vk::Context
void onHostVisibleBufferWrite() { mIsAnyHostVisibleBufferWritten = true; }
void invalidateCurrentTransformFeedbackBuffers();
- void invalidateCurrentTransformFeedbackState();
void onTransformFeedbackStateChanged();
+ angle::Result onBeginTransformFeedback(
+ size_t bufferCount,
+ const gl::TransformFeedbackBuffersArray<vk::BufferHelper *> &buffers);
+ void onEndTransformFeedback();
+ angle::Result onPauseTransformFeedback();
// When UtilsVk issues draw or dispatch calls, it binds descriptor sets that the context is not
// aware of. This function is called to make sure affected descriptor set bindings are dirtied
@@ -359,19 +354,12 @@ class ContextVk : public ContextImpl, public vk::Context
}
const gl::ActiveTextureArray<TextureVk *> &getActiveImages() const { return mActiveImages; }
- void setIndexBufferDirty()
- {
- mGraphicsDirtyBits.set(DIRTY_BIT_INDEX_BUFFER);
- mLastIndexBufferOffset = reinterpret_cast<const void *>(angle::DirtyPointer);
- }
+ angle::Result onIndexBufferChange(const vk::BufferHelper *currentIndexBuffer);
- void insertWaitSemaphore(const vk::Semaphore *waitSemaphore);
-
- bool shouldFlush();
angle::Result flushImpl(const vk::Semaphore *semaphore);
angle::Result finishImpl();
- void addWaitSemaphore(VkSemaphore semaphore);
+ void addWaitSemaphore(VkSemaphore semaphore, VkPipelineStageFlags stageMask);
const vk::CommandPool &getCommandPool() const;
@@ -434,7 +422,10 @@ class ContextVk : public ContextImpl, public vk::Context
// avoid calling vkAllocateDesctiporSets each texture update.
Serial generateTextureSerial() { return mTextureSerialFactory.generate(); }
const vk::TextureDescriptorDesc &getActiveTexturesDesc() const { return mActiveTexturesDesc; }
- Serial generateAttachmentImageSerial() { return mAttachmentImageSerialFactory.generate(); }
+ Serial generateAttachmentImageViewSerial()
+ {
+ return mAttachmentImageViewSerialFactory.generate();
+ }
angle::Result updateScissor(const gl::State &glState);
@@ -478,9 +469,9 @@ class ContextVk : public ContextImpl, public vk::Context
angle::Result endRenderPassAndGetCommandBuffer(vk::CommandBuffer **commandBufferOut)
{
// Only one command buffer should be active at a time
- ASSERT(mOutsideRenderPassCommands.empty() || mRenderPassCommands.empty());
+ ASSERT(mOutsideRenderPassCommands->empty() || mRenderPassCommands->empty());
ANGLE_TRY(endRenderPass());
- *commandBufferOut = &mOutsideRenderPassCommands.getCommandBuffer();
+ *commandBufferOut = &mOutsideRenderPassCommands->getCommandBuffer();
return angle::Result::Continue;
}
@@ -491,12 +482,12 @@ class ContextVk : public ContextImpl, public vk::Context
const vk::ClearValuesArray &clearValues,
vk::CommandBuffer **commandBufferOut);
- bool hasStartedRenderPass() const { return !mRenderPassCommands.empty(); }
+ bool hasStartedRenderPass() const { return !mRenderPassCommands->empty(); }
vk::CommandBufferHelper &getStartedRenderPassCommands()
{
ASSERT(hasStartedRenderPass());
- return mRenderPassCommands;
+ return *mRenderPassCommands;
}
egl::ContextPriority getContextPriority() const override { return mContextPriority; }
@@ -525,6 +516,30 @@ class ContextVk : public ContextImpl, public vk::Context
void beginOcclusionQuery(QueryVk *queryVk);
void endOcclusionQuery(QueryVk *queryVk);
+ void updateOverlayOnPresent();
+
+ // Submit commands to worker thread for processing
+ ANGLE_INLINE void queueCommandsToWorker(const vk::CommandProcessorTask &commands)
+ {
+ mRenderer->queueCommands(commands);
+ }
+ // When worker thread completes, it releases command buffers back to context queue
+ void recycleCommandBuffer(vk::CommandBufferHelper *commandBuffer);
+
+ // DescriptorSet writes
+ VkDescriptorBufferInfo &allocBufferInfo() { return allocBufferInfos(1); }
+ VkDescriptorBufferInfo &allocBufferInfos(size_t count);
+ VkDescriptorImageInfo &allocImageInfo() { return allocImageInfos(1); }
+ VkDescriptorImageInfo &allocImageInfos(size_t count);
+ VkWriteDescriptorSet &allocWriteInfo() { return allocWriteInfos(1); }
+ VkWriteDescriptorSet &allocWriteInfos(size_t count)
+ {
+ size_t oldSize = mWriteInfos.size();
+ size_t newSize = oldSize + count;
+ mWriteInfos.resize(newSize);
+ return mWriteInfos[oldSize];
+ }
+
private:
// Dirty bits.
enum DirtyBitType : size_t
@@ -615,6 +630,7 @@ class ContextVk : public ContextImpl, public vk::Context
const void *indices,
DirtyBits dirtyBitMask,
vk::CommandBuffer **commandBufferOut);
+
angle::Result setupIndexedDraw(const gl::Context *context,
gl::PrimitiveMode mode,
GLsizei indexCount,
@@ -661,6 +677,7 @@ class ContextVk : public ContextImpl, public vk::Context
uint32_t *numIndicesOut);
angle::Result setupDispatch(const gl::Context *context, vk::CommandBuffer **commandBufferOut);
+ gl::Rectangle getCorrectedViewport(const gl::Rectangle &viewport) const;
void updateViewport(FramebufferVk *framebufferVk,
const gl::Rectangle &viewport,
float nearPlane,
@@ -789,6 +806,21 @@ class ContextVk : public ContextImpl, public vk::Context
void initIndexTypeMap();
+ // Pull an available CBH ptr from the CBH queue and set to specified hasRenderPass state
+ void getNextAvailableCommandBuffer(vk::CommandBufferHelper **commandBuffer, bool hasRenderPass);
+
+ angle::Result endRenderPassIfTransformFeedbackBuffer(const vk::BufferHelper *buffer);
+
+ void populateTransformFeedbackBufferSet(
+ size_t bufferCount,
+ const gl::TransformFeedbackBuffersArray<vk::BufferHelper *> &buffers);
+
+ // DescriptorSet writes
+ template <typename T, const T *VkWriteDescriptorSet::*pInfo>
+ T &allocInfos(std::vector<T> *mInfos, size_t count);
+ template <typename T, const T *VkWriteDescriptorSet::*pInfo>
+ void growCapacity(std::vector<T> *mInfos, size_t newSize);
+
std::array<DirtyBitHandler, DIRTY_BIT_MAX> mGraphicsDirtyBitHandlers;
std::array<DirtyBitHandler, DIRTY_BIT_MAX> mComputeDirtyBitHandlers;
@@ -836,9 +868,6 @@ class ContextVk : public ContextImpl, public vk::Context
QueryVk *mActiveQueryAnySamples;
QueryVk *mActiveQueryAnySamplesConservative;
- // Graph resource used to record dispatch commands and hold resource dependencies.
- vk::DispatchHelper mDispatcher;
-
// The offset we had the last time we bound the index buffer.
const GLvoid *mLastIndexBufferOffset;
gl::DrawElementsType mCurrentDrawElementsType;
@@ -905,16 +934,28 @@ class ContextVk : public ContextImpl, public vk::Context
// http://anglebug.com/2701
vk::Shared<vk::Fence> mSubmitFence;
- // Pool allocator used for command graph but may be expanded to other allocations
- angle::PoolAllocator mPoolAllocator;
-
// When the command graph is disabled we record commands completely linearly. We have plans to
- // reorder independent draws so that we can create fewer RenderPasses in some scenarios.
- vk::CommandBufferHelper mOutsideRenderPassCommands;
- vk::CommandBufferHelper mRenderPassCommands;
+ // reorder independent draws so that we can create fewer RenderPasses in some scenarios.
+ // We have a queue of CommandBufferHelpers (CBHs) that is drawn from for the two active command
+ // buffers in the main thread. The two active command buffers are the inside and outside
+ // RenderPass command buffers.
+ constexpr static size_t kNumCommandBuffers = 2;
+ std::array<vk::CommandBufferHelper, kNumCommandBuffers> mCommandBuffers;
+
+ // Lock access to the command buffer queue
+ std::mutex mCommandBufferQueueMutex;
+ std::queue<vk::CommandBufferHelper *> mAvailableCommandBuffers;
+ std::condition_variable mAvailableCommandBufferCondition;
+
+ vk::CommandBufferHelper *mOutsideRenderPassCommands;
+ vk::CommandBufferHelper *mRenderPassCommands;
vk::PrimaryCommandBuffer mPrimaryCommands;
+ // Function recycleCommandBuffer() is public above
bool mHasPrimaryCommands;
+ // Transform feedback buffers.
+ std::unordered_set<const vk::BufferHelper *> mCurrentTransformFeedbackBuffers;
+
// Internal shader library.
vk::ShaderLibrary mShaderLibrary;
UtilsVk mUtils;
@@ -945,7 +986,7 @@ class ContextVk : public ContextImpl, public vk::Context
// Generators for texture & framebuffer serials.
SerialFactory mTextureSerialFactory;
- SerialFactory mAttachmentImageSerialFactory;
+ SerialFactory mAttachmentImageViewSerialFactory;
gl::State::DirtyBits mPipelineDirtyBitsMask;
@@ -954,8 +995,64 @@ class ContextVk : public ContextImpl, public vk::Context
egl::ContextPriority mContextPriority;
+ const vk::BufferHelper *mCurrentIndirectBuffer;
+
+ // Storage for vkUpdateDescriptorSets
+ std::vector<VkDescriptorBufferInfo> mBufferInfos;
+ std::vector<VkDescriptorImageInfo> mImageInfos;
+ std::vector<VkWriteDescriptorSet> mWriteInfos;
+ class ScopedDescriptorSetUpdates final : angle::NonCopyable
+ {
+ public:
+ ScopedDescriptorSetUpdates(ContextVk *contextVk);
+ ~ScopedDescriptorSetUpdates();
+
+ private:
+ ContextVk *mContextVk;
+ };
+
std::vector<std::string> mCommandBufferDiagnostics;
};
+
+ANGLE_INLINE angle::Result ContextVk::endRenderPassIfTransformFeedbackBuffer(
+ const vk::BufferHelper *buffer)
+{
+ if (!buffer || mCurrentTransformFeedbackBuffers.count(buffer) == 0)
+ {
+ return angle::Result::Continue;
+ }
+
+ return endRenderPass();
+}
+
+ANGLE_INLINE angle::Result ContextVk::onIndexBufferChange(
+ const vk::BufferHelper *currentIndexBuffer)
+{
+ mGraphicsDirtyBits.set(DIRTY_BIT_INDEX_BUFFER);
+ mLastIndexBufferOffset = reinterpret_cast<const void *>(angle::DirtyPointer);
+ return endRenderPassIfTransformFeedbackBuffer(currentIndexBuffer);
+}
+
+ANGLE_INLINE angle::Result ContextVk::onVertexBufferChange(const vk::BufferHelper *vertexBuffer)
+{
+ mGraphicsDirtyBits.set(DIRTY_BIT_VERTEX_BUFFERS);
+ return endRenderPassIfTransformFeedbackBuffer(vertexBuffer);
+}
+
+ANGLE_INLINE angle::Result ContextVk::onVertexAttributeChange(size_t attribIndex,
+ GLuint stride,
+ GLuint divisor,
+ angle::FormatID format,
+ GLuint relativeOffset,
+ const vk::BufferHelper *vertexBuffer)
+{
+ invalidateCurrentGraphicsPipeline();
+ // Set divisor to 1 for attribs with emulated divisor
+ mGraphicsPipelineDesc->updateVertexInput(
+ &mGraphicsPipelineTransition, static_cast<uint32_t>(attribIndex), stride,
+ divisor > mRenderer->getMaxVertexAttribDivisor() ? 1 : divisor, format, relativeOffset);
+ return onVertexBufferChange(vertexBuffer);
+}
} // namespace rx
#endif // LIBANGLE_RENDERER_VULKAN_CONTEXTVK_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.cpp
index c3f8210bbe6..35860feaed9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.cpp
@@ -153,11 +153,16 @@ ImageImpl *DisplayVk::createImage(const egl::ImageState &state,
return new ImageVk(state, context);
}
-rx::ContextImpl *DisplayVk::createContext(const gl::State &state,
- gl::ErrorSet *errorSet,
- const egl::Config *configuration,
- const gl::Context *shareContext,
- const egl::AttributeMap &attribs)
+ShareGroupImpl *DisplayVk::createShareGroup()
+{
+ return new ShareGroupVk();
+}
+
+ContextImpl *DisplayVk::createContext(const gl::State &state,
+ gl::ErrorSet *errorSet,
+ const egl::Config *configuration,
+ const gl::Context *shareContext,
+ const egl::AttributeMap &attribs)
{
return new ContextVk(state, errorSet, mRenderer);
}
@@ -228,7 +233,7 @@ void DisplayVk::generateExtensions(egl::DisplayExtensions *outExtensions) const
#if defined(ANGLE_PLATFORM_GGP)
outExtensions->ggpStreamDescriptor = true;
- outExtensions->swapWithFrameToken = true;
+ outExtensions->swapWithFrameToken = getRenderer()->getFeatures().supportsGGPFrameToken.enabled;
#endif // defined(ANGLE_PLATFORM_GGP)
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.h
index 2ce1fb0dea2..2950e29d61d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.h
@@ -18,6 +18,11 @@ namespace rx
{
class RendererVk;
+class ShareGroupVk : public ShareGroupImpl
+{
+ private:
+};
+
class DisplayVk : public DisplayImpl, public vk::Context
{
public:
@@ -97,6 +102,8 @@ class DisplayVk : public DisplayImpl, public vk::Context
bool isRobustResourceInitEnabled() const override;
+ ShareGroupImpl *createShareGroup() override;
+
protected:
void generateExtensions(egl::DisplayExtensions *outExtensions) const override;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index f1af364d9b6..97be5c23e08 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -12,6 +12,7 @@
#include <array>
#include "common/debug.h"
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/Context.h"
#include "libANGLE/Display.h"
#include "libANGLE/formatutils.h"
@@ -23,7 +24,6 @@
#include "libANGLE/renderer/vulkan/ResourceVk.h"
#include "libANGLE/renderer/vulkan/SurfaceVk.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "libANGLE/trace.h"
namespace rx
@@ -88,6 +88,82 @@ bool AreSrcAndDstDepthStencilChannelsBlitCompatible(RenderTargetVk *srcRenderTar
return (dstFormat.depthBits > 0 || srcFormat.depthBits == 0) &&
(dstFormat.stencilBits > 0 || srcFormat.stencilBits == 0);
}
+
+void EarlyAdjustFlipYForPreRotation(SurfaceRotation blitAngleIn,
+ SurfaceRotation *blitAngleOut,
+ bool *blitFlipYOut)
+{
+ switch (blitAngleIn)
+ {
+ case SurfaceRotation::Identity:
+ // No adjustments needed
+ break;
+ case SurfaceRotation::Rotated90Degrees:
+ *blitAngleOut = SurfaceRotation::Rotated90Degrees;
+ *blitFlipYOut = false;
+ break;
+ case SurfaceRotation::Rotated180Degrees:
+ *blitAngleOut = SurfaceRotation::Rotated180Degrees;
+ break;
+ case SurfaceRotation::Rotated270Degrees:
+ *blitAngleOut = SurfaceRotation::Rotated270Degrees;
+ *blitFlipYOut = false;
+ break;
+ default:
+ UNREACHABLE();
+ break;
+ }
+}
+void AdjustBlitAreaForPreRotation(SurfaceRotation framebufferAngle,
+ const gl::Rectangle &blitAreaIn,
+ gl::Rectangle framebufferDimensions,
+ gl::Rectangle *blitAreaOut)
+{
+ switch (framebufferAngle)
+ {
+ case SurfaceRotation::Identity:
+ // No adjustments needed
+ break;
+ case SurfaceRotation::Rotated90Degrees:
+ blitAreaOut->x = blitAreaIn.y;
+ blitAreaOut->y = blitAreaIn.x;
+ std::swap(blitAreaOut->width, blitAreaOut->height);
+ break;
+ case SurfaceRotation::Rotated180Degrees:
+ blitAreaOut->x = framebufferDimensions.width - blitAreaIn.x - blitAreaIn.width;
+ blitAreaOut->y = framebufferDimensions.height - blitAreaIn.y - blitAreaIn.height;
+ break;
+ case SurfaceRotation::Rotated270Degrees:
+ blitAreaOut->x = framebufferDimensions.height - blitAreaIn.y - blitAreaIn.height;
+ blitAreaOut->y = framebufferDimensions.width - blitAreaIn.x - blitAreaIn.width;
+ std::swap(blitAreaOut->width, blitAreaOut->height);
+ break;
+ default:
+ UNREACHABLE();
+ break;
+ }
+}
+void AdjustFramebufferDimensionsForPreRotation(SurfaceRotation framebufferAngle,
+ gl::Rectangle *framebufferDimensions)
+{
+ switch (framebufferAngle)
+ {
+ case SurfaceRotation::Identity:
+ // No adjustments needed
+ break;
+ case SurfaceRotation::Rotated90Degrees:
+ std::swap(framebufferDimensions->width, framebufferDimensions->height);
+ break;
+ case SurfaceRotation::Rotated180Degrees:
+ break;
+ case SurfaceRotation::Rotated270Degrees:
+ std::swap(framebufferDimensions->width, framebufferDimensions->height);
+ break;
+ default:
+ UNREACHABLE();
+ break;
+ }
+}
} // anonymous namespace
// static
@@ -164,6 +240,7 @@ angle::Result FramebufferVk::invalidateSub(const gl::Context *context,
angle::Result FramebufferVk::clear(const gl::Context *context, GLbitfield mask)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "FramebufferVk::clear");
ContextVk *contextVk = vk::GetImpl(context);
bool clearColor = IsMaskFlagSet(mask, static_cast<GLbitfield>(GL_COLOR_BUFFER_BIT));
@@ -645,9 +722,9 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
const bool isResolve =
srcFramebuffer->getCachedSamples(context, gl::AttachmentSampleType::Resource) > 1;
- FramebufferVk *srcFramebufferVk = vk::GetImpl(srcFramebuffer);
- const bool srcFramebufferFlippedY = contextVk->isViewportFlipEnabledForReadFBO();
- const bool destFramebufferFlippedY = contextVk->isViewportFlipEnabledForDrawFBO();
+ FramebufferVk *srcFramebufferVk = vk::GetImpl(srcFramebuffer);
+ bool srcFramebufferFlippedY = contextVk->isViewportFlipEnabledForReadFBO();
+ bool destFramebufferFlippedY = contextVk->isViewportFlipEnabledForDrawFBO();
gl::Rectangle sourceArea = sourceAreaIn;
gl::Rectangle destArea = destAreaIn;
@@ -658,8 +735,8 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
(sourceArea.x == destArea.x && sourceArea.y == destArea.y &&
sourceArea.width == destArea.width && sourceArea.height == destArea.height));
- const gl::Rectangle srcFramebufferDimensions =
- srcFramebufferVk->mState.getDimensions().toRect();
+ gl::Rectangle srcFramebufferDimensions = srcFramebufferVk->mState.getDimensions().toRect();
+ gl::Rectangle destFramebufferDimensions = mState.getDimensions().toRect();
// If the destination is flipped in either direction, we will flip the source instead so that
// the destination area is always unflipped.
@@ -672,6 +749,21 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
std::abs(sourceArea.height / static_cast<float>(destArea.height)),
};
+ // Potentially make adjustments for pre-rotatation. To handle various cases (e.g. clipping)
+ // and to not interrupt the normal flow of the code, different adjustments are made in
+ // different parts of the code. These first adjustments are for whether or not to flip the
+ // y-axis, and to note the overall rotation (regardless of whether it is the source or
+ // destination that is rotated).
+ SurfaceRotation srcFramebufferRotation = contextVk->getRotationReadFramebuffer();
+ SurfaceRotation destFramebufferRotation = contextVk->getRotationDrawFramebuffer();
+ SurfaceRotation rotation = SurfaceRotation::Identity;
+ // Both the source and destination cannot be rotated (which would indicate both are the default
+ // framebuffer (i.e. swapchain image).
+ ASSERT((srcFramebufferRotation == SurfaceRotation::Identity) ||
+ (destFramebufferRotation == SurfaceRotation::Identity));
+ EarlyAdjustFlipYForPreRotation(srcFramebufferRotation, &rotation, &srcFramebufferFlippedY);
+ EarlyAdjustFlipYForPreRotation(destFramebufferRotation, &rotation, &destFramebufferFlippedY);
+
// First, clip the source area to framebuffer. That requires transforming the dest area to
// match the clipped source.
gl::Rectangle absSourceArea = sourceArea.removeReversal();
@@ -691,8 +783,10 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
}
else if (clippedSourceArea == absSourceArea)
{
- // If there was no clipping, keep dest area as is.
+ // If there was no clipping, keep dest area as is (except rotate it, if appropriate).
srcClippedDestArea = destArea;
+ AdjustBlitAreaForPreRotation(destFramebufferRotation, destArea, destFramebufferDimensions,
+ &srcClippedDestArea);
}
else
{
@@ -722,6 +816,14 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
srcClippedDestArea.width = x1 - srcClippedDestArea.x;
srcClippedDestArea.height = y1 - srcClippedDestArea.y;
+
+ // Rotate srcClippedDestArea if the destination is rotated
+ if (destFramebufferRotation != SurfaceRotation::Identity)
+ {
+ gl::Rectangle originalSrcClippedDestArea = srcClippedDestArea;
+ AdjustBlitAreaForPreRotation(destFramebufferRotation, originalSrcClippedDestArea,
+ destFramebufferDimensions, &srcClippedDestArea);
+ }
}
// If framebuffers are flipped in Y, flip the source and dest area (which define the
@@ -734,11 +836,11 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
}
if (destFramebufferFlippedY)
{
- destArea.y = mState.getDimensions().height - destArea.y;
+ destArea.y = destFramebufferDimensions.height - destArea.y;
destArea.height = -destArea.height;
srcClippedDestArea.y =
- mState.getDimensions().height - srcClippedDestArea.y - srcClippedDestArea.height;
+ destFramebufferDimensions.height - srcClippedDestArea.y - srcClippedDestArea.height;
}
const bool flipX = sourceArea.isReversedX() != destArea.isReversedX();
@@ -754,6 +856,26 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
sourceArea = sourceArea.flip(false, destArea.isReversedY());
destArea = destArea.removeReversal();
+ // Now that clipping and flipping is done, rotate certain values that will be used for
+ // UtilsVk::BlitResolveParameters
+ gl::Rectangle sourceAreaOld = sourceArea;
+ gl::Rectangle destAreaOld = destArea;
+ if (srcFramebufferRotation == rotation)
+ {
+ AdjustBlitAreaForPreRotation(srcFramebufferRotation, sourceAreaOld,
+ srcFramebufferDimensions, &sourceArea);
+ AdjustFramebufferDimensionsForPreRotation(srcFramebufferRotation,
+ &srcFramebufferDimensions);
+ }
+ SurfaceRotation rememberDestFramebufferRotation = destFramebufferRotation;
+ if (srcFramebufferRotation == SurfaceRotation::Rotated90Degrees)
+ {
+ destFramebufferRotation = rotation;
+ }
+ AdjustBlitAreaForPreRotation(destFramebufferRotation, destAreaOld, destFramebufferDimensions,
+ &destArea);
+ destFramebufferRotation = rememberDestFramebufferRotation;
+
// Clip the destination area to the framebuffer size and scissor. Note that we don't care
// about the source area anymore. The offset translation is done based on the original source
// and destination rectangles. The stretch factor is already calculated as well.
@@ -769,18 +891,60 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
contextVk->getRenderer()->getFeatures().disableFlippingBlitWithCommand.enabled;
UtilsVk::BlitResolveParameters params;
- params.srcOffset[0] = sourceArea.x;
- params.srcOffset[1] = sourceArea.y;
- params.destOffset[0] = destArea.x;
- params.destOffset[1] = destArea.y;
- params.stretch[0] = stretch[0];
- params.stretch[1] = stretch[1];
- params.srcExtents[0] = srcFramebufferDimensions.width;
- params.srcExtents[1] = srcFramebufferDimensions.height;
- params.blitArea = blitArea;
- params.linear = filter == GL_LINEAR;
- params.flipX = flipX;
- params.flipY = flipY;
+ params.srcOffset[0] = sourceArea.x;
+ params.srcOffset[1] = sourceArea.y;
+ params.destOffset[0] = destArea.x;
+ params.destOffset[1] = destArea.y;
+ params.rotatedOffsetFactor[0] = std::abs(sourceArea.width);
+ params.rotatedOffsetFactor[1] = std::abs(sourceArea.height);
+ params.stretch[0] = stretch[0];
+ params.stretch[1] = stretch[1];
+ params.srcExtents[0] = srcFramebufferDimensions.width;
+ params.srcExtents[1] = srcFramebufferDimensions.height;
+ params.blitArea = blitArea;
+ params.linear = filter == GL_LINEAR;
+ params.flipX = flipX;
+ params.flipY = flipY;
+ params.rotation = rotation;
+
+ // Potentially make adjustments for pre-rotatation. Depending on the angle some of the params
+ // need to be swapped and/or changes made to which axis are flipped.
+ switch (rotation)
+ {
+ case SurfaceRotation::Identity:
+ break;
+ case SurfaceRotation::Rotated90Degrees:
+ std::swap(params.stretch[0], params.stretch[1]);
+ std::swap(params.srcOffset[0], params.srcOffset[1]);
+ std::swap(params.rotatedOffsetFactor[0], params.rotatedOffsetFactor[1]);
+ if (srcFramebufferRotation == rotation)
+ {
+ std::swap(params.destOffset[0], params.destOffset[1]);
+ std::swap(params.stretch[0], params.stretch[1]);
+ std::swap(params.flipX, params.flipY);
+ }
+ break;
+ case SurfaceRotation::Rotated180Degrees:
+ ASSERT(!params.flipX && params.flipY);
+ params.flipX = true;
+ params.flipY = false;
+ break;
+ case SurfaceRotation::Rotated270Degrees:
+ std::swap(params.stretch[0], params.stretch[1]);
+ std::swap(params.srcOffset[0], params.srcOffset[1]);
+ std::swap(params.rotatedOffsetFactor[0], params.rotatedOffsetFactor[1]);
+ if (srcFramebufferRotation == rotation)
+ {
+ std::swap(params.stretch[0], params.stretch[1]);
+ }
+ ASSERT(!params.flipX && !params.flipY);
+ params.flipX = true;
+ params.flipY = true;
+ break;
+ default:
+ UNREACHABLE();
+ break;
+ }
if (blitColorBuffer)
{
@@ -795,10 +959,13 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
// be hard to guarantee the image stretching remains perfect. That also allows us not to
// have to transform back the dest clipping to source.
//
+ // Non-identity pre-rotation cases do not use Vulkan's builtin blit.
+ //
// For simplicity, we either blit all render targets with a Vulkan command, or none.
bool canBlitWithCommand = !isResolve && noClip &&
(noFlip || !disableFlippingBlitWithCommand) &&
- HasSrcBlitFeature(renderer, readRenderTarget);
+ HasSrcBlitFeature(renderer, readRenderTarget) &&
+ (rotation == SurfaceRotation::Identity);
bool areChannelsBlitCompatible = true;
for (size_t colorIndexGL : mState.getEnabledDrawBuffers())
{
@@ -820,8 +987,9 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
flipY));
}
}
- // If we're not flipping, use Vulkan's builtin resolve.
- else if (isResolve && !flipX && !flipY && areChannelsBlitCompatible)
+ // If we're not flipping or rotating, use Vulkan's builtin resolve.
+ else if (isResolve && !flipX && !flipY && areChannelsBlitCompatible &&
+ (rotation == SurfaceRotation::Identity))
{
ANGLE_TRY(resolveColorWithCommand(contextVk, params, &readRenderTarget->getImage()));
}
@@ -845,11 +1013,12 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
// Multisampled images are not allowed to have mips.
ASSERT(!isResolve || readRenderTarget->getLevelIndex() == 0);
- // Similarly, only blit if there's been no clipping.
+ // Similarly, only blit if there's been no clipping or rotating.
bool canBlitWithCommand = !isResolve && noClip &&
(noFlip || !disableFlippingBlitWithCommand) &&
HasSrcBlitFeature(renderer, readRenderTarget) &&
- HasDstBlitFeature(renderer, drawRenderTarget);
+ HasDstBlitFeature(renderer, drawRenderTarget) &&
+ (rotation == SurfaceRotation::Identity);
bool areChannelsBlitCompatible =
AreSrcAndDstDepthStencilChannelsBlitCompatible(readRenderTarget, drawRenderTarget);
@@ -1093,11 +1262,12 @@ angle::Result FramebufferVk::updateColorAttachment(const gl::Context *context,
if (renderTarget && mState.getEnabledDrawBuffers()[colorIndexGL])
{
- mCurrentFramebufferDesc.update(colorIndexGL, renderTarget->getAssignSerial(contextVk));
+ mCurrentFramebufferDesc.update(colorIndexGL,
+ renderTarget->getAssignImageViewSerial(contextVk));
}
else
{
- mCurrentFramebufferDesc.update(colorIndexGL, vk::kZeroAttachmentSerial);
+ mCurrentFramebufferDesc.update(colorIndexGL, kZeroSerial);
}
return angle::Result::Continue;
@@ -1135,12 +1305,11 @@ void FramebufferVk::updateDepthStencilAttachmentSerial(ContextVk *contextVk)
if (depthStencilRT != nullptr)
{
mCurrentFramebufferDesc.update(vk::kFramebufferDescDepthStencilIndex,
- depthStencilRT->getAssignSerial(contextVk));
+ depthStencilRT->getAssignImageViewSerial(contextVk));
}
else
{
- mCurrentFramebufferDesc.update(vk::kFramebufferDescDepthStencilIndex,
- vk::kZeroAttachmentSerial);
+ mCurrentFramebufferDesc.update(vk::kFramebufferDescDepthStencilIndex, kZeroSerial);
}
}
@@ -1180,7 +1349,8 @@ angle::Result FramebufferVk::syncState(const gl::Context *context,
{
mCurrentFramebufferDesc.update(
static_cast<uint32_t>(colorIndexGL),
- mRenderTargetCache.getColors()[colorIndexGL]->getAssignSerial(contextVk));
+ mRenderTargetCache.getColors()[colorIndexGL]->getAssignImageViewSerial(
+ contextVk));
}
updateDepthStencilAttachmentSerial(contextVk);
break;
@@ -1592,6 +1762,9 @@ angle::Result FramebufferVk::startNewRenderPass(ContextVk *contextVk,
packedClearValues.store(currentAttachmentCount, VK_IMAGE_ASPECT_COLOR_BIT,
kUninitializedClearValue);
}
+ renderPassAttachmentOps.setStencilOps(currentAttachmentCount,
+ VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+ VK_ATTACHMENT_STORE_OP_DONT_CARE);
ANGLE_TRY(colorRenderTarget->onColorDraw(contextVk));
@@ -1645,22 +1818,18 @@ angle::Result FramebufferVk::startNewRenderPass(ContextVk *contextVk,
}
const vk::Format &format = depthStencilRenderTarget->getImageFormat();
- if (format.hasEmulatedImageChannels())
+ // If the format we picked has stencil but user did not ask for it due to hardware
+ // limitations, use DONT_CARE for load/store. The same logic for depth follows.
+ if (format.intendedFormat().stencilBits == 0)
{
- // If the format we picked has stencil but user did not ask for it due to hardware
- // limitations, use DONT_CARE for load/store. The same logic for depth follows.
- if (format.intendedFormat().stencilBits == 0)
- {
- stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
- stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
- }
- if (format.intendedFormat().depthBits == 0)
- {
- depthLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
- depthStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
- }
+ stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
+ stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
+ }
+ if (format.intendedFormat().depthBits == 0)
+ {
+ depthLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
+ depthStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
}
-
renderPassAttachmentOps.setOps(currentAttachmentCount, depthLoadOp, depthStoreOp);
renderPassAttachmentOps.setStencilOps(currentAttachmentCount, stencilLoadOp,
stencilStoreOp);
@@ -1700,10 +1869,10 @@ angle::Result FramebufferVk::readPixelsImpl(ContextVk *contextVk,
void *pixels)
{
ANGLE_TRACE_EVENT0("gpu.angle", "FramebufferVk::readPixelsImpl");
- uint32_t level = renderTarget->getLevelIndex();
- uint32_t layer = renderTarget->getLayerIndex();
+ uint32_t levelGL = renderTarget->getLevelIndex();
+ uint32_t layer = renderTarget->getLayerIndex();
return renderTarget->getImage().readPixels(contextVk, area, packPixelsParams, copyAspectFlags,
- level, layer, pixels, &mReadPixelBuffer);
+ levelGL, layer, pixels, &mReadPixelBuffer);
}
gl::Extents FramebufferVk::getReadImageExtents() const
@@ -1726,7 +1895,11 @@ gl::Rectangle FramebufferVk::getScissoredRenderArea(ContextVk *contextVk) const
{
const gl::Rectangle renderArea = getCompleteRenderArea();
bool invertViewport = contextVk->isViewportFlipEnabledForDrawFBO();
- return ClipRectToScissor(contextVk->getState(), renderArea, invertViewport);
+ gl::Rectangle scissoredArea = ClipRectToScissor(contextVk->getState(), renderArea, false);
+ gl::Rectangle rotatedScissoredArea;
+ RotateRectangle(contextVk->getRotationDrawFramebuffer(), invertViewport, renderArea.width,
+ renderArea.height, scissoredArea, &rotatedScissoredArea);
+ return rotatedScissoredArea;
}
RenderTargetVk *FramebufferVk::getFirstRenderTarget() const
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.cpp
index 65475419e87..18867750b95 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.cpp
@@ -98,8 +98,8 @@ egl::Error ImageVk::initialize(const egl::Display *display)
}
// Make sure a staging buffer is ready to use to upload data
- mImage->initStagingBuffer(renderer, mImage->getFormat(), vk::kStagingBufferFlags,
- vk::kStagingBufferSize);
+ mImage->initStagingBuffer(renderer, mImage->getFormat().getImageCopyBufferAlignment(),
+ vk::kStagingBufferFlags, vk::kStagingBufferSize);
mOwnsImage = false;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp
index e0d2246b3b2..0104178f41c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp
@@ -8,10 +8,10 @@
#include "libANGLE/renderer/vulkan/MemoryObjectVk.h"
#include "common/debug.h"
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/Context.h"
#include "libANGLE/renderer/vulkan/ContextVk.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "vulkan/vulkan_fuchsia_ext.h"
#if !defined(ANGLE_PLATFORM_WINDOWS)
@@ -196,10 +196,10 @@ angle::Result MemoryObjectVk::createImage(ContextVk *contextVk,
//
// If the content is not already defined, the first operation may not be a
// glWaitSemaphore, but in this case undefined layout is appropriate.
- ANGLE_TRY(image->initExternal(contextVk, type, vkExtents, vkFormat, 1, imageUsageFlags,
- vk::ImageLayout::Undefined, &externalMemoryImageCreateInfo, 0,
- static_cast<uint32_t>(levels) - 1, static_cast<uint32_t>(levels),
- layerCount));
+ ANGLE_TRY(image->initExternal(
+ contextVk, type, vkExtents, vkFormat, 1, imageUsageFlags, vk::kVkImageCreateFlagsNone,
+ vk::ImageLayout::Undefined, &externalMemoryImageCreateInfo, 0,
+ static_cast<uint32_t>(levels) - 1, static_cast<uint32_t>(levels), layerCount));
VkMemoryRequirements externalMemoryRequirements;
image->getImage().getMemoryRequirements(renderer->getDevice(), &externalMemoryRequirements);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp
index 1efb9b4c413..2088aacd6a1 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp
@@ -271,7 +271,7 @@ ProgramVk *ProgramExecutableVk::getShaderProgram(const gl::State &glState,
{
if (mProgram)
{
- const gl::ProgramExecutable &glExecutable = mProgram->getState().getProgramExecutable();
+ const gl::ProgramExecutable &glExecutable = mProgram->getState().getExecutable();
if (glExecutable.hasLinkedShaderStage(shaderType))
{
return mProgram;
@@ -307,7 +307,7 @@ const gl::ProgramExecutable &ProgramExecutableVk::getGlExecutable()
ASSERT(mProgram || mProgramPipeline);
if (mProgram)
{
- return mProgram->getState().getProgramExecutable();
+ return mProgram->getState().getExecutable();
}
return mProgramPipeline->getState().getProgramExecutable();
}
@@ -393,7 +393,8 @@ void ProgramExecutableVk::addInterfaceBlockDescriptorSetDesc(
const std::string blockName = block.mappedName;
const ShaderInterfaceVariableInfo &info = mVariableInfoMap[shaderType][blockName];
- descOut->update(info.binding, descType, arraySize, gl_vk::kShaderStageMap[shaderType]);
+ descOut->update(info.binding, descType, arraySize, gl_vk::kShaderStageMap[shaderType],
+ nullptr);
}
}
@@ -418,27 +419,25 @@ void ProgramExecutableVk::addAtomicCounterBufferDescriptorSetDesc(
// A single storage buffer array is used for all stages for simplicity.
descOut->update(info.binding, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
gl::IMPLEMENTATION_MAX_ATOMIC_COUNTER_BUFFERS,
- gl_vk::kShaderStageMap[shaderType]);
+ gl_vk::kShaderStageMap[shaderType], nullptr);
}
-void ProgramExecutableVk::addImageDescriptorSetDesc(const gl::ProgramState &programState,
+void ProgramExecutableVk::addImageDescriptorSetDesc(const gl::ProgramExecutable &executable,
vk::DescriptorSetLayoutDesc *descOut)
{
- const std::vector<gl::ImageBinding> &imageBindings = programState.getImageBindings();
- const std::vector<gl::LinkedUniform> &uniforms = programState.getUniforms();
+ const std::vector<gl::ImageBinding> &imageBindings = executable.getImageBindings();
+ const std::vector<gl::LinkedUniform> &uniforms = executable.getUniforms();
for (uint32_t imageIndex = 0; imageIndex < imageBindings.size(); ++imageIndex)
{
const gl::ImageBinding &imageBinding = imageBindings[imageIndex];
-
- uint32_t uniformIndex = programState.getUniformIndexFromImageIndex(imageIndex);
+ uint32_t uniformIndex = executable.getUniformIndexFromImageIndex(imageIndex);
const gl::LinkedUniform &imageUniform = uniforms[uniformIndex];
// The front-end always binds array image units sequentially.
uint32_t arraySize = static_cast<uint32_t>(imageBinding.boundImageUnits.size());
- for (const gl::ShaderType shaderType :
- programState.getProgramExecutable().getLinkedShaderStages())
+ for (const gl::ShaderType shaderType : executable.getLinkedShaderStages())
{
if (!imageUniform.isActive(shaderType))
{
@@ -449,8 +448,8 @@ void ProgramExecutableVk::addImageDescriptorSetDesc(const gl::ProgramState &prog
GetImageNameWithoutIndices(&name);
ShaderInterfaceVariableInfo &info = mVariableInfoMap[shaderType][name];
VkShaderStageFlags activeStages = gl_vk::kShaderStageMap[shaderType];
- descOut->update(info.binding, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, arraySize,
- activeStages);
+ descOut->update(info.binding, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, arraySize, activeStages,
+ nullptr);
}
}
}
@@ -492,8 +491,7 @@ void ProgramExecutableVk::addTextureDescriptorSetDesc(const gl::ProgramState &pr
}
}
- for (const gl::ShaderType shaderType :
- programState.getProgramExecutable().getLinkedShaderStages())
+ for (const gl::ShaderType shaderType : programState.getExecutable().getLinkedShaderStages())
{
if (!samplerUniform.isActive(shaderType))
{
@@ -504,7 +502,7 @@ void ProgramExecutableVk::addTextureDescriptorSetDesc(const gl::ProgramState &pr
VkShaderStageFlags activeStages = gl_vk::kShaderStageMap[shaderType];
descOut->update(info.binding, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, arraySize,
- activeStages);
+ activeStages, nullptr);
}
}
}
@@ -648,7 +646,7 @@ angle::Result ProgramExecutableVk::createPipelineLayout(const gl::Context *glCon
}
uniformsAndXfbSetDesc.update(info.binding, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1,
- gl_vk::kShaderStageMap[shaderType]);
+ gl_vk::kShaderStageMap[shaderType], nullptr);
mNumDefaultUniformDescriptors++;
}
bool hasVertexShader = glExecutable.hasLinkedShaderStage(gl::ShaderType::Vertex);
@@ -657,8 +655,9 @@ angle::Result ProgramExecutableVk::createPipelineLayout(const gl::Context *glCon
!programStates[gl::ShaderType::Vertex]->getLinkedTransformFeedbackVaryings().empty());
if (hasVertexShader && transformFeedback && hasXfbVaryings)
{
- size_t xfbBufferCount =
- programStates[gl::ShaderType::Vertex]->getTransformFeedbackBufferCount();
+ const gl::ProgramExecutable &executable =
+ programStates[gl::ShaderType::Vertex]->getExecutable();
+ size_t xfbBufferCount = executable.getTransformFeedbackBufferCount();
TransformFeedbackVk *transformFeedbackVk = vk::GetImpl(transformFeedback);
transformFeedbackVk->updateDescriptorSetLayout(contextVk,
mVariableInfoMap[gl::ShaderType::Vertex],
@@ -688,7 +687,7 @@ angle::Result ProgramExecutableVk::createPipelineLayout(const gl::Context *glCon
{
const gl::ProgramState *programState = programStates[shaderType];
ASSERT(programState);
- addImageDescriptorSetDesc(*programState, &resourcesSetDesc);
+ addImageDescriptorSetDesc(programState->getExecutable(), &resourcesSetDesc);
}
ANGLE_TRY(renderer->getDescriptorSetLayout(
@@ -833,9 +832,9 @@ void ProgramExecutableVk::updateDefaultUniformsDescriptorSet(
return;
}
- DefaultUniformBlock &uniformBlock = defaultUniformBlocks[shaderType];
- VkDescriptorBufferInfo bufferInfo;
- VkWriteDescriptorSet writeInfo;
+ DefaultUniformBlock &uniformBlock = defaultUniformBlocks[shaderType];
+ VkWriteDescriptorSet &writeInfo = contextVk->allocWriteInfo();
+ VkDescriptorBufferInfo &bufferInfo = contextVk->allocBufferInfo();
if (!uniformBlock.uniformData.empty())
{
@@ -863,10 +862,6 @@ void ProgramExecutableVk::updateDefaultUniformsDescriptorSet(
writeInfo.pImageInfo = nullptr;
writeInfo.pBufferInfo = &bufferInfo;
writeInfo.pTexelBufferView = nullptr;
-
- VkDevice device = contextVk->getDevice();
-
- vkUpdateDescriptorSets(device, 1, &writeInfo, 0, nullptr);
}
void ProgramExecutableVk::updateBuffersDescriptorSet(ContextVk *contextVk,
@@ -892,10 +887,6 @@ void ProgramExecutableVk::updateBuffersDescriptorSet(ContextVk *contextVk,
gl::IMPLEMENTATION_MAX_UNIFORM_BUFFER_BINDINGS,
"The descriptor arrays here would have inadequate size for uniform buffer objects");
- gl::StorageBuffersArray<VkDescriptorBufferInfo> descriptorBufferInfo;
- gl::StorageBuffersArray<VkWriteDescriptorSet> writeDescriptorInfo;
- uint32_t writeCount = 0;
-
// Write uniform or storage buffers.
const gl::State &glState = contextVk->getState();
for (uint32_t bufferIndex = 0; bufferIndex < blocks.size(); ++bufferIndex)
@@ -934,8 +925,8 @@ void ProgramExecutableVk::updateBuffersDescriptorSet(ContextVk *contextVk,
"VkDeviceSize too small");
ASSERT(bufferBinding.getSize() >= 0);
- VkDescriptorBufferInfo &bufferInfo = descriptorBufferInfo[writeCount];
- VkWriteDescriptorSet &writeInfo = writeDescriptorInfo[writeCount];
+ VkDescriptorBufferInfo &bufferInfo = contextVk->allocBufferInfo();
+ VkWriteDescriptorSet &writeInfo = contextVk->allocWriteInfo();
BufferVk *bufferVk = vk::GetImpl(bufferBinding.get());
vk::BufferHelper &bufferHelper = bufferVk->getBuffer();
@@ -956,13 +947,7 @@ void ProgramExecutableVk::updateBuffersDescriptorSet(ContextVk *contextVk,
commandBufferHelper->bufferRead(resourceUseList, VK_ACCESS_UNIFORM_READ_BIT,
kPipelineStageShaderMap[shaderType], &bufferHelper);
}
-
- ++writeCount;
}
-
- VkDevice device = contextVk->getDevice();
-
- vkUpdateDescriptorSets(device, writeCount, writeDescriptorInfo.data(), 0, nullptr);
}
void ProgramExecutableVk::updateAtomicCounterBuffersDescriptorSet(
@@ -991,8 +976,6 @@ void ProgramExecutableVk::updateAtomicCounterBuffersDescriptorSet(
return;
}
- gl::AtomicCounterBuffersArray<VkDescriptorBufferInfo> descriptorBufferInfo;
- gl::AtomicCounterBuffersArray<VkWriteDescriptorSet> writeDescriptorInfo;
gl::AtomicCounterBufferMask writtenBindings;
RendererVk *rendererVk = contextVk->getRenderer();
@@ -1012,8 +995,8 @@ void ProgramExecutableVk::updateAtomicCounterBuffersDescriptorSet(
continue;
}
- VkDescriptorBufferInfo &bufferInfo = descriptorBufferInfo[binding];
- VkWriteDescriptorSet &writeInfo = writeDescriptorInfo[binding];
+ VkDescriptorBufferInfo &bufferInfo = contextVk->allocBufferInfo();
+ VkWriteDescriptorSet &writeInfo = contextVk->allocWriteInfo();
BufferVk *bufferVk = vk::GetImpl(bufferBinding.get());
vk::BufferHelper &bufferHelper = bufferVk->getBuffer();
@@ -1034,40 +1017,38 @@ void ProgramExecutableVk::updateAtomicCounterBuffersDescriptorSet(
// Bind the empty buffer to every array slot that's unused.
mEmptyBuffer.retain(&contextVk->getResourceUseList());
+ size_t count = (~writtenBindings).count();
+ VkDescriptorBufferInfo *bufferInfos = &contextVk->allocBufferInfos(count);
+ VkWriteDescriptorSet *writeInfos = &contextVk->allocWriteInfos(count);
+ size_t writeCount = 0;
for (size_t binding : ~writtenBindings)
{
- VkDescriptorBufferInfo &bufferInfo = descriptorBufferInfo[binding];
- VkWriteDescriptorSet &writeInfo = writeDescriptorInfo[binding];
-
- bufferInfo.buffer = mEmptyBuffer.getBuffer().getHandle();
- bufferInfo.offset = 0;
- bufferInfo.range = VK_WHOLE_SIZE;
-
- writeInfo.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
- writeInfo.pNext = nullptr;
- writeInfo.dstSet = descriptorSet;
- writeInfo.dstBinding = info.binding;
- writeInfo.dstArrayElement = static_cast<uint32_t>(binding);
- writeInfo.descriptorCount = 1;
- writeInfo.descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
- writeInfo.pImageInfo = nullptr;
- writeInfo.pBufferInfo = &bufferInfo;
- writeInfo.pTexelBufferView = nullptr;
+ bufferInfos[writeCount].buffer = mEmptyBuffer.getBuffer().getHandle();
+ bufferInfos[writeCount].offset = 0;
+ bufferInfos[writeCount].range = VK_WHOLE_SIZE;
+
+ writeInfos[writeCount].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
+ writeInfos[writeCount].pNext = nullptr;
+ writeInfos[writeCount].dstSet = descriptorSet;
+ writeInfos[writeCount].dstBinding = info.binding;
+ writeInfos[writeCount].dstArrayElement = static_cast<uint32_t>(binding);
+ writeInfos[writeCount].descriptorCount = 1;
+ writeInfos[writeCount].descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
+ writeInfos[writeCount].pImageInfo = nullptr;
+ writeInfos[writeCount].pBufferInfo = &bufferInfos[writeCount];
+ writeInfos[writeCount].pTexelBufferView = nullptr;
+ writeCount++;
}
-
- VkDevice device = contextVk->getDevice();
-
- vkUpdateDescriptorSets(device, gl::IMPLEMENTATION_MAX_ATOMIC_COUNTER_BUFFERS,
- writeDescriptorInfo.data(), 0, nullptr);
}
-angle::Result ProgramExecutableVk::updateImagesDescriptorSet(const gl::ProgramState &programState,
- const gl::ShaderType shaderType,
- ContextVk *contextVk)
+angle::Result ProgramExecutableVk::updateImagesDescriptorSet(
+ const gl::ProgramExecutable &executable,
+ const gl::ShaderType shaderType,
+ ContextVk *contextVk)
{
const gl::State &glState = contextVk->getState();
- const std::vector<gl::ImageBinding> &imageBindings = programState.getImageBindings();
- const std::vector<gl::LinkedUniform> &uniforms = programState.getUniforms();
+ const std::vector<gl::ImageBinding> &imageBindings = executable.getImageBindings();
+ const std::vector<gl::LinkedUniform> &uniforms = executable.getUniforms();
if (imageBindings.empty())
{
@@ -1078,15 +1059,11 @@ angle::Result ProgramExecutableVk::updateImagesDescriptorSet(const gl::ProgramSt
const gl::ActiveTextureArray<TextureVk *> &activeImages = contextVk->getActiveImages();
- gl::ImagesArray<VkDescriptorImageInfo> descriptorImageInfo;
- gl::ImagesArray<VkWriteDescriptorSet> writeDescriptorInfo;
- uint32_t writeCount = 0;
-
// Write images.
for (uint32_t imageIndex = 0; imageIndex < imageBindings.size(); ++imageIndex)
{
const gl::ImageBinding &imageBinding = imageBindings[imageIndex];
- uint32_t uniformIndex = programState.getUniformIndexFromImageIndex(imageIndex);
+ uint32_t uniformIndex = executable.getUniformIndexFromImageIndex(imageIndex);
const gl::LinkedUniform &imageUniform = uniforms[uniformIndex];
if (!imageUniform.isActive(shaderType))
@@ -1110,16 +1087,15 @@ angle::Result ProgramExecutableVk::updateImagesDescriptorSet(const gl::ProgramSt
vk::ImageHelper *image = &textureVk->getImage();
const vk::ImageView *imageView = nullptr;
- ANGLE_TRY(textureVk->getStorageImageView(contextVk, (binding.layered == GL_TRUE),
- binding.level, binding.layer, &imageView));
+ ANGLE_TRY(textureVk->getStorageImageView(contextVk, binding, &imageView));
// Note: binding.access is unused because it is implied by the shader.
// TODO(syoussefi): Support image data reinterpretation by using binding.format.
// http://anglebug.com/3563
- VkDescriptorImageInfo &imageInfo = descriptorImageInfo[writeCount];
- VkWriteDescriptorSet &writeInfo = writeDescriptorInfo[writeCount];
+ VkDescriptorImageInfo &imageInfo = contextVk->allocImageInfo();
+ VkWriteDescriptorSet &writeInfo = contextVk->allocWriteInfo();
imageInfo.sampler = VK_NULL_HANDLE;
imageInfo.imageView = imageView->getHandle();
@@ -1135,15 +1111,9 @@ angle::Result ProgramExecutableVk::updateImagesDescriptorSet(const gl::ProgramSt
writeInfo.pImageInfo = &imageInfo;
writeInfo.pBufferInfo = nullptr;
writeInfo.pTexelBufferView = nullptr;
-
- ++writeCount;
}
}
- VkDevice device = contextVk->getDevice();
-
- vkUpdateDescriptorSets(device, writeCount, writeDescriptorInfo.data(), 0, nullptr);
-
return angle::Result::Continue;
}
@@ -1172,7 +1142,8 @@ angle::Result ProgramExecutableVk::updateShaderResourcesDescriptorSet(
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER);
updateAtomicCounterBuffersDescriptorSet(*programState, shaderType, contextVk,
resourceUseList, commandBufferHelper);
- angle::Result status = updateImagesDescriptorSet(*programState, shaderType, contextVk);
+ angle::Result status =
+ updateImagesDescriptorSet(programState->getExecutable(), shaderType, contextVk);
if (status != angle::Result::Continue)
{
return status;
@@ -1187,7 +1158,7 @@ angle::Result ProgramExecutableVk::updateTransformFeedbackDescriptorSet(
gl::ShaderMap<DefaultUniformBlock> &defaultUniformBlocks,
ContextVk *contextVk)
{
- const gl::ProgramExecutable &executable = programState.getProgramExecutable();
+ const gl::ProgramExecutable &executable = programState.getExecutable();
ASSERT(executable.hasTransformFeedbackOutput());
ANGLE_TRY(allocateDescriptorSet(contextVk, kUniformsAndXfbDescriptorSetIndex));
@@ -1209,7 +1180,7 @@ void ProgramExecutableVk::updateTransformFeedbackDescriptorSetImpl(
{
const gl::State &glState = contextVk->getState();
gl::TransformFeedback *transformFeedback = glState.getCurrentTransformFeedback();
- const gl::ProgramExecutable &executable = programState.getProgramExecutable();
+ const gl::ProgramExecutable &executable = programState.getExecutable();
if (!executable.hasTransformFeedbackOutput())
{
@@ -1225,7 +1196,7 @@ void ProgramExecutableVk::updateTransformFeedbackDescriptorSetImpl(
{
TransformFeedbackVk *transformFeedbackVk = vk::GetImpl(transformFeedback);
transformFeedbackVk->initDescriptorSet(
- contextVk, programState.getTransformFeedbackBufferCount(), &mEmptyBuffer,
+ contextVk, executable.getTransformFeedbackBufferCount(), &mEmptyBuffer,
mDescriptorSets[kUniformsAndXfbDescriptorSetIndex]);
}
return;
@@ -1267,10 +1238,6 @@ angle::Result ProgramExecutableVk::updateTexturesDescriptorSet(ContextVk *contex
VkDescriptorSet descriptorSet = mDescriptorSets[kTextureDescriptorSetIndex];
- gl::ActiveTextureArray<VkDescriptorImageInfo> descriptorImageInfo;
- gl::ActiveTextureArray<VkWriteDescriptorSet> writeDescriptorInfo;
- uint32_t writeCount = 0;
-
const gl::ActiveTextureArray<vk::TextureUnit> &activeTextures = contextVk->getActiveTextures();
bool emulateSeamfulCubeMapSampling = contextVk->emulateSeamfulCubeMapSampling();
@@ -1312,6 +1279,8 @@ angle::Result ProgramExecutableVk::updateTexturesDescriptorSet(ContextVk *contex
mappedSamplerNameToArrayOffset[mappedSamplerName] += arraySize;
}
+ VkDescriptorImageInfo *imageInfos = &contextVk->allocImageInfos(arraySize);
+ VkWriteDescriptorSet *writeInfos = &contextVk->allocWriteInfos(arraySize);
for (uint32_t arrayElement = 0; arrayElement < arraySize; ++arrayElement)
{
GLuint textureUnit = samplerBinding.boundTextureUnits[arrayElement];
@@ -1320,26 +1289,24 @@ angle::Result ProgramExecutableVk::updateTexturesDescriptorSet(ContextVk *contex
vk::ImageHelper &image = textureVk->getImage();
- VkDescriptorImageInfo &imageInfo = descriptorImageInfo[writeCount];
-
// Use bound sampler object if one present, otherwise use texture's sampler
const vk::Sampler &sampler =
(samplerVk != nullptr) ? samplerVk->getSampler() : textureVk->getSampler();
- imageInfo.sampler = sampler.getHandle();
- imageInfo.imageLayout = image.getCurrentLayout();
+ imageInfos[arrayElement].sampler = sampler.getHandle();
+ imageInfos[arrayElement].imageLayout = image.getCurrentLayout();
if (emulateSeamfulCubeMapSampling)
{
// If emulating seamful cubemapping, use the fetch image view. This is
// basically the same image view as read, except it's a 2DArray view for
// cube maps.
- imageInfo.imageView =
+ imageInfos[arrayElement].imageView =
textureVk->getFetchImageViewAndRecordUse(contextVk).getHandle();
}
else
{
- imageInfo.imageView =
+ imageInfos[arrayElement].imageView =
textureVk->getReadImageViewAndRecordUse(contextVk).getHandle();
}
@@ -1350,30 +1317,20 @@ angle::Result ProgramExecutableVk::updateTexturesDescriptorSet(ContextVk *contex
: GlslangGetMappedSamplerName(samplerUniform.name);
ShaderInterfaceVariableInfo &info = variableInfoMap[samplerName];
- VkWriteDescriptorSet &writeInfo = writeDescriptorInfo[writeCount];
-
- writeInfo.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
- writeInfo.pNext = nullptr;
- writeInfo.dstSet = descriptorSet;
- writeInfo.dstBinding = info.binding;
- writeInfo.dstArrayElement = arrayOffset + arrayElement;
- writeInfo.descriptorCount = 1;
- writeInfo.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
- writeInfo.pImageInfo = &imageInfo;
- writeInfo.pBufferInfo = nullptr;
- writeInfo.pTexelBufferView = nullptr;
-
- ++writeCount;
+ writeInfos[arrayElement].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
+ writeInfos[arrayElement].pNext = nullptr;
+ writeInfos[arrayElement].dstSet = descriptorSet;
+ writeInfos[arrayElement].dstBinding = info.binding;
+ writeInfos[arrayElement].dstArrayElement = arrayOffset + arrayElement;
+ writeInfos[arrayElement].descriptorCount = 1;
+ writeInfos[arrayElement].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
+ writeInfos[arrayElement].pImageInfo = &imageInfos[arrayElement];
+ writeInfos[arrayElement].pBufferInfo = nullptr;
+ writeInfos[arrayElement].pTexelBufferView = nullptr;
}
}
}
- VkDevice device = contextVk->getDevice();
-
- ASSERT(writeCount > 0);
-
- vkUpdateDescriptorSets(device, writeCount, writeDescriptorInfo.data(), 0, nullptr);
-
mTextureDescriptorsCache.emplace(texturesDesc, descriptorSet);
return angle::Result::Continue;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h
index d8ed6bd41a3..7df7443bf7f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h
@@ -179,7 +179,7 @@ class ProgramExecutableVk
const std::vector<gl::AtomicCounterBuffer> &atomicCounterBuffers,
const gl::ShaderType shaderType,
vk::DescriptorSetLayoutDesc *descOut);
- void addImageDescriptorSetDesc(const gl::ProgramState &programState,
+ void addImageDescriptorSetDesc(const gl::ProgramExecutable &executable,
vk::DescriptorSetLayoutDesc *descOut);
void addTextureDescriptorSetDesc(const gl::ProgramState &programState,
bool useOldRewriteStructSamplers,
@@ -202,7 +202,7 @@ class ProgramExecutableVk
ContextVk *contextVk,
vk::ResourceUseList *resourceUseList,
vk::CommandBufferHelper *commandBufferHelper);
- angle::Result updateImagesDescriptorSet(const gl::ProgramState &programState,
+ angle::Result updateImagesDescriptorSet(const gl::ProgramExecutable &executable,
const gl::ShaderType shaderType,
ContextVk *contextVk);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp
index fce2a11be6d..8eb2c6dd689 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp
@@ -80,8 +80,8 @@ angle::Result ProgramPipelineVk::link(const gl::Context *glContext)
glslangProgramInterfaceInfo.locationsUsedForXfbExtension =
programProgramInterfaceInfo.locationsUsedForXfbExtension;
- GlslangAssignLocations(options, glProgram->getState(), glProgram->getResources(),
- shaderType, &glslangProgramInterfaceInfo,
+ GlslangAssignLocations(options, glProgram->getState().getExecutable(), shaderType,
+ &glslangProgramInterfaceInfo,
&mExecutable.getShaderInterfaceVariableInfoMap());
}
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.cpp
index a5ff97e267c..5ad15307d86 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.cpp
@@ -275,7 +275,7 @@ void ProgramVk::fillProgramStateMap(gl::ShaderMap<const gl::ProgramState *> *pro
for (gl::ShaderType shaderType : gl::AllShaderTypes())
{
(*programStatesOut)[shaderType] = nullptr;
- if (mState.getProgramExecutable().hasLinkedShaderStage(shaderType))
+ if (mState.getExecutable().hasLinkedShaderStage(shaderType))
{
(*programStatesOut)[shaderType] = &mState;
}
@@ -302,7 +302,7 @@ std::unique_ptr<LinkEvent> ProgramVk::link(const gl::Context *context,
// Compile the shaders.
angle::Result status =
- mShaderInfo.initShaders(contextVk, mState.getProgramExecutable().getLinkedShaderStages(),
+ mShaderInfo.initShaders(contextVk, mState.getExecutable().getLinkedShaderStages(),
shaderSources, mExecutable.mVariableInfoMap);
if (status != angle::Result::Continue)
{
@@ -348,7 +348,7 @@ angle::Result ProgramVk::initDefaultUniformBlocks(const gl::Context *glContext)
void ProgramVk::generateUniformLayoutMapping(gl::ShaderMap<sh::BlockLayoutMap> &layoutMap,
gl::ShaderMap<size_t> &requiredBufferSize)
{
- const gl::ProgramExecutable &glExecutable = mState.getProgramExecutable();
+ const gl::ProgramExecutable &glExecutable = mState.getExecutable();
for (const gl::ShaderType shaderType : glExecutable.getLinkedShaderStages())
{
@@ -367,7 +367,7 @@ void ProgramVk::initDefaultUniformLayoutMapping(gl::ShaderMap<sh::BlockLayoutMap
{
// Init the default block layout info.
const auto &uniforms = mState.getUniforms();
- const gl::ProgramExecutable &glExecutable = mState.getProgramExecutable();
+ const gl::ProgramExecutable &glExecutable = mState.getExecutable();
for (const gl::VariableLocation &location : mState.getUniformLocations())
{
@@ -413,7 +413,7 @@ angle::Result ProgramVk::resizeUniformBlockMemory(ContextVk *contextVk,
gl::ShaderMap<size_t> &requiredBufferSize)
{
RendererVk *renderer = contextVk->getRenderer();
- const gl::ProgramExecutable &glExecutable = mState.getProgramExecutable();
+ const gl::ProgramExecutable &glExecutable = mState.getExecutable();
for (const gl::ShaderType shaderType : glExecutable.getLinkedShaderStages())
{
@@ -451,7 +451,7 @@ void ProgramVk::setUniformImpl(GLint location, GLsizei count, const T *v, GLenum
{
const gl::VariableLocation &locationInfo = mState.getUniformLocations()[location];
const gl::LinkedUniform &linkedUniform = mState.getUniforms()[locationInfo.index];
- const gl::ProgramExecutable &glExecutable = mState.getProgramExecutable();
+ const gl::ProgramExecutable &glExecutable = mState.getExecutable();
ASSERT(!linkedUniform.isSampler());
@@ -618,7 +618,7 @@ void ProgramVk::setUniformMatrixfv(GLint location,
{
const gl::VariableLocation &locationInfo = mState.getUniformLocations()[location];
const gl::LinkedUniform &linkedUniform = mState.getUniforms()[locationInfo.index];
- const gl::ProgramExecutable &glExecutable = mState.getProgramExecutable();
+ const gl::ProgramExecutable &glExecutable = mState.getExecutable();
for (const gl::ShaderType shaderType : glExecutable.getLinkedShaderStages())
{
@@ -756,7 +756,7 @@ angle::Result ProgramVk::updateUniforms(ContextVk *contextVk)
bool anyNewBufferAllocated = false;
uint32_t offsetIndex = 0;
- const gl::ProgramExecutable &glExecutable = mState.getProgramExecutable();
+ const gl::ProgramExecutable &glExecutable = mState.getExecutable();
// Update buffer memory by immediate mapping. This immediate update only works once.
for (const gl::ShaderType shaderType : glExecutable.getLinkedShaderStages())
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp
index 2f01ebc0586..b0b63686f0f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp
@@ -292,12 +292,8 @@ angle::Result QueryVk::isResultAvailable(const gl::Context *context, bool *avail
return angle::Result::Continue;
}
-void QueryVk::onTransformFeedbackEnd(const gl::Context *context)
+void QueryVk::onTransformFeedbackEnd(GLsizeiptr primitivesDrawn)
{
- gl::TransformFeedback *transformFeedback = context->getState().getCurrentTransformFeedback();
- ASSERT(transformFeedback);
-
- mTransformFeedbackPrimitivesDrawn += transformFeedback->getPrimitivesDrawn();
+ mTransformFeedbackPrimitivesDrawn += primitivesDrawn;
}
-
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.h
index c6a01b5a3ec..a5131975319 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.h
@@ -34,7 +34,7 @@ class QueryVk : public QueryImpl
angle::Result getResult(const gl::Context *context, GLuint64 *params) override;
angle::Result isResultAvailable(const gl::Context *context, bool *available) override;
- void onTransformFeedbackEnd(const gl::Context *context);
+ void onTransformFeedbackEnd(GLsizeiptr primitivesDrawn);
vk::QueryHelper *getQueryHelper() { return &mQueryHelper; }
angle::Result stashQueryHelper(ContextVk *contextVk);
angle::Result retrieveStashedQueryResult(ContextVk *contextVk, uint64_t *result);
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.cpp
index 3542b6c7c3c..70e83e391a6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.cpp
@@ -58,18 +58,15 @@ void RenderTargetVk::reset()
mContentDefined = false;
}
-vk::AttachmentSerial RenderTargetVk::getAssignSerial(ContextVk *contextVk)
+Serial RenderTargetVk::getAssignImageViewSerial(ContextVk *contextVk)
{
- ASSERT(mImage && mImage->valid());
- vk::AttachmentSerial attachmentSerial;
+ ASSERT(mImageViews);
ASSERT(mLayerIndex < std::numeric_limits<uint16_t>::max());
ASSERT(mLevelIndex < std::numeric_limits<uint16_t>::max());
- Serial imageSerial = mImage->getAssignSerial(contextVk);
- ASSERT(imageSerial.getValue() < std::numeric_limits<uint32_t>::max());
- SetBitField(attachmentSerial.layer, mLayerIndex);
- SetBitField(attachmentSerial.level, mLevelIndex);
- SetBitField(attachmentSerial.imageSerial, imageSerial.getValue());
- return attachmentSerial;
+
+ Serial imageViewSerial = mImageViews->getAssignSerial(contextVk, mLevelIndex, mLayerIndex);
+ ASSERT(imageViewSerial.getValue() < std::numeric_limits<uint32_t>::max());
+ return imageViewSerial;
}
angle::Result RenderTargetVk::onColorDraw(ContextVk *contextVk)
@@ -118,6 +115,27 @@ angle::Result RenderTargetVk::getImageView(ContextVk *contextVk,
imageViewOut);
}
+angle::Result RenderTargetVk::getAndRetainCopyImageView(ContextVk *contextVk,
+ const vk::ImageView **imageViewOut) const
+{
+ retainImageViews(contextVk);
+
+ const vk::ImageViewHelper *imageViews = mImageViews;
+ const vk::ImageView &copyView = imageViews->getCopyImageView();
+
+ // If the source of render target is the texture, this will always be valid. This is also where
+ // 3D or 2DArray images could be the source of the render target.
+ if (copyView.valid())
+ {
+ *imageViewOut = &copyView;
+ return angle::Result::Continue;
+ }
+
+ // Otherwise, this must come from the surface, in which case the image is 2D, so the image view
+ // used to draw is just as good for fetching.
+ return getImageView(contextVk, imageViewOut);
+}
+
const vk::Format &RenderTargetVk::getImageFormat() const
{
ASSERT(mImage && mImage->valid());
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.h
index a0e7d3faee9..37ba9d671fd 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.h
@@ -10,9 +10,9 @@
#ifndef LIBANGLE_RENDERER_VULKAN_RENDERTARGETVK_H_
#define LIBANGLE_RENDERER_VULKAN_RENDERTARGETVK_H_
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/FramebufferAttachment.h"
#include "libANGLE/renderer/renderer_utils.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/vk_helpers.h"
namespace rx
@@ -47,8 +47,8 @@ class RenderTargetVk final : public FramebufferAttachmentRenderTarget
uint32_t levelIndex,
uint32_t layerIndex);
void reset();
- // This returns the serial from underlying ImageHelper, first assigning one if required
- vk::AttachmentSerial getAssignSerial(ContextVk *contextVk);
+ // This returns the serial from underlying ImageViewHelper, first assigning one if required
+ Serial getAssignImageViewSerial(ContextVk *contextVk);
// Note: RenderTargets should be called in order, with the depth/stencil onRender last.
angle::Result onColorDraw(ContextVk *contextVk);
@@ -57,12 +57,16 @@ class RenderTargetVk final : public FramebufferAttachmentRenderTarget
vk::ImageHelper &getImage();
const vk::ImageHelper &getImage() const;
- // getImageForRead will also transition the resource to the given layout.
vk::ImageHelper *getImageForWrite(ContextVk *contextVk) const;
// For cube maps we use single-level single-layer 2D array views.
angle::Result getImageView(ContextVk *contextVk, const vk::ImageView **imageViewOut) const;
+ // For 3D textures, the 2D view created for render target is invalid to read from. The
+ // following will return a view to the whole image (for all types, including 3D and 2DArray).
+ angle::Result getAndRetainCopyImageView(ContextVk *contextVk,
+ const vk::ImageView **imageViewOut) const;
+
const vk::Format &getImageFormat() const;
gl::Extents getExtents() const;
uint32_t getLevelIndex() const { return mLevelIndex; }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp
index 5c17042403b..57c35bf8656 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp
@@ -17,6 +17,7 @@
#include "common/debug.h"
#include "common/platform.h"
#include "common/system_utils.h"
+#include "common/vulkan/vk_google_filtering_precision.h"
#include "common/vulkan/vulkan_icd.h"
#include "gpu_info_util/SystemInfo.h"
#include "libANGLE/Context.h"
@@ -33,7 +34,7 @@
#include "libANGLE/renderer/vulkan/vk_caps_utils.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
#include "libANGLE/trace.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
// Consts
namespace
@@ -116,29 +117,17 @@ constexpr const char *kSkippedMessages[] = {
"UNASSIGNED-CoreValidation-Shader-PointSizeMissing",
// http://anglebug.com/3832
"VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428",
- // http://anglebug.com/3450
- "VUID-vkDestroySemaphore-semaphore-parameter",
// http://anglebug.com/4063
"VUID-VkDeviceCreateInfo-pNext-pNext",
"VUID-VkPipelineRasterizationStateCreateInfo-pNext-pNext",
"VUID_Undefined",
// http://anglebug.com/3078
"UNASSIGNED-CoreValidation-Shader-InterfaceTypeMismatch",
- // http://anglebug.com/4510
- "VUID-vkQueuePresentKHR-pWaitSemaphores-03268",
- // http://anglebug.com/4572
- "VUID-vkCmdCopyImageToBuffer-srcImage-01998",
- // http://anglebug.com/4577
- "VUID-vkCmdClearColorImage-image-01993",
- // http://anglebug.com/4578 for next two
- "VUID-vkCmdBlitImage-srcImage-01999",
- "VUID-vkCmdBlitImage-filter-02001",
- // http://anglebug.com/4579
- "VUID-vkCmdBlitImage-dstImage-02000",
- // http://anglebug.com/4580
- "VUID-vkCmdResolveImage-dstImage-02003",
// http://anglebug.com/4583
"VUID-VkGraphicsPipelineCreateInfo-blendEnable-02023",
+ // https://issuetracker.google.com/issues/159493191
+ "VUID-vkCmdDraw-None-02690",
+ "VUID-vkCmdDrawIndexed-None-02690",
};
// Suppress validation errors that are known
@@ -464,11 +453,19 @@ RendererVk::RendererVk()
RendererVk::~RendererVk()
{
+ mAllocator.release();
+ mPipelineCache.release();
ASSERT(mSharedGarbage.empty());
}
void RendererVk::onDestroy()
{
+ if (getFeatures().enableCommandProcessingThread.enabled)
+ {
+ // Shutdown worker thread
+ mCommandProcessor.shutdown(&mCommandProcessorThread);
+ }
+
// Force all commands to finish by flushing all queues.
for (VkQueue queue : mQueues)
{
@@ -497,8 +494,9 @@ void RendererVk::onDestroy()
mPipelineCache.destroy(mDevice);
mSamplerCache.destroy(this);
+ mTheNullBuffer.destroy(this);
- vma::DestroyAllocator(mAllocator);
+ mAllocator.destroy();
if (mGlslangInitialized)
{
@@ -818,11 +816,22 @@ angle::Result RendererVk::initialize(DisplayVk *displayVk,
}
// Create VMA allocator
- ANGLE_VK_TRY(displayVk, vma::InitAllocator(mPhysicalDevice, mDevice, mInstance, &mAllocator));
+ ANGLE_VK_TRY(displayVk,
+ mAllocator.init(mPhysicalDevice, mDevice, mInstance, applicationInfo.apiVersion));
// Store the physical device memory properties so we can find the right memory pools.
mMemoryProperties.init(mPhysicalDevice);
+ // Must be initialized after the allocator and memory properties.
+ {
+ VkBufferCreateInfo bufferCreateInfo = {};
+ bufferCreateInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
+ bufferCreateInfo.size = 16;
+ bufferCreateInfo.usage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
+ ANGLE_TRY(
+ mTheNullBuffer.init(displayVk, bufferCreateInfo, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT));
+ }
+
if (!mGlslangInitialized)
{
GlslangInitialize();
@@ -832,6 +841,11 @@ angle::Result RendererVk::initialize(DisplayVk *displayVk,
// Initialize the format table.
mFormatTable.initialize(this, &mNativeTextureCaps, &mNativeCaps.compressedTextureFormats);
+ if (getFeatures().enableCommandProcessingThread.enabled)
+ {
+ mCommandProcessorThread =
+ std::thread(&CommandProcessor::processCommandProcessorTasks, &mCommandProcessor);
+ }
return angle::Result::Continue;
}
@@ -1083,6 +1097,17 @@ angle::Result RendererVk::initializeDevice(DisplayVk *displayVk, uint32_t queueF
ASSERT(!getFeatures().supportsAndroidHardwareBuffer.enabled);
#endif
+#if defined(ANGLE_PLATFORM_GGP)
+ if (getFeatures().supportsGGPFrameToken.enabled)
+ {
+ enabledDeviceExtensions.push_back(VK_GGP_FRAME_TOKEN_EXTENSION_NAME);
+ }
+ ANGLE_VK_CHECK(displayVk, getFeatures().supportsGGPFrameToken.enabled,
+ VK_ERROR_EXTENSION_NOT_PRESENT);
+#else
+ ASSERT(!getFeatures().supportsGGPFrameToken.enabled);
+#endif
+
if (getFeatures().supportsAndroidHardwareBuffer.enabled ||
getFeatures().supportsExternalMemoryFd.enabled ||
getFeatures().supportsExternalMemoryFuchsia.enabled)
@@ -1498,7 +1523,7 @@ gl::Version RendererVk::getMaxSupportedESVersion() const
gl::Version RendererVk::getMaxConformantESVersion() const
{
- return LimitVersionTo(getMaxSupportedESVersion(), {3, 0});
+ return LimitVersionTo(getMaxSupportedESVersion(), {3, 1});
}
void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &deviceExtensionNames)
@@ -1585,6 +1610,12 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev
ExtensionFound(VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME, deviceExtensionNames));
#endif
+#if defined(ANGLE_PLATFORM_GGP)
+ ANGLE_FEATURE_CONDITION(
+ &mFeatures, supportsGGPFrameToken,
+ ExtensionFound(VK_GGP_FRAME_TOKEN_EXTENSION_NAME, deviceExtensionNames));
+#endif
+
ANGLE_FEATURE_CONDITION(
&mFeatures, supportsExternalMemoryFd,
ExtensionFound(VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, deviceExtensionNames));
@@ -1594,6 +1625,10 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev
ExtensionFound(VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME, deviceExtensionNames));
ANGLE_FEATURE_CONDITION(
+ &mFeatures, supportsFilteringPrecision,
+ ExtensionFound(VK_GOOGLE_SAMPLER_FILTERING_PRECISION_EXTENSION_NAME, deviceExtensionNames));
+
+ ANGLE_FEATURE_CONDITION(
&mFeatures, supportsExternalFenceCapabilities,
ExtensionFound(VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME, deviceExtensionNames));
@@ -1643,7 +1678,7 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev
mIndexTypeUint8Features.indexTypeUint8 == VK_TRUE);
ANGLE_FEATURE_CONDITION(&mFeatures, emulateTransformFeedback,
- (mFeatures.supportsTransformFeedbackExtension.enabled == VK_FALSE &&
+ (!mFeatures.supportsTransformFeedbackExtension.enabled &&
mPhysicalDeviceFeatures.vertexPipelineStoresAndAtomics == VK_TRUE));
ANGLE_FEATURE_CONDITION(&mFeatures, disableFifoPresentMode, IsLinux() && isIntel);
@@ -1688,6 +1723,11 @@ void RendererVk::initFeatures(DisplayVk *displayVk, const ExtensionNameList &dev
ANGLE_FEATURE_CONDITION(&mFeatures, supportDepthStencilRenderingFeedbackLoops, true);
+ ANGLE_FEATURE_CONDITION(&mFeatures, preferAggregateBarrierCalls, isNvidia || isAMD || isIntel);
+
+ // Currently disabled by default: http://anglebug.com/4324
+ ANGLE_FEATURE_CONDITION(&mFeatures, enableCommandProcessingThread, false);
+
angle::PlatformMethods *platform = ANGLEPlatformCurrent();
platform->overrideFeaturesVk(platform, &mFeatures);
@@ -1720,14 +1760,15 @@ angle::Result RendererVk::initPipelineCache(DisplayVk *display,
initPipelineCacheVkKey();
egl::BlobCache::Value initialData;
+ size_t dataSize = 0;
*success = display->getBlobCache()->get(display->getScratchBuffer(), mPipelineCacheVkBlobKey,
- &initialData);
+ &initialData, &dataSize);
VkPipelineCacheCreateInfo pipelineCacheCreateInfo = {};
pipelineCacheCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
pipelineCacheCreateInfo.flags = 0;
- pipelineCacheCreateInfo.initialDataSize = *success ? initialData.size() : 0;
+ pipelineCacheCreateInfo.initialDataSize = *success ? dataSize : 0;
pipelineCacheCreateInfo.pInitialData = *success ? initialData.data() : nullptr;
ANGLE_VK_TRY(display, pipelineCache->init(mDevice, pipelineCacheCreateInfo));
@@ -1918,6 +1959,14 @@ angle::Result RendererVk::queueSubmit(vk::Context *context,
const vk::Fence *fence,
Serial *serialOut)
{
+ if (getFeatures().enableCommandProcessingThread.enabled)
+ {
+ // For initial threading phase 1 code make sure any outstanding command processing
+ // is complete.
+ // TODO: b/153666475 For phase2 investigate if this is required as most submits will take
+ // place through worker thread except for one-off submits below.
+ mCommandProcessor.waitForWorkComplete();
+ }
{
std::lock_guard<decltype(mQueueMutex)> lock(mQueueMutex);
VkFence handle = fence ? fence->getHandle() : VK_NULL_HANDLE;
@@ -1936,6 +1985,7 @@ angle::Result RendererVk::queueSubmit(vk::Context *context,
angle::Result RendererVk::queueSubmitOneOff(vk::Context *context,
vk::PrimaryCommandBuffer &&primary,
egl::ContextPriority priority,
+ const vk::Fence *fence,
Serial *serialOut)
{
VkSubmitInfo submitInfo = {};
@@ -1943,7 +1993,7 @@ angle::Result RendererVk::queueSubmitOneOff(vk::Context *context,
submitInfo.commandBufferCount = 1;
submitInfo.pCommandBuffers = primary.ptr();
- ANGLE_TRY(queueSubmit(context, priority, submitInfo, nullptr, serialOut));
+ ANGLE_TRY(queueSubmit(context, priority, submitInfo, fence, serialOut));
mPendingOneOffCommands.push_back({*serialOut, std::move(primary)});
@@ -1952,6 +2002,11 @@ angle::Result RendererVk::queueSubmitOneOff(vk::Context *context,
angle::Result RendererVk::queueWaitIdle(vk::Context *context, egl::ContextPriority priority)
{
+ if (getFeatures().enableCommandProcessingThread.enabled)
+ {
+ // First make sure command processor is complete when waiting for queue idle.
+ mCommandProcessor.waitForWorkComplete();
+ }
{
std::lock_guard<decltype(mQueueMutex)> lock(mQueueMutex);
ANGLE_VK_TRY(context, vkQueueWaitIdle(mQueues[priority]));
@@ -1964,6 +2019,11 @@ angle::Result RendererVk::queueWaitIdle(vk::Context *context, egl::ContextPriori
angle::Result RendererVk::deviceWaitIdle(vk::Context *context)
{
+ if (getFeatures().enableCommandProcessingThread.enabled)
+ {
+ // First make sure command processor is complete when waiting for device idle.
+ mCommandProcessor.waitForWorkComplete();
+ }
{
std::lock_guard<decltype(mQueueMutex)> lock(mQueueMutex);
ANGLE_VK_TRY(context, vkDeviceWaitIdle(mDevice));
@@ -1979,6 +2039,13 @@ VkResult RendererVk::queuePresent(egl::ContextPriority priority,
{
ANGLE_TRACE_EVENT0("gpu.angle", "RendererVk::queuePresent");
+ if (getFeatures().enableCommandProcessingThread.enabled)
+ {
+ // First make sure command processor is complete before queue present as
+ // present may have dependencies on that thread.
+ mCommandProcessor.waitForWorkComplete();
+ }
+
std::lock_guard<decltype(mQueueMutex)> lock(mQueueMutex);
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.h
index 74812f63c91..5ae581a71cd 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.h
@@ -10,23 +10,27 @@
#ifndef LIBANGLE_RENDERER_VULKAN_RENDERERVK_H_
#define LIBANGLE_RENDERER_VULKAN_RENDERERVK_H_
+#include <condition_variable>
#include <deque>
#include <memory>
#include <mutex>
+#include <queue>
+#include <thread>
-#include "vk_ext_provoking_vertex.h"
+#include "common/vulkan/vk_ext_provoking_vertex.h"
#include "common/PackedEnums.h"
#include "common/PoolAlloc.h"
#include "common/angleutils.h"
+#include "common/vulkan/vk_headers.h"
#include "common/vulkan/vulkan_icd.h"
#include "libANGLE/BlobCache.h"
#include "libANGLE/Caps.h"
+#include "libANGLE/renderer/vulkan/CommandProcessor.h"
#include "libANGLE/renderer/vulkan/QueryVk.h"
#include "libANGLE/renderer/vulkan/ResourceVk.h"
#include "libANGLE/renderer/vulkan/UtilsVk.h"
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/vk_helpers.h"
#include "libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h"
#include "libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h"
@@ -102,7 +106,7 @@ class RendererVk : angle::NonCopyable
}
VkDevice getDevice() const { return mDevice; }
- const VmaAllocator &getAllocator() const { return mAllocator; }
+ const vk::Allocator &getAllocator() const { return mAllocator; }
angle::Result selectPresentQueueForSurface(DisplayVk *displayVk,
VkSurfaceKHR surface,
@@ -189,6 +193,7 @@ class RendererVk : angle::NonCopyable
angle::Result queueSubmitOneOff(vk::Context *context,
vk::PrimaryCommandBuffer &&primary,
egl::ContextPriority priority,
+ const vk::Fence *fence,
Serial *serialOut);
angle::Result newSharedFence(vk::Context *context, vk::Shared<vk::Fence> *sharedFenceOut);
@@ -239,16 +244,20 @@ class RendererVk : angle::NonCopyable
void onCompletedSerial(Serial serial);
- bool shouldCleanupGarbage()
- {
- return (mSharedGarbage.size() > mGarbageCollectionFlushThreshold);
- }
-
bool enableDebugUtils() const { return mEnableDebugUtils; }
SamplerCache &getSamplerCache() { return mSamplerCache; }
vk::ActiveHandleCounter &getActiveHandleCounts() { return mActiveHandleCounts; }
+ // Queue commands to worker thread for processing
+ void queueCommands(const vk::CommandProcessorTask &commands)
+ {
+ mCommandProcessor.queueCommands(commands);
+ }
+ void waitForWorkerThreadIdle() { mCommandProcessor.waitForWorkComplete(); }
+
+ vk::BufferHelper &getNullBuffer() { return mTheNullBuffer; }
+
private:
angle::Result initializeDevice(DisplayVk *displayVk, uint32_t queueFamilyIndex);
void ensureCapsInitialized() const;
@@ -362,12 +371,19 @@ class RendererVk : angle::NonCopyable
};
std::deque<PendingOneOffCommands> mPendingOneOffCommands;
+ // Worker Thread
+ CommandProcessor mCommandProcessor;
+ std::thread mCommandProcessorThread;
+
// track whether we initialized (or released) glslang
bool mGlslangInitialized;
- VmaAllocator mAllocator;
+ vk::Allocator mAllocator;
SamplerCache mSamplerCache;
vk::ActiveHandleCounter mActiveHandleCounts;
+
+ // Vulkan does not allow binding a null vertex buffer. We use a dummy as a placeholder.
+ vk::BufferHelper mTheNullBuffer;
};
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp
index bbe181843eb..df8a73c1fd9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp
@@ -10,6 +10,7 @@
#include "libANGLE/renderer/vulkan/SecondaryCommandBuffer.h"
#include "common/debug.h"
#include "libANGLE/renderer/vulkan/vk_utils.h"
+#include "libANGLE/trace.h"
namespace rx
{
@@ -144,6 +145,7 @@ void SecondaryCommandBuffer::executeQueuedResetQueryPoolCommands(VkCommandBuffer
// Parse the cmds in this cmd buffer into given primary cmd buffer
void SecondaryCommandBuffer::executeCommands(VkCommandBuffer cmdBuffer)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "SecondaryCommandBuffer::executeCommands");
for (const CommandHeader *command : mCommands)
{
for (const CommandHeader *currentCommand = command;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h
index 48c29976a95..8d1d040fa69 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h
@@ -12,7 +12,7 @@
#define LIBANGLE_RENDERER_VULKAN_SECONDARYCOMMANDBUFFERVK_H_
#include "common/PoolAlloc.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/vk_wrapper.h"
namespace rx
@@ -669,6 +669,7 @@ class SecondaryCommandBuffer final : angle::NonCopyable
void initialize(angle::PoolAllocator *allocator)
{
ASSERT(allocator);
+ ASSERT(mCommands.empty());
mAllocator = allocator;
allocateNewBlock();
// Set first command to Invalid to start
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.cpp
index 1d0d606963c..60467ea9a94 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.cpp
@@ -140,13 +140,16 @@ angle::Result SemaphoreVk::wait(gl::Context *context,
vk::CommandBuffer *commandBuffer;
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
+ // Image should not be accessed while unowned.
+ ASSERT(!textureVk->getImage().hasStagedUpdates());
+
// Queue ownership transfer and layout transition.
image.acquireFromExternal(contextVk, VK_QUEUE_FAMILY_EXTERNAL, rendererQueueFamilyIndex,
layout, commandBuffer);
}
}
- contextVk->insertWaitSemaphore(&mSemaphore);
+ contextVk->addWaitSemaphore(mSemaphore.getHandle(), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
return angle::Result::Continue;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
index f56d3e3f1b9..4692b2426b9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
@@ -864,6 +864,7 @@ angle::Result WindowSurfaceVk::createSwapChain(vk::Context *context,
// We need transfer src for reading back from the backbuffer.
VkImageUsageFlags imageUsageFlags = kSurfaceVKColorImageUsageFlags;
+#if ANGLE_ENABLE_OVERLAY
// We need storage image for compute writes (debug overlay output).
VkFormatFeatureFlags featureBits =
renderer->getImageFormatFeatureBits(nativeFormat, VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT);
@@ -871,6 +872,7 @@ angle::Result WindowSurfaceVk::createSwapChain(vk::Context *context,
{
imageUsageFlags |= VK_IMAGE_USAGE_STORAGE_BIT;
}
+#endif
VkSwapchainCreateInfoKHR swapchainInfo = {};
swapchainInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
@@ -896,7 +898,9 @@ angle::Result WindowSurfaceVk::createSwapChain(vk::Context *context,
// TODO(syoussefi): Once EGL_SWAP_BEHAVIOR_PRESERVED_BIT is supported, the contents of the old
// swapchain need to carry over to the new one. http://anglebug.com/2942
- ANGLE_VK_TRY(context, vkCreateSwapchainKHR(device, &swapchainInfo, nullptr, &mSwapchain));
+ VkSwapchainKHR newSwapChain = VK_NULL_HANDLE;
+ ANGLE_VK_TRY(context, vkCreateSwapchainKHR(device, &swapchainInfo, nullptr, &newSwapChain));
+ mSwapchain = newSwapChain;
mSwapchainPresentMode = mDesiredSwapchainPresentMode;
// Intialize the swapchain image views.
@@ -1631,6 +1635,8 @@ void WindowSurfaceVk::updateOverlay(ContextVk *contextVk) const
overlay->getCountWidget(gl::WidgetId::VulkanValidationMessageCount)
->add(validationMessageCount);
}
+
+ contextVk->updateOverlayOnPresent();
}
ANGLE_INLINE bool WindowSurfaceVk::overlayHasEnabledWidget(ContextVk *contextVk) const
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.h
index eb004fbf0f1..79b50639ec1 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.h
@@ -10,9 +10,9 @@
#ifndef LIBANGLE_RENDERER_VULKAN_SURFACEVK_H_
#define LIBANGLE_RENDERER_VULKAN_SURFACEVK_H_
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/renderer/SurfaceImpl.h"
#include "libANGLE/renderer/vulkan/RenderTargetVk.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/vk_helpers.h"
namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.cpp
index 9240be033b8..45a4a28550f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.cpp
@@ -15,6 +15,12 @@
#include "libANGLE/renderer/vulkan/ContextVk.h"
#include "libANGLE/renderer/vulkan/DisplayVk.h"
+#if !defined(ANGLE_PLATFORM_WINDOWS)
+# include <unistd.h>
+#else
+# include <io.h>
+#endif
+
namespace rx
{
namespace vk
@@ -121,61 +127,57 @@ angle::Result SyncHelper::getStatus(Context *context, bool *signaled) const
return angle::Result::Continue;
}
+SyncHelperNativeFence::SyncHelperNativeFence() : mNativeFenceFd(kInvalidFenceFd) {}
+
+SyncHelperNativeFence::~SyncHelperNativeFence()
+{
+ if (mNativeFenceFd != kInvalidFenceFd)
+ {
+ close(mNativeFenceFd);
+ }
+}
+
void SyncHelperNativeFence::releaseToRenderer(RendererVk *renderer)
{
renderer->collectGarbageAndReinit(&mUse, &mFenceWithFd);
}
-// Note: Having mFenceWithFd hold the FD, so that ownership is with ICD. Any call to clientWait
+// Note: Having mFenceWithFd hold the FD, so that ownership is with ICD. Meanwhile store a dup
+// of FD in SyncHelperNativeFence for further reference, i.e. dup of FD. Any call to clientWait
// or serverWait will ensure the FD or dup of FD goes to application or ICD. At release, above
// it's Garbage collected/destroyed. Otherwise can't time when to close(fd);
angle::Result SyncHelperNativeFence::initializeWithFd(ContextVk *contextVk, int inFd)
{
+ ASSERT(inFd >= kInvalidFenceFd);
+
RendererVk *renderer = contextVk->getRenderer();
VkDevice device = renderer->getDevice();
+ DeviceScoped<vk::Fence> fence(device);
+
+ VkExportFenceCreateInfo exportCreateInfo = {};
+ exportCreateInfo.sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
+ exportCreateInfo.pNext = nullptr;
+ exportCreateInfo.handleTypes = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
+
// Create fenceInfo base.
VkFenceCreateInfo fenceCreateInfo = {};
fenceCreateInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
fenceCreateInfo.flags = 0;
+ fenceCreateInfo.pNext = &exportCreateInfo;
+ // Initialize/create a VkFence handle
+ ANGLE_VK_TRY(contextVk, fence.get().init(device, fenceCreateInfo));
+
+ int importFenceFd = kInvalidFenceFd;
// If valid FD provided by application - import it to fence.
if (inFd > kInvalidFenceFd)
{
- // Initialize/create a VkFence handle
- ANGLE_VK_TRY(contextVk, mFenceWithFd.init(device, fenceCreateInfo));
-
- // Import FD - after creating fence.
- VkImportFenceFdInfoKHR importFenceFdInfo = {};
- importFenceFdInfo.sType = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
- importFenceFdInfo.pNext = nullptr;
- importFenceFdInfo.fence = mFenceWithFd.getHandle();
- importFenceFdInfo.flags = VK_FENCE_IMPORT_TEMPORARY_BIT_KHR;
- importFenceFdInfo.handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
- importFenceFdInfo.fd = inFd;
-
- VkResult result = mFenceWithFd.importFd(device, importFenceFdInfo);
- if (result != VK_SUCCESS)
- {
- mFenceWithFd.destroy(device);
- ANGLE_VK_TRY(contextVk, result);
- }
- retain(&contextVk->getResourceUseList());
- return angle::Result::Continue;
+ importFenceFd = inFd;
}
-
// If invalid FD provided by application - create one with fence.
- if (inFd == kInvalidFenceFd)
+ else
{
- // Attach export FD-handleType, pNext struct, to indicate we may want to export FD.
- VkExportFenceCreateInfo exportCreateInfo = {};
- exportCreateInfo.sType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
- exportCreateInfo.handleTypes = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
- fenceCreateInfo.pNext = &exportCreateInfo;
-
- // Initialize/create a VkFence handle
- ANGLE_VK_TRY(contextVk, mFenceWithFd.init(device, fenceCreateInfo));
-
/*
Spec: "When a fence sync object is created or when an EGL native fence sync
object is created with the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute set to
@@ -191,16 +193,37 @@ angle::Result SyncHelperNativeFence::initializeWithFd(ContextVk *contextVk, int
Serial serialOut;
VkSubmitInfo submitInfo = {};
submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
- if (renderer->queueSubmit(contextVk, contextVk->getPriority(), submitInfo, &mFenceWithFd,
- &serialOut) != angle::Result::Continue)
- {
- mFenceWithFd.destroy(device);
- return angle::Result::Stop;
- }
- return angle::Result::Continue;
+ ANGLE_TRY(renderer->queueSubmit(contextVk, contextVk->getPriority(), submitInfo,
+ &fence.get(), &serialOut));
+
+ VkFenceGetFdInfoKHR fenceGetFdInfo = {};
+ fenceGetFdInfo.sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
+ fenceGetFdInfo.fence = fence.get().getHandle();
+ fenceGetFdInfo.handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
+ ANGLE_VK_TRY(contextVk, fence.get().exportFd(device, fenceGetFdInfo, &importFenceFd));
}
- // Should not get here
- return angle::Result::Stop;
+
+ // Spec: Importing a fence payload from a file descriptor transfers ownership of the file
+ // descriptor from the application to the Vulkan implementation. The application must not
+ // perform any operations on the file descriptor after a successful import.
+
+ // Make a dup of importFenceFd before tranfering ownership to created fence.
+ mNativeFenceFd = dup(importFenceFd);
+
+ // Import FD - after creating fence.
+ VkImportFenceFdInfoKHR importFenceFdInfo = {};
+ importFenceFdInfo.sType = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
+ importFenceFdInfo.pNext = nullptr;
+ importFenceFdInfo.fence = fence.get().getHandle();
+ importFenceFdInfo.flags = VK_FENCE_IMPORT_TEMPORARY_BIT_KHR;
+ importFenceFdInfo.handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
+ importFenceFdInfo.fd = importFenceFd;
+
+ ANGLE_VK_TRY(contextVk, fence.get().importFd(device, importFenceFdInfo));
+ mFenceWithFd = fence.release();
+ retain(&contextVk->getResourceUseList());
+
+ return angle::Result::Continue;
}
angle::Result SyncHelperNativeFence::clientWait(Context *context,
@@ -254,14 +277,6 @@ angle::Result SyncHelperNativeFence::serverWait(ContextVk *contextVk)
RendererVk *renderer = contextVk->getRenderer();
VkDevice device = renderer->getDevice();
- // Export an FD from mFenceWithFd
- int fenceFd = kInvalidFenceFd;
- VkFenceGetFdInfoKHR getFdInfo = {};
- getFdInfo.sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
- getFdInfo.fence = mFenceWithFd.getHandle();
- getFdInfo.handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
- ANGLE_VK_TRY(contextVk, mFenceWithFd.exportFd(device, getFdInfo, &fenceFd));
-
DeviceScoped<Semaphore> waitSemaphore(device);
// Wait semaphore for next vkQueueSubmit().
// Create a Semaphore with imported fenceFd.
@@ -272,14 +287,15 @@ angle::Result SyncHelperNativeFence::serverWait(ContextVk *contextVk)
importFdInfo.semaphore = waitSemaphore.get().getHandle();
importFdInfo.flags = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR;
importFdInfo.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
- importFdInfo.fd = fenceFd;
+ importFdInfo.fd = dup(mNativeFenceFd);
ANGLE_VK_TRY(contextVk, waitSemaphore.get().importFd(device, importFdInfo));
// Flush current work, block after current pending commands.
ANGLE_TRY(contextVk->flushImpl(nullptr));
// Add semaphore to next submit job.
- contextVk->insertWaitSemaphore(&waitSemaphore.get());
+ contextVk->addWaitSemaphore(waitSemaphore.get().getHandle(),
+ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
contextVk->addGarbage(&waitSemaphore.get()); // This releases the handle.
return angle::Result::Continue;
}
@@ -297,16 +313,13 @@ angle::Result SyncHelperNativeFence::getStatus(Context *context, bool *signaled)
angle::Result SyncHelperNativeFence::dupNativeFenceFD(Context *context, int *fdOut) const
{
- if (!mFenceWithFd.valid())
+ if (!mFenceWithFd.valid() || mNativeFenceFd == kInvalidFenceFd)
{
return angle::Result::Stop;
}
- VkFenceGetFdInfoKHR fenceGetFdInfo = {};
- fenceGetFdInfo.sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
- fenceGetFdInfo.fence = mFenceWithFd.getHandle();
- fenceGetFdInfo.handleType = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR;
- ANGLE_VK_TRY(context, mFenceWithFd.exportFd(context->getDevice(), fenceGetFdInfo, fdOut));
+ *fdOut = dup(mNativeFenceFd);
+
return angle::Result::Continue;
}
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.h
index 94346d0926c..5976920843d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.h
@@ -64,8 +64,8 @@ class SyncHelper : public vk::Resource
class SyncHelperNativeFence : public SyncHelper
{
public:
- SyncHelperNativeFence() {}
- ~SyncHelperNativeFence() override {}
+ SyncHelperNativeFence();
+ ~SyncHelperNativeFence() override;
void releaseToRenderer(RendererVk *renderer) override;
@@ -81,6 +81,7 @@ class SyncHelperNativeFence : public SyncHelper
private:
vk::Fence mFenceWithFd;
+ int mNativeFenceFd;
};
} // namespace vk
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.cpp
index 389f83ffaa4..0307e9f1986 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.cpp
@@ -42,27 +42,82 @@ constexpr VkFormatFeatureFlags kBlitFeatureFlags =
constexpr angle::SubjectIndex kTextureImageSubjectIndex = 0;
+// Test whether a texture level is within the range of levels for which the current image is
+// allocated. This is used to ensure out-of-range updates are staged in the image, and not
+// attempted to be directly applied.
+bool IsTextureLevelInAllocatedImage(const vk::ImageHelper &image, uint32_t textureLevelIndexGL)
+{
+ uint32_t imageBaseLevel = image.getBaseLevel();
+ if (textureLevelIndexGL < imageBaseLevel)
+ {
+ return false;
+ }
+
+ uint32_t imageLevelIndexVK = textureLevelIndexGL - imageBaseLevel;
+ return imageLevelIndexVK < image.getLevelCount();
+}
+
+// Test whether a redefined texture level is compatible with the currently allocated image. Returns
+// true if the given size and format match the corresponding mip in the allocated image (taking
+// base level into account). This could return false when:
+//
+// - Defining a texture level that is outside the range of the image levels. In this case, changes
+// to this level should remain staged until the texture is redefined to include this level.
+// - Redefining a texture level that is within the range of the image levels, but has a different
+// size or format. In this case too, changes to this level should remain staged as the texture
+// is no longer complete as is.
+bool IsTextureLevelDefinitionCompatibleWithImage(const vk::ImageHelper &image,
+ uint32_t textureLevelIndexGL,
+ const gl::Extents &size,
+ const vk::Format &format)
+{
+ ASSERT(IsTextureLevelInAllocatedImage(image, textureLevelIndexGL));
+
+ uint32_t imageLevelIndexVK = textureLevelIndexGL - image.getBaseLevel();
+ return size == image.getLevelExtents(imageLevelIndexVK) && format == image.getFormat();
+}
+
+ANGLE_INLINE bool FormatHasNecessaryFeature(RendererVk *renderer,
+ VkFormat format,
+ VkImageTiling tilingMode,
+ VkFormatFeatureFlags featureBits)
+{
+ return (tilingMode == VK_IMAGE_TILING_OPTIMAL)
+ ? renderer->hasImageFormatFeatureBits(format, featureBits)
+ : renderer->hasLinearImageFormatFeatureBits(format, featureBits);
+}
+
bool CanCopyWithTransfer(RendererVk *renderer,
const vk::Format &srcFormat,
- const vk::Format &destFormat)
+ VkImageTiling srcTilingMode,
+ const vk::Format &destFormat,
+ VkImageTiling destTilingMode)
{
// NOTE(syoussefi): technically, you can transfer between formats as long as they have the same
// size and are compatible, but for now, let's just support same-format copies with transfer.
- return srcFormat.internalFormat == destFormat.internalFormat &&
- renderer->hasImageFormatFeatureBits(srcFormat.vkImageFormat,
- VK_FORMAT_FEATURE_TRANSFER_SRC_BIT) &&
- renderer->hasImageFormatFeatureBits(destFormat.vkImageFormat,
- VK_FORMAT_FEATURE_TRANSFER_DST_BIT);
+ bool isFormatCompatible = srcFormat.internalFormat == destFormat.internalFormat;
+ bool isTilingCompatible = srcTilingMode == destTilingMode;
+ bool srcFormatHasNecessaryFeature = FormatHasNecessaryFeature(
+ renderer, srcFormat.vkImageFormat, srcTilingMode, VK_FORMAT_FEATURE_TRANSFER_SRC_BIT);
+ bool dstFormatHasNecessaryFeature = FormatHasNecessaryFeature(
+ renderer, destFormat.vkImageFormat, destTilingMode, VK_FORMAT_FEATURE_TRANSFER_DST_BIT);
+
+ return isFormatCompatible && isTilingCompatible && srcFormatHasNecessaryFeature &&
+ dstFormatHasNecessaryFeature;
}
bool CanCopyWithDraw(RendererVk *renderer,
const vk::Format &srcFormat,
- const vk::Format &destFormat)
+ VkImageTiling srcTilingMode,
+ const vk::Format &destFormat,
+ VkImageTiling destTilingMode)
{
- return renderer->hasImageFormatFeatureBits(srcFormat.vkImageFormat,
- VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT) &&
- renderer->hasImageFormatFeatureBits(destFormat.vkImageFormat,
- VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT);
+ bool srcFormatHasNecessaryFeature = FormatHasNecessaryFeature(
+ renderer, srcFormat.vkImageFormat, srcTilingMode, VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT);
+ bool dstFormatHasNecessaryFeature = FormatHasNecessaryFeature(
+ renderer, destFormat.vkImageFormat, destTilingMode, VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT);
+
+ return srcFormatHasNecessaryFeature && dstFormatHasNecessaryFeature;
}
bool ForceCPUPathForCopy(RendererVk *renderer, const vk::ImageHelper &image)
@@ -123,6 +178,7 @@ TextureVk::TextureVk(const gl::TextureState &state, RendererVk *renderer)
mImage(nullptr),
mStagingBufferInitialSize(vk::kStagingBufferSize),
mImageUsageFlags(0),
+ mImageCreateFlags(0),
mImageObserverBinding(this, kTextureImageSubjectIndex)
{}
@@ -222,7 +278,7 @@ angle::Result TextureVk::setImageImpl(const gl::Context *context,
const vk::Format &vkFormat = renderer->getFormat(formatInfo.sizedInternalFormat);
- ANGLE_TRY(redefineImage(context, index, vkFormat, size));
+ ANGLE_TRY(redefineLevel(context, index, vkFormat, size));
// Early-out on empty textures, don't create a zero-sized storage.
if (size.empty())
@@ -230,8 +286,39 @@ angle::Result TextureVk::setImageImpl(const gl::Context *context,
return angle::Result::Continue;
}
- return setSubImageImpl(context, index, gl::Box(0, 0, 0, size.width, size.height, size.depth),
- formatInfo, type, unpack, unpackBuffer, pixels, vkFormat);
+ return setSubImageImpl(context, index, gl::Box(gl::kOffsetZero, size), formatInfo, type, unpack,
+ unpackBuffer, pixels, vkFormat);
+}
+
+bool TextureVk::isFastUnpackPossible(const vk::Format &vkFormat, size_t offset) const
+{
+ // Conditions to determine if fast unpacking is possible
+ // 1. Image must be well defined to unpack directly to it
+ // TODO(http://anglebug.com/4222) Create and stage a temp image instead
+ // 2. Can't perform a fast copy for emulated formats
+ // 3. vkCmdCopyBufferToImage requires byte offset to be a multiple of 4
+ return mImage->valid() && vkFormat.intendedFormatID == vkFormat.actualImageFormatID &&
+ (offset & (kBufferOffsetMultiple - 1)) == 0;
+}
+
+bool TextureVk::shouldUpdateBeStaged(uint32_t textureLevelIndexGL) const
+{
+ ASSERT(mImage);
+
+ // If update is outside the range of image levels, it must be staged.
+ if (!IsTextureLevelInAllocatedImage(*mImage, textureLevelIndexGL))
+ {
+ return true;
+ }
+
+ uint32_t imageLevelIndexVK = textureLevelIndexGL - mImage->getBaseLevel();
+
+ // Can't have more than 32 mips for the foreseeable future.
+ ASSERT(imageLevelIndexVK < 32);
+
+ // Otherwise, it can only be directly applied to the image if the level is not previously
+ // incompatibly redefined.
+ return mRedefinedLevels.test(imageLevelIndexVK);
}
angle::Result TextureVk::setSubImageImpl(const gl::Context *context,
@@ -261,7 +348,8 @@ angle::Result TextureVk::setSubImageImpl(const gl::Context *context,
size_t offsetBytes = static_cast<size_t>(offset + inputSkipBytes);
- if (isFastUnpackPossible(vkFormat, offsetBytes))
+ if (!shouldUpdateBeStaged(index.getLevelIndex()) &&
+ isFastUnpackPossible(vkFormat, offsetBytes))
{
GLuint pixelSize = formatInfo.pixelBytes;
GLuint blockWidth = formatInfo.compressedBlockWidth;
@@ -321,7 +409,8 @@ angle::Result TextureVk::copyImage(const gl::Context *context,
gl::GetInternalFormatInfo(internalFormat, GL_UNSIGNED_BYTE);
const vk::Format &vkFormat = renderer->getFormat(internalFormatInfo.sizedInternalFormat);
- ANGLE_TRY(redefineImage(context, index, vkFormat, newImageSize));
+ ANGLE_TRY(redefineLevel(context, index, vkFormat, newImageSize));
+
return copySubImageImpl(context, index, gl::Offset(0, 0, 0), sourceArea, internalFormatInfo,
source);
}
@@ -340,7 +429,7 @@ angle::Result TextureVk::copyTexture(const gl::Context *context,
const gl::ImageIndex &index,
GLenum internalFormat,
GLenum type,
- size_t sourceLevel,
+ size_t sourceLevelGL,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
bool unpackUnmultiplyAlpha,
@@ -350,23 +439,23 @@ angle::Result TextureVk::copyTexture(const gl::Context *context,
TextureVk *sourceVk = vk::GetImpl(source);
const gl::ImageDesc &sourceImageDesc =
- sourceVk->mState.getImageDesc(NonCubeTextureTypeToTarget(source->getType()), sourceLevel);
- gl::Rectangle sourceArea(0, 0, sourceImageDesc.size.width, sourceImageDesc.size.height);
+ sourceVk->mState.getImageDesc(NonCubeTextureTypeToTarget(source->getType()), sourceLevelGL);
+ gl::Box sourceBox(gl::kOffsetZero, sourceImageDesc.size);
const gl::InternalFormat &destFormatInfo = gl::GetInternalFormatInfo(internalFormat, type);
const vk::Format &destVkFormat = renderer->getFormat(destFormatInfo.sizedInternalFormat);
- ANGLE_TRY(redefineImage(context, index, destVkFormat, sourceImageDesc.size));
+ ANGLE_TRY(redefineLevel(context, index, destVkFormat, sourceImageDesc.size));
return copySubTextureImpl(vk::GetImpl(context), index, gl::kOffsetZero, destFormatInfo,
- sourceLevel, sourceArea, unpackFlipY, unpackPremultiplyAlpha,
+ sourceLevelGL, sourceBox, unpackFlipY, unpackPremultiplyAlpha,
unpackUnmultiplyAlpha, sourceVk);
}
angle::Result TextureVk::copySubTexture(const gl::Context *context,
const gl::ImageIndex &index,
const gl::Offset &destOffset,
- size_t sourceLevel,
+ size_t sourceLevelGL,
const gl::Box &sourceBox,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
@@ -376,8 +465,8 @@ angle::Result TextureVk::copySubTexture(const gl::Context *context,
gl::TextureTarget target = index.getTarget();
size_t level = static_cast<size_t>(index.getLevelIndex());
const gl::InternalFormat &destFormatInfo = *mState.getImageDesc(target, level).format.info;
- return copySubTextureImpl(vk::GetImpl(context), index, destOffset, destFormatInfo, sourceLevel,
- sourceBox.toRect(), unpackFlipY, unpackPremultiplyAlpha,
+ return copySubTextureImpl(vk::GetImpl(context), index, destOffset, destFormatInfo,
+ sourceLevelGL, sourceBox, unpackFlipY, unpackPremultiplyAlpha,
unpackUnmultiplyAlpha, vk::GetImpl(source));
}
@@ -388,23 +477,24 @@ angle::Result TextureVk::copyCompressedTexture(const gl::Context *context,
TextureVk *sourceVk = vk::GetImpl(source);
gl::TextureTarget sourceTarget = NonCubeTextureTypeToTarget(source->getType());
- constexpr GLint sourceLevel = 0;
- constexpr GLint destLevel = 0;
+ constexpr GLint sourceLevelGL = 0;
+ constexpr GLint destLevelGL = 0;
- const gl::InternalFormat &internalFormat = *source->getFormat(sourceTarget, sourceLevel).info;
+ const gl::InternalFormat &internalFormat = *source->getFormat(sourceTarget, sourceLevelGL).info;
const vk::Format &vkFormat =
contextVk->getRenderer()->getFormat(internalFormat.sizedInternalFormat);
- const gl::Extents size(static_cast<int>(source->getWidth(sourceTarget, sourceLevel)),
- static_cast<int>(source->getHeight(sourceTarget, sourceLevel)), 1);
- const gl::ImageIndex destIndex = gl::ImageIndex::MakeFromTarget(sourceTarget, destLevel, 1);
+ const gl::Extents size(static_cast<int>(source->getWidth(sourceTarget, sourceLevelGL)),
+ static_cast<int>(source->getHeight(sourceTarget, sourceLevelGL)),
+ static_cast<int>(source->getDepth(sourceTarget, sourceLevelGL)));
+ const gl::ImageIndex destIndex = gl::ImageIndex::MakeFromTarget(sourceTarget, destLevelGL, 1);
- ANGLE_TRY(redefineImage(context, destIndex, vkFormat, size));
+ ANGLE_TRY(redefineLevel(context, destIndex, vkFormat, size));
ANGLE_TRY(sourceVk->ensureImageInitialized(contextVk, ImageMipLevels::EnabledLevels));
- return copySubImageImplWithTransfer(
- contextVk, destIndex, gl::Offset(0, 0, 0), vkFormat, sourceLevel, 0,
- gl::Rectangle(0, 0, size.width, size.height), &sourceVk->getImage());
+ return copySubImageImplWithTransfer(contextVk, destIndex, gl::kOffsetZero, vkFormat,
+ sourceLevelGL, 0, gl::Box(gl::kOffsetZero, size),
+ &sourceVk->getImage());
}
angle::Result TextureVk::copySubImageImpl(const gl::Context *context,
@@ -439,34 +529,41 @@ angle::Result TextureVk::copySubImageImpl(const gl::Context *context,
RenderTargetVk *colorReadRT = framebufferVk->getColorReadRenderTarget();
const vk::Format &srcFormat = colorReadRT->getImageFormat();
+ VkImageTiling srcTilingMode = colorReadRT->getImage().getTilingMode();
const vk::Format &destFormat = renderer->getFormat(internalFormat.sizedInternalFormat);
+ VkImageTiling destTilingMode = getTilingMode();
bool isViewportFlipY = contextVk->isViewportFlipEnabledForReadFBO();
+ gl::Box clippedSourceBox(clippedSourceArea.x, clippedSourceArea.y, colorReadRT->getLayerIndex(),
+ clippedSourceArea.width, clippedSourceArea.height, 1);
+
// If it's possible to perform the copy with a transfer, that's the best option.
- if (!isViewportFlipY && CanCopyWithTransfer(renderer, srcFormat, destFormat))
+ if (!isViewportFlipY &&
+ CanCopyWithTransfer(renderer, srcFormat, srcTilingMode, destFormat, destTilingMode))
{
return copySubImageImplWithTransfer(contextVk, offsetImageIndex, modifiedDestOffset,
destFormat, colorReadRT->getLevelIndex(),
- colorReadRT->getLayerIndex(), clippedSourceArea,
+ colorReadRT->getLayerIndex(), clippedSourceBox,
&colorReadRT->getImage());
}
bool forceCPUPath = ForceCPUPathForCopy(renderer, *mImage);
// If it's possible to perform the copy with a draw call, do that.
- if (CanCopyWithDraw(renderer, srcFormat, destFormat) && !forceCPUPath)
+ if (CanCopyWithDraw(renderer, srcFormat, srcTilingMode, destFormat, destTilingMode) &&
+ !forceCPUPath)
{
// Layer count can only be 1 as the source is a framebuffer.
ASSERT(offsetImageIndex.getLayerCount() == 1);
- const vk::ImageView *readImageView = nullptr;
- ANGLE_TRY(colorReadRT->getImageView(contextVk, &readImageView));
- colorReadRT->retainImageViews(contextVk);
+ const vk::ImageView *copyImageView = nullptr;
+ ANGLE_TRY(colorReadRT->getAndRetainCopyImageView(contextVk, &copyImageView));
return copySubImageImplWithDraw(contextVk, offsetImageIndex, modifiedDestOffset, destFormat,
- 0, clippedSourceArea, isViewportFlipY, false, false, false,
- &colorReadRT->getImage(), readImageView);
+ colorReadRT->getLevelIndex(), clippedSourceBox,
+ isViewportFlipY, false, false, false,
+ &colorReadRT->getImage(), copyImageView);
}
// Do a CPU readback that does the conversion, and then stage the change to the pixel buffer.
@@ -482,8 +579,8 @@ angle::Result TextureVk::copySubTextureImpl(ContextVk *contextVk,
const gl::ImageIndex &index,
const gl::Offset &destOffset,
const gl::InternalFormat &destFormat,
- size_t sourceLevel,
- const gl::Rectangle &sourceArea,
+ size_t sourceLevelGL,
+ const gl::Box &sourceBox,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
bool unpackUnmultiplyAlpha,
@@ -494,30 +591,34 @@ angle::Result TextureVk::copySubTextureImpl(ContextVk *contextVk,
ANGLE_TRY(source->ensureImageInitialized(contextVk, ImageMipLevels::EnabledLevels));
const vk::Format &sourceVkFormat = source->getImage().getFormat();
+ VkImageTiling srcTilingMode = source->getImage().getTilingMode();
const vk::Format &destVkFormat = renderer->getFormat(destFormat.sizedInternalFormat);
+ VkImageTiling destTilingMode = getTilingMode();
const gl::ImageIndex offsetImageIndex = getNativeImageIndex(index);
// If it's possible to perform the copy with a transfer, that's the best option.
if (!unpackFlipY && !unpackPremultiplyAlpha && !unpackUnmultiplyAlpha &&
- CanCopyWithTransfer(renderer, sourceVkFormat, destVkFormat))
+ CanCopyWithTransfer(renderer, sourceVkFormat, srcTilingMode, destVkFormat, destTilingMode))
{
return copySubImageImplWithTransfer(contextVk, offsetImageIndex, destOffset, destVkFormat,
- sourceLevel, 0, sourceArea, &source->getImage());
+ sourceLevelGL, sourceBox.z, sourceBox,
+ &source->getImage());
}
bool forceCPUPath = ForceCPUPathForCopy(renderer, *mImage);
// If it's possible to perform the copy with a draw call, do that.
- if (CanCopyWithDraw(renderer, sourceVkFormat, destVkFormat) && !forceCPUPath)
+ if (CanCopyWithDraw(renderer, sourceVkFormat, srcTilingMode, destVkFormat, destTilingMode) &&
+ !forceCPUPath)
{
return copySubImageImplWithDraw(
- contextVk, offsetImageIndex, destOffset, destVkFormat, sourceLevel, sourceArea, false,
+ contextVk, offsetImageIndex, destOffset, destVkFormat, sourceLevelGL, sourceBox, false,
unpackFlipY, unpackPremultiplyAlpha, unpackUnmultiplyAlpha, &source->getImage(),
- &source->getFetchImageViewAndRecordUse(contextVk));
+ &source->getCopyImageViewAndRecordUse(contextVk));
}
- if (sourceLevel != 0)
+ if (sourceLevelGL != 0)
{
WARN() << "glCopyTextureCHROMIUM with sourceLevel != 0 not implemented.";
return angle::Result::Stop;
@@ -525,24 +626,47 @@ angle::Result TextureVk::copySubTextureImpl(ContextVk *contextVk,
// Read back the requested region of the source texture
uint8_t *sourceData = nullptr;
- gl::Box area(0, 0, 0, sourceArea.width, sourceArea.height, 1);
- ANGLE_TRY(
- source->copyImageDataToBufferAndGetData(contextVk, sourceLevel, 1, area, &sourceData));
+ ANGLE_TRY(source->copyImageDataToBufferAndGetData(contextVk, sourceLevelGL, sourceBox.depth,
+ sourceBox, &sourceData));
const angle::Format &sourceTextureFormat = sourceVkFormat.actualImageFormat();
const angle::Format &destTextureFormat = destVkFormat.actualImageFormat();
size_t destinationAllocationSize =
- sourceArea.width * sourceArea.height * destTextureFormat.pixelBytes;
+ sourceBox.width * sourceBox.height * sourceBox.depth * destTextureFormat.pixelBytes;
// Allocate memory in the destination texture for the copy/conversion
+ uint32_t stagingBaseLayer =
+ offsetImageIndex.hasLayer() ? offsetImageIndex.getLayerIndex() : destOffset.z;
+ uint32_t stagingLayerCount = sourceBox.depth;
+ gl::Offset stagingOffset = destOffset;
+ gl::Extents stagingExtents(sourceBox.width, sourceBox.height, sourceBox.depth);
+ bool is3D = gl_vk::GetImageType(mState.getType()) == VK_IMAGE_TYPE_3D;
+
+ if (is3D)
+ {
+ stagingBaseLayer = 0;
+ stagingLayerCount = 1;
+ }
+ else
+ {
+ stagingOffset.z = 0;
+ stagingExtents.depth = 1;
+ }
+
+ const gl::ImageIndex stagingIndex = gl::ImageIndex::Make2DArrayRange(
+ offsetImageIndex.getLevelIndex(), stagingBaseLayer, stagingLayerCount);
+
uint8_t *destData = nullptr;
- ANGLE_TRY(mImage->stageSubresourceUpdateAndGetData(
- contextVk, destinationAllocationSize, offsetImageIndex,
- gl::Extents(sourceArea.width, sourceArea.height, 1), destOffset, &destData));
+ ANGLE_TRY(mImage->stageSubresourceUpdateAndGetData(contextVk, destinationAllocationSize,
+ stagingIndex, stagingExtents, stagingOffset,
+ &destData));
// Source and dest data is tightly packed
- GLuint sourceDataRowPitch = sourceArea.width * sourceTextureFormat.pixelBytes;
- GLuint destDataRowPitch = sourceArea.width * destTextureFormat.pixelBytes;
+ GLuint sourceDataRowPitch = sourceBox.width * sourceTextureFormat.pixelBytes;
+ GLuint destDataRowPitch = sourceBox.width * destTextureFormat.pixelBytes;
+
+ GLuint sourceDataDepthPitch = sourceDataRowPitch * sourceBox.height;
+ GLuint destDataDepthPitch = destDataRowPitch * sourceBox.height;
rx::PixelReadFunction pixelReadFunction = sourceTextureFormat.pixelReadFunction;
rx::PixelWriteFunction pixelWriteFunction = destTextureFormat.pixelWriteFunction;
@@ -559,10 +683,11 @@ angle::Result TextureVk::copySubTextureImpl(ContextVk *contextVk,
pixelWriteFunction = destVkFormat.intendedFormat().pixelWriteFunction;
}
- CopyImageCHROMIUM(sourceData, sourceDataRowPitch, sourceTextureFormat.pixelBytes, 0,
- pixelReadFunction, destData, destDataRowPitch, destTextureFormat.pixelBytes,
- 0, pixelWriteFunction, destFormat.format, destFormat.componentType,
- sourceArea.width, sourceArea.height, 1, unpackFlipY, unpackPremultiplyAlpha,
+ CopyImageCHROMIUM(sourceData, sourceDataRowPitch, sourceTextureFormat.pixelBytes,
+ sourceDataDepthPitch, pixelReadFunction, destData, destDataRowPitch,
+ destTextureFormat.pixelBytes, destDataDepthPitch, pixelWriteFunction,
+ destFormat.format, destFormat.componentType, sourceBox.width,
+ sourceBox.height, sourceBox.depth, unpackFlipY, unpackPremultiplyAlpha,
unpackUnmultiplyAlpha);
return angle::Result::Continue;
@@ -572,18 +697,22 @@ angle::Result TextureVk::copySubImageImplWithTransfer(ContextVk *contextVk,
const gl::ImageIndex &index,
const gl::Offset &destOffset,
const vk::Format &destFormat,
- size_t sourceLevel,
+ size_t sourceLevelGL,
size_t sourceLayer,
- const gl::Rectangle &sourceArea,
+ const gl::Box &sourceBox,
vk::ImageHelper *srcImage)
{
RendererVk *renderer = contextVk->getRenderer();
- uint32_t level = index.getLevelIndex();
- uint32_t baseLayer = index.hasLayer() ? index.getLayerIndex() : 0;
- uint32_t layerCount = index.getLayerCount();
- gl::Offset srcOffset = {sourceArea.x, sourceArea.y, 0};
- gl::Extents extents = {sourceArea.width, sourceArea.height, 1};
+ uint32_t level = index.getLevelIndex();
+ uint32_t baseLayer = index.hasLayer() ? index.getLayerIndex() : destOffset.z;
+ uint32_t layerCount = sourceBox.depth;
+
+ ASSERT(layerCount == static_cast<uint32_t>(gl::ImageIndex::kEntireLevel) ||
+ layerCount == static_cast<uint32_t>(sourceBox.depth));
+
+ gl::Offset srcOffset = {sourceBox.x, sourceBox.y, sourceBox.z};
+ gl::Extents extents = {sourceBox.width, sourceBox.height, sourceBox.depth};
// Change source layout if necessary
ANGLE_TRY(
@@ -591,18 +720,36 @@ angle::Result TextureVk::copySubImageImplWithTransfer(ContextVk *contextVk,
VkImageSubresourceLayers srcSubresource = {};
srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
- srcSubresource.mipLevel = static_cast<uint32_t>(sourceLevel);
- srcSubresource.baseArrayLayer = static_cast<uint32_t>(sourceLayer);
- srcSubresource.layerCount = layerCount;
+ srcSubresource.mipLevel = static_cast<uint32_t>(sourceLevelGL) - srcImage->getBaseLevel();
+ srcSubresource.baseArrayLayer = static_cast<uint32_t>(sourceLayer);
+ srcSubresource.layerCount = layerCount;
- if (srcImage->getExtents().depth > 1)
+ bool isSrc3D = srcImage->getExtents().depth > 1;
+ bool isDest3D = gl_vk::GetImageType(mState.getType()) == VK_IMAGE_TYPE_3D;
+
+ if (isSrc3D)
{
- srcOffset.z = srcSubresource.baseArrayLayer;
Set3DBaseArrayLayerAndLayerCount(&srcSubresource);
}
+ else
+ {
+ ASSERT(srcSubresource.baseArrayLayer == static_cast<uint32_t>(srcOffset.z));
+ srcOffset.z = 0;
+ }
+
+ gl::Offset destOffsetModified = destOffset;
+ if (!isDest3D)
+ {
+ // If destination is not 3D, destination offset must be 0.
+ destOffsetModified.z = 0;
+ }
+
+ // Perform self-copies through a staging buffer.
+ // TODO: optimize to copy directly if possible. http://anglebug.com/4719
+ bool isSelfCopy = mImage == srcImage;
// If destination is valid, copy the source directly into it.
- if (mImage->valid())
+ if (mImage->valid() && !shouldUpdateBeStaged(level) && !isSelfCopy)
{
// Make sure any updates to the image are already flushed.
ANGLE_TRY(ensureImageInitialized(contextVk, ImageMipLevels::EnabledLevels));
@@ -615,15 +762,21 @@ angle::Result TextureVk::copySubImageImplWithTransfer(ContextVk *contextVk,
VkImageSubresourceLayers destSubresource = srcSubresource;
destSubresource.mipLevel = level;
destSubresource.baseArrayLayer = baseLayer;
+ destSubresource.layerCount = layerCount;
- VkImageType imageType = gl_vk::GetImageType(mState.getType());
- if (imageType == VK_IMAGE_TYPE_3D)
+ if (isDest3D)
{
Set3DBaseArrayLayerAndLayerCount(&destSubresource);
}
+ else if (!isSrc3D)
+ {
+ // extents.depth should be set to layer count if any of the source or destination is a
+ // 2D Array. If both are 2D Array, it should be set to 1.
+ extents.depth = 1;
+ }
- vk::ImageHelper::Copy(srcImage, mImage, srcOffset, destOffset, extents, srcSubresource,
- destSubresource, commandBuffer);
+ vk::ImageHelper::Copy(srcImage, mImage, srcOffset, destOffsetModified, extents,
+ srcSubresource, destSubresource, commandBuffer);
}
else
{
@@ -633,7 +786,7 @@ angle::Result TextureVk::copySubImageImplWithTransfer(ContextVk *contextVk,
stagingImage = std::make_unique<vk::ImageHelper>();
ANGLE_TRY(stagingImage->init2DStaging(contextVk, renderer->getMemoryProperties(),
- gl::Extents(sourceArea.width, sourceArea.height, 1),
+ gl::Extents(sourceBox.width, sourceBox.height, 1),
destFormat, kTransferStagingImageFlags, layerCount));
vk::CommandBuffer *commandBuffer;
@@ -644,14 +797,24 @@ angle::Result TextureVk::copySubImageImplWithTransfer(ContextVk *contextVk,
VkImageSubresourceLayers destSubresource = srcSubresource;
destSubresource.mipLevel = 0;
destSubresource.baseArrayLayer = 0;
+ destSubresource.layerCount = layerCount;
+
+ if (!isSrc3D)
+ {
+ // extents.depth should be set to layer count if any of the source or destination is a
+ // 2D Array. If both are 2D Array, it should be set to 1.
+ extents.depth = 1;
+ }
- vk::ImageHelper::Copy(srcImage, stagingImage.get(), srcOffset, gl::Offset(), extents,
+ vk::ImageHelper::Copy(srcImage, stagingImage.get(), srcOffset, gl::kOffsetZero, extents,
srcSubresource, destSubresource, commandBuffer);
// Stage the copy for when the image storage is actually created.
VkImageType imageType = gl_vk::GetImageType(mState.getType());
- mImage->stageSubresourceUpdateFromImage(stagingImage.release(), index, destOffset, extents,
- imageType);
+ const gl::ImageIndex stagingIndex =
+ gl::ImageIndex::Make2DArrayRange(level, baseLayer, layerCount);
+ mImage->stageSubresourceUpdateFromImage(stagingImage.release(), stagingIndex,
+ destOffsetModified, extents, imageType);
}
return angle::Result::Continue;
@@ -661,8 +824,8 @@ angle::Result TextureVk::copySubImageImplWithDraw(ContextVk *contextVk,
const gl::ImageIndex &index,
const gl::Offset &destOffset,
const vk::Format &destFormat,
- size_t sourceLevel,
- const gl::Rectangle &sourceArea,
+ size_t sourceLevelGL,
+ const gl::Box &sourceBox,
bool isSrcFlipY,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
@@ -674,13 +837,13 @@ angle::Result TextureVk::copySubImageImplWithDraw(ContextVk *contextVk,
UtilsVk &utilsVk = contextVk->getUtils();
UtilsVk::CopyImageParameters params;
- params.srcOffset[0] = sourceArea.x;
- params.srcOffset[1] = sourceArea.y;
- params.srcExtents[0] = sourceArea.width;
- params.srcExtents[1] = sourceArea.height;
+ params.srcOffset[0] = sourceBox.x;
+ params.srcOffset[1] = sourceBox.y;
+ params.srcExtents[0] = sourceBox.width;
+ params.srcExtents[1] = sourceBox.height;
params.destOffset[0] = destOffset.x;
params.destOffset[1] = destOffset.y;
- params.srcMip = static_cast<uint32_t>(sourceLevel);
+ params.srcMip = static_cast<uint32_t>(sourceLevelGL) - srcImage->getBaseLevel();
params.srcHeight = srcImage->getExtents().height;
params.srcPremultiplyAlpha = unpackPremultiplyAlpha && !unpackUnmultiplyAlpha;
params.srcUnmultiplyAlpha = unpackUnmultiplyAlpha && !unpackPremultiplyAlpha;
@@ -688,18 +851,30 @@ angle::Result TextureVk::copySubImageImplWithDraw(ContextVk *contextVk,
params.destFlipY = unpackFlipY;
uint32_t level = index.getLevelIndex();
- uint32_t baseLayer = index.hasLayer() ? index.getLayerIndex() : 0;
- uint32_t layerCount = index.getLayerCount();
+ uint32_t baseLayer = index.hasLayer() ? index.getLayerIndex() : destOffset.z;
+ uint32_t layerCount = sourceBox.depth;
+
+ ASSERT(layerCount == static_cast<uint32_t>(gl::ImageIndex::kEntireLevel) ||
+ layerCount == static_cast<uint32_t>(sourceBox.depth));
+
+ gl::Extents extents = {sourceBox.width, sourceBox.height, sourceBox.depth};
+
+ bool isSrc3D = srcImage->getExtents().depth > 1;
+ bool isDest3D = gl_vk::GetImageType(mState.getType()) == VK_IMAGE_TYPE_3D;
+
+ // Perform self-copies through a staging buffer.
+ // TODO: optimize to copy directly if possible. http://anglebug.com/4719
+ bool isSelfCopy = mImage == srcImage;
// If destination is valid, copy the source directly into it.
- if (mImage->valid())
+ if (mImage->valid() && !shouldUpdateBeStaged(level) && !isSelfCopy)
{
// Make sure any updates to the image are already flushed.
ANGLE_TRY(ensureImageInitialized(contextVk, ImageMipLevels::EnabledLevels));
for (uint32_t layerIndex = 0; layerIndex < layerCount; ++layerIndex)
{
- params.srcLayer = layerIndex;
+ params.srcLayer = layerIndex + sourceBox.z;
const vk::ImageView *destView;
ANGLE_TRY(getLevelLayerImageView(contextVk, level, baseLayer + layerIndex, &destView));
@@ -718,7 +893,7 @@ angle::Result TextureVk::copySubImageImplWithDraw(ContextVk *contextVk,
stagingImage = std::make_unique<vk::ImageHelper>();
ANGLE_TRY(stagingImage->init2DStaging(contextVk, renderer->getMemoryProperties(),
- gl::Extents(sourceArea.width, sourceArea.height, 1),
+ gl::Extents(sourceBox.width, sourceBox.height, 1),
destFormat, kDrawStagingImageFlags, layerCount));
params.destOffset[0] = 0;
@@ -726,7 +901,7 @@ angle::Result TextureVk::copySubImageImplWithDraw(ContextVk *contextVk,
for (uint32_t layerIndex = 0; layerIndex < layerCount; ++layerIndex)
{
- params.srcLayer = layerIndex;
+ params.srcLayer = layerIndex + sourceBox.z;
// Create a temporary view for this layer.
vk::ImageView stagingView;
@@ -742,11 +917,26 @@ angle::Result TextureVk::copySubImageImplWithDraw(ContextVk *contextVk,
contextVk->addGarbage(&stagingView);
}
+ if (!isSrc3D)
+ {
+ // extents.depth should be set to layer count if any of the source or destination is a
+ // 2D Array. If both are 2D Array, it should be set to 1.
+ extents.depth = 1;
+ }
+
+ gl::Offset destOffsetModified = destOffset;
+ if (!isDest3D)
+ {
+ // If destination is not 3D, destination offset must be 0.
+ destOffsetModified.z = 0;
+ }
+
// Stage the copy for when the image storage is actually created.
VkImageType imageType = gl_vk::GetImageType(mState.getType());
- mImage->stageSubresourceUpdateFromImage(stagingImage.release(), index, destOffset,
- gl::Extents(sourceArea.width, sourceArea.height, 1),
- imageType);
+ const gl::ImageIndex stagingIndex =
+ gl::ImageIndex::Make2DArrayRange(level, baseLayer, layerCount);
+ mImage->stageSubresourceUpdateFromImage(stagingImage.release(), stagingIndex,
+ destOffsetModified, extents, imageType);
}
return angle::Result::Continue;
@@ -895,6 +1085,7 @@ void TextureVk::releaseAndDeleteImage(ContextVk *contextVk)
mImageObserverBinding.bind(nullptr);
SafeDelete(mImage);
}
+ mRedefinedLevels.reset();
}
angle::Result TextureVk::ensureImageAllocated(ContextVk *contextVk, const vk::Format &format)
@@ -905,7 +1096,12 @@ angle::Result TextureVk::ensureImageAllocated(ContextVk *contextVk, const vk::Fo
}
else
{
- updateImageHelper(contextVk, format);
+ // Note: one possible path here is when an image level is being redefined to a different
+ // format. In that case, staged updates with the new format should succeed, but otherwise
+ // the format should not affect the currently allocated image. The following function only
+ // takes the alignment requirement to make sure the format is not accidentally used for any
+ // other purpose.
+ updateImageHelper(contextVk, format.getImageCopyBufferAlignment());
}
mImageUsageFlags = VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
@@ -944,8 +1140,7 @@ void TextureVk::setImageHelper(ContextVk *contextVk,
mImageLevelOffset = imageLevelOffset;
mImageLayerOffset = imageLayerOffset;
mImage = imageHelper;
- mImage->initStagingBuffer(contextVk->getRenderer(), format, vk::kStagingBufferFlags,
- mStagingBufferInitialSize);
+ updateImageHelper(contextVk, format.getImageCopyBufferAlignment());
// Force re-creation of render targets next time they are needed
for (RenderTargetVector &renderTargetLevels : mRenderTargets)
@@ -957,14 +1152,14 @@ void TextureVk::setImageHelper(ContextVk *contextVk,
mSerial = contextVk->generateTextureSerial();
}
-void TextureVk::updateImageHelper(ContextVk *contextVk, const vk::Format &format)
+void TextureVk::updateImageHelper(ContextVk *contextVk, size_t imageCopyBufferAlignment)
{
ASSERT(mImage != nullptr);
- mImage->initStagingBuffer(contextVk->getRenderer(), format, vk::kStagingBufferFlags,
- mStagingBufferInitialSize);
+ mImage->initStagingBuffer(contextVk->getRenderer(), imageCopyBufferAlignment,
+ vk::kStagingBufferFlags, mStagingBufferInitialSize);
}
-angle::Result TextureVk::redefineImage(const gl::Context *context,
+angle::Result TextureVk::redefineLevel(const gl::Context *context,
const gl::ImageIndex &index,
const vk::Format &format,
const gl::Extents &size)
@@ -980,22 +1175,63 @@ angle::Result TextureVk::redefineImage(const gl::Context *context,
{
// If there is any staged changes for this index, we can remove them since we're going to
// override them with this call.
- uint32_t levelIndex = index.getLevelIndex();
- uint32_t layerIndex = index.hasLayer() ? index.getLayerIndex() : 0;
- mImage->removeStagedUpdates(contextVk, levelIndex, layerIndex);
+ uint32_t levelIndexGL = index.getLevelIndex();
+ uint32_t layerIndex = index.hasLayer() ? index.getLayerIndex() : 0;
+ mImage->removeSingleSubresourceStagedUpdates(contextVk, levelIndexGL, layerIndex);
if (mImage->valid())
{
- // Calculate the expected size for the index we are defining. If the size is different
- // from the given size, or the format is different, we are redefining the image so we
- // must release it.
- if (mImage->getFormat() != format || size != mImage->getSize(index))
+ // If the level that's being redefined is outside the level range of the allocated
+ // image, the application is free to use any size or format. Any data uploaded to it
+ // will live in staging area until the texture base/max level is adjusted to include
+ // this level, at which point the image will be recreated.
+ //
+ // Otherwise, if the level that's being redefined has a different format or size,
+ // only release the image if it's single-mip, and keep the uploaded data staged.
+ // Otherwise the image is mip-incomplete anyway and will be eventually recreated when
+ // needed. Only exception to this latter is if all the levels of the texture are
+ // redefined such that the image becomes mip-complete in the end.
+ // mRedefinedLevels is used during syncState to support this use-case.
+ //
+ // Note that if the image has multiple mips, there could be a copy from one mip
+ // happening to the other, which means the image cannot be released.
+ //
+ // In summary:
+ //
+ // - If the image has a single level, and that level is being redefined, release the
+ // image.
+ // - Otherwise keep the image intact (another mip may be the source of a copy), and
+ // make sure any updates to this level are staged.
+ bool isInAllocatedImage = IsTextureLevelInAllocatedImage(*mImage, levelIndexGL);
+ bool isCompatibleRedefinition =
+ isInAllocatedImage &&
+ IsTextureLevelDefinitionCompatibleWithImage(*mImage, levelIndexGL, size, format);
+
+ // Mark the level as incompatibly redefined if that's the case. Note that if the level
+ // was previously incompatibly defined, then later redefined to be compatible, the
+ // corresponding bit should clear.
+ if (isInAllocatedImage)
+ {
+ mRedefinedLevels.set(levelIndexGL - mImage->getBaseLevel(),
+ !isCompatibleRedefinition);
+ }
+
+ bool isUpdateToSingleLevelImage =
+ mImage->getLevelCount() == 1 && mImage->getBaseLevel() == levelIndexGL;
+
+ // If incompatible, and redefining the single-level image, release it so it can be
+ // recreated immediately. This is an optimization to avoid an extra copy.
+ if (!isCompatibleRedefinition && isUpdateToSingleLevelImage)
{
releaseImage(contextVk);
}
}
}
+ // If image is not released due to an out-of-range or incompatible level definition, the image
+ // is still valid and we shouldn't redefine it to use the new format. In that case,
+ // ensureImageAllocated will only use the format to update the staging buffer's alignment to
+ // support both the previous and the new formats.
if (!size.empty())
{
ANGLE_TRY(ensureImageAllocated(contextVk, format));
@@ -1005,7 +1241,7 @@ angle::Result TextureVk::redefineImage(const gl::Context *context,
}
angle::Result TextureVk::copyImageDataToBufferAndGetData(ContextVk *contextVk,
- size_t sourceLevel,
+ size_t sourceLevelGL,
uint32_t layerCount,
const gl::Box &sourceArea,
uint8_t **outDataPtr)
@@ -1019,9 +1255,21 @@ angle::Result TextureVk::copyImageDataToBufferAndGetData(ContextVk *contextVk,
vk::StagingBufferOffsetArray sourceCopyOffsets = {0, 0};
size_t bufferSize = 0;
- ANGLE_TRY(mImage->copyImageDataToBuffer(contextVk, sourceLevel, layerCount, 0, sourceArea,
- &copyBuffer, &bufferSize, &sourceCopyOffsets,
- outDataPtr));
+ gl::Box modifiedSourceArea = sourceArea;
+
+ bool is3D = mImage->getExtents().depth > 1;
+ if (is3D)
+ {
+ layerCount = 1;
+ }
+ else
+ {
+ modifiedSourceArea.depth = 1;
+ }
+
+ ANGLE_TRY(mImage->copyImageDataToBuffer(contextVk, sourceLevelGL, layerCount, 0,
+ modifiedSourceArea, &copyBuffer, &bufferSize,
+ &sourceCopyOffsets, outDataPtr));
// Explicitly finish. If new use cases arise where we don't want to block we can change this.
ANGLE_TRY(contextVk->finishImpl());
@@ -1117,67 +1365,24 @@ angle::Result TextureVk::generateMipmapsWithCPU(const gl::Context *context)
vk::CommandBuffer *commandBuffer = nullptr;
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
return mImage->flushStagedUpdates(contextVk, getNativeImageLevel(0), mImage->getLevelCount(),
- getNativeImageLayer(0), mImage->getLayerCount(),
+ getNativeImageLayer(0), mImage->getLayerCount(), {},
commandBuffer);
}
angle::Result TextureVk::generateMipmap(const gl::Context *context)
{
- ContextVk *contextVk = vk::GetImpl(context);
- RendererVk *renderer = contextVk->getRenderer();
- bool needRedefineImage = true;
-
- const gl::ImageDesc &baseLevelDesc = mState.getBaseLevelDesc();
-
- // Some data is pending, or the image has not been defined at all yet
- if (!mImage->valid())
- {
- // Let's initialize the image so we can generate the next levels.
- if (mImage->hasStagedUpdates())
- {
- ANGLE_TRY(ensureImageInitialized(contextVk, ImageMipLevels::FullMipChain));
- ASSERT(mImage->valid());
- needRedefineImage = false;
- }
- else
- {
- // There is nothing to generate if there is nothing uploaded so far.
- return angle::Result::Continue;
- }
- }
-
- // Check whether the image is already full mipmap
- if (mImage->getLevelCount() == getMipLevelCount(ImageMipLevels::FullMipChain) &&
- mImage->getBaseLevel() == mState.getEffectiveBaseLevel())
- {
- needRedefineImage = false;
- }
-
- if (needRedefineImage)
- {
- // Flush update if needed.
- if (mImage->hasStagedUpdates())
- {
- vk::CommandBuffer *commandBuffer = nullptr;
- mImage->retain(&contextVk->getResourceUseList());
- ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
- ANGLE_TRY(mImage->flushStagedUpdates(contextVk, getNativeImageLevel(0),
- mImage->getLevelCount(), getNativeImageLayer(0),
- mImage->getLayerCount(), commandBuffer));
- }
+ ContextVk *contextVk = vk::GetImpl(context);
+ RendererVk *renderer = contextVk->getRenderer();
- // Redefine the images with mipmaps.
- // Copy image to the staging buffer and stage an update to the new one.
- ANGLE_TRY(copyAndStageImageSubresource(contextVk, baseLevelDesc, false,
- getNativeImageLayer(0), 0, mImage->getBaseLevel()));
+ // The image should already be allocated by a prior syncState.
+ ASSERT(mImage->valid());
- // Release the origin image and recreate it with new mipmap counts.
- releaseImage(contextVk);
+ // If base level has changed, the front-end should have called syncState already.
+ ASSERT(mImage->getBaseLevel() == mState.getEffectiveBaseLevel());
- mImage->retain(&contextVk->getResourceUseList());
+ // Only staged update here is the robust resource init if any.
+ ANGLE_TRY(ensureImageInitialized(contextVk, ImageMipLevels::FullMipChain));
- ANGLE_TRY(ensureImageInitialized(contextVk, ImageMipLevels::FullMipChain));
- }
// Check if the image supports blit. If it does, we can do the mipmap generation on the gpu
// only.
if (renderer->hasImageFormatFeatureBits(mImage->getFormat().vkImageFormat, kBlitFeatureFlags))
@@ -1197,8 +1402,8 @@ angle::Result TextureVk::copyAndStageImageSubresource(ContextVk *contextVk,
const gl::ImageDesc &desc,
bool ignoreLayerCount,
uint32_t currentLayer,
- uint32_t sourceMipLevel,
- uint32_t stagingDstMipLevel)
+ uint32_t srcLevelVk,
+ uint32_t dstLevelGL)
{
const gl::Extents &baseLevelExtents = desc.size;
@@ -1209,7 +1414,7 @@ angle::Result TextureVk::copyAndStageImageSubresource(ContextVk *contextVk,
&layerCount);
gl::Box area(offset.x, offset.y, offset.z, updatedExtents.width, updatedExtents.height,
updatedExtents.depth);
- // TODO: Refactor TextureVk::changeLevels() to avoid this workaround.
+ // TODO: Refactor TextureVk::respecifyImageAttributesAndLevels() to avoid this workaround.
if (ignoreLayerCount)
{
layerCount = 1;
@@ -1219,9 +1424,9 @@ angle::Result TextureVk::copyAndStageImageSubresource(ContextVk *contextVk,
vk::BufferHelper *stagingBuffer = nullptr;
vk::StagingBufferOffsetArray stagingBufferOffsets = {0, 0};
size_t bufferSize = 0;
- ANGLE_TRY(mImage->copyImageDataToBuffer(contextVk, sourceMipLevel, layerCount, currentLayer,
- area, &stagingBuffer, &bufferSize,
- &stagingBufferOffsets, nullptr));
+ ANGLE_TRY(mImage->copyImageDataToBuffer(contextVk, srcLevelVk + mImage->getBaseLevel(),
+ layerCount, currentLayer, area, &stagingBuffer,
+ &bufferSize, &stagingBufferOffsets, nullptr));
// Stage an update to the new image
ASSERT(stagingBuffer);
@@ -1236,7 +1441,7 @@ angle::Result TextureVk::copyAndStageImageSubresource(ContextVk *contextVk,
bufferImageHeight = std::max(bufferImageHeight, desc.format.info->compressedBlockHeight);
}
ANGLE_TRY(mImage->stageSubresourceUpdateFromBuffer(
- contextVk, bufferSize, stagingDstMipLevel, currentLayer, layerCount, bufferRowLength,
+ contextVk, bufferSize, dstLevelGL, currentLayer, layerCount, bufferRowLength,
bufferImageHeight, updatedExtents, offset, stagingBuffer, stagingBufferOffsets));
return angle::Result::Continue;
@@ -1278,13 +1483,20 @@ angle::Result TextureVk::updateBaseMaxLevels(ContextVk *contextVk,
return angle::Result::Continue;
}
- return changeLevels(contextVk, previousBaseLevel, baseLevel, maxLevel);
+ return respecifyImageAttributesAndLevels(contextVk, previousBaseLevel, baseLevel, maxLevel);
+}
+
+angle::Result TextureVk::respecifyImageAttributes(ContextVk *contextVk)
+{
+ return respecifyImageAttributesAndLevels(contextVk, mImage->getBaseLevel(),
+ mState.getEffectiveBaseLevel(),
+ mState.getEffectiveMaxLevel());
}
-angle::Result TextureVk::changeLevels(ContextVk *contextVk,
- GLuint previousBaseLevel,
- GLuint baseLevel,
- GLuint maxLevel)
+angle::Result TextureVk::respecifyImageAttributesAndLevels(ContextVk *contextVk,
+ GLuint previousBaseLevel,
+ GLuint baseLevel,
+ GLuint maxLevel)
{
// Recreate the image to reflect new base or max levels.
// First, flush any pending updates so we have good data in the existing vkImage
@@ -1292,52 +1504,44 @@ angle::Result TextureVk::changeLevels(ContextVk *contextVk,
{
vk::CommandBuffer *commandBuffer = nullptr;
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
- ANGLE_TRY(mImage->flushStagedUpdates(contextVk, getNativeImageLevel(0),
- mImage->getLevelCount(), getNativeImageLayer(0),
- mImage->getLayerCount(), commandBuffer));
+ ANGLE_TRY(mImage->flushStagedUpdates(
+ contextVk, getNativeImageLevel(0), mImage->getLevelCount(), getNativeImageLayer(0),
+ mImage->getLayerCount(), mRedefinedLevels, commandBuffer));
}
- bool baseLevelChanged = baseLevel != previousBaseLevel;
-
// After flushing, track the new levels (they are used in the flush, hence the wait)
mImage->setBaseAndMaxLevels(baseLevel, maxLevel);
// Next, back up any data we need to preserve by staging it as updates to the new image.
- // Stage updates for all levels in the GL texture, while preserving the data in the vkImage.
- // This ensures we propagate all the current image data, even as max level moves around.
- uint32_t updateCount =
- std::max<GLuint>(mState.getMipmapMaxLevel() + 1, mImage->getLevelCount());
+ // Preserve the data in the Vulkan image. GL texture's staged updates that correspond to levels
+ // outside the range of the Vulkan image will remain intact.
// The staged updates won't be applied until the image has the requisite mip levels
for (uint32_t layer = 0; layer < mImage->getLayerCount(); layer++)
{
- for (uint32_t level = 0; level < updateCount; level++)
+ for (uint32_t levelVK = 0; levelVK < mImage->getLevelCount(); levelVK++)
{
- if (mImage->isUpdateStaged(level, layer))
+ // Vulkan level 0 previously aligned with whatever the base level was.
+ uint32_t levelGL = levelVK + previousBaseLevel;
+
+ if (mRedefinedLevels.test(levelVK))
{
- // If there is still an update staged for the surface at the designated
- // layer/level, we don't need to propagate any data from this image.
- // This can happen for original texture levels that have never fit into
- // the vkImage due to base/max level, and for vkImage data that has been
- // staged by previous calls to changeLevels that didn't fit into the
- // new vkImage.
+ // Note: if this level is incompatibly redefined, there will necessarily be a staged
+ // update, and the contents of the image are to be thrown away.
+ ASSERT(mImage->isUpdateStaged(levelGL, layer));
continue;
}
+ ASSERT(!mImage->isUpdateStaged(levelGL, layer));
+
// Pull data from the current image and stage it as an update for the new image
// First we populate the staging buffer with current level data
const gl::ImageDesc &desc =
- mState.getImageDesc(gl::TextureTypeToTarget(mState.getType(), layer), level);
-
- // We need to adjust the source Vulkan level to reflect the previous base level.
- // vk level 0 previously aligned with whatever the base level was.
- uint32_t srcLevelVK = baseLevelChanged ? level - previousBaseLevel : level;
- ASSERT(srcLevelVK <= mImage->getLevelCount());
+ mState.getImageDesc(gl::TextureTypeToTarget(mState.getType(), layer), levelGL);
- ANGLE_TRY(
- copyAndStageImageSubresource(contextVk, desc, true, layer, srcLevelVK, level));
+ ANGLE_TRY(copyAndStageImageSubresource(contextVk, desc, true, layer, levelVK, levelGL));
}
}
@@ -1434,6 +1638,8 @@ angle::Result TextureVk::ensureImageInitializedImpl(ContextVk *contextVk,
if (!mImage->valid())
{
+ ASSERT(!mRedefinedLevels.any());
+
const gl::ImageDesc &baseLevelDesc = mState.getBaseLevelDesc();
ANGLE_TRY(initImage(contextVk, format, baseLevelDesc.format.info->sized, baseLevelExtents,
@@ -1444,7 +1650,7 @@ angle::Result TextureVk::ensureImageInitializedImpl(ContextVk *contextVk,
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
return mImage->flushStagedUpdates(contextVk, getNativeImageLevel(0), mImage->getLevelCount(),
getNativeImageLayer(0), mImage->getLayerCount(),
- commandBuffer);
+ mRedefinedLevels, commandBuffer);
}
angle::Result TextureVk::initRenderTargets(ContextVk *contextVk,
@@ -1471,22 +1677,39 @@ angle::Result TextureVk::initRenderTargets(ContextVk *contextVk,
}
angle::Result TextureVk::syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits)
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source)
{
ContextVk *contextVk = vk::GetImpl(context);
+ VkImageUsageFlags oldUsageFlags = mImageUsageFlags;
+ VkImageCreateFlags oldCreateFlags = mImageCreateFlags;
+
// Create a new image if the storage state is enabled for the first time.
if (dirtyBits.test(gl::Texture::DIRTY_BIT_BOUND_AS_IMAGE))
{
- // Recreate the image to include storage bit if needed.
- if (!(mImageUsageFlags & VK_IMAGE_USAGE_STORAGE_BIT))
+ mImageCreateFlags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
+ mImageUsageFlags |= VK_IMAGE_USAGE_STORAGE_BIT;
+ }
+
+ if (dirtyBits.test(gl::Texture::DIRTY_BIT_SRGB_OVERRIDE))
+ {
+ if (mState.getSRGBOverride() != gl::SrgbOverride::Default)
{
- mImageUsageFlags |= VK_IMAGE_USAGE_STORAGE_BIT;
- ANGLE_TRY(changeLevels(contextVk, mImage->getBaseLevel(),
- mState.getEffectiveBaseLevel(), mState.getEffectiveMaxLevel()));
+ mImageCreateFlags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
}
}
+ // Before redefining the image for any reason, check to see if it's about to go through mipmap
+ // generation. In that case, drop every staged change for the subsequent mips after base, and
+ // make sure the image is created with the complete mipchain.
+ bool isGenerateMipmap = source == gl::TextureCommand::GenerateMipmap;
+ if (isGenerateMipmap)
+ {
+ mImage->removeStagedUpdates(contextVk, mState.getEffectiveBaseLevel() + 1,
+ mState.getMipmapMaxLevel());
+ }
+
// Set base and max level before initializing the image
if (dirtyBits.test(gl::Texture::DIRTY_BIT_MAX_LEVEL) ||
dirtyBits.test(gl::Texture::DIRTY_BIT_BASE_LEVEL))
@@ -1495,12 +1718,55 @@ angle::Result TextureVk::syncState(const gl::Context *context,
mState.getEffectiveMaxLevel()));
}
+ // It is possible for the image to have a single level (because it doesn't use mipmapping),
+ // then have more levels defined in it and mipmapping enabled. In that case, the image needs
+ // to be recreated.
+ bool isMipmapEnabledByMinFilter = false;
+ if (!isGenerateMipmap && mImage->valid() && dirtyBits.test(gl::Texture::DIRTY_BIT_MIN_FILTER))
+ {
+ isMipmapEnabledByMinFilter =
+ mImage->getLevelCount() < getMipLevelCount(ImageMipLevels::EnabledLevels);
+ }
+
+ // Respecify the image if it's changed in usage, or if any of its levels are redefined and no
+ // update to base/max levels were done (otherwise the above call would have already taken care
+ // of this). Note that if both base/max and image usage are changed, the image is recreated
+ // twice, which incurs unncessary copies. This is not expected to be happening in real
+ // applications.
+ if (oldUsageFlags != mImageUsageFlags || oldCreateFlags != mImageCreateFlags ||
+ mRedefinedLevels.any() || isMipmapEnabledByMinFilter)
+ {
+ ANGLE_TRY(respecifyImageAttributes(contextVk));
+ }
+
+ // If generating mipmaps and the image is not full-mip already, make sure it's recreated to the
+ // correct levels.
+ if (isGenerateMipmap && mImage->valid() &&
+ mImage->getLevelCount() != getMipLevelCount(ImageMipLevels::FullMipChain))
+ {
+ // Redefine the image with mipmaps.
+ const gl::ImageDesc &baseLevelDesc = mState.getBaseLevelDesc();
+
+ // Copy image to the staging buffer and stage an update to the new one.
+ ANGLE_TRY(ensureImageInitialized(contextVk, ImageMipLevels::EnabledLevels));
+ ANGLE_TRY(copyAndStageImageSubresource(contextVk, baseLevelDesc, false,
+ getNativeImageLayer(0), 0, mImage->getBaseLevel()));
+
+ // Release the original image so it can be recreated with the new mipmap counts.
+ releaseImage(contextVk);
+
+ mImage->retain(&contextVk->getResourceUseList());
+ }
+
// Initialize the image storage and flush the pixel buffer.
- ANGLE_TRY(ensureImageInitialized(contextVk, ImageMipLevels::EnabledLevels));
+ ANGLE_TRY(ensureImageInitialized(contextVk, isGenerateMipmap ? ImageMipLevels::FullMipChain
+ : ImageMipLevels::EnabledLevels));
// Mask out the IMPLEMENTATION dirty bit to avoid unnecessary syncs.
gl::Texture::DirtyBits localBits = dirtyBits;
localBits.reset(gl::Texture::DIRTY_BIT_IMPLEMENTATION);
+ localBits.reset(gl::Texture::DIRTY_BIT_BASE_LEVEL);
+ localBits.reset(gl::Texture::DIRTY_BIT_MAX_LEVEL);
if (localBits.none() && mSampler.valid())
{
@@ -1516,22 +1782,19 @@ angle::Result TextureVk::syncState(const gl::Context *context,
if (localBits.test(gl::Texture::DIRTY_BIT_SWIZZLE_RED) ||
localBits.test(gl::Texture::DIRTY_BIT_SWIZZLE_GREEN) ||
localBits.test(gl::Texture::DIRTY_BIT_SWIZZLE_BLUE) ||
- localBits.test(gl::Texture::DIRTY_BIT_SWIZZLE_ALPHA))
+ localBits.test(gl::Texture::DIRTY_BIT_SWIZZLE_ALPHA) ||
+ localBits.test(gl::Texture::DIRTY_BIT_SRGB_OVERRIDE))
{
- if (mImage && mImage->valid())
- {
- // We use a special layer count here to handle EGLImages. They might only be
- // looking at one layer of a cube or 2D array texture.
- uint32_t layerCount =
- mState.getType() == gl::TextureType::_2D ? 1 : mImage->getLayerCount();
+ // We use a special layer count here to handle EGLImages. They might only be
+ // looking at one layer of a cube or 2D array texture.
+ uint32_t layerCount =
+ mState.getType() == gl::TextureType::_2D ? 1 : mImage->getLayerCount();
- mImageViews.release(renderer);
- const gl::ImageDesc &baseLevelDesc = mState.getBaseLevelDesc();
+ mImageViews.release(renderer);
+ const gl::ImageDesc &baseLevelDesc = mState.getBaseLevelDesc();
- ANGLE_TRY(initImageViews(contextVk, mImage->getFormat(),
- baseLevelDesc.format.info->sized, mImage->getLevelCount(),
- layerCount));
- }
+ ANGLE_TRY(initImageViews(contextVk, mImage->getFormat(), baseLevelDesc.format.info->sized,
+ mImage->getLevelCount(), layerCount));
}
vk::SamplerDesc samplerDesc(mState.getSamplerState(), mState.isStencilMode());
@@ -1576,6 +1839,12 @@ const vk::ImageView &TextureVk::getReadImageViewAndRecordUse(ContextVk *contextV
return mImageViews.getStencilReadImageView();
}
+ if (mState.getSRGBOverride() == gl::SrgbOverride::Enabled)
+ {
+ ASSERT(mImageViews.getNonLinearReadImageView().valid());
+ return mImageViews.getNonLinearReadImageView();
+ }
+
return mImageViews.getReadImageView();
}
@@ -1587,10 +1856,31 @@ const vk::ImageView &TextureVk::getFetchImageViewAndRecordUse(ContextVk *context
// We don't currently support fetch for depth/stencil cube map textures.
ASSERT(!mImageViews.hasStencilReadImageView() || !mImageViews.hasFetchImageView());
+
+ if (mState.getSRGBOverride() == gl::SrgbOverride::Enabled)
+ {
+ return (mImageViews.hasFetchImageView() ? mImageViews.getNonLinearFetchImageView()
+ : mImageViews.getNonLinearReadImageView());
+ }
+
return (mImageViews.hasFetchImageView() ? mImageViews.getFetchImageView()
: mImageViews.getReadImageView());
}
+const vk::ImageView &TextureVk::getCopyImageViewAndRecordUse(ContextVk *contextVk) const
+{
+ ASSERT(mImage->valid());
+
+ mImageViews.retain(&contextVk->getResourceUseList());
+
+ if (mState.getSRGBOverride() == gl::SrgbOverride::Enabled)
+ {
+ return mImageViews.getNonLinearCopyImageView();
+ }
+
+ return mImageViews.getCopyImageView();
+}
+
angle::Result TextureVk::getLevelLayerImageView(ContextVk *contextVk,
size_t level,
size_t layer,
@@ -1606,20 +1896,23 @@ angle::Result TextureVk::getLevelLayerImageView(ContextVk *contextVk,
}
angle::Result TextureVk::getStorageImageView(ContextVk *contextVk,
- bool allLayers,
- size_t level,
- size_t singleLayer,
+ const gl::ImageUnit &binding,
const vk::ImageView **imageViewOut)
{
- if (!allLayers)
+ angle::FormatID formatID = angle::Format::InternalFormatToID(binding.format);
+ const vk::Format &format = contextVk->getRenderer()->getFormat(formatID);
+
+ if (binding.layered != GL_TRUE)
{
- return getLevelLayerImageView(contextVk, level, singleLayer, imageViewOut);
+ return getLevelLayerImageView(contextVk, binding.level, binding.layer, imageViewOut);
}
- uint32_t nativeLevel = getNativeImageLevel(static_cast<uint32_t>(level));
+ uint32_t nativeLevel = getNativeImageLevel(static_cast<uint32_t>(binding.level));
uint32_t nativeLayer = getNativeImageLayer(0);
- return mImageViews.getLevelDrawImageView(contextVk, mState.getType(), *mImage, nativeLevel,
- nativeLayer, imageViewOut);
+ return mImageViews.getLevelDrawImageView(
+ contextVk, mState.getType(), *mImage, nativeLevel, nativeLayer,
+ VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT, format.vkImageFormat,
+ imageViewOut);
}
angle::Result TextureVk::initImage(ContextVk *contextVk,
@@ -1635,9 +1928,10 @@ angle::Result TextureVk::initImage(ContextVk *contextVk,
gl_vk::GetExtentsAndLayerCount(mState.getType(), extents, &vkExtent, &layerCount);
GLint samples = mState.getBaseLevelDesc().samples ? mState.getBaseLevelDesc().samples : 1;
- ANGLE_TRY(mImage->init(contextVk, mState.getType(), vkExtent, format, samples, mImageUsageFlags,
- mState.getEffectiveBaseLevel(), mState.getEffectiveMaxLevel(),
- levelCount, layerCount));
+ ANGLE_TRY(mImage->initExternal(
+ contextVk, mState.getType(), vkExtent, format, samples, mImageUsageFlags, mImageCreateFlags,
+ rx::vk::ImageLayout::Undefined, nullptr, mState.getEffectiveBaseLevel(),
+ mState.getEffectiveMaxLevel(), levelCount, layerCount));
const VkMemoryPropertyFlags flags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
@@ -1658,15 +1952,23 @@ angle::Result TextureVk::initImageViews(ContextVk *contextVk,
{
ASSERT(mImage != nullptr && mImage->valid());
- // TODO(cnorthrop): May be missing non-zero base level http://anglebug.com/3948
uint32_t baseLevel = getNativeImageLevel(0);
uint32_t baseLayer = getNativeImageLayer(0);
- gl::SwizzleState mappedSwizzle;
- MapSwizzleState(contextVk, format, sized, mState.getSwizzleState(), &mappedSwizzle);
+ gl::SwizzleState formatSwizzle = GetFormatSwizzle(contextVk, format, sized);
+ gl::SwizzleState readSwizzle = ApplySwizzle(formatSwizzle, mState.getSwizzleState());
- return mImageViews.initReadViews(contextVk, mState.getType(), *mImage, format, mappedSwizzle,
- baseLevel, levelCount, baseLayer, layerCount);
+ ANGLE_TRY(mImageViews.initReadViews(contextVk, mState.getType(), *mImage, format, formatSwizzle,
+ readSwizzle, baseLevel, levelCount, baseLayer, layerCount));
+
+ if ((mImageCreateFlags & VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT) != 0)
+ {
+ ANGLE_TRY(mImageViews.initSRGBReadViews(
+ contextVk, mState.getType(), *mImage, format, formatSwizzle, readSwizzle, baseLevel,
+ levelCount, baseLayer, layerCount, mImageUsageFlags & ~VK_IMAGE_USAGE_STORAGE_BIT));
+ }
+
+ return angle::Result::Continue;
}
void TextureVk::releaseImage(ContextVk *contextVk)
@@ -1697,6 +1999,7 @@ void TextureVk::releaseImage(ContextVk *contextVk)
mRenderTargets.clear();
onStateChange(angle::SubjectMessage::SubjectChanged);
+ mRedefinedLevels.reset();
}
void TextureVk::releaseStagingBuffer(ContextVk *contextVk)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.h
index 92dd1629efc..fa96afabf4c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.h
@@ -85,7 +85,7 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
const gl::ImageIndex &index,
GLenum internalFormat,
GLenum type,
- size_t sourceLevel,
+ size_t sourceLevelGL,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
bool unpackUnmultiplyAlpha,
@@ -93,7 +93,7 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
angle::Result copySubTexture(const gl::Context *context,
const gl::ImageIndex &index,
const gl::Offset &destOffset,
- size_t sourceLevel,
+ size_t sourceLevelGL,
const gl::Box &sourceBox,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
@@ -140,7 +140,8 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
FramebufferAttachmentRenderTarget **rtOut) override;
angle::Result syncState(const gl::Context *context,
- const gl::Texture::DirtyBits &dirtyBits) override;
+ const gl::Texture::DirtyBits &dirtyBits,
+ gl::TextureCommand source) override;
angle::Result setStorageMultisample(const gl::Context *context,
gl::TextureType type,
@@ -152,22 +153,6 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
angle::Result initializeContents(const gl::Context *context,
const gl::ImageIndex &imageIndex) override;
- ANGLE_INLINE bool isFastUnpackPossible(const vk::Format &vkFormat, size_t offset)
- {
- // Conditions to determine if fast unpacking is possible
- // 1. Image must be well defined to unpack directly to it
- // TODO(http://anglebug.com/3777) Create and stage a temp image instead
- // 2. Can't perform a fast copy for emulated formats
- // 3. vkCmdCopyBufferToImage requires byte offset to be a multiple of 4
- if (mImage->valid() && (vkFormat.intendedFormatID == vkFormat.actualImageFormatID) &&
- ((offset & (kBufferOffsetMultiple - 1)) == 0))
- {
- return true;
- }
-
- return false;
- }
-
const vk::ImageHelper &getImage() const
{
ASSERT(mImage && mImage->valid());
@@ -191,10 +176,10 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
// A special view for cube maps as a 2D array, used with shaders that do texelFetch() and for
// seamful cube map emulation.
const vk::ImageView &getFetchImageViewAndRecordUse(ContextVk *contextVk) const;
+ // A special view used for texture copies that shouldn't perform swizzle.
+ const vk::ImageView &getCopyImageViewAndRecordUse(ContextVk *contextVk) const;
angle::Result getStorageImageView(ContextVk *contextVk,
- bool allLayers,
- size_t level,
- size_t singleLayer,
+ const gl::ImageUnit &binding,
const vk::ImageView **imageViewOut);
const vk::Sampler &getSampler() const
@@ -247,9 +232,16 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
uint32_t imageLayerOffset,
uint32_t imageBaseLevel,
bool selfOwned);
- void updateImageHelper(ContextVk *contextVk, const vk::Format &internalFormat);
-
- angle::Result redefineImage(const gl::Context *context,
+ void updateImageHelper(ContextVk *contextVk, size_t imageCopyBufferAlignment);
+
+ // Redefine a mip level of the texture. If the new size and format don't match the allocated
+ // image, the image may be released. When redefining a mip of a multi-level image, updates are
+ // forced to be staged, as another mip of the image may be bound to a framebuffer. For example,
+ // assume texture has two mips, and framebuffer is bound to mip 0. Redefining mip 1 to an
+ // incompatible size shouldn't affect the framebuffer, especially if the redefinition comes from
+ // something like glCopyTexSubImage2D() (which simultaneously is reading from said framebuffer,
+ // i.e. mip 0 of the texture).
+ angle::Result redefineLevel(const gl::Context *context,
const gl::ImageIndex &index,
const vk::Format &format,
const gl::Extents &size);
@@ -273,7 +265,7 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
const vk::Format &vkFormat);
angle::Result copyImageDataToBufferAndGetData(ContextVk *contextVk,
- size_t sourceLevel,
+ size_t sourceLevelGL,
uint32_t layerCount,
const gl::Box &sourceArea,
uint8_t **outDataPtr);
@@ -311,8 +303,8 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
const gl::ImageIndex &index,
const gl::Offset &destOffset,
const gl::InternalFormat &destFormat,
- size_t sourceLevel,
- const gl::Rectangle &sourceArea,
+ size_t sourceLevelGL,
+ const gl::Box &sourceBox,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
bool unpackUnmultiplyAlpha,
@@ -322,17 +314,17 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
const gl::ImageIndex &index,
const gl::Offset &destOffset,
const vk::Format &destFormat,
- size_t sourceLevel,
+ size_t sourceLevelGL,
size_t sourceLayer,
- const gl::Rectangle &sourceArea,
+ const gl::Box &sourceBox,
vk::ImageHelper *srcImage);
angle::Result copySubImageImplWithDraw(ContextVk *contextVk,
const gl::ImageIndex &index,
const gl::Offset &destOffset,
const vk::Format &destFormat,
- size_t sourceLevel,
- const gl::Rectangle &sourceArea,
+ size_t sourceLevelGL,
+ const gl::Box &sourceBox,
bool isSrcFlipY,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
@@ -356,8 +348,8 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
const gl::ImageDesc &desc,
bool ignoreLayerCount,
uint32_t currentLayer,
- uint32_t sourceLevel,
- uint32_t stagingDstMipLevel);
+ uint32_t srcLevelVk,
+ uint32_t dstLevelGL);
angle::Result initImageViews(ContextVk *contextVk,
const vk::Format &format,
const bool sized,
@@ -376,19 +368,30 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
const gl::InternalFormat &getImplementationSizedFormat(const gl::Context *context) const;
const vk::Format &getBaseLevelFormat(RendererVk *renderer) const;
- // Re-create the image.
- angle::Result changeLevels(ContextVk *contextVk,
- GLuint previousBaseLevel,
- GLuint baseLevel,
- GLuint maxLevel);
+ // Queues a flush of any modified image attributes. The image will be reallocated with its new
+ // attributes at the next opportunity.
+ angle::Result respecifyImageAttributes(ContextVk *contextVk);
+ angle::Result respecifyImageAttributesAndLevels(ContextVk *contextVk,
+ GLuint previousBaseLevel,
+ GLuint baseLevel,
+ GLuint maxLevel);
// Update base and max levels, and re-create image if needed.
angle::Result updateBaseMaxLevels(ContextVk *contextVk, GLuint baseLevel, GLuint maxLevel);
+ bool isFastUnpackPossible(const vk::Format &vkFormat, size_t offset) const;
+
+ bool shouldUpdateBeStaged(uint32_t textureLevelIndexGL) const;
+
// We monitor the staging buffer and set dirty bits if the staging buffer changes. Note that we
// support changes in the staging buffer even outside the TextureVk class.
void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override;
+ ANGLE_INLINE VkImageTiling getTilingMode()
+ {
+ return (mImage->valid()) ? mImage->getTilingMode() : VK_IMAGE_TILING_OPTIMAL;
+ }
+
bool mOwnsImage;
gl::TextureType mImageNativeType;
@@ -428,6 +431,21 @@ class TextureVk : public TextureImpl, public angle::ObserverInterface
// The created vkImage usage flag.
VkImageUsageFlags mImageUsageFlags;
+ // Additional image create flags
+ VkImageCreateFlags mImageCreateFlags;
+
+ // If an image level is incompatibly redefined, the image lives through the call that did this
+ // (i.e. set and copy levels), because the image may be used by the framebuffer in the very same
+ // call. As a result, updates to this redefined level are staged (in both the call that
+ // redefines it, and any future calls such as subimage updates). This bitset flags redefined
+ // levels so that their updates will be force-staged until image is recreated.
+ //
+ // In common cases with mipmapped textures, the base/max level would need adjusting as the
+ // texture is no longer mip-complete. However, if every level is redefined such that at the end
+ // the image becomes mip-complete again, no reinitialization of the image is done. This bitset
+ // is additionally used to ensure the image is recreated in the next syncState, if not already.
+ gl::TexLevelMask mRedefinedLevels;
+
angle::ObserverBinding mImageObserverBinding;
};
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp
index a7a13075ae5..aa225c1430b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp
@@ -24,10 +24,15 @@ namespace rx
{
TransformFeedbackVk::TransformFeedbackVk(const gl::TransformFeedbackState &state)
- : TransformFeedbackImpl(state), mRebindTransformFeedbackBuffer(false)
-{
- mCounterBufferHandles.fill(0);
-}
+ : TransformFeedbackImpl(state),
+ mRebindTransformFeedbackBuffer(false),
+ mBufferHelpers{},
+ mBufferHandles{},
+ mBufferOffsets{},
+ mBufferSizes{},
+ mAlignedBufferOffsets{},
+ mCounterBufferHandles{}
+{}
TransformFeedbackVk::~TransformFeedbackVk() {}
@@ -35,7 +40,7 @@ void TransformFeedbackVk::onDestroy(const gl::Context *context)
{
RendererVk *rendererVk = vk::GetImpl(context)->getRenderer();
- for (vk::BufferHelper &bufferHelper : mCounterBuffer)
+ for (vk::BufferHelper &bufferHelper : mCounterBufferHelpers)
{
bufferHelper.release(rendererVk);
}
@@ -46,14 +51,74 @@ angle::Result TransformFeedbackVk::begin(const gl::Context *context,
{
ContextVk *contextVk = vk::GetImpl(context);
- contextVk->onTransformFeedbackStateChanged();
+ const gl::ProgramExecutable *executable = contextVk->getState().getProgramExecutable();
+ ASSERT(executable);
+ size_t xfbBufferCount = executable->getTransformFeedbackBufferCount();
+
+ for (size_t bufferIndex = 0; bufferIndex < xfbBufferCount; ++bufferIndex)
+ {
+ const gl::OffsetBindingPointer<gl::Buffer> &binding = mState.getIndexedBuffer(bufferIndex);
+ ASSERT(binding.get());
+
+ BufferVk *bufferVk = vk::GetImpl(binding.get());
+
+ if (bufferVk->isBufferValid())
+ {
+ mBufferHelpers[bufferIndex] = &bufferVk->getBuffer();
+ mBufferOffsets[bufferIndex] = binding.getOffset();
+ mBufferSizes[bufferIndex] = gl::GetBoundBufferAvailableSize(binding);
+ }
+ else
+ {
+ // This can happen in error conditions.
+ vk::BufferHelper &nullBuffer = contextVk->getRenderer()->getNullBuffer();
+ mBufferHelpers[bufferIndex] = &nullBuffer;
+ mBufferOffsets[bufferIndex] = 0;
+ mBufferSizes[bufferIndex] = nullBuffer.getSize();
+ }
+
+ mBufferHandles[bufferIndex] = mBufferHelpers[bufferIndex]->getBuffer().getHandle();
+
+ if (contextVk->getFeatures().supportsTransformFeedbackExtension.enabled)
+ {
+ if (mCounterBufferHandles[bufferIndex] == VK_NULL_HANDLE)
+ {
+ VkBufferCreateInfo createInfo = {};
+ createInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
+ createInfo.size = 16;
+ createInfo.usage = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT;
+ createInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
+
+ vk::BufferHelper &bufferHelper = mCounterBufferHelpers[bufferIndex];
+ ANGLE_TRY(
+ bufferHelper.init(contextVk, createInfo, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT));
+
+ mCounterBufferHandles[bufferIndex] = bufferHelper.getBuffer().getHandle();
+ }
+ }
+ else
+ {
+ ASSERT(contextVk->getFeatures().emulateTransformFeedback.enabled);
+ RendererVk *rendererVk = contextVk->getRenderer();
+ const VkDeviceSize offsetAlignment =
+ rendererVk->getPhysicalDeviceProperties().limits.minStorageBufferOffsetAlignment;
+
+ // Make sure there's no possible under/overflow with binding size.
+ static_assert(sizeof(VkDeviceSize) >= sizeof(binding.getSize()),
+ "VkDeviceSize too small");
+
+ // Set the offset as close as possible to the requested offset while remaining aligned.
+ mAlignedBufferOffsets[bufferIndex] =
+ (mBufferOffsets[bufferIndex] / offsetAlignment) * offsetAlignment;
+ }
+ }
if (contextVk->getFeatures().supportsTransformFeedbackExtension.enabled)
{
mRebindTransformFeedbackBuffer = true;
}
- return onTransformFeedbackStateChanged(contextVk);
+ return contextVk->onBeginTransformFeedback(xfbBufferCount, mBufferHelpers);
}
angle::Result TransformFeedbackVk::end(const gl::Context *context)
@@ -65,45 +130,27 @@ angle::Result TransformFeedbackVk::end(const gl::Context *context)
if (transformFeedbackQuery)
{
- vk::GetImpl(transformFeedbackQuery)->onTransformFeedbackEnd(context);
+ vk::GetImpl(transformFeedbackQuery)->onTransformFeedbackEnd(mState.getPrimitivesDrawn());
}
ContextVk *contextVk = vk::GetImpl(context);
- contextVk->onTransformFeedbackStateChanged();
-
- return onTransformFeedbackStateChanged(contextVk);
+ contextVk->onEndTransformFeedback();
+ return angle::Result::Continue;
}
angle::Result TransformFeedbackVk::pause(const gl::Context *context)
{
ContextVk *contextVk = vk::GetImpl(context);
-
- contextVk->onTransformFeedbackStateChanged();
-
- if (contextVk->getFeatures().supportsTransformFeedbackExtension.enabled)
- {
- // We need to end the RenderPass to perform transform feedback pause/resume
- // becasue vkCmdBegin/EndTransformFeedback can be placed once per RenderPass.
- ANGLE_TRY(onTransformFeedbackStateChanged(contextVk));
- }
-
- return angle::Result::Continue;
+ return contextVk->onPauseTransformFeedback();
}
angle::Result TransformFeedbackVk::resume(const gl::Context *context)
{
- ContextVk *contextVk = vk::GetImpl(context);
-
- contextVk->onTransformFeedbackStateChanged();
-
- if (contextVk->getFeatures().supportsTransformFeedbackExtension.enabled)
- {
- // We need to end the RenderPass to perform transform feedback pause/resume
- // becasue vkCmdBegin/EndTransformFeedback can be placed once per RenderPass.
- ANGLE_TRY(onTransformFeedbackStateChanged(contextVk));
- }
-
- return angle::Result::Continue;
+ ContextVk *contextVk = vk::GetImpl(context);
+ const gl::ProgramExecutable *executable = contextVk->getState().getProgramExecutable();
+ ASSERT(executable);
+ size_t xfbBufferCount = executable->getTransformFeedbackBufferCount();
+ return contextVk->onBeginTransformFeedback(xfbBufferCount, mBufferHelpers);
}
angle::Result TransformFeedbackVk::bindIndexedBuffer(
@@ -113,50 +160,9 @@ angle::Result TransformFeedbackVk::bindIndexedBuffer(
{
ContextVk *contextVk = vk::GetImpl(context);
- if (contextVk->getFeatures().supportsTransformFeedbackExtension.enabled)
- {
- // Save xfb buffer state
- mTransformFeedbackBufferRange.offsets[index] = binding.getOffset();
- mTransformFeedbackBufferRange.sizes[index] =
- (binding.getSize()) ? binding.getSize() : VK_WHOLE_SIZE;
- mRebindTransformFeedbackBuffer = true;
-
- if (mCounterBufferHandles[index] == 0)
- {
- VkBufferCreateInfo createInfo = {};
- createInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
- createInfo.size = 16;
- createInfo.usage = VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT;
- createInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
-
- ANGLE_TRY(mCounterBuffer[index].init(contextVk, createInfo,
- VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT));
+ // Make sure the transform feedback buffers are bound to the program descriptor sets.
+ contextVk->invalidateCurrentTransformFeedbackBuffers();
- mCounterBufferHandles[index] = mCounterBuffer[index].getBuffer().getHandle();
- }
-
- // Set dirty bit for update xfb buffer
- contextVk->invalidateCurrentTransformFeedbackBuffers();
- }
- else if (contextVk->getFeatures().emulateTransformFeedback.enabled)
- {
- RendererVk *rendererVk = vk::GetImpl(context)->getRenderer();
- const VkDeviceSize offsetAlignment =
- rendererVk->getPhysicalDeviceProperties().limits.minStorageBufferOffsetAlignment;
-
- // Make sure there's no possible under/overflow with binding size.
- static_assert(sizeof(VkDeviceSize) >= sizeof(binding.getSize()), "VkDeviceSize too small");
-
- mTransformFeedbackBufferRange.offsets[index] = binding.getOffset();
- mTransformFeedbackBufferRange.sizes[index] = gl::GetBoundBufferAvailableSize(binding);
-
- // Set the offset as close as possible to the requested offset while remaining aligned.
- mTransformFeedbackBufferRange.alignedOffsets[index] =
- (mTransformFeedbackBufferRange.offsets[index] / offsetAlignment) * offsetAlignment;
-
- // Make sure the transform feedback buffers are bound to the program descriptor sets.
- contextVk->invalidateCurrentTransformFeedbackBuffers();
- }
return angle::Result::Continue;
}
@@ -175,7 +181,7 @@ void TransformFeedbackVk::updateDescriptorSetLayout(
const ShaderInterfaceVariableInfo &info = vsVariableInfoMap[bufferName];
descSetLayoutOut->update(info.binding, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1,
- VK_SHADER_STAGE_VERTEX_BIT);
+ VK_SHADER_STAGE_VERTEX_BIT, nullptr);
}
}
@@ -187,8 +193,7 @@ void TransformFeedbackVk::initDescriptorSet(ContextVk *contextVk,
if (!contextVk->getFeatures().emulateTransformFeedback.enabled)
return;
- std::array<VkDescriptorBufferInfo, gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS>
- descriptorBufferInfo;
+ VkDescriptorBufferInfo *descriptorBufferInfo = &contextVk->allocBufferInfos(xfbBufferCount);
for (size_t bufferIndex = 0; bufferIndex < xfbBufferCount; ++bufferIndex)
{
@@ -198,7 +203,7 @@ void TransformFeedbackVk::initDescriptorSet(ContextVk *contextVk,
bufferInfo.range = VK_WHOLE_SIZE;
}
- writeDescriptorSet(contextVk, xfbBufferCount, descriptorBufferInfo.data(), descSet);
+ writeDescriptorSet(contextVk, xfbBufferCount, descriptorBufferInfo, descSet);
}
void TransformFeedbackVk::updateDescriptorSet(ContextVk *contextVk,
@@ -208,39 +213,29 @@ void TransformFeedbackVk::updateDescriptorSet(ContextVk *contextVk,
if (!contextVk->getFeatures().emulateTransformFeedback.enabled)
return;
- const std::vector<gl::OffsetBindingPointer<gl::Buffer>> &xfbBuffers =
- mState.getIndexedBuffers();
const gl::ProgramExecutable *executable = contextVk->getState().getProgramExecutable();
ASSERT(executable);
- size_t xfbBufferCount = executable->getTransformFeedbackBufferCount(contextVk->getState());
+ size_t xfbBufferCount = executable->getTransformFeedbackBufferCount();
ASSERT(xfbBufferCount > 0);
ASSERT(programState.getTransformFeedbackBufferMode() != GL_INTERLEAVED_ATTRIBS ||
xfbBufferCount == 1);
- std::array<VkDescriptorBufferInfo, gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS>
- descriptorBufferInfo;
+ VkDescriptorBufferInfo *descriptorBufferInfo = &contextVk->allocBufferInfos(xfbBufferCount);
// Update buffer descriptor binding info for output buffers
for (size_t bufferIndex = 0; bufferIndex < xfbBufferCount; ++bufferIndex)
{
VkDescriptorBufferInfo &bufferInfo = descriptorBufferInfo[bufferIndex];
- const gl::OffsetBindingPointer<gl::Buffer> &bufferBinding = xfbBuffers[bufferIndex];
- gl::Buffer *buffer = bufferBinding.get();
- ASSERT(buffer != nullptr);
-
- vk::BufferHelper &bufferHelper = vk::GetImpl(buffer)->getBuffer();
-
- bufferInfo.buffer = bufferHelper.getBuffer().getHandle();
- bufferInfo.offset = mTransformFeedbackBufferRange.alignedOffsets[bufferIndex];
- bufferInfo.range = mTransformFeedbackBufferRange.sizes[bufferIndex] +
- (mTransformFeedbackBufferRange.offsets[bufferIndex] -
- mTransformFeedbackBufferRange.alignedOffsets[bufferIndex]);
- bufferInfo.range = (bufferInfo.range == 0) ? bufferHelper.getSize() : bufferInfo.range;
+ bufferInfo.buffer = mBufferHandles[bufferIndex];
+ bufferInfo.offset = mAlignedBufferOffsets[bufferIndex];
+ bufferInfo.range = mBufferSizes[bufferIndex] +
+ (mBufferOffsets[bufferIndex] - mAlignedBufferOffsets[bufferIndex]);
+ ASSERT(bufferInfo.range != 0);
}
- writeDescriptorSet(contextVk, xfbBufferCount, descriptorBufferInfo.data(), descSet);
+ writeDescriptorSet(contextVk, xfbBufferCount, descriptorBufferInfo, descSet);
}
void TransformFeedbackVk::getBufferOffsets(ContextVk *contextVk,
@@ -256,7 +251,7 @@ void TransformFeedbackVk::getBufferOffsets(ContextVk *contextVk,
mState.getBoundProgram()->getTransformFeedbackStrides();
const gl::ProgramExecutable *executable = contextVk->getState().getProgramExecutable();
ASSERT(executable);
- size_t xfbBufferCount = executable->getTransformFeedbackBufferCount(contextVk->getState());
+ size_t xfbBufferCount = executable->getTransformFeedbackBufferCount();
ASSERT(xfbBufferCount > 0);
@@ -267,8 +262,7 @@ void TransformFeedbackVk::getBufferOffsets(ContextVk *contextVk,
for (size_t bufferIndex = 0; bufferIndex < xfbBufferCount; ++bufferIndex)
{
int64_t offsetFromDescriptor =
- static_cast<int64_t>(mTransformFeedbackBufferRange.offsets[bufferIndex] -
- mTransformFeedbackBufferRange.alignedOffsets[bufferIndex]);
+ static_cast<int64_t>(mBufferOffsets[bufferIndex] - mAlignedBufferOffsets[bufferIndex]);
int64_t drawCallVertexOffset = static_cast<int64_t>(verticesDrawn) - drawCallFirstVertex;
int64_t writeOffset =
@@ -282,44 +276,27 @@ void TransformFeedbackVk::getBufferOffsets(ContextVk *contextVk,
}
}
-angle::Result TransformFeedbackVk::onTransformFeedbackStateChanged(ContextVk *contextVk)
-{
- // Currently, we don't handle resources switching from read-only to writable and back correctly.
- // In the case of transform feedback, the attached buffers can switch between being written by
- // transform feedback and being read as a vertex array buffer. For now, we'll end the render
- // pass every time transform feedback is started or ended to work around this issue temporarily.
- //
- // TODO(syoussefi): detect changes to buffer usage (e.g. as transform feedback output, vertex
- // or index data etc) in the front end and notify the backend. A new node should be created
- // only on such changes. http://anglebug.com/3205
- ANGLE_TRY(contextVk->endRenderPass());
- return angle::Result::Continue;
-}
-
void TransformFeedbackVk::writeDescriptorSet(ContextVk *contextVk,
size_t xfbBufferCount,
VkDescriptorBufferInfo *pBufferInfo,
VkDescriptorSet descSet) const
{
- VkDevice device = contextVk->getDevice();
ProgramExecutableVk *executableVk = contextVk->getExecutable();
ShaderMapInterfaceVariableInfoMap variableInfoMap =
executableVk->getShaderInterfaceVariableInfoMap();
const std::string bufferName = GetXfbBufferName(0);
ShaderInterfaceVariableInfo &info = variableInfoMap[gl::ShaderType::Vertex][bufferName];
- VkWriteDescriptorSet writeDescriptorInfo = {};
- writeDescriptorInfo.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
- writeDescriptorInfo.dstSet = descSet;
- writeDescriptorInfo.dstBinding = info.binding;
- writeDescriptorInfo.dstArrayElement = 0;
- writeDescriptorInfo.descriptorCount = static_cast<uint32_t>(xfbBufferCount);
- writeDescriptorInfo.descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
- writeDescriptorInfo.pImageInfo = nullptr;
- writeDescriptorInfo.pBufferInfo = pBufferInfo;
- writeDescriptorInfo.pTexelBufferView = nullptr;
-
- vkUpdateDescriptorSets(device, 1, &writeDescriptorInfo, 0, nullptr);
+ VkWriteDescriptorSet &writeDescriptorInfo = contextVk->allocWriteInfo();
+ writeDescriptorInfo.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
+ writeDescriptorInfo.dstSet = descSet;
+ writeDescriptorInfo.dstBinding = info.binding;
+ writeDescriptorInfo.dstArrayElement = 0;
+ writeDescriptorInfo.descriptorCount = static_cast<uint32_t>(xfbBufferCount);
+ writeDescriptorInfo.descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
+ writeDescriptorInfo.pImageInfo = nullptr;
+ writeDescriptorInfo.pBufferInfo = pBufferInfo;
+ writeDescriptorInfo.pTexelBufferView = nullptr;
}
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.h
index 32198907dba..262f1c286f7 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.h
@@ -27,18 +27,6 @@ namespace vk
class DescriptorSetLayoutDesc;
}
-// Cached buffer properties for faster descriptor set update and offset calculation.
-struct TransformFeedbackBufferRange
-{
- // Offset as provided by OffsetBindingPointer.
- gl::TransformFeedbackBuffersArray<VkDeviceSize> offsets;
- // Size as provided by OffsetBindingPointer.
- gl::TransformFeedbackBuffersArray<VkDeviceSize> sizes;
- // Aligned offset usable for VkDescriptorBufferInfo. This value could be smaller than
- // offset.
- gl::TransformFeedbackBuffersArray<VkDeviceSize> alignedOffsets;
-};
-
class TransformFeedbackVk : public TransformFeedbackImpl
{
public:
@@ -71,13 +59,31 @@ class TransformFeedbackVk : public TransformFeedbackImpl
int32_t *offsetsOut,
size_t offsetsSize) const;
- void unsetTransformFeedbackBufferRebindState() { mRebindTransformFeedbackBuffer = false; }
+ bool getAndResetBufferRebindState()
+ {
+ bool retVal = mRebindTransformFeedbackBuffer;
+ mRebindTransformFeedbackBuffer = false;
+ return retVal;
+ }
+
+ const gl::TransformFeedbackBuffersArray<vk::BufferHelper *> &getBufferHelpers() const
+ {
+ return mBufferHelpers;
+ }
+
+ const gl::TransformFeedbackBuffersArray<VkBuffer> &getBufferHandles() const
+ {
+ return mBufferHandles;
+ }
- bool getTransformFeedbackBufferRebindState() const { return mRebindTransformFeedbackBuffer; }
+ const gl::TransformFeedbackBuffersArray<VkDeviceSize> &getBufferOffsets() const
+ {
+ return mBufferOffsets;
+ }
- const TransformFeedbackBufferRange &getTransformFeedbackBufferRange() const
+ const gl::TransformFeedbackBuffersArray<VkDeviceSize> &getBufferSizes() const
{
- return mTransformFeedbackBufferRange;
+ return mBufferSizes;
}
const gl::TransformFeedbackBuffersArray<VkBuffer> &getCounterBufferHandles() const
@@ -86,7 +92,6 @@ class TransformFeedbackVk : public TransformFeedbackImpl
}
private:
- angle::Result onTransformFeedbackStateChanged(ContextVk *contextVk);
void writeDescriptorSet(ContextVk *contextVk,
size_t xfbBufferCount,
VkDescriptorBufferInfo *pBufferInfo,
@@ -97,9 +102,17 @@ class TransformFeedbackVk : public TransformFeedbackImpl
// value is true, vertex shader will record transform feedback varyings from the beginning
// of the buffer.
bool mRebindTransformFeedbackBuffer;
- TransformFeedbackBufferRange mTransformFeedbackBufferRange;
+
+ gl::TransformFeedbackBuffersArray<vk::BufferHelper *> mBufferHelpers;
+ gl::TransformFeedbackBuffersArray<VkBuffer> mBufferHandles;
+ gl::TransformFeedbackBuffersArray<VkDeviceSize> mBufferOffsets;
+ gl::TransformFeedbackBuffersArray<VkDeviceSize> mBufferSizes;
+
+ // Aligned offset for emulation. Could be smaller than offset.
+ gl::TransformFeedbackBuffersArray<VkDeviceSize> mAlignedBufferOffsets;
+
// Counter buffer used for pause and resume.
- gl::TransformFeedbackBuffersArray<vk::BufferHelper> mCounterBuffer;
+ gl::TransformFeedbackBuffersArray<vk::BufferHelper> mCounterBufferHelpers;
gl::TransformFeedbackBuffersArray<VkBuffer> mCounterBufferHandles;
};
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.cpp
index 5be15093621..6fd450ea340 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.cpp
@@ -74,18 +74,12 @@ uint32_t GetBufferUtilsFlags(size_t dispatchSize, const vk::Format &format)
uint32_t GetConvertVertexFlags(const UtilsVk::ConvertVertexParameters &params)
{
- bool srcIsSint = params.srcFormat->isSint();
- bool srcIsUint = params.srcFormat->isUint();
- bool srcIsSnorm = params.srcFormat->isSnorm();
- bool srcIsUnorm = params.srcFormat->isUnorm();
- bool srcIsFixed = params.srcFormat->isFixed;
- bool srcIsFloat = params.srcFormat->isFloat();
- bool srcIsA2BGR10 =
- params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt2101010 ||
- params.srcFormat->vertexAttribType == gl::VertexAttribType::Int2101010;
- bool srcIsRGB10A2 =
- params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt1010102 ||
- params.srcFormat->vertexAttribType == gl::VertexAttribType::Int1010102;
+ bool srcIsSint = params.srcFormat->isSint();
+ bool srcIsUint = params.srcFormat->isUint();
+ bool srcIsSnorm = params.srcFormat->isSnorm();
+ bool srcIsUnorm = params.srcFormat->isUnorm();
+ bool srcIsFixed = params.srcFormat->isFixed;
+ bool srcIsFloat = params.srcFormat->isFloat();
bool srcIsHalfFloat = params.srcFormat->isVertexTypeHalfFloat();
bool destIsSint = params.destFormat->isSint();
@@ -113,57 +107,7 @@ uint32_t GetConvertVertexFlags(const UtilsVk::ConvertVertexParameters &params)
uint32_t flags = 0;
- if (srcIsA2BGR10)
- {
- if (srcIsSint && destIsSint)
- {
- flags |= ConvertVertex_comp::kA2BGR10SintToSint;
- }
- else if (srcIsUint && destIsUint)
- {
- flags |= ConvertVertex_comp::kA2BGR10UintToUint;
- }
- else if (srcIsSint)
- {
- flags |= ConvertVertex_comp::kA2BGR10SintToFloat;
- }
- else if (srcIsUint)
- {
- flags |= ConvertVertex_comp::kA2BGR10UintToFloat;
- }
- else if (srcIsSnorm)
- {
- flags |= ConvertVertex_comp::kA2BGR10SnormToFloat;
- }
- else
- {
- UNREACHABLE();
- }
- }
- else if (srcIsRGB10A2)
- {
- if (srcIsSint)
- {
- flags |= ConvertVertex_comp::kRGB10A2SintToFloat;
- }
- else if (srcIsUint)
- {
- flags |= ConvertVertex_comp::kRGB10A2UintToFloat;
- }
- else if (srcIsSnorm)
- {
- flags |= ConvertVertex_comp::kRGB10A2SnormToFloat;
- }
- else if (srcIsUnorm)
- {
- flags |= ConvertVertex_comp::kRGB10A2UnormToFloat;
- }
- else
- {
- UNREACHABLE();
- }
- }
- else if (srcIsHalfFloat && destIsHalfFloat)
+ if (srcIsHalfFloat && destIsHalfFloat)
{
// Note that HalfFloat conversion uses the same shader as Uint.
flags |= ConvertVertex_comp::kUintToUint;
@@ -440,7 +384,7 @@ angle::Result UtilsVk::ensureResourcesInitialized(ContextVk *contextVk,
for (size_t i = 0; i < setSizesCount; ++i)
{
descriptorSetDesc.update(currentBinding, setSizes[i].type, setSizes[i].descriptorCount,
- descStages);
+ descStages, nullptr);
currentBinding += setSizes[i].descriptorCount;
}
@@ -1116,6 +1060,16 @@ angle::Result UtilsVk::convertVertexBuffer(ContextVk *contextVk,
shaderParams.srcOffset = static_cast<uint32_t>(params.srcOffset);
shaderParams.destOffset = static_cast<uint32_t>(params.destOffset);
+ bool isSrcA2BGR10 =
+ params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt2101010 ||
+ params.srcFormat->vertexAttribType == gl::VertexAttribType::Int2101010;
+ bool isSrcRGB10A2 =
+ params.srcFormat->vertexAttribType == gl::VertexAttribType::UnsignedInt1010102 ||
+ params.srcFormat->vertexAttribType == gl::VertexAttribType::Int1010102;
+
+ shaderParams.isSrcHDR = isSrcA2BGR10 || isSrcRGB10A2;
+ shaderParams.isSrcA2BGR10 = isSrcA2BGR10;
+
uint32_t flags = GetConvertVertexFlags(params);
VkDescriptorSet descriptorSet;
@@ -1246,6 +1200,11 @@ angle::Result UtilsVk::clearFramebuffer(ContextVk *contextVk,
VkViewport viewport;
gl::Rectangle completeRenderArea = framebuffer->getCompleteRenderArea();
bool invertViewport = contextVk->isViewportFlipEnabledForDrawFBO();
+ if (contextVk->isRotatedAspectRatioForDrawFBO())
+ {
+ // The surface is rotated 90/270 degrees. This changes the aspect ratio of the surface.
+ std::swap(completeRenderArea.width, completeRenderArea.height);
+ }
gl_vk::GetViewport(completeRenderArea, 0.0f, 1.0f, invertViewport, completeRenderArea.height,
&viewport);
pipelineDesc.setViewport(viewport);
@@ -1340,6 +1299,8 @@ angle::Result UtilsVk::blitResolveImpl(ContextVk *contextVk,
bool isResolve = src->getSamples() > 1;
BlitResolveShaderParams shaderParams;
+ // Note: adjustments made for pre-rotatation in FramebufferVk::blit() affect these
+ // Calculate*Offset() functions.
if (isResolve)
{
CalculateResolveOffset(params, shaderParams.offset.resolve);
@@ -1357,8 +1318,48 @@ angle::Result UtilsVk::blitResolveImpl(ContextVk *contextVk,
shaderParams.invSamples = 1.0f / shaderParams.samples;
shaderParams.outputMask =
static_cast<uint32_t>(framebuffer->getState().getEnabledDrawBuffers().to_ulong());
- shaderParams.flipX = params.flipX;
- shaderParams.flipY = params.flipY;
+ shaderParams.flipX = params.flipX;
+ shaderParams.flipY = params.flipY;
+ shaderParams.rotateXY = 0;
+
+ // Potentially make adjustments for pre-rotatation. Depending on the angle some of the
+ // shaderParams need to be adjusted.
+ switch (params.rotation)
+ {
+ case SurfaceRotation::Identity:
+ break;
+ case SurfaceRotation::Rotated90Degrees:
+ shaderParams.rotateXY = 1;
+ break;
+ case SurfaceRotation::Rotated180Degrees:
+ if (isResolve)
+ {
+ shaderParams.offset.resolve[0] += params.rotatedOffsetFactor[0];
+ shaderParams.offset.resolve[1] += params.rotatedOffsetFactor[1];
+ }
+ else
+ {
+ shaderParams.offset.blit[0] += params.rotatedOffsetFactor[0];
+ shaderParams.offset.blit[1] += params.rotatedOffsetFactor[1];
+ }
+ break;
+ case SurfaceRotation::Rotated270Degrees:
+ if (isResolve)
+ {
+ shaderParams.offset.resolve[0] += params.rotatedOffsetFactor[0];
+ shaderParams.offset.resolve[1] += params.rotatedOffsetFactor[1];
+ }
+ else
+ {
+ shaderParams.offset.blit[0] += params.rotatedOffsetFactor[0];
+ shaderParams.offset.blit[1] += params.rotatedOffsetFactor[1];
+ }
+ shaderParams.rotateXY = 1;
+ break;
+ default:
+ UNREACHABLE();
+ break;
+ }
bool blitColor = srcColorView != nullptr;
bool blitDepth = srcDepthView != nullptr;
@@ -1420,6 +1421,11 @@ angle::Result UtilsVk::blitResolveImpl(ContextVk *contextVk,
VkViewport viewport;
gl::Rectangle completeRenderArea = framebuffer->getCompleteRenderArea();
+ if (contextVk->isRotatedAspectRatioForDrawFBO())
+ {
+ // The surface is rotated 90/270 degrees. This changes the aspect ratio of the surface.
+ std::swap(completeRenderArea.width, completeRenderArea.height);
+ }
gl_vk::GetViewport(completeRenderArea, 0.0f, 1.0f, false, completeRenderArea.height, &viewport);
pipelineDesc.setViewport(viewport);
@@ -1686,6 +1692,20 @@ angle::Result UtilsVk::copyImage(ContextVk *contextVk,
shaderParams.destOffset[0] = params.destOffset[0];
shaderParams.destOffset[1] = params.destOffset[1];
+ shaderParams.srcIsSRGB =
+ gl::GetSizedInternalFormatInfo(srcFormat.internalFormat).colorEncoding == GL_SRGB;
+ shaderParams.destIsSRGB =
+ gl::GetSizedInternalFormatInfo(dstFormat.internalFormat).colorEncoding == GL_SRGB;
+
+ // If both src and dest are sRGB, and there is no alpha multiplication/division necessary, then
+ // the shader can work with sRGB data and pretend they are linear.
+ if (shaderParams.srcIsSRGB && shaderParams.destIsSRGB && !shaderParams.premultiplyAlpha &&
+ !shaderParams.unmultiplyAlpha)
+ {
+ shaderParams.srcIsSRGB = false;
+ shaderParams.destIsSRGB = false;
+ }
+
ASSERT(!(params.srcFlipY && params.destFlipY));
if (params.srcFlipY)
{
@@ -1701,7 +1721,18 @@ angle::Result UtilsVk::copyImage(ContextVk *contextVk,
}
uint32_t flags = GetImageCopyFlags(srcFormat, dstFormat);
- flags |= src->getLayerCount() > 1 ? ImageCopy_frag::kSrcIsArray : 0;
+ if (src->getType() == VK_IMAGE_TYPE_3D)
+ {
+ flags |= ImageCopy_frag::kSrcIs3D;
+ }
+ else if (src->getLayerCount() > 1)
+ {
+ flags |= ImageCopy_frag::kSrcIs2DArray;
+ }
+ else
+ {
+ flags |= ImageCopy_frag::kSrcIs2D;
+ }
VkDescriptorSet descriptorSet;
vk::RefCountedDescriptorPoolBinding descriptorPoolBinding;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.h
index cf263d2710e..513dff42b72 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.h
@@ -114,6 +114,8 @@ class UtilsVk : angle::NonCopyable
// flipped.
int srcOffset[2];
int destOffset[2];
+ // Amount to add to x and y axis for certain rotations
+ int rotatedOffsetFactor[2];
// |stretch| is SourceDimension / DestDimension used to transfer dest coordinates to source.
float stretch[2];
// |srcExtents| is used to normalize source coordinates for sampling.
@@ -126,6 +128,7 @@ class UtilsVk : angle::NonCopyable
bool linear;
bool flipX;
bool flipY;
+ SurfaceRotation rotation;
};
struct CopyImageParameters
@@ -296,6 +299,9 @@ class UtilsVk : angle::NonCopyable
uint32_t Bd = 0;
uint32_t Sd = 0;
uint32_t Ed = 0;
+ uint32_t isSrcHDR = 0;
+ uint32_t isSrcA2BGR10 = 0;
+ uint32_t _padding[2] = {};
};
struct ImageClearShaderParams
@@ -318,6 +324,8 @@ class UtilsVk : angle::NonCopyable
uint32_t unmultiplyAlpha = 0;
uint32_t destHasLuminance = 0;
uint32_t destIsAlpha = 0;
+ uint32_t srcIsSRGB = 0;
+ uint32_t destIsSRGB = 0;
uint32_t destDefaultChannelsMask = 0;
};
@@ -339,6 +347,7 @@ class UtilsVk : angle::NonCopyable
uint32_t outputMask = 0;
uint32_t flipX = 0;
uint32_t flipY = 0;
+ uint32_t rotateXY = 0;
};
struct BlitResolveStencilNoExportShaderParams
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index c39be661cc2..7aa54d33c73 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -123,16 +123,12 @@ VertexArrayVk::VertexArrayVk(ContextVk *contextVk, const gl::VertexArrayState &s
{
RendererVk *renderer = contextVk->getRenderer();
- VkBufferCreateInfo createInfo = {};
- createInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
- createInfo.size = 16;
- createInfo.usage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
- (void)mTheNullBuffer.init(contextVk, createInfo, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
+ vk::BufferHelper &nullBuffer = renderer->getNullBuffer();
- mCurrentArrayBufferHandles.fill(mTheNullBuffer.getBuffer().getHandle());
+ mCurrentArrayBufferHandles.fill(nullBuffer.getBuffer().getHandle());
mCurrentArrayBufferOffsets.fill(0);
mCurrentArrayBufferRelativeOffsets.fill(0);
- mCurrentArrayBuffers.fill(&mTheNullBuffer);
+ mCurrentArrayBuffers.fill(&nullBuffer);
mDynamicVertexData.init(renderer, vk::kVertexBufferUsageFlags, vk::kVertexBufferAlignment,
kDynamicVertexDataSize, true);
@@ -155,8 +151,6 @@ void VertexArrayVk::destroy(const gl::Context *context)
RendererVk *renderer = contextVk->getRenderer();
- mTheNullBuffer.release(renderer);
-
mDynamicVertexData.release(renderer);
mDynamicIndexData.release(renderer);
mTranslatedByteIndexData.release(renderer);
@@ -464,7 +458,7 @@ angle::Result VertexArrayVk::syncState(const gl::Context *context,
mLineLoopBufferFirstIndex.reset();
mLineLoopBufferLastIndex.reset();
- contextVk->setIndexBufferDirty();
+ ANGLE_TRY(contextVk->onIndexBufferChange(mCurrentElementArrayBuffer));
mDirtyLineLoopTranslation = true;
break;
}
@@ -472,7 +466,7 @@ angle::Result VertexArrayVk::syncState(const gl::Context *context,
case gl::VertexArray::DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA:
mLineLoopBufferFirstIndex.reset();
mLineLoopBufferLastIndex.reset();
- contextVk->setIndexBufferDirty();
+ ANGLE_TRY(contextVk->onIndexBufferChange(mCurrentElementArrayBuffer));
mDirtyLineLoopTranslation = true;
break;
@@ -523,7 +517,8 @@ angle::Result VertexArrayVk::syncState(const gl::Context *context,
#undef ANGLE_VERTEX_DIRTY_BINDING_FUNC
#undef ANGLE_VERTEX_DIRTY_BUFFER_DATA_FUNC
-ANGLE_INLINE void VertexArrayVk::setDefaultPackedInput(ContextVk *contextVk, size_t attribIndex)
+ANGLE_INLINE angle::Result VertexArrayVk::setDefaultPackedInput(ContextVk *contextVk,
+ size_t attribIndex)
{
const gl::State &glState = contextVk->getState();
const gl::VertexAttribCurrentValueData &defaultValue =
@@ -531,10 +526,10 @@ ANGLE_INLINE void VertexArrayVk::setDefaultPackedInput(ContextVk *contextVk, siz
angle::FormatID format = GetCurrentValueFormatID(defaultValue.Type);
- contextVk->onVertexAttributeChange(attribIndex, 0, 0, format, 0);
+ return contextVk->onVertexAttributeChange(attribIndex, 0, 0, format, 0, nullptr);
}
-void VertexArrayVk::updateActiveAttribInfo(ContextVk *contextVk)
+angle::Result VertexArrayVk::updateActiveAttribInfo(ContextVk *contextVk)
{
const std::vector<gl::VertexAttribute> &attribs = mState.getVertexAttributes();
const std::vector<gl::VertexBinding> &bindings = mState.getVertexBindings();
@@ -545,10 +540,13 @@ void VertexArrayVk::updateActiveAttribInfo(ContextVk *contextVk)
const gl::VertexAttribute &attrib = attribs[attribIndex];
const gl::VertexBinding &binding = bindings[attribs[attribIndex].bindingIndex];
- contextVk->onVertexAttributeChange(attribIndex, mCurrentArrayBufferStrides[attribIndex],
- binding.getDivisor(), attrib.format->id,
- mCurrentArrayBufferRelativeOffsets[attribIndex]);
+ ANGLE_TRY(contextVk->onVertexAttributeChange(
+ attribIndex, mCurrentArrayBufferStrides[attribIndex], binding.getDivisor(),
+ attrib.format->id, mCurrentArrayBufferRelativeOffsets[attribIndex],
+ mCurrentArrayBuffers[attribIndex]));
}
+
+ return angle::Result::Continue;
}
angle::Result VertexArrayVk::syncDirtyAttrib(ContextVk *contextVk,
@@ -557,9 +555,9 @@ angle::Result VertexArrayVk::syncDirtyAttrib(ContextVk *contextVk,
size_t attribIndex,
bool bufferOnly)
{
+ RendererVk *renderer = contextVk->getRenderer();
if (attrib.enabled)
{
- RendererVk *renderer = contextVk->getRenderer();
const vk::Format &vertexFormat = renderer->getFormat(attrib.format->id);
GLuint stride;
@@ -621,9 +619,10 @@ angle::Result VertexArrayVk::syncDirtyAttrib(ContextVk *contextVk,
{
if (bufferVk->getSize() == 0)
{
- mCurrentArrayBuffers[attribIndex] = &mTheNullBuffer;
- mCurrentArrayBufferHandles[attribIndex] =
- mTheNullBuffer.getBuffer().getHandle();
+ vk::BufferHelper &nullBuffer = renderer->getNullBuffer();
+
+ mCurrentArrayBuffers[attribIndex] = &nullBuffer;
+ mCurrentArrayBufferHandles[attribIndex] = nullBuffer.getBuffer().getHandle();
mCurrentArrayBufferOffsets[attribIndex] = 0;
stride = 0;
}
@@ -644,8 +643,9 @@ angle::Result VertexArrayVk::syncDirtyAttrib(ContextVk *contextVk,
}
else
{
- mCurrentArrayBuffers[attribIndex] = &mTheNullBuffer;
- mCurrentArrayBufferHandles[attribIndex] = mTheNullBuffer.getBuffer().getHandle();
+ vk::BufferHelper &nullBuffer = renderer->getNullBuffer();
+ mCurrentArrayBuffers[attribIndex] = &nullBuffer;
+ mCurrentArrayBufferHandles[attribIndex] = nullBuffer.getBuffer().getHandle();
mCurrentArrayBufferOffsets[attribIndex] = 0;
// Client side buffer will be transfered to a tightly packed buffer later
stride = vertexFormat.actualBufferFormat().pixelBytes;
@@ -653,13 +653,14 @@ angle::Result VertexArrayVk::syncDirtyAttrib(ContextVk *contextVk,
if (bufferOnly)
{
- contextVk->invalidateVertexBuffers();
+ ANGLE_TRY(contextVk->onVertexBufferChange(mCurrentArrayBuffers[attribIndex]));
}
else
{
- contextVk->onVertexAttributeChange(attribIndex, stride, binding.getDivisor(),
- attrib.format->id,
- mCurrentArrayBufferRelativeOffsets[attribIndex]);
+ ANGLE_TRY(contextVk->onVertexAttributeChange(
+ attribIndex, stride, binding.getDivisor(), attrib.format->id,
+ mCurrentArrayBufferRelativeOffsets[attribIndex],
+ mCurrentArrayBuffers[attribIndex]));
// Cache the stride of the attribute
mCurrentArrayBufferStrides[attribIndex] = stride;
}
@@ -675,13 +676,14 @@ angle::Result VertexArrayVk::syncDirtyAttrib(ContextVk *contextVk,
contextVk->invalidateDefaultAttribute(attribIndex);
// These will be filled out by the ContextVk.
- mCurrentArrayBuffers[attribIndex] = &mTheNullBuffer;
- mCurrentArrayBufferHandles[attribIndex] = mTheNullBuffer.getBuffer().getHandle();
+ vk::BufferHelper &nullBuffer = renderer->getNullBuffer();
+ mCurrentArrayBuffers[attribIndex] = &nullBuffer;
+ mCurrentArrayBufferHandles[attribIndex] = nullBuffer.getBuffer().getHandle();
mCurrentArrayBufferOffsets[attribIndex] = 0;
mCurrentArrayBufferStrides[attribIndex] = 0;
mCurrentArrayBufferRelativeOffsets[attribIndex] = 0;
- setDefaultPackedInput(contextVk, attribIndex);
+ ANGLE_TRY(setDefaultPackedInput(contextVk, attribIndex));
}
return angle::Result::Continue;
@@ -856,11 +858,11 @@ angle::Result VertexArrayVk::handleLineLoop(ContextVk *contextVk,
return angle::Result::Continue;
}
-void VertexArrayVk::updateDefaultAttrib(ContextVk *contextVk,
- size_t attribIndex,
- VkBuffer bufferHandle,
- vk::BufferHelper *buffer,
- uint32_t offset)
+angle::Result VertexArrayVk::updateDefaultAttrib(ContextVk *contextVk,
+ size_t attribIndex,
+ VkBuffer bufferHandle,
+ vk::BufferHelper *buffer,
+ uint32_t offset)
{
if (!mState.getEnabledAttributesMask().test(attribIndex))
{
@@ -868,7 +870,9 @@ void VertexArrayVk::updateDefaultAttrib(ContextVk *contextVk,
mCurrentArrayBufferOffsets[attribIndex] = offset;
mCurrentArrayBuffers[attribIndex] = buffer;
- setDefaultPackedInput(contextVk, attribIndex);
+ ANGLE_TRY(setDefaultPackedInput(contextVk, attribIndex));
}
+
+ return angle::Result::Continue;
}
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.h
index 68d2ecdff09..950f6810b20 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.h
@@ -32,13 +32,13 @@ class VertexArrayVk : public VertexArrayImpl
gl::VertexArray::DirtyAttribBitsArray *attribBits,
gl::VertexArray::DirtyBindingBitsArray *bindingBits) override;
- void updateActiveAttribInfo(ContextVk *contextVk);
+ angle::Result updateActiveAttribInfo(ContextVk *contextVk);
- void updateDefaultAttrib(ContextVk *contextVk,
- size_t attribIndex,
- VkBuffer bufferHandle,
- vk::BufferHelper *buffer,
- uint32_t offset);
+ angle::Result updateDefaultAttrib(ContextVk *contextVk,
+ size_t attribIndex,
+ VkBuffer bufferHandle,
+ vk::BufferHelper *buffer,
+ uint32_t offset);
angle::Result updateStreamedAttribs(const gl::Context *context,
GLint firstVertex,
@@ -115,7 +115,7 @@ class VertexArrayVk : public VertexArrayImpl
}
private:
- void setDefaultPackedInput(ContextVk *contextVk, size_t attribIndex);
+ angle::Result setDefaultPackedInput(ContextVk *contextVk, size_t attribIndex);
angle::Result convertVertexBufferGPU(ContextVk *contextVk,
BufferVk *srcBuffer,
@@ -158,9 +158,6 @@ class VertexArrayVk : public VertexArrayImpl
Optional<size_t> mLineLoopBufferLastIndex;
bool mDirtyLineLoopTranslation;
- // Vulkan does not allow binding a null vertex buffer. We use a dummy as a placeholder.
- vk::BufferHelper mTheNullBuffer;
-
// Track client and/or emulated attribs that we have to stream their buffer contents
gl::AttributesMask mStreamingVertexAttribsMask;
};
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp
index a919a594cc9..d0a604d5317 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp
@@ -14,9 +14,25 @@
#include "libANGLE/renderer/vulkan/DisplayVk.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
+#include <android/hardware_buffer.h>
+
namespace rx
{
+namespace
+{
+VkImageTiling AhbDescUsageToVkImageTiling(const AHardwareBuffer_Desc &ahbDescription)
+{
+ if ((ahbDescription.usage & AHARDWAREBUFFER_USAGE_CPU_READ_MASK) != 0 ||
+ (ahbDescription.usage & AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK) != 0)
+ {
+ return VK_IMAGE_TILING_LINEAR;
+ }
+
+ return VK_IMAGE_TILING_OPTIMAL;
+}
+} // namespace
+
HardwareBufferImageSiblingVkAndroid::HardwareBufferImageSiblingVkAndroid(EGLClientBuffer buffer)
: mBuffer(buffer),
mFormat(GL_NONE),
@@ -69,6 +85,43 @@ egl::Error HardwareBufferImageSiblingVkAndroid::initialize(const egl::Display *d
return angle::ToEGL(initImpl(displayVk), displayVk, EGL_BAD_PARAMETER);
}
+// Map AHB usage flags to VkImageUsageFlags using this table from the Vulkan spec
+// https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap10.html#memory-external-android-hardware-buffer-usage
+VkImageUsageFlags AhbDescUsageToVkImageUsage(const AHardwareBuffer_Desc &ahbDescription,
+ bool isDepthOrStencilFormat)
+{
+ VkImageUsageFlags usage = VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
+
+ if ((ahbDescription.usage & AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE) != 0)
+ {
+ usage |= VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
+ }
+
+ if ((ahbDescription.usage & AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER) != 0)
+ {
+ if (isDepthOrStencilFormat)
+ {
+ usage |= VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
+ }
+ else
+ {
+ usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
+ }
+ }
+
+ if ((ahbDescription.usage & AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP) != 0)
+ {
+ usage |= VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
+ }
+
+ if ((ahbDescription.usage & AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT) != 0)
+ {
+ usage |= VK_IMAGE_CREATE_PROTECTED_BIT;
+ }
+
+ return usage;
+}
+
angle::Result HardwareBufferImageSiblingVkAndroid::initImpl(DisplayVk *displayVk)
{
RendererVk *renderer = displayVk->getRenderer();
@@ -98,15 +151,8 @@ angle::Result HardwareBufferImageSiblingVkAndroid::initImpl(DisplayVk *displayVk
ANGLE_VK_TRY(displayVk, vkGetAndroidHardwareBufferPropertiesANDROID(device, hardwareBuffer,
&bufferProperties));
- const vk::Format &vkFormat = renderer->getFormat(internalFormat);
- const angle::Format &imageFormat = vkFormat.actualImageFormat();
- bool isDepthOrStencilFormat = imageFormat.depthBits > 0 || imageFormat.stencilBits > 0;
- const VkImageUsageFlags usage =
- VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
- VK_IMAGE_USAGE_SAMPLED_BIT |
- (imageFormat.redBits > 0 ? VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT : 0) |
- (isDepthOrStencilFormat ? VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT : 0);
-
+ const vk::Format &vkFormat = renderer->getFormat(internalFormat);
+ const angle::Format &imageFormat = vkFormat.actualImageFormat();
VkExternalFormatANDROID externalFormat = {};
externalFormat.sType = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID;
externalFormat.externalFormat = 0;
@@ -126,9 +172,20 @@ angle::Result HardwareBufferImageSiblingVkAndroid::initImpl(DisplayVk *displayVk
gl_vk::GetExtent(mSize, &vkExtents);
mImage = new vk::ImageHelper();
- ANGLE_TRY(mImage->initExternal(displayVk, gl::TextureType::_2D, vkExtents, vkFormat, 1, usage,
- vk::ImageLayout::ExternalPreInitialized,
- &externalMemoryImageCreateInfo, 0, 0, 1, 1));
+
+ // Query AHB description and do the following -
+ // 1. Derive VkImageTiling mode based on AHB usage flags
+ // 2. Map AHB usage flags to VkImageUsageFlags
+ AHardwareBuffer_Desc ahbDescription;
+ AHardwareBuffer_describe(hardwareBuffer, &ahbDescription);
+ VkImageTiling imageTilingMode = AhbDescUsageToVkImageTiling(ahbDescription);
+ VkImageUsageFlags usage = AhbDescUsageToVkImageUsage(
+ ahbDescription, (imageFormat.depthBits > 0 || imageFormat.stencilBits > 0));
+
+ mImage->setTilingMode(imageTilingMode);
+ ANGLE_TRY(mImage->initExternal(
+ displayVk, gl::TextureType::_2D, vkExtents, vkFormat, 1, usage, vk::kVkImageCreateFlagsNone,
+ vk::ImageLayout::ExternalPreInitialized, &externalMemoryImageCreateInfo, 0, 0, 1, 1));
VkImportAndroidHardwareBufferInfoANDROID importHardwareBufferInfo = {};
importHardwareBufferInfo.sType = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.cpp
index 590bb385f78..0cb446d6076 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.cpp
@@ -9,10 +9,10 @@
#include "libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.h"
-#include <fuchsia_egl.h>
-#include <fuchsia_egl_backend.h>
#include <zircon/syscalls.h>
#include <zircon/syscalls/object.h>
+#include "common/fuchsia_egl/fuchsia_egl.h"
+#include "common/fuchsia_egl/fuchsia_egl_backend.h"
#include "libANGLE/renderer/vulkan/RendererVk.h"
#include "libANGLE/renderer/vulkan/vk_utils.h"
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py
index 6f411a6a59b..dd374179054 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py
@@ -214,9 +214,14 @@ def gen_shader_include(shader):
return '#include "libANGLE/renderer/vulkan/%s"' % slash(shader)
-def get_shader_variations(shader):
+def get_variations_path(shader):
variation_file = shader + '.json'
- if not os.path.exists(variation_file):
+ return variation_file if os.path.exists(variation_file) else None
+
+
+def get_shader_variations(shader):
+ variation_file = get_variations_path(shader)
+ if variation_file is None:
# If there is no variation file, assume none.
return ({}, [])
@@ -440,10 +445,10 @@ def compile_variation(glslang_path, compile_queue, shader_file, shader_basename,
glslang_preprocessor_output_args = glslang_args + ['-E']
glslang_preprocessor_output_args.append(shader_file) # Input GLSL shader
- glslang_args += variation_extra_args
-
glslang_args += ['-V'] # Output mode is Vulkan
+ glslang_args += ['-Os']
glslang_args += ['--variable-name', get_var_name(output_name)] # C-style variable name
+ glslang_args += variation_extra_args
glslang_args += ['-o', output_path] # Output file
glslang_args.append(shader_file) # Input GLSL shader
@@ -622,7 +627,11 @@ def main():
if print_inputs:
glslang_binaries = [get_linux_glslang_exe_path(), get_win_glslang_exe_path()]
glslang_binary_hashes = [path + '.sha1' for path in glslang_binaries]
- print(",".join(input_shaders + glslang_binary_hashes))
+ input_shaders_variations = [get_variations_path(shader) for shader in input_shaders]
+ input_shaders_variations = [
+ variations for variations in input_shaders_variations if variations is not None
+ ]
+ print(",".join(input_shaders + input_shaders_variations + glslang_binary_hashes))
return 0
# STEP 1: Call glslang to generate the internal shaders into small .inc files.
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc
index bd257988a33..45d896da9fc 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc
@@ -1,131 +1,118 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x00000095,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000a6,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000056,0x0000005e,
- 0x00000067,0x0000006f,0x00000078,0x00000081,0x0000008a,0x00000093,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000005e,0x00000066,
+ 0x0000006f,0x00000077,0x00000080,0x00000089,0x00000092,0x0000009b,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,
- 0x00050005,0x0000003c,0x6f6c6f63,0x6c615672,0x00006575,0x00040005,0x0000003f,0x6f6c6f63,
- 0x00000072,0x00050005,0x00000043,0x74696c62,0x706d6153,0x0072656c,0x00050005,0x00000056,
- 0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000005e,0x6f6c6f63,0x74754f72,0x00000031,
- 0x00050005,0x00000067,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x0000006f,0x6f6c6f63,
- 0x74754f72,0x00000033,0x00050005,0x00000078,0x6f6c6f63,0x74754f72,0x00000034,0x00050005,
- 0x00000081,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000008a,0x6f6c6f63,0x74754f72,
- 0x00000036,0x00050005,0x00000093,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,0x0000000c,
- 0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
- 0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
- 0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
- 0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x0000003f,0x00000022,0x00000000,0x00040047,0x0000003f,
- 0x00000021,0x00000000,0x00040047,0x00000043,0x00000022,0x00000000,0x00040047,0x00000043,
- 0x00000021,0x00000002,0x00040047,0x00000056,0x0000001e,0x00000000,0x00040047,0x0000005e,
- 0x0000001e,0x00000001,0x00040047,0x00000067,0x0000001e,0x00000002,0x00040047,0x0000006f,
- 0x0000001e,0x00000003,0x00040047,0x00000078,0x0000001e,0x00000004,0x00040047,0x00000081,
- 0x0000001e,0x00000005,0x00040047,0x0000008a,0x0000001e,0x00000006,0x00040047,0x00000093,
+ 0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,
+ 0x00040005,0x00000047,0x6f6c6f63,0x00000072,0x00050005,0x0000004b,0x74696c62,0x706d6153,
+ 0x0072656c,0x00050005,0x0000005e,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000066,
+ 0x6f6c6f63,0x74754f72,0x00000031,0x00050005,0x0000006f,0x6f6c6f63,0x74754f72,0x00000032,
+ 0x00050005,0x00000077,0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000080,0x6f6c6f63,
+ 0x74754f72,0x00000034,0x00050005,0x00000089,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,
+ 0x00000092,0x6f6c6f63,0x74754f72,0x00000036,0x00050005,0x0000009b,0x6f6c6f63,0x74754f72,
+ 0x00000037,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,
+ 0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,
+ 0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,
+ 0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,
+ 0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,
+ 0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000014,0x00000002,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,
+ 0x00000021,0x00000000,0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,0x0000004b,
+ 0x00000021,0x00000002,0x00040047,0x0000005e,0x0000001e,0x00000000,0x00040047,0x00000066,
+ 0x0000001e,0x00000001,0x00040047,0x0000006f,0x0000001e,0x00000002,0x00040047,0x00000077,
+ 0x0000001e,0x00000003,0x00040047,0x00000080,0x0000001e,0x00000004,0x00040047,0x00000089,
+ 0x0000001e,0x00000005,0x00040047,0x00000092,0x0000001e,0x00000006,0x00040047,0x0000009b,
0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
- 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,
- 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,
- 0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,
- 0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,
- 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
- 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
- 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
- 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
- 0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,
- 0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040020,
- 0x0000003b,0x00000007,0x0000000a,0x00090019,0x0000003d,0x00000006,0x00000001,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x0000003e,0x00000000,0x0000003d,
- 0x0004003b,0x0000003e,0x0000003f,0x00000000,0x0002001a,0x00000041,0x00040020,0x00000042,
- 0x00000000,0x00000041,0x0004003b,0x00000042,0x00000043,0x00000000,0x0003001b,0x00000045,
- 0x0000003d,0x0004002b,0x00000012,0x00000048,0x00000002,0x0004002b,0x00000012,0x0000004d,
- 0x00000006,0x00040020,0x0000004e,0x00000009,0x00000012,0x00040020,0x00000055,0x00000003,
- 0x0000000a,0x0004003b,0x00000055,0x00000056,0x00000003,0x0004003b,0x00000055,0x0000005e,
- 0x00000003,0x0004002b,0x00000012,0x00000062,0x00000004,0x0004003b,0x00000055,0x00000067,
- 0x00000003,0x0004003b,0x00000055,0x0000006f,0x00000003,0x0004002b,0x00000012,0x00000073,
- 0x00000010,0x0004003b,0x00000055,0x00000078,0x00000003,0x0004002b,0x00000012,0x0000007c,
- 0x00000020,0x0004003b,0x00000055,0x00000081,0x00000003,0x0004002b,0x00000012,0x00000085,
- 0x00000040,0x0004003b,0x00000055,0x0000008a,0x00000003,0x0004002b,0x00000012,0x0000008e,
- 0x00000080,0x0004003b,0x00000055,0x00000093,0x00000003,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,
- 0x0004003b,0x0000003b,0x0000003c,0x00000007,0x0004003d,0x0000000a,0x0000000d,0x0000000c,
- 0x0007004f,0x00000007,0x0000000e,0x0000000d,0x0000000d,0x00000000,0x00000001,0x00050051,
- 0x00000006,0x0000000f,0x0000000e,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000e,
- 0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,0x0003003e,0x00000009,
- 0x00000011,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,
- 0x0000001a,0x00000019,0x0004003d,0x00000007,0x0000001b,0x00000009,0x00050085,0x00000007,
- 0x0000001c,0x0000001b,0x0000001a,0x0003003e,0x00000009,0x0000001c,0x00050041,0x00000018,
- 0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x0004003d,
- 0x00000007,0x00000020,0x00000009,0x00050083,0x00000007,0x00000021,0x00000020,0x0000001f,
- 0x0003003e,0x00000009,0x00000021,0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,
- 0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,
- 0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,
- 0x000200f8,0x00000029,0x00050041,0x0000002b,0x0000002c,0x00000009,0x00000027,0x0004003d,
- 0x00000006,0x0000002d,0x0000002c,0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00050041,
- 0x0000002b,0x0000002f,0x00000009,0x00000027,0x0003003e,0x0000002f,0x0000002e,0x000200f9,
- 0x0000002a,0x000200f8,0x0000002a,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,
- 0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,
- 0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,
- 0x000200f8,0x00000034,0x00050041,0x0000002b,0x00000037,0x00000009,0x00000036,0x0004003d,
- 0x00000006,0x00000038,0x00000037,0x0004007f,0x00000006,0x00000039,0x00000038,0x00050041,
- 0x0000002b,0x0000003a,0x00000009,0x00000036,0x0003003e,0x0000003a,0x00000039,0x000200f9,
- 0x00000035,0x000200f8,0x00000035,0x0004003d,0x0000003d,0x00000040,0x0000003f,0x0004003d,
- 0x00000041,0x00000044,0x00000043,0x00050056,0x00000045,0x00000046,0x00000040,0x00000044,
- 0x0004003d,0x00000007,0x00000047,0x00000009,0x00050041,0x00000018,0x00000049,0x00000016,
- 0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000049,0x00050085,0x00000007,0x0000004b,
- 0x00000047,0x0000004a,0x00050057,0x0000000a,0x0000004c,0x00000046,0x0000004b,0x0003003e,
- 0x0000003c,0x0000004c,0x00050041,0x0000004e,0x0000004f,0x00000016,0x0000004d,0x0004003d,
- 0x00000012,0x00000050,0x0000004f,0x000500c7,0x00000012,0x00000051,0x00000050,0x00000017,
- 0x000500ab,0x00000026,0x00000052,0x00000051,0x0000001d,0x000300f7,0x00000054,0x00000000,
- 0x000400fa,0x00000052,0x00000053,0x00000054,0x000200f8,0x00000053,0x0004003d,0x0000000a,
- 0x00000057,0x0000003c,0x0003003e,0x00000056,0x00000057,0x000200f9,0x00000054,0x000200f8,
- 0x00000054,0x00050041,0x0000004e,0x00000058,0x00000016,0x0000004d,0x0004003d,0x00000012,
- 0x00000059,0x00000058,0x000500c7,0x00000012,0x0000005a,0x00000059,0x00000048,0x000500ab,
- 0x00000026,0x0000005b,0x0000005a,0x0000001d,0x000300f7,0x0000005d,0x00000000,0x000400fa,
- 0x0000005b,0x0000005c,0x0000005d,0x000200f8,0x0000005c,0x0004003d,0x0000000a,0x0000005f,
- 0x0000003c,0x0003003e,0x0000005e,0x0000005f,0x000200f9,0x0000005d,0x000200f8,0x0000005d,
- 0x00050041,0x0000004e,0x00000060,0x00000016,0x0000004d,0x0004003d,0x00000012,0x00000061,
- 0x00000060,0x000500c7,0x00000012,0x00000063,0x00000061,0x00000062,0x000500ab,0x00000026,
- 0x00000064,0x00000063,0x0000001d,0x000300f7,0x00000066,0x00000000,0x000400fa,0x00000064,
- 0x00000065,0x00000066,0x000200f8,0x00000065,0x0004003d,0x0000000a,0x00000068,0x0000003c,
- 0x0003003e,0x00000067,0x00000068,0x000200f9,0x00000066,0x000200f8,0x00000066,0x00050041,
- 0x0000004e,0x00000069,0x00000016,0x0000004d,0x0004003d,0x00000012,0x0000006a,0x00000069,
- 0x000500c7,0x00000012,0x0000006b,0x0000006a,0x00000030,0x000500ab,0x00000026,0x0000006c,
+ 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,
+ 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
+ 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
+ 0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
+ 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,
+ 0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,
+ 0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,
+ 0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,
+ 0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,
+ 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,
+ 0x00090019,0x00000045,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,
+ 0x00000000,0x00040020,0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,0x00000047,
+ 0x00000000,0x0002001a,0x00000049,0x00040020,0x0000004a,0x00000000,0x00000049,0x0004003b,
+ 0x0000004a,0x0000004b,0x00000000,0x0003001b,0x0000004d,0x00000045,0x0004002b,0x00000012,
+ 0x00000050,0x00000002,0x0004002b,0x00000012,0x00000055,0x00000006,0x00040020,0x00000056,
+ 0x00000009,0x00000012,0x00040020,0x0000005d,0x00000003,0x0000000a,0x0004003b,0x0000005d,
+ 0x0000005e,0x00000003,0x0004003b,0x0000005d,0x00000066,0x00000003,0x0004002b,0x00000012,
+ 0x0000006a,0x00000004,0x0004003b,0x0000005d,0x0000006f,0x00000003,0x0004003b,0x0000005d,
+ 0x00000077,0x00000003,0x0004002b,0x00000012,0x0000007b,0x00000010,0x0004003b,0x0000005d,
+ 0x00000080,0x00000003,0x0004002b,0x00000012,0x00000084,0x00000020,0x0004003b,0x0000005d,
+ 0x00000089,0x00000003,0x0004002b,0x00000012,0x0000008d,0x00000040,0x0004003b,0x0000005d,
+ 0x00000092,0x00000003,0x0004002b,0x00000012,0x00000096,0x00000080,0x0004003b,0x0000005d,
+ 0x0000009b,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x00050051,0x00000006,0x0000000f,
+ 0x0000000d,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000d,0x00000001,0x00050050,
+ 0x00000007,0x00000011,0x0000000f,0x00000010,0x00050041,0x00000018,0x00000019,0x00000016,
+ 0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x00050085,0x00000007,0x0000001c,
+ 0x00000011,0x0000001a,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,
+ 0x00000007,0x0000001f,0x0000001e,0x00050083,0x00000007,0x00000021,0x0000001c,0x0000001f,
+ 0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,
+ 0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,
+ 0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050051,
+ 0x00000006,0x0000002d,0x00000021,0x00000000,0x0004007f,0x00000006,0x0000002e,0x0000002d,
+ 0x00060052,0x00000007,0x0000009f,0x0000002e,0x00000021,0x00000000,0x000200f9,0x0000002a,
+ 0x000200f8,0x0000002a,0x000700f5,0x00000007,0x000000a3,0x00000021,0x00000005,0x0000009f,
+ 0x00000029,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,
+ 0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,
+ 0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,
+ 0x00050051,0x00000006,0x00000038,0x000000a3,0x00000001,0x0004007f,0x00000006,0x00000039,
+ 0x00000038,0x00060052,0x00000007,0x000000a2,0x00000039,0x000000a3,0x00000001,0x000200f9,
+ 0x00000035,0x000200f8,0x00000035,0x000700f5,0x00000007,0x000000a4,0x000000a3,0x0000002a,
+ 0x000000a2,0x00000034,0x00050041,0x00000023,0x0000003c,0x00000016,0x0000003b,0x0004003d,
+ 0x00000013,0x0000003d,0x0000003c,0x000500ab,0x00000026,0x0000003e,0x0000003d,0x00000027,
+ 0x000300f7,0x00000040,0x00000000,0x000400fa,0x0000003e,0x0000003f,0x00000040,0x000200f8,
+ 0x0000003f,0x0007004f,0x00000007,0x00000042,0x000000a4,0x000000a4,0x00000001,0x00000000,
+ 0x000200f9,0x00000040,0x000200f8,0x00000040,0x000700f5,0x00000007,0x000000a5,0x000000a4,
+ 0x00000035,0x00000042,0x0000003f,0x0004003d,0x00000045,0x00000048,0x00000047,0x0004003d,
+ 0x00000049,0x0000004c,0x0000004b,0x00050056,0x0000004d,0x0000004e,0x00000048,0x0000004c,
+ 0x00050041,0x00000018,0x00000051,0x00000016,0x00000050,0x0004003d,0x00000007,0x00000052,
+ 0x00000051,0x00050085,0x00000007,0x00000053,0x000000a5,0x00000052,0x00050057,0x0000000a,
+ 0x00000054,0x0000004e,0x00000053,0x00050041,0x00000056,0x00000057,0x00000016,0x00000055,
+ 0x0004003d,0x00000012,0x00000058,0x00000057,0x000500c7,0x00000012,0x00000059,0x00000058,
+ 0x00000017,0x000500ab,0x00000026,0x0000005a,0x00000059,0x0000001d,0x000300f7,0x0000005c,
+ 0x00000000,0x000400fa,0x0000005a,0x0000005b,0x0000005c,0x000200f8,0x0000005b,0x0003003e,
+ 0x0000005e,0x00000054,0x000200f9,0x0000005c,0x000200f8,0x0000005c,0x000500c7,0x00000012,
+ 0x00000062,0x00000058,0x00000050,0x000500ab,0x00000026,0x00000063,0x00000062,0x0000001d,
+ 0x000300f7,0x00000065,0x00000000,0x000400fa,0x00000063,0x00000064,0x00000065,0x000200f8,
+ 0x00000064,0x0003003e,0x00000066,0x00000054,0x000200f9,0x00000065,0x000200f8,0x00000065,
+ 0x000500c7,0x00000012,0x0000006b,0x00000058,0x0000006a,0x000500ab,0x00000026,0x0000006c,
0x0000006b,0x0000001d,0x000300f7,0x0000006e,0x00000000,0x000400fa,0x0000006c,0x0000006d,
- 0x0000006e,0x000200f8,0x0000006d,0x0004003d,0x0000000a,0x00000070,0x0000003c,0x0003003e,
- 0x0000006f,0x00000070,0x000200f9,0x0000006e,0x000200f8,0x0000006e,0x00050041,0x0000004e,
- 0x00000071,0x00000016,0x0000004d,0x0004003d,0x00000012,0x00000072,0x00000071,0x000500c7,
- 0x00000012,0x00000074,0x00000072,0x00000073,0x000500ab,0x00000026,0x00000075,0x00000074,
- 0x0000001d,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,
- 0x000200f8,0x00000076,0x0004003d,0x0000000a,0x00000079,0x0000003c,0x0003003e,0x00000078,
- 0x00000079,0x000200f9,0x00000077,0x000200f8,0x00000077,0x00050041,0x0000004e,0x0000007a,
- 0x00000016,0x0000004d,0x0004003d,0x00000012,0x0000007b,0x0000007a,0x000500c7,0x00000012,
- 0x0000007d,0x0000007b,0x0000007c,0x000500ab,0x00000026,0x0000007e,0x0000007d,0x0000001d,
- 0x000300f7,0x00000080,0x00000000,0x000400fa,0x0000007e,0x0000007f,0x00000080,0x000200f8,
- 0x0000007f,0x0004003d,0x0000000a,0x00000082,0x0000003c,0x0003003e,0x00000081,0x00000082,
- 0x000200f9,0x00000080,0x000200f8,0x00000080,0x00050041,0x0000004e,0x00000083,0x00000016,
- 0x0000004d,0x0004003d,0x00000012,0x00000084,0x00000083,0x000500c7,0x00000012,0x00000086,
- 0x00000084,0x00000085,0x000500ab,0x00000026,0x00000087,0x00000086,0x0000001d,0x000300f7,
- 0x00000089,0x00000000,0x000400fa,0x00000087,0x00000088,0x00000089,0x000200f8,0x00000088,
- 0x0004003d,0x0000000a,0x0000008b,0x0000003c,0x0003003e,0x0000008a,0x0000008b,0x000200f9,
- 0x00000089,0x000200f8,0x00000089,0x00050041,0x0000004e,0x0000008c,0x00000016,0x0000004d,
- 0x0004003d,0x00000012,0x0000008d,0x0000008c,0x000500c7,0x00000012,0x0000008f,0x0000008d,
- 0x0000008e,0x000500ab,0x00000026,0x00000090,0x0000008f,0x0000001d,0x000300f7,0x00000092,
- 0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x0004003d,
- 0x0000000a,0x00000094,0x0000003c,0x0003003e,0x00000093,0x00000094,0x000200f9,0x00000092,
- 0x000200f8,0x00000092,0x000100fd,0x00010038
+ 0x0000006e,0x000200f8,0x0000006d,0x0003003e,0x0000006f,0x00000054,0x000200f9,0x0000006e,
+ 0x000200f8,0x0000006e,0x000500c7,0x00000012,0x00000073,0x00000058,0x00000030,0x000500ab,
+ 0x00000026,0x00000074,0x00000073,0x0000001d,0x000300f7,0x00000076,0x00000000,0x000400fa,
+ 0x00000074,0x00000075,0x00000076,0x000200f8,0x00000075,0x0003003e,0x00000077,0x00000054,
+ 0x000200f9,0x00000076,0x000200f8,0x00000076,0x000500c7,0x00000012,0x0000007c,0x00000058,
+ 0x0000007b,0x000500ab,0x00000026,0x0000007d,0x0000007c,0x0000001d,0x000300f7,0x0000007f,
+ 0x00000000,0x000400fa,0x0000007d,0x0000007e,0x0000007f,0x000200f8,0x0000007e,0x0003003e,
+ 0x00000080,0x00000054,0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x000500c7,0x00000012,
+ 0x00000085,0x00000058,0x00000084,0x000500ab,0x00000026,0x00000086,0x00000085,0x0000001d,
+ 0x000300f7,0x00000088,0x00000000,0x000400fa,0x00000086,0x00000087,0x00000088,0x000200f8,
+ 0x00000087,0x0003003e,0x00000089,0x00000054,0x000200f9,0x00000088,0x000200f8,0x00000088,
+ 0x000500c7,0x00000012,0x0000008e,0x00000058,0x0000008d,0x000500ab,0x00000026,0x0000008f,
+ 0x0000008e,0x0000001d,0x000300f7,0x00000091,0x00000000,0x000400fa,0x0000008f,0x00000090,
+ 0x00000091,0x000200f8,0x00000090,0x0003003e,0x00000092,0x00000054,0x000200f9,0x00000091,
+ 0x000200f8,0x00000091,0x000500c7,0x00000012,0x00000097,0x00000058,0x00000096,0x000500ab,
+ 0x00000026,0x00000098,0x00000097,0x0000001d,0x000300f7,0x0000009a,0x00000000,0x000400fa,
+ 0x00000098,0x00000099,0x0000009a,0x000200f8,0x00000099,0x0003003e,0x0000009b,0x00000054,
+ 0x000200f9,0x0000009a,0x000200f8,0x0000009a,0x000100fd,0x00010038
};
// Generated from:
@@ -145,6 +132,7 @@ const uint32_t kBlitResolve_frag_00000000[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2D color;
@@ -173,6 +161,8 @@ const uint32_t kBlitResolve_frag_00000000[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// vec4 colorValue = texture(sampler2D(color, blitSampler), srcImageCoords * params . invSrcExtent);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc
index 77b7e343e55..41b8d7b6d0c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc
@@ -1,136 +1,123 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009d,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000ae,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000005e,0x00000066,
- 0x0000006f,0x00000077,0x00000080,0x00000089,0x00000092,0x0000009b,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000066,0x0000006e,
+ 0x00000077,0x0000007f,0x00000088,0x00000091,0x0000009a,0x000000a3,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,
- 0x00050005,0x0000003c,0x6f6c6f63,0x6c615672,0x00006575,0x00040005,0x0000003f,0x6f6c6f63,
- 0x00000072,0x00050005,0x00000043,0x74696c62,0x706d6153,0x0072656c,0x00050005,0x0000005e,
- 0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000066,0x6f6c6f63,0x74754f72,0x00000031,
- 0x00050005,0x0000006f,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000077,0x6f6c6f63,
- 0x74754f72,0x00000033,0x00050005,0x00000080,0x6f6c6f63,0x74754f72,0x00000034,0x00050005,
- 0x00000089,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x00000092,0x6f6c6f63,0x74754f72,
- 0x00000036,0x00050005,0x0000009b,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,0x0000000c,
- 0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
- 0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
- 0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
- 0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x0000003f,0x00000022,0x00000000,0x00040047,0x0000003f,
- 0x00000021,0x00000000,0x00040047,0x00000043,0x00000022,0x00000000,0x00040047,0x00000043,
- 0x00000021,0x00000002,0x00040047,0x0000005e,0x0000001e,0x00000000,0x00040047,0x00000066,
- 0x0000001e,0x00000001,0x00040047,0x0000006f,0x0000001e,0x00000002,0x00040047,0x00000077,
- 0x0000001e,0x00000003,0x00040047,0x00000080,0x0000001e,0x00000004,0x00040047,0x00000089,
- 0x0000001e,0x00000005,0x00040047,0x00000092,0x0000001e,0x00000006,0x00040047,0x0000009b,
+ 0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,
+ 0x00040005,0x00000047,0x6f6c6f63,0x00000072,0x00050005,0x0000004b,0x74696c62,0x706d6153,
+ 0x0072656c,0x00050005,0x00000066,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000006e,
+ 0x6f6c6f63,0x74754f72,0x00000031,0x00050005,0x00000077,0x6f6c6f63,0x74754f72,0x00000032,
+ 0x00050005,0x0000007f,0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000088,0x6f6c6f63,
+ 0x74754f72,0x00000034,0x00050005,0x00000091,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,
+ 0x0000009a,0x6f6c6f63,0x74754f72,0x00000036,0x00050005,0x000000a3,0x6f6c6f63,0x74754f72,
+ 0x00000037,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,
+ 0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,
+ 0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,
+ 0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,
+ 0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,
+ 0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000014,0x00000002,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,
+ 0x00000021,0x00000000,0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,0x0000004b,
+ 0x00000021,0x00000002,0x00040047,0x00000066,0x0000001e,0x00000000,0x00040047,0x0000006e,
+ 0x0000001e,0x00000001,0x00040047,0x00000077,0x0000001e,0x00000002,0x00040047,0x0000007f,
+ 0x0000001e,0x00000003,0x00040047,0x00000088,0x0000001e,0x00000004,0x00040047,0x00000091,
+ 0x0000001e,0x00000005,0x00040047,0x0000009a,0x0000001e,0x00000006,0x00040047,0x000000a3,
0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
- 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,
- 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,
- 0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,
- 0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,
- 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
- 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
- 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
- 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
- 0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,
- 0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040020,
- 0x0000003b,0x00000007,0x0000000a,0x00090019,0x0000003d,0x00000006,0x00000001,0x00000000,
- 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x0000003e,0x00000000,0x0000003d,
- 0x0004003b,0x0000003e,0x0000003f,0x00000000,0x0002001a,0x00000041,0x00040020,0x00000042,
- 0x00000000,0x00000041,0x0004003b,0x00000042,0x00000043,0x00000000,0x0003001b,0x00000045,
- 0x0000003d,0x0004002b,0x00000012,0x00000048,0x00000002,0x0004002b,0x00000012,0x0000004c,
- 0x00000003,0x00040020,0x0000004d,0x00000009,0x00000012,0x00040017,0x00000051,0x00000006,
- 0x00000003,0x0004002b,0x00000012,0x00000056,0x00000006,0x00040020,0x0000005d,0x00000003,
- 0x0000000a,0x0004003b,0x0000005d,0x0000005e,0x00000003,0x0004003b,0x0000005d,0x00000066,
- 0x00000003,0x0004002b,0x00000012,0x0000006a,0x00000004,0x0004003b,0x0000005d,0x0000006f,
- 0x00000003,0x0004003b,0x0000005d,0x00000077,0x00000003,0x0004002b,0x00000012,0x0000007b,
- 0x00000010,0x0004003b,0x0000005d,0x00000080,0x00000003,0x0004002b,0x00000012,0x00000084,
- 0x00000020,0x0004003b,0x0000005d,0x00000089,0x00000003,0x0004002b,0x00000012,0x0000008d,
- 0x00000040,0x0004003b,0x0000005d,0x00000092,0x00000003,0x0004002b,0x00000012,0x00000096,
- 0x00000080,0x0004003b,0x0000005d,0x0000009b,0x00000003,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,
- 0x0004003b,0x0000003b,0x0000003c,0x00000007,0x0004003d,0x0000000a,0x0000000d,0x0000000c,
- 0x0007004f,0x00000007,0x0000000e,0x0000000d,0x0000000d,0x00000000,0x00000001,0x00050051,
- 0x00000006,0x0000000f,0x0000000e,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000e,
- 0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,0x0003003e,0x00000009,
- 0x00000011,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,
- 0x0000001a,0x00000019,0x0004003d,0x00000007,0x0000001b,0x00000009,0x00050085,0x00000007,
- 0x0000001c,0x0000001b,0x0000001a,0x0003003e,0x00000009,0x0000001c,0x00050041,0x00000018,
- 0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x0004003d,
- 0x00000007,0x00000020,0x00000009,0x00050083,0x00000007,0x00000021,0x00000020,0x0000001f,
- 0x0003003e,0x00000009,0x00000021,0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,
- 0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,
- 0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,
- 0x000200f8,0x00000029,0x00050041,0x0000002b,0x0000002c,0x00000009,0x00000027,0x0004003d,
- 0x00000006,0x0000002d,0x0000002c,0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00050041,
- 0x0000002b,0x0000002f,0x00000009,0x00000027,0x0003003e,0x0000002f,0x0000002e,0x000200f9,
- 0x0000002a,0x000200f8,0x0000002a,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,
- 0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,
- 0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,
- 0x000200f8,0x00000034,0x00050041,0x0000002b,0x00000037,0x00000009,0x00000036,0x0004003d,
- 0x00000006,0x00000038,0x00000037,0x0004007f,0x00000006,0x00000039,0x00000038,0x00050041,
- 0x0000002b,0x0000003a,0x00000009,0x00000036,0x0003003e,0x0000003a,0x00000039,0x000200f9,
- 0x00000035,0x000200f8,0x00000035,0x0004003d,0x0000003d,0x00000040,0x0000003f,0x0004003d,
- 0x00000041,0x00000044,0x00000043,0x00050056,0x00000045,0x00000046,0x00000040,0x00000044,
- 0x0004003d,0x00000007,0x00000047,0x00000009,0x00050041,0x00000018,0x00000049,0x00000016,
- 0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000049,0x00050085,0x00000007,0x0000004b,
- 0x00000047,0x0000004a,0x00050041,0x0000004d,0x0000004e,0x00000016,0x0000004c,0x0004003d,
- 0x00000012,0x0000004f,0x0000004e,0x0004006f,0x00000006,0x00000050,0x0000004f,0x00050051,
- 0x00000006,0x00000052,0x0000004b,0x00000000,0x00050051,0x00000006,0x00000053,0x0000004b,
- 0x00000001,0x00060050,0x00000051,0x00000054,0x00000052,0x00000053,0x00000050,0x00050057,
- 0x0000000a,0x00000055,0x00000046,0x00000054,0x0003003e,0x0000003c,0x00000055,0x00050041,
- 0x0000004d,0x00000057,0x00000016,0x00000056,0x0004003d,0x00000012,0x00000058,0x00000057,
- 0x000500c7,0x00000012,0x00000059,0x00000058,0x00000017,0x000500ab,0x00000026,0x0000005a,
- 0x00000059,0x0000001d,0x000300f7,0x0000005c,0x00000000,0x000400fa,0x0000005a,0x0000005b,
- 0x0000005c,0x000200f8,0x0000005b,0x0004003d,0x0000000a,0x0000005f,0x0000003c,0x0003003e,
- 0x0000005e,0x0000005f,0x000200f9,0x0000005c,0x000200f8,0x0000005c,0x00050041,0x0000004d,
- 0x00000060,0x00000016,0x00000056,0x0004003d,0x00000012,0x00000061,0x00000060,0x000500c7,
- 0x00000012,0x00000062,0x00000061,0x00000048,0x000500ab,0x00000026,0x00000063,0x00000062,
- 0x0000001d,0x000300f7,0x00000065,0x00000000,0x000400fa,0x00000063,0x00000064,0x00000065,
- 0x000200f8,0x00000064,0x0004003d,0x0000000a,0x00000067,0x0000003c,0x0003003e,0x00000066,
- 0x00000067,0x000200f9,0x00000065,0x000200f8,0x00000065,0x00050041,0x0000004d,0x00000068,
- 0x00000016,0x00000056,0x0004003d,0x00000012,0x00000069,0x00000068,0x000500c7,0x00000012,
- 0x0000006b,0x00000069,0x0000006a,0x000500ab,0x00000026,0x0000006c,0x0000006b,0x0000001d,
- 0x000300f7,0x0000006e,0x00000000,0x000400fa,0x0000006c,0x0000006d,0x0000006e,0x000200f8,
- 0x0000006d,0x0004003d,0x0000000a,0x00000070,0x0000003c,0x0003003e,0x0000006f,0x00000070,
- 0x000200f9,0x0000006e,0x000200f8,0x0000006e,0x00050041,0x0000004d,0x00000071,0x00000016,
- 0x00000056,0x0004003d,0x00000012,0x00000072,0x00000071,0x000500c7,0x00000012,0x00000073,
- 0x00000072,0x00000030,0x000500ab,0x00000026,0x00000074,0x00000073,0x0000001d,0x000300f7,
+ 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,
+ 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
+ 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
+ 0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
+ 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,
+ 0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,
+ 0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,
+ 0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,
+ 0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,
+ 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,
+ 0x00090019,0x00000045,0x00000006,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,
+ 0x00000000,0x00040020,0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,0x00000047,
+ 0x00000000,0x0002001a,0x00000049,0x00040020,0x0000004a,0x00000000,0x00000049,0x0004003b,
+ 0x0000004a,0x0000004b,0x00000000,0x0003001b,0x0000004d,0x00000045,0x0004002b,0x00000012,
+ 0x00000050,0x00000002,0x0004002b,0x00000012,0x00000054,0x00000003,0x00040020,0x00000055,
+ 0x00000009,0x00000012,0x00040017,0x00000059,0x00000006,0x00000003,0x0004002b,0x00000012,
+ 0x0000005e,0x00000006,0x00040020,0x00000065,0x00000003,0x0000000a,0x0004003b,0x00000065,
+ 0x00000066,0x00000003,0x0004003b,0x00000065,0x0000006e,0x00000003,0x0004002b,0x00000012,
+ 0x00000072,0x00000004,0x0004003b,0x00000065,0x00000077,0x00000003,0x0004003b,0x00000065,
+ 0x0000007f,0x00000003,0x0004002b,0x00000012,0x00000083,0x00000010,0x0004003b,0x00000065,
+ 0x00000088,0x00000003,0x0004002b,0x00000012,0x0000008c,0x00000020,0x0004003b,0x00000065,
+ 0x00000091,0x00000003,0x0004002b,0x00000012,0x00000095,0x00000040,0x0004003b,0x00000065,
+ 0x0000009a,0x00000003,0x0004002b,0x00000012,0x0000009e,0x00000080,0x0004003b,0x00000065,
+ 0x000000a3,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x00050051,0x00000006,0x0000000f,
+ 0x0000000d,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000d,0x00000001,0x00050050,
+ 0x00000007,0x00000011,0x0000000f,0x00000010,0x00050041,0x00000018,0x00000019,0x00000016,
+ 0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x00050085,0x00000007,0x0000001c,
+ 0x00000011,0x0000001a,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,
+ 0x00000007,0x0000001f,0x0000001e,0x00050083,0x00000007,0x00000021,0x0000001c,0x0000001f,
+ 0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,
+ 0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,
+ 0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050051,
+ 0x00000006,0x0000002d,0x00000021,0x00000000,0x0004007f,0x00000006,0x0000002e,0x0000002d,
+ 0x00060052,0x00000007,0x000000a7,0x0000002e,0x00000021,0x00000000,0x000200f9,0x0000002a,
+ 0x000200f8,0x0000002a,0x000700f5,0x00000007,0x000000ab,0x00000021,0x00000005,0x000000a7,
+ 0x00000029,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,
+ 0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,
+ 0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,
+ 0x00050051,0x00000006,0x00000038,0x000000ab,0x00000001,0x0004007f,0x00000006,0x00000039,
+ 0x00000038,0x00060052,0x00000007,0x000000aa,0x00000039,0x000000ab,0x00000001,0x000200f9,
+ 0x00000035,0x000200f8,0x00000035,0x000700f5,0x00000007,0x000000ac,0x000000ab,0x0000002a,
+ 0x000000aa,0x00000034,0x00050041,0x00000023,0x0000003c,0x00000016,0x0000003b,0x0004003d,
+ 0x00000013,0x0000003d,0x0000003c,0x000500ab,0x00000026,0x0000003e,0x0000003d,0x00000027,
+ 0x000300f7,0x00000040,0x00000000,0x000400fa,0x0000003e,0x0000003f,0x00000040,0x000200f8,
+ 0x0000003f,0x0007004f,0x00000007,0x00000042,0x000000ac,0x000000ac,0x00000001,0x00000000,
+ 0x000200f9,0x00000040,0x000200f8,0x00000040,0x000700f5,0x00000007,0x000000ad,0x000000ac,
+ 0x00000035,0x00000042,0x0000003f,0x0004003d,0x00000045,0x00000048,0x00000047,0x0004003d,
+ 0x00000049,0x0000004c,0x0000004b,0x00050056,0x0000004d,0x0000004e,0x00000048,0x0000004c,
+ 0x00050041,0x00000018,0x00000051,0x00000016,0x00000050,0x0004003d,0x00000007,0x00000052,
+ 0x00000051,0x00050085,0x00000007,0x00000053,0x000000ad,0x00000052,0x00050041,0x00000055,
+ 0x00000056,0x00000016,0x00000054,0x0004003d,0x00000012,0x00000057,0x00000056,0x0004006f,
+ 0x00000006,0x00000058,0x00000057,0x00050051,0x00000006,0x0000005a,0x00000053,0x00000000,
+ 0x00050051,0x00000006,0x0000005b,0x00000053,0x00000001,0x00060050,0x00000059,0x0000005c,
+ 0x0000005a,0x0000005b,0x00000058,0x00050057,0x0000000a,0x0000005d,0x0000004e,0x0000005c,
+ 0x00050041,0x00000055,0x0000005f,0x00000016,0x0000005e,0x0004003d,0x00000012,0x00000060,
+ 0x0000005f,0x000500c7,0x00000012,0x00000061,0x00000060,0x00000017,0x000500ab,0x00000026,
+ 0x00000062,0x00000061,0x0000001d,0x000300f7,0x00000064,0x00000000,0x000400fa,0x00000062,
+ 0x00000063,0x00000064,0x000200f8,0x00000063,0x0003003e,0x00000066,0x0000005d,0x000200f9,
+ 0x00000064,0x000200f8,0x00000064,0x000500c7,0x00000012,0x0000006a,0x00000060,0x00000050,
+ 0x000500ab,0x00000026,0x0000006b,0x0000006a,0x0000001d,0x000300f7,0x0000006d,0x00000000,
+ 0x000400fa,0x0000006b,0x0000006c,0x0000006d,0x000200f8,0x0000006c,0x0003003e,0x0000006e,
+ 0x0000005d,0x000200f9,0x0000006d,0x000200f8,0x0000006d,0x000500c7,0x00000012,0x00000073,
+ 0x00000060,0x00000072,0x000500ab,0x00000026,0x00000074,0x00000073,0x0000001d,0x000300f7,
0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000076,0x000200f8,0x00000075,
- 0x0004003d,0x0000000a,0x00000078,0x0000003c,0x0003003e,0x00000077,0x00000078,0x000200f9,
- 0x00000076,0x000200f8,0x00000076,0x00050041,0x0000004d,0x00000079,0x00000016,0x00000056,
- 0x0004003d,0x00000012,0x0000007a,0x00000079,0x000500c7,0x00000012,0x0000007c,0x0000007a,
- 0x0000007b,0x000500ab,0x00000026,0x0000007d,0x0000007c,0x0000001d,0x000300f7,0x0000007f,
- 0x00000000,0x000400fa,0x0000007d,0x0000007e,0x0000007f,0x000200f8,0x0000007e,0x0004003d,
- 0x0000000a,0x00000081,0x0000003c,0x0003003e,0x00000080,0x00000081,0x000200f9,0x0000007f,
- 0x000200f8,0x0000007f,0x00050041,0x0000004d,0x00000082,0x00000016,0x00000056,0x0004003d,
- 0x00000012,0x00000083,0x00000082,0x000500c7,0x00000012,0x00000085,0x00000083,0x00000084,
- 0x000500ab,0x00000026,0x00000086,0x00000085,0x0000001d,0x000300f7,0x00000088,0x00000000,
- 0x000400fa,0x00000086,0x00000087,0x00000088,0x000200f8,0x00000087,0x0004003d,0x0000000a,
- 0x0000008a,0x0000003c,0x0003003e,0x00000089,0x0000008a,0x000200f9,0x00000088,0x000200f8,
- 0x00000088,0x00050041,0x0000004d,0x0000008b,0x00000016,0x00000056,0x0004003d,0x00000012,
- 0x0000008c,0x0000008b,0x000500c7,0x00000012,0x0000008e,0x0000008c,0x0000008d,0x000500ab,
- 0x00000026,0x0000008f,0x0000008e,0x0000001d,0x000300f7,0x00000091,0x00000000,0x000400fa,
- 0x0000008f,0x00000090,0x00000091,0x000200f8,0x00000090,0x0004003d,0x0000000a,0x00000093,
- 0x0000003c,0x0003003e,0x00000092,0x00000093,0x000200f9,0x00000091,0x000200f8,0x00000091,
- 0x00050041,0x0000004d,0x00000094,0x00000016,0x00000056,0x0004003d,0x00000012,0x00000095,
- 0x00000094,0x000500c7,0x00000012,0x00000097,0x00000095,0x00000096,0x000500ab,0x00000026,
- 0x00000098,0x00000097,0x0000001d,0x000300f7,0x0000009a,0x00000000,0x000400fa,0x00000098,
- 0x00000099,0x0000009a,0x000200f8,0x00000099,0x0004003d,0x0000000a,0x0000009c,0x0000003c,
- 0x0003003e,0x0000009b,0x0000009c,0x000200f9,0x0000009a,0x000200f8,0x0000009a,0x000100fd,
- 0x00010038
+ 0x0003003e,0x00000077,0x0000005d,0x000200f9,0x00000076,0x000200f8,0x00000076,0x000500c7,
+ 0x00000012,0x0000007b,0x00000060,0x00000030,0x000500ab,0x00000026,0x0000007c,0x0000007b,
+ 0x0000001d,0x000300f7,0x0000007e,0x00000000,0x000400fa,0x0000007c,0x0000007d,0x0000007e,
+ 0x000200f8,0x0000007d,0x0003003e,0x0000007f,0x0000005d,0x000200f9,0x0000007e,0x000200f8,
+ 0x0000007e,0x000500c7,0x00000012,0x00000084,0x00000060,0x00000083,0x000500ab,0x00000026,
+ 0x00000085,0x00000084,0x0000001d,0x000300f7,0x00000087,0x00000000,0x000400fa,0x00000085,
+ 0x00000086,0x00000087,0x000200f8,0x00000086,0x0003003e,0x00000088,0x0000005d,0x000200f9,
+ 0x00000087,0x000200f8,0x00000087,0x000500c7,0x00000012,0x0000008d,0x00000060,0x0000008c,
+ 0x000500ab,0x00000026,0x0000008e,0x0000008d,0x0000001d,0x000300f7,0x00000090,0x00000000,
+ 0x000400fa,0x0000008e,0x0000008f,0x00000090,0x000200f8,0x0000008f,0x0003003e,0x00000091,
+ 0x0000005d,0x000200f9,0x00000090,0x000200f8,0x00000090,0x000500c7,0x00000012,0x00000096,
+ 0x00000060,0x00000095,0x000500ab,0x00000026,0x00000097,0x00000096,0x0000001d,0x000300f7,
+ 0x00000099,0x00000000,0x000400fa,0x00000097,0x00000098,0x00000099,0x000200f8,0x00000098,
+ 0x0003003e,0x0000009a,0x0000005d,0x000200f9,0x00000099,0x000200f8,0x00000099,0x000500c7,
+ 0x00000012,0x0000009f,0x00000060,0x0000009e,0x000500ab,0x00000026,0x000000a0,0x0000009f,
+ 0x0000001d,0x000300f7,0x000000a2,0x00000000,0x000400fa,0x000000a0,0x000000a1,0x000000a2,
+ 0x000200f8,0x000000a1,0x0003003e,0x000000a3,0x0000005d,0x000200f9,0x000000a2,0x000200f8,
+ 0x000000a2,0x000100fd,0x00010038
};
// Generated from:
@@ -150,6 +137,7 @@ const uint32_t kBlitResolve_frag_00000001[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DArray color;
@@ -178,6 +166,8 @@ const uint32_t kBlitResolve_frag_00000001[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// vec4 colorValue = texture(sampler2DArray(color, blitSampler), vec3(srcImageCoords * params . invSrcExtent, params . srcLayer));
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc
index a5b68611132..8d41a66a7fb 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc
@@ -1,143 +1,124 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a5,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c0,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000066,0x0000006f,
- 0x00000077,0x0000007f,0x00000088,0x00000091,0x0000009a,0x000000a3,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000006e,0x00000077,
+ 0x0000007f,0x00000087,0x00000090,0x00000099,0x000000a2,0x000000ab,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,
- 0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
- 0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,
- 0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,
- 0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,
- 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,
- 0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
- 0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,
- 0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,
- 0x00000015,0x61726170,0x0000736d,0x00050005,0x00000036,0x6f6c6f63,0x6c615672,0x00006575,
- 0x00030005,0x0000003a,0x00000069,0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,
- 0x00000066,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000006f,0x6f6c6f63,0x74754f72,
- 0x00000031,0x00050005,0x00000077,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x0000007f,
- 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000088,0x6f6c6f63,0x74754f72,0x00000034,
- 0x00050005,0x00000091,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000009a,0x6f6c6f63,
- 0x74754f72,0x00000036,0x00050005,0x000000a3,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
+ 0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,
+ 0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,
+ 0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
+ 0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,
+ 0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,
+ 0x00000015,0x61726170,0x0000736d,0x00040005,0x00000050,0x6f6c6f63,0x00000072,0x00050005,
+ 0x0000006e,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000077,0x6f6c6f63,0x74754f72,
+ 0x00000031,0x00050005,0x0000007f,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000087,
+ 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000090,0x6f6c6f63,0x74754f72,0x00000034,
+ 0x00050005,0x00000099,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x000000a2,0x6f6c6f63,
+ 0x74754f72,0x00000036,0x00050005,0x000000ab,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,
0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,
0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,
0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,
0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,
- 0x00030047,0x00000013,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,
- 0x00000048,0x00000021,0x00000000,0x00040047,0x00000066,0x0000001e,0x00000000,0x00040047,
- 0x0000006f,0x0000001e,0x00000001,0x00040047,0x00000077,0x0000001e,0x00000002,0x00040047,
- 0x0000007f,0x0000001e,0x00000003,0x00040047,0x00000088,0x0000001e,0x00000004,0x00040047,
- 0x00000091,0x0000001e,0x00000005,0x00040047,0x0000009a,0x0000001e,0x00000006,0x00040047,
- 0x000000a3,0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,
- 0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,
- 0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,
- 0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,
- 0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,
- 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
- 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
- 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
- 0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,
- 0x00040020,0x00000035,0x00000007,0x0000000b,0x0004002b,0x0000000a,0x00000037,0x00000000,
- 0x0004002b,0x0000000a,0x00000038,0x3f800000,0x0007002c,0x0000000b,0x00000039,0x00000037,
- 0x00000037,0x00000037,0x00000038,0x0004002b,0x00000006,0x00000041,0x00000004,0x00040020,
- 0x00000042,0x00000009,0x00000006,0x00090019,0x00000046,0x0000000a,0x00000001,0x00000000,
- 0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,
- 0x0004003b,0x00000047,0x00000048,0x00000000,0x0004002b,0x00000006,0x00000050,0x00000001,
- 0x0004002b,0x00000006,0x00000053,0x00000005,0x00040020,0x00000054,0x00000009,0x0000000a,
- 0x0004002b,0x00000006,0x0000005e,0x00000006,0x00040020,0x00000065,0x00000003,0x0000000b,
- 0x0004003b,0x00000065,0x00000066,0x00000003,0x0004002b,0x00000006,0x0000006a,0x00000002,
- 0x0004003b,0x00000065,0x0000006f,0x00000003,0x0004003b,0x00000065,0x00000077,0x00000003,
- 0x0004003b,0x00000065,0x0000007f,0x00000003,0x0004002b,0x00000006,0x00000083,0x00000010,
- 0x0004003b,0x00000065,0x00000088,0x00000003,0x0004002b,0x00000006,0x0000008c,0x00000020,
- 0x0004003b,0x00000065,0x00000091,0x00000003,0x0004002b,0x00000006,0x00000095,0x00000040,
- 0x0004003b,0x00000065,0x0000009a,0x00000003,0x0004002b,0x00000006,0x0000009e,0x00000080,
- 0x0004003b,0x00000065,0x000000a3,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000035,0x00000036,0x00000007,0x0004003b,0x00000025,0x0000003a,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x0003003e,0x00000009,
- 0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,
- 0x00000019,0x00000018,0x0004003d,0x00000007,0x0000001a,0x00000009,0x00050082,0x00000007,
- 0x0000001b,0x0000001a,0x00000019,0x0003003e,0x00000009,0x0000001b,0x00050041,0x0000001d,
- 0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,0x0000001f,0x0000001e,0x000500ab,
- 0x00000020,0x00000022,0x0000001f,0x00000021,0x000300f7,0x00000024,0x00000000,0x000400fa,
- 0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050041,0x00000025,0x00000026,
- 0x00000009,0x00000021,0x0004003d,0x00000006,0x00000027,0x00000026,0x0004007e,0x00000006,
- 0x00000028,0x00000027,0x00050041,0x00000025,0x00000029,0x00000009,0x00000021,0x0003003e,
- 0x00000029,0x00000028,0x000200f9,0x00000024,0x000200f8,0x00000024,0x00050041,0x0000001d,
- 0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,
- 0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,
- 0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050041,0x00000025,0x00000031,
- 0x00000009,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,0x0004007e,0x00000006,
- 0x00000033,0x00000032,0x00050041,0x00000025,0x00000034,0x00000009,0x00000030,0x0003003e,
- 0x00000034,0x00000033,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x0003003e,0x00000036,
- 0x00000039,0x0003003e,0x0000003a,0x00000016,0x000200f9,0x0000003b,0x000200f8,0x0000003b,
- 0x000400f6,0x0000003d,0x0000003e,0x00000000,0x000200f9,0x0000003f,0x000200f8,0x0000003f,
- 0x0004003d,0x00000006,0x00000040,0x0000003a,0x00050041,0x00000042,0x00000043,0x00000015,
- 0x00000041,0x0004003d,0x00000006,0x00000044,0x00000043,0x000500b1,0x00000020,0x00000045,
- 0x00000040,0x00000044,0x000400fa,0x00000045,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
- 0x0004003d,0x00000046,0x00000049,0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000009,
- 0x0004003d,0x00000006,0x0000004b,0x0000003a,0x0007005f,0x0000000b,0x0000004c,0x00000049,
- 0x0000004a,0x00000040,0x0000004b,0x0004003d,0x0000000b,0x0000004d,0x00000036,0x00050081,
- 0x0000000b,0x0000004e,0x0000004d,0x0000004c,0x0003003e,0x00000036,0x0000004e,0x000200f9,
- 0x0000003e,0x000200f8,0x0000003e,0x0004003d,0x00000006,0x0000004f,0x0000003a,0x00050080,
- 0x00000006,0x00000051,0x0000004f,0x00000050,0x0003003e,0x0000003a,0x00000051,0x000200f9,
- 0x0000003b,0x000200f8,0x0000003d,0x0004003d,0x0000000b,0x00000052,0x00000036,0x00050041,
- 0x00000054,0x00000055,0x00000015,0x00000053,0x0004003d,0x0000000a,0x00000056,0x00000055,
- 0x0005008e,0x0000000b,0x00000057,0x00000052,0x00000056,0x0006000c,0x0000000b,0x00000058,
- 0x00000001,0x00000001,0x00000057,0x00050051,0x0000000a,0x00000059,0x00000058,0x00000000,
- 0x00050051,0x0000000a,0x0000005a,0x00000058,0x00000001,0x00050051,0x0000000a,0x0000005b,
- 0x00000058,0x00000002,0x00050051,0x0000000a,0x0000005c,0x00000058,0x00000003,0x00070050,
- 0x0000000b,0x0000005d,0x00000059,0x0000005a,0x0000005b,0x0000005c,0x0003003e,0x00000036,
- 0x0000005d,0x00050041,0x00000042,0x0000005f,0x00000015,0x0000005e,0x0004003d,0x00000006,
- 0x00000060,0x0000005f,0x000500c7,0x00000006,0x00000061,0x00000060,0x00000050,0x000500ab,
- 0x00000020,0x00000062,0x00000061,0x00000016,0x000300f7,0x00000064,0x00000000,0x000400fa,
- 0x00000062,0x00000063,0x00000064,0x000200f8,0x00000063,0x0004003d,0x0000000b,0x00000067,
- 0x00000036,0x0003003e,0x00000066,0x00000067,0x000200f9,0x00000064,0x000200f8,0x00000064,
- 0x00050041,0x00000042,0x00000068,0x00000015,0x0000005e,0x0004003d,0x00000006,0x00000069,
- 0x00000068,0x000500c7,0x00000006,0x0000006b,0x00000069,0x0000006a,0x000500ab,0x00000020,
- 0x0000006c,0x0000006b,0x00000016,0x000300f7,0x0000006e,0x00000000,0x000400fa,0x0000006c,
- 0x0000006d,0x0000006e,0x000200f8,0x0000006d,0x0004003d,0x0000000b,0x00000070,0x00000036,
- 0x0003003e,0x0000006f,0x00000070,0x000200f9,0x0000006e,0x000200f8,0x0000006e,0x00050041,
- 0x00000042,0x00000071,0x00000015,0x0000005e,0x0004003d,0x00000006,0x00000072,0x00000071,
- 0x000500c7,0x00000006,0x00000073,0x00000072,0x00000041,0x000500ab,0x00000020,0x00000074,
- 0x00000073,0x00000016,0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,
- 0x00000076,0x000200f8,0x00000075,0x0004003d,0x0000000b,0x00000078,0x00000036,0x0003003e,
- 0x00000077,0x00000078,0x000200f9,0x00000076,0x000200f8,0x00000076,0x00050041,0x00000042,
- 0x00000079,0x00000015,0x0000005e,0x0004003d,0x00000006,0x0000007a,0x00000079,0x000500c7,
- 0x00000006,0x0000007b,0x0000007a,0x0000002a,0x000500ab,0x00000020,0x0000007c,0x0000007b,
- 0x00000016,0x000300f7,0x0000007e,0x00000000,0x000400fa,0x0000007c,0x0000007d,0x0000007e,
- 0x000200f8,0x0000007d,0x0004003d,0x0000000b,0x00000080,0x00000036,0x0003003e,0x0000007f,
- 0x00000080,0x000200f9,0x0000007e,0x000200f8,0x0000007e,0x00050041,0x00000042,0x00000081,
- 0x00000015,0x0000005e,0x0004003d,0x00000006,0x00000082,0x00000081,0x000500c7,0x00000006,
- 0x00000084,0x00000082,0x00000083,0x000500ab,0x00000020,0x00000085,0x00000084,0x00000016,
- 0x000300f7,0x00000087,0x00000000,0x000400fa,0x00000085,0x00000086,0x00000087,0x000200f8,
- 0x00000086,0x0004003d,0x0000000b,0x00000089,0x00000036,0x0003003e,0x00000088,0x00000089,
- 0x000200f9,0x00000087,0x000200f8,0x00000087,0x00050041,0x00000042,0x0000008a,0x00000015,
- 0x0000005e,0x0004003d,0x00000006,0x0000008b,0x0000008a,0x000500c7,0x00000006,0x0000008d,
- 0x0000008b,0x0000008c,0x000500ab,0x00000020,0x0000008e,0x0000008d,0x00000016,0x000300f7,
- 0x00000090,0x00000000,0x000400fa,0x0000008e,0x0000008f,0x00000090,0x000200f8,0x0000008f,
- 0x0004003d,0x0000000b,0x00000092,0x00000036,0x0003003e,0x00000091,0x00000092,0x000200f9,
- 0x00000090,0x000200f8,0x00000090,0x00050041,0x00000042,0x00000093,0x00000015,0x0000005e,
- 0x0004003d,0x00000006,0x00000094,0x00000093,0x000500c7,0x00000006,0x00000096,0x00000094,
- 0x00000095,0x000500ab,0x00000020,0x00000097,0x00000096,0x00000016,0x000300f7,0x00000099,
- 0x00000000,0x000400fa,0x00000097,0x00000098,0x00000099,0x000200f8,0x00000098,0x0004003d,
- 0x0000000b,0x0000009b,0x00000036,0x0003003e,0x0000009a,0x0000009b,0x000200f9,0x00000099,
- 0x000200f8,0x00000099,0x00050041,0x00000042,0x0000009c,0x00000015,0x0000005e,0x0004003d,
- 0x00000006,0x0000009d,0x0000009c,0x000500c7,0x00000006,0x0000009f,0x0000009d,0x0000009e,
- 0x000500ab,0x00000020,0x000000a0,0x0000009f,0x00000016,0x000300f7,0x000000a2,0x00000000,
- 0x000400fa,0x000000a0,0x000000a1,0x000000a2,0x000200f8,0x000000a1,0x0004003d,0x0000000b,
- 0x000000a4,0x00000036,0x0003003e,0x000000a3,0x000000a4,0x000200f9,0x000000a2,0x000200f8,
- 0x000000a2,0x000100fd,0x00010038
+ 0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,
+ 0x00040047,0x00000050,0x00000022,0x00000000,0x00040047,0x00000050,0x00000021,0x00000000,
+ 0x00040047,0x0000006e,0x0000001e,0x00000000,0x00040047,0x00000077,0x0000001e,0x00000001,
+ 0x00040047,0x0000007f,0x0000001e,0x00000002,0x00040047,0x00000087,0x0000001e,0x00000003,
+ 0x00040047,0x00000090,0x0000001e,0x00000004,0x00040047,0x00000099,0x0000001e,0x00000005,
+ 0x00040047,0x000000a2,0x0000001e,0x00000006,0x00040047,0x000000ab,0x0000001e,0x00000007,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,
+ 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
+ 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
+ 0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,
+ 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,
+ 0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,
+ 0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,
+ 0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,
+ 0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,0x00000009,0x0004002b,0x0000000a,
+ 0x0000003f,0x00000000,0x0004002b,0x0000000a,0x00000040,0x3f800000,0x0007002c,0x0000000b,
+ 0x00000041,0x0000003f,0x0000003f,0x0000003f,0x00000040,0x0004002b,0x00000006,0x00000049,
+ 0x00000004,0x00040020,0x0000004a,0x00000009,0x00000006,0x00090019,0x0000004e,0x0000000a,
+ 0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x0000004f,
+ 0x00000000,0x0000004e,0x0004003b,0x0000004f,0x00000050,0x00000000,0x0004002b,0x00000006,
+ 0x00000058,0x00000001,0x0004002b,0x00000006,0x0000005b,0x00000005,0x00040020,0x0000005c,
+ 0x00000009,0x0000000a,0x0004002b,0x00000006,0x00000066,0x00000006,0x00040020,0x0000006d,
+ 0x00000003,0x0000000b,0x0004003b,0x0000006d,0x0000006e,0x00000003,0x0004002b,0x00000006,
+ 0x00000072,0x00000002,0x0004003b,0x0000006d,0x00000077,0x00000003,0x0004003b,0x0000006d,
+ 0x0000007f,0x00000003,0x0004003b,0x0000006d,0x00000087,0x00000003,0x0004002b,0x00000006,
+ 0x0000008b,0x00000010,0x0004003b,0x0000006d,0x00000090,0x00000003,0x0004002b,0x00000006,
+ 0x00000094,0x00000020,0x0004003b,0x0000006d,0x00000099,0x00000003,0x0004002b,0x00000006,
+ 0x0000009d,0x00000040,0x0004003b,0x0000006d,0x000000a2,0x00000003,0x0004002b,0x00000006,
+ 0x000000a6,0x00000080,0x0004003b,0x0000006d,0x000000ab,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000b,0x0000000f,
+ 0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,
+ 0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,
+ 0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001b,
+ 0x00000011,0x00000019,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
+ 0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,
+ 0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,
+ 0x00000023,0x00050051,0x00000006,0x00000027,0x0000001b,0x00000000,0x0004007e,0x00000006,
+ 0x00000028,0x00000027,0x00060052,0x00000007,0x000000af,0x00000028,0x0000001b,0x00000000,
+ 0x000200f9,0x00000024,0x000200f8,0x00000024,0x000700f5,0x00000007,0x000000b3,0x0000001b,
+ 0x00000005,0x000000af,0x00000023,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,
+ 0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,
+ 0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,
+ 0x000200f8,0x0000002e,0x00050051,0x00000006,0x00000032,0x000000b3,0x00000001,0x0004007e,
+ 0x00000006,0x00000033,0x00000032,0x00060052,0x00000007,0x000000b2,0x00000033,0x000000b3,
+ 0x00000001,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x000700f5,0x00000007,0x000000b4,
+ 0x000000b3,0x00000024,0x000000b2,0x0000002e,0x00050041,0x0000001d,0x00000036,0x00000015,
+ 0x00000035,0x0004003d,0x00000012,0x00000037,0x00000036,0x000500ab,0x00000020,0x00000038,
+ 0x00000037,0x00000021,0x000300f7,0x0000003a,0x00000000,0x000400fa,0x00000038,0x00000039,
+ 0x0000003a,0x000200f8,0x00000039,0x0007004f,0x00000007,0x0000003c,0x000000b4,0x000000b4,
+ 0x00000001,0x00000000,0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000700f5,0x00000007,
+ 0x000000bf,0x000000b4,0x0000002f,0x0000003c,0x00000039,0x000200f9,0x00000043,0x000200f8,
+ 0x00000043,0x000700f5,0x0000000b,0x000000b6,0x00000041,0x0000003a,0x00000056,0x00000044,
+ 0x000700f5,0x00000006,0x000000b5,0x00000016,0x0000003a,0x00000059,0x00000044,0x00050041,
+ 0x0000004a,0x0000004b,0x00000015,0x00000049,0x0004003d,0x00000006,0x0000004c,0x0000004b,
+ 0x000500b1,0x00000020,0x0000004d,0x000000b5,0x0000004c,0x000400f6,0x00000045,0x00000044,
+ 0x00000000,0x000400fa,0x0000004d,0x00000044,0x00000045,0x000200f8,0x00000044,0x0004003d,
+ 0x0000004e,0x00000051,0x00000050,0x0007005f,0x0000000b,0x00000054,0x00000051,0x000000bf,
+ 0x00000040,0x000000b5,0x00050081,0x0000000b,0x00000056,0x000000b6,0x00000054,0x00050080,
+ 0x00000006,0x00000059,0x000000b5,0x00000058,0x000200f9,0x00000043,0x000200f8,0x00000045,
+ 0x00050041,0x0000005c,0x0000005d,0x00000015,0x0000005b,0x0004003d,0x0000000a,0x0000005e,
+ 0x0000005d,0x0005008e,0x0000000b,0x0000005f,0x000000b6,0x0000005e,0x0006000c,0x0000000b,
+ 0x00000060,0x00000001,0x00000001,0x0000005f,0x00050041,0x0000004a,0x00000067,0x00000015,
+ 0x00000066,0x0004003d,0x00000006,0x00000068,0x00000067,0x000500c7,0x00000006,0x00000069,
+ 0x00000068,0x00000058,0x000500ab,0x00000020,0x0000006a,0x00000069,0x00000016,0x000300f7,
+ 0x0000006c,0x00000000,0x000400fa,0x0000006a,0x0000006b,0x0000006c,0x000200f8,0x0000006b,
+ 0x0003003e,0x0000006e,0x00000060,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x000500c7,
+ 0x00000006,0x00000073,0x00000068,0x00000072,0x000500ab,0x00000020,0x00000074,0x00000073,
+ 0x00000016,0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000076,
+ 0x000200f8,0x00000075,0x0003003e,0x00000077,0x00000060,0x000200f9,0x00000076,0x000200f8,
+ 0x00000076,0x000500c7,0x00000006,0x0000007b,0x00000068,0x00000049,0x000500ab,0x00000020,
+ 0x0000007c,0x0000007b,0x00000016,0x000300f7,0x0000007e,0x00000000,0x000400fa,0x0000007c,
+ 0x0000007d,0x0000007e,0x000200f8,0x0000007d,0x0003003e,0x0000007f,0x00000060,0x000200f9,
+ 0x0000007e,0x000200f8,0x0000007e,0x000500c7,0x00000006,0x00000083,0x00000068,0x0000002a,
+ 0x000500ab,0x00000020,0x00000084,0x00000083,0x00000016,0x000300f7,0x00000086,0x00000000,
+ 0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x0003003e,0x00000087,
+ 0x00000060,0x000200f9,0x00000086,0x000200f8,0x00000086,0x000500c7,0x00000006,0x0000008c,
+ 0x00000068,0x0000008b,0x000500ab,0x00000020,0x0000008d,0x0000008c,0x00000016,0x000300f7,
+ 0x0000008f,0x00000000,0x000400fa,0x0000008d,0x0000008e,0x0000008f,0x000200f8,0x0000008e,
+ 0x0003003e,0x00000090,0x00000060,0x000200f9,0x0000008f,0x000200f8,0x0000008f,0x000500c7,
+ 0x00000006,0x00000095,0x00000068,0x00000094,0x000500ab,0x00000020,0x00000096,0x00000095,
+ 0x00000016,0x000300f7,0x00000098,0x00000000,0x000400fa,0x00000096,0x00000097,0x00000098,
+ 0x000200f8,0x00000097,0x0003003e,0x00000099,0x00000060,0x000200f9,0x00000098,0x000200f8,
+ 0x00000098,0x000500c7,0x00000006,0x0000009e,0x00000068,0x0000009d,0x000500ab,0x00000020,
+ 0x0000009f,0x0000009e,0x00000016,0x000300f7,0x000000a1,0x00000000,0x000400fa,0x0000009f,
+ 0x000000a0,0x000000a1,0x000200f8,0x000000a0,0x0003003e,0x000000a2,0x00000060,0x000200f9,
+ 0x000000a1,0x000200f8,0x000000a1,0x000500c7,0x00000006,0x000000a7,0x00000068,0x000000a6,
+ 0x000500ab,0x00000020,0x000000a8,0x000000a7,0x00000016,0x000300f7,0x000000aa,0x00000000,
+ 0x000400fa,0x000000a8,0x000000a9,0x000000aa,0x000200f8,0x000000a9,0x0003003e,0x000000ab,
+ 0x00000060,0x000200f9,0x000000aa,0x000200f8,0x000000aa,0x000100fd,0x00010038
};
// Generated from:
@@ -159,6 +140,7 @@ const uint32_t kBlitResolve_frag_00000002[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DMS color;
@@ -183,6 +165,8 @@ const uint32_t kBlitResolve_frag_00000002[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// vec4 colorValue = vec4(0, 0, 0, 1);
// for(int i = 0;i < params . samples;++ i)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc
index 9b6592d0a99..88c687bcd0c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc
@@ -1,147 +1,128 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000003[] = {
- 0x07230203,0x00010000,0x00080007,0x000000ac,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c7,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000006d,0x00000076,
- 0x0000007e,0x00000086,0x0000008f,0x00000098,0x000000a1,0x000000aa,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000075,0x0000007e,
+ 0x00000086,0x0000008e,0x00000097,0x000000a0,0x000000a9,0x000000b2,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,
- 0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
- 0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,
- 0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,
- 0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,
- 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,
- 0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
- 0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,
- 0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,
- 0x00000015,0x61726170,0x0000736d,0x00050005,0x00000036,0x6f6c6f63,0x6c615672,0x00006575,
- 0x00030005,0x0000003a,0x00000069,0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,
- 0x0000006d,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000076,0x6f6c6f63,0x74754f72,
- 0x00000031,0x00050005,0x0000007e,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000086,
- 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x0000008f,0x6f6c6f63,0x74754f72,0x00000034,
- 0x00050005,0x00000098,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x000000a1,0x6f6c6f63,
- 0x74754f72,0x00000036,0x00050005,0x000000aa,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
+ 0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,
+ 0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,
+ 0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
+ 0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,
+ 0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,
+ 0x00000015,0x61726170,0x0000736d,0x00040005,0x00000050,0x6f6c6f63,0x00000072,0x00050005,
+ 0x00000075,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000007e,0x6f6c6f63,0x74754f72,
+ 0x00000031,0x00050005,0x00000086,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x0000008e,
+ 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000097,0x6f6c6f63,0x74754f72,0x00000034,
+ 0x00050005,0x000000a0,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x000000a9,0x6f6c6f63,
+ 0x74754f72,0x00000036,0x00050005,0x000000b2,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,
0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,
0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,
0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,
0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,
- 0x00030047,0x00000013,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,
- 0x00000048,0x00000021,0x00000000,0x00040047,0x0000006d,0x0000001e,0x00000000,0x00040047,
- 0x00000076,0x0000001e,0x00000001,0x00040047,0x0000007e,0x0000001e,0x00000002,0x00040047,
- 0x00000086,0x0000001e,0x00000003,0x00040047,0x0000008f,0x0000001e,0x00000004,0x00040047,
- 0x00000098,0x0000001e,0x00000005,0x00040047,0x000000a1,0x0000001e,0x00000006,0x00040047,
- 0x000000aa,0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,
- 0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,
- 0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,
- 0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,
- 0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,
- 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
- 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
- 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
- 0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,
- 0x00040020,0x00000035,0x00000007,0x0000000b,0x0004002b,0x0000000a,0x00000037,0x00000000,
- 0x0004002b,0x0000000a,0x00000038,0x3f800000,0x0007002c,0x0000000b,0x00000039,0x00000037,
- 0x00000037,0x00000037,0x00000038,0x0004002b,0x00000006,0x00000041,0x00000004,0x00040020,
- 0x00000042,0x00000009,0x00000006,0x00090019,0x00000046,0x0000000a,0x00000001,0x00000000,
- 0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,
- 0x0004003b,0x00000047,0x00000048,0x00000000,0x0004002b,0x00000006,0x0000004b,0x00000003,
- 0x00040017,0x0000004e,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000057,0x00000001,
- 0x0004002b,0x00000006,0x0000005a,0x00000005,0x00040020,0x0000005b,0x00000009,0x0000000a,
- 0x0004002b,0x00000006,0x00000065,0x00000006,0x00040020,0x0000006c,0x00000003,0x0000000b,
- 0x0004003b,0x0000006c,0x0000006d,0x00000003,0x0004002b,0x00000006,0x00000071,0x00000002,
- 0x0004003b,0x0000006c,0x00000076,0x00000003,0x0004003b,0x0000006c,0x0000007e,0x00000003,
- 0x0004003b,0x0000006c,0x00000086,0x00000003,0x0004002b,0x00000006,0x0000008a,0x00000010,
- 0x0004003b,0x0000006c,0x0000008f,0x00000003,0x0004002b,0x00000006,0x00000093,0x00000020,
- 0x0004003b,0x0000006c,0x00000098,0x00000003,0x0004002b,0x00000006,0x0000009c,0x00000040,
- 0x0004003b,0x0000006c,0x000000a1,0x00000003,0x0004002b,0x00000006,0x000000a5,0x00000080,
- 0x0004003b,0x0000006c,0x000000aa,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000035,0x00000036,0x00000007,0x0004003b,0x00000025,0x0000003a,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x0003003e,0x00000009,
- 0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,
- 0x00000019,0x00000018,0x0004003d,0x00000007,0x0000001a,0x00000009,0x00050082,0x00000007,
- 0x0000001b,0x0000001a,0x00000019,0x0003003e,0x00000009,0x0000001b,0x00050041,0x0000001d,
- 0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,0x0000001f,0x0000001e,0x000500ab,
- 0x00000020,0x00000022,0x0000001f,0x00000021,0x000300f7,0x00000024,0x00000000,0x000400fa,
- 0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050041,0x00000025,0x00000026,
- 0x00000009,0x00000021,0x0004003d,0x00000006,0x00000027,0x00000026,0x0004007e,0x00000006,
- 0x00000028,0x00000027,0x00050041,0x00000025,0x00000029,0x00000009,0x00000021,0x0003003e,
- 0x00000029,0x00000028,0x000200f9,0x00000024,0x000200f8,0x00000024,0x00050041,0x0000001d,
- 0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,
- 0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,
- 0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050041,0x00000025,0x00000031,
- 0x00000009,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,0x0004007e,0x00000006,
- 0x00000033,0x00000032,0x00050041,0x00000025,0x00000034,0x00000009,0x00000030,0x0003003e,
- 0x00000034,0x00000033,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x0003003e,0x00000036,
- 0x00000039,0x0003003e,0x0000003a,0x00000016,0x000200f9,0x0000003b,0x000200f8,0x0000003b,
- 0x000400f6,0x0000003d,0x0000003e,0x00000000,0x000200f9,0x0000003f,0x000200f8,0x0000003f,
- 0x0004003d,0x00000006,0x00000040,0x0000003a,0x00050041,0x00000042,0x00000043,0x00000015,
- 0x00000041,0x0004003d,0x00000006,0x00000044,0x00000043,0x000500b1,0x00000020,0x00000045,
- 0x00000040,0x00000044,0x000400fa,0x00000045,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
- 0x0004003d,0x00000046,0x00000049,0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000009,
- 0x00050041,0x00000042,0x0000004c,0x00000015,0x0000004b,0x0004003d,0x00000006,0x0000004d,
- 0x0000004c,0x00050051,0x00000006,0x0000004f,0x0000004a,0x00000000,0x00050051,0x00000006,
- 0x00000050,0x0000004a,0x00000001,0x00060050,0x0000004e,0x00000051,0x0000004f,0x00000050,
- 0x0000004d,0x0004003d,0x00000006,0x00000052,0x0000003a,0x0007005f,0x0000000b,0x00000053,
- 0x00000049,0x00000051,0x00000040,0x00000052,0x0004003d,0x0000000b,0x00000054,0x00000036,
- 0x00050081,0x0000000b,0x00000055,0x00000054,0x00000053,0x0003003e,0x00000036,0x00000055,
- 0x000200f9,0x0000003e,0x000200f8,0x0000003e,0x0004003d,0x00000006,0x00000056,0x0000003a,
- 0x00050080,0x00000006,0x00000058,0x00000056,0x00000057,0x0003003e,0x0000003a,0x00000058,
- 0x000200f9,0x0000003b,0x000200f8,0x0000003d,0x0004003d,0x0000000b,0x00000059,0x00000036,
- 0x00050041,0x0000005b,0x0000005c,0x00000015,0x0000005a,0x0004003d,0x0000000a,0x0000005d,
- 0x0000005c,0x0005008e,0x0000000b,0x0000005e,0x00000059,0x0000005d,0x0006000c,0x0000000b,
- 0x0000005f,0x00000001,0x00000001,0x0000005e,0x00050051,0x0000000a,0x00000060,0x0000005f,
- 0x00000000,0x00050051,0x0000000a,0x00000061,0x0000005f,0x00000001,0x00050051,0x0000000a,
- 0x00000062,0x0000005f,0x00000002,0x00050051,0x0000000a,0x00000063,0x0000005f,0x00000003,
- 0x00070050,0x0000000b,0x00000064,0x00000060,0x00000061,0x00000062,0x00000063,0x0003003e,
- 0x00000036,0x00000064,0x00050041,0x00000042,0x00000066,0x00000015,0x00000065,0x0004003d,
- 0x00000006,0x00000067,0x00000066,0x000500c7,0x00000006,0x00000068,0x00000067,0x00000057,
- 0x000500ab,0x00000020,0x00000069,0x00000068,0x00000016,0x000300f7,0x0000006b,0x00000000,
- 0x000400fa,0x00000069,0x0000006a,0x0000006b,0x000200f8,0x0000006a,0x0004003d,0x0000000b,
- 0x0000006e,0x00000036,0x0003003e,0x0000006d,0x0000006e,0x000200f9,0x0000006b,0x000200f8,
- 0x0000006b,0x00050041,0x00000042,0x0000006f,0x00000015,0x00000065,0x0004003d,0x00000006,
- 0x00000070,0x0000006f,0x000500c7,0x00000006,0x00000072,0x00000070,0x00000071,0x000500ab,
- 0x00000020,0x00000073,0x00000072,0x00000016,0x000300f7,0x00000075,0x00000000,0x000400fa,
- 0x00000073,0x00000074,0x00000075,0x000200f8,0x00000074,0x0004003d,0x0000000b,0x00000077,
- 0x00000036,0x0003003e,0x00000076,0x00000077,0x000200f9,0x00000075,0x000200f8,0x00000075,
- 0x00050041,0x00000042,0x00000078,0x00000015,0x00000065,0x0004003d,0x00000006,0x00000079,
- 0x00000078,0x000500c7,0x00000006,0x0000007a,0x00000079,0x00000041,0x000500ab,0x00000020,
- 0x0000007b,0x0000007a,0x00000016,0x000300f7,0x0000007d,0x00000000,0x000400fa,0x0000007b,
- 0x0000007c,0x0000007d,0x000200f8,0x0000007c,0x0004003d,0x0000000b,0x0000007f,0x00000036,
- 0x0003003e,0x0000007e,0x0000007f,0x000200f9,0x0000007d,0x000200f8,0x0000007d,0x00050041,
- 0x00000042,0x00000080,0x00000015,0x00000065,0x0004003d,0x00000006,0x00000081,0x00000080,
- 0x000500c7,0x00000006,0x00000082,0x00000081,0x0000002a,0x000500ab,0x00000020,0x00000083,
- 0x00000082,0x00000016,0x000300f7,0x00000085,0x00000000,0x000400fa,0x00000083,0x00000084,
- 0x00000085,0x000200f8,0x00000084,0x0004003d,0x0000000b,0x00000087,0x00000036,0x0003003e,
- 0x00000086,0x00000087,0x000200f9,0x00000085,0x000200f8,0x00000085,0x00050041,0x00000042,
- 0x00000088,0x00000015,0x00000065,0x0004003d,0x00000006,0x00000089,0x00000088,0x000500c7,
- 0x00000006,0x0000008b,0x00000089,0x0000008a,0x000500ab,0x00000020,0x0000008c,0x0000008b,
- 0x00000016,0x000300f7,0x0000008e,0x00000000,0x000400fa,0x0000008c,0x0000008d,0x0000008e,
- 0x000200f8,0x0000008d,0x0004003d,0x0000000b,0x00000090,0x00000036,0x0003003e,0x0000008f,
- 0x00000090,0x000200f9,0x0000008e,0x000200f8,0x0000008e,0x00050041,0x00000042,0x00000091,
- 0x00000015,0x00000065,0x0004003d,0x00000006,0x00000092,0x00000091,0x000500c7,0x00000006,
- 0x00000094,0x00000092,0x00000093,0x000500ab,0x00000020,0x00000095,0x00000094,0x00000016,
- 0x000300f7,0x00000097,0x00000000,0x000400fa,0x00000095,0x00000096,0x00000097,0x000200f8,
- 0x00000096,0x0004003d,0x0000000b,0x00000099,0x00000036,0x0003003e,0x00000098,0x00000099,
- 0x000200f9,0x00000097,0x000200f8,0x00000097,0x00050041,0x00000042,0x0000009a,0x00000015,
- 0x00000065,0x0004003d,0x00000006,0x0000009b,0x0000009a,0x000500c7,0x00000006,0x0000009d,
- 0x0000009b,0x0000009c,0x000500ab,0x00000020,0x0000009e,0x0000009d,0x00000016,0x000300f7,
- 0x000000a0,0x00000000,0x000400fa,0x0000009e,0x0000009f,0x000000a0,0x000200f8,0x0000009f,
- 0x0004003d,0x0000000b,0x000000a2,0x00000036,0x0003003e,0x000000a1,0x000000a2,0x000200f9,
- 0x000000a0,0x000200f8,0x000000a0,0x00050041,0x00000042,0x000000a3,0x00000015,0x00000065,
- 0x0004003d,0x00000006,0x000000a4,0x000000a3,0x000500c7,0x00000006,0x000000a6,0x000000a4,
- 0x000000a5,0x000500ab,0x00000020,0x000000a7,0x000000a6,0x00000016,0x000300f7,0x000000a9,
- 0x00000000,0x000400fa,0x000000a7,0x000000a8,0x000000a9,0x000200f8,0x000000a8,0x0004003d,
- 0x0000000b,0x000000ab,0x00000036,0x0003003e,0x000000aa,0x000000ab,0x000200f9,0x000000a9,
- 0x000200f8,0x000000a9,0x000100fd,0x00010038
+ 0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,
+ 0x00040047,0x00000050,0x00000022,0x00000000,0x00040047,0x00000050,0x00000021,0x00000000,
+ 0x00040047,0x00000075,0x0000001e,0x00000000,0x00040047,0x0000007e,0x0000001e,0x00000001,
+ 0x00040047,0x00000086,0x0000001e,0x00000002,0x00040047,0x0000008e,0x0000001e,0x00000003,
+ 0x00040047,0x00000097,0x0000001e,0x00000004,0x00040047,0x000000a0,0x0000001e,0x00000005,
+ 0x00040047,0x000000a9,0x0000001e,0x00000006,0x00040047,0x000000b2,0x0000001e,0x00000007,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,
+ 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
+ 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
+ 0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,
+ 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,
+ 0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,
+ 0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,
+ 0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,
+ 0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,0x00000009,0x0004002b,0x0000000a,
+ 0x0000003f,0x00000000,0x0004002b,0x0000000a,0x00000040,0x3f800000,0x0007002c,0x0000000b,
+ 0x00000041,0x0000003f,0x0000003f,0x0000003f,0x00000040,0x0004002b,0x00000006,0x00000049,
+ 0x00000004,0x00040020,0x0000004a,0x00000009,0x00000006,0x00090019,0x0000004e,0x0000000a,
+ 0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x0000004f,
+ 0x00000000,0x0000004e,0x0004003b,0x0000004f,0x00000050,0x00000000,0x0004002b,0x00000006,
+ 0x00000053,0x00000003,0x00040017,0x00000056,0x00000006,0x00000003,0x0004002b,0x00000006,
+ 0x0000005f,0x00000001,0x0004002b,0x00000006,0x00000062,0x00000005,0x00040020,0x00000063,
+ 0x00000009,0x0000000a,0x0004002b,0x00000006,0x0000006d,0x00000006,0x00040020,0x00000074,
+ 0x00000003,0x0000000b,0x0004003b,0x00000074,0x00000075,0x00000003,0x0004002b,0x00000006,
+ 0x00000079,0x00000002,0x0004003b,0x00000074,0x0000007e,0x00000003,0x0004003b,0x00000074,
+ 0x00000086,0x00000003,0x0004003b,0x00000074,0x0000008e,0x00000003,0x0004002b,0x00000006,
+ 0x00000092,0x00000010,0x0004003b,0x00000074,0x00000097,0x00000003,0x0004002b,0x00000006,
+ 0x0000009b,0x00000020,0x0004003b,0x00000074,0x000000a0,0x00000003,0x0004002b,0x00000006,
+ 0x000000a4,0x00000040,0x0004003b,0x00000074,0x000000a9,0x00000003,0x0004002b,0x00000006,
+ 0x000000ad,0x00000080,0x0004003b,0x00000074,0x000000b2,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000b,0x0000000f,
+ 0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,
+ 0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,
+ 0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001b,
+ 0x00000011,0x00000019,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
+ 0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,
+ 0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,
+ 0x00000023,0x00050051,0x00000006,0x00000027,0x0000001b,0x00000000,0x0004007e,0x00000006,
+ 0x00000028,0x00000027,0x00060052,0x00000007,0x000000b6,0x00000028,0x0000001b,0x00000000,
+ 0x000200f9,0x00000024,0x000200f8,0x00000024,0x000700f5,0x00000007,0x000000ba,0x0000001b,
+ 0x00000005,0x000000b6,0x00000023,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,
+ 0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,
+ 0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,
+ 0x000200f8,0x0000002e,0x00050051,0x00000006,0x00000032,0x000000ba,0x00000001,0x0004007e,
+ 0x00000006,0x00000033,0x00000032,0x00060052,0x00000007,0x000000b9,0x00000033,0x000000ba,
+ 0x00000001,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x000700f5,0x00000007,0x000000bb,
+ 0x000000ba,0x00000024,0x000000b9,0x0000002e,0x00050041,0x0000001d,0x00000036,0x00000015,
+ 0x00000035,0x0004003d,0x00000012,0x00000037,0x00000036,0x000500ab,0x00000020,0x00000038,
+ 0x00000037,0x00000021,0x000300f7,0x0000003a,0x00000000,0x000400fa,0x00000038,0x00000039,
+ 0x0000003a,0x000200f8,0x00000039,0x0007004f,0x00000007,0x0000003c,0x000000bb,0x000000bb,
+ 0x00000001,0x00000000,0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000700f5,0x00000007,
+ 0x000000c6,0x000000bb,0x0000002f,0x0000003c,0x00000039,0x000200f9,0x00000043,0x000200f8,
+ 0x00000043,0x000700f5,0x0000000b,0x000000bd,0x00000041,0x0000003a,0x0000005d,0x00000044,
+ 0x000700f5,0x00000006,0x000000bc,0x00000016,0x0000003a,0x00000060,0x00000044,0x00050041,
+ 0x0000004a,0x0000004b,0x00000015,0x00000049,0x0004003d,0x00000006,0x0000004c,0x0000004b,
+ 0x000500b1,0x00000020,0x0000004d,0x000000bc,0x0000004c,0x000400f6,0x00000045,0x00000044,
+ 0x00000000,0x000400fa,0x0000004d,0x00000044,0x00000045,0x000200f8,0x00000044,0x0004003d,
+ 0x0000004e,0x00000051,0x00000050,0x00050041,0x0000004a,0x00000054,0x00000015,0x00000053,
+ 0x0004003d,0x00000006,0x00000055,0x00000054,0x00050051,0x00000006,0x00000057,0x000000c6,
+ 0x00000000,0x00050051,0x00000006,0x00000058,0x000000c6,0x00000001,0x00060050,0x00000056,
+ 0x00000059,0x00000057,0x00000058,0x00000055,0x0007005f,0x0000000b,0x0000005b,0x00000051,
+ 0x00000059,0x00000040,0x000000bc,0x00050081,0x0000000b,0x0000005d,0x000000bd,0x0000005b,
+ 0x00050080,0x00000006,0x00000060,0x000000bc,0x0000005f,0x000200f9,0x00000043,0x000200f8,
+ 0x00000045,0x00050041,0x00000063,0x00000064,0x00000015,0x00000062,0x0004003d,0x0000000a,
+ 0x00000065,0x00000064,0x0005008e,0x0000000b,0x00000066,0x000000bd,0x00000065,0x0006000c,
+ 0x0000000b,0x00000067,0x00000001,0x00000001,0x00000066,0x00050041,0x0000004a,0x0000006e,
+ 0x00000015,0x0000006d,0x0004003d,0x00000006,0x0000006f,0x0000006e,0x000500c7,0x00000006,
+ 0x00000070,0x0000006f,0x0000005f,0x000500ab,0x00000020,0x00000071,0x00000070,0x00000016,
+ 0x000300f7,0x00000073,0x00000000,0x000400fa,0x00000071,0x00000072,0x00000073,0x000200f8,
+ 0x00000072,0x0003003e,0x00000075,0x00000067,0x000200f9,0x00000073,0x000200f8,0x00000073,
+ 0x000500c7,0x00000006,0x0000007a,0x0000006f,0x00000079,0x000500ab,0x00000020,0x0000007b,
+ 0x0000007a,0x00000016,0x000300f7,0x0000007d,0x00000000,0x000400fa,0x0000007b,0x0000007c,
+ 0x0000007d,0x000200f8,0x0000007c,0x0003003e,0x0000007e,0x00000067,0x000200f9,0x0000007d,
+ 0x000200f8,0x0000007d,0x000500c7,0x00000006,0x00000082,0x0000006f,0x00000049,0x000500ab,
+ 0x00000020,0x00000083,0x00000082,0x00000016,0x000300f7,0x00000085,0x00000000,0x000400fa,
+ 0x00000083,0x00000084,0x00000085,0x000200f8,0x00000084,0x0003003e,0x00000086,0x00000067,
+ 0x000200f9,0x00000085,0x000200f8,0x00000085,0x000500c7,0x00000006,0x0000008a,0x0000006f,
+ 0x0000002a,0x000500ab,0x00000020,0x0000008b,0x0000008a,0x00000016,0x000300f7,0x0000008d,
+ 0x00000000,0x000400fa,0x0000008b,0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x0003003e,
+ 0x0000008e,0x00000067,0x000200f9,0x0000008d,0x000200f8,0x0000008d,0x000500c7,0x00000006,
+ 0x00000093,0x0000006f,0x00000092,0x000500ab,0x00000020,0x00000094,0x00000093,0x00000016,
+ 0x000300f7,0x00000096,0x00000000,0x000400fa,0x00000094,0x00000095,0x00000096,0x000200f8,
+ 0x00000095,0x0003003e,0x00000097,0x00000067,0x000200f9,0x00000096,0x000200f8,0x00000096,
+ 0x000500c7,0x00000006,0x0000009c,0x0000006f,0x0000009b,0x000500ab,0x00000020,0x0000009d,
+ 0x0000009c,0x00000016,0x000300f7,0x0000009f,0x00000000,0x000400fa,0x0000009d,0x0000009e,
+ 0x0000009f,0x000200f8,0x0000009e,0x0003003e,0x000000a0,0x00000067,0x000200f9,0x0000009f,
+ 0x000200f8,0x0000009f,0x000500c7,0x00000006,0x000000a5,0x0000006f,0x000000a4,0x000500ab,
+ 0x00000020,0x000000a6,0x000000a5,0x00000016,0x000300f7,0x000000a8,0x00000000,0x000400fa,
+ 0x000000a6,0x000000a7,0x000000a8,0x000200f8,0x000000a7,0x0003003e,0x000000a9,0x00000067,
+ 0x000200f9,0x000000a8,0x000200f8,0x000000a8,0x000500c7,0x00000006,0x000000ae,0x0000006f,
+ 0x000000ad,0x000500ab,0x00000020,0x000000af,0x000000ae,0x00000016,0x000300f7,0x000000b1,
+ 0x00000000,0x000400fa,0x000000af,0x000000b0,0x000000b1,0x000200f8,0x000000b0,0x0003003e,
+ 0x000000b2,0x00000067,0x000200f9,0x000000b1,0x000200f8,0x000000b1,0x000100fd,0x00010038
};
// Generated from:
@@ -163,6 +144,7 @@ const uint32_t kBlitResolve_frag_00000003[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DMSArray color;
@@ -187,6 +169,8 @@ const uint32_t kBlitResolve_frag_00000003[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// vec4 colorValue = vec4(0, 0, 0, 1);
// for(int i = 0;i < params . samples;++ i)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc
index 4ed429a2d99..e361c432629 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc
@@ -1,131 +1,119 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000004[] = {
- 0x07230203,0x00010000,0x00080007,0x00000096,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000a7,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000057,0x0000005f,
- 0x00000068,0x00000070,0x00000079,0x00000082,0x0000008b,0x00000094,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000005f,0x00000067,
+ 0x00000070,0x00000078,0x00000081,0x0000008a,0x00000093,0x0000009c,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,
- 0x00050005,0x0000003d,0x6f6c6f63,0x6c615672,0x00006575,0x00040005,0x00000040,0x6f6c6f63,
- 0x00000072,0x00050005,0x00000044,0x74696c62,0x706d6153,0x0072656c,0x00050005,0x00000057,
- 0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000005f,0x6f6c6f63,0x74754f72,0x00000031,
- 0x00050005,0x00000068,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000070,0x6f6c6f63,
- 0x74754f72,0x00000033,0x00050005,0x00000079,0x6f6c6f63,0x74754f72,0x00000034,0x00050005,
- 0x00000082,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000008b,0x6f6c6f63,0x74754f72,
- 0x00000036,0x00050005,0x00000094,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,0x0000000c,
- 0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
- 0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
- 0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
- 0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x00000040,0x00000022,0x00000000,0x00040047,0x00000040,
- 0x00000021,0x00000000,0x00040047,0x00000044,0x00000022,0x00000000,0x00040047,0x00000044,
- 0x00000021,0x00000002,0x00040047,0x00000057,0x0000001e,0x00000000,0x00040047,0x0000005f,
- 0x0000001e,0x00000001,0x00040047,0x00000068,0x0000001e,0x00000002,0x00040047,0x00000070,
- 0x0000001e,0x00000003,0x00040047,0x00000079,0x0000001e,0x00000004,0x00040047,0x00000082,
- 0x0000001e,0x00000005,0x00040047,0x0000008b,0x0000001e,0x00000006,0x00040047,0x00000094,
+ 0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,
+ 0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,0x0000004c,0x74696c62,0x706d6153,
+ 0x0072656c,0x00050005,0x0000005f,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000067,
+ 0x6f6c6f63,0x74754f72,0x00000031,0x00050005,0x00000070,0x6f6c6f63,0x74754f72,0x00000032,
+ 0x00050005,0x00000078,0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000081,0x6f6c6f63,
+ 0x74754f72,0x00000034,0x00050005,0x0000008a,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,
+ 0x00000093,0x6f6c6f63,0x74754f72,0x00000036,0x00050005,0x0000009c,0x6f6c6f63,0x74754f72,
+ 0x00000037,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,
+ 0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,
+ 0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,
+ 0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,
+ 0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,
+ 0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000014,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x0000004c,0x00000022,0x00000000,0x00040047,0x0000004c,
+ 0x00000021,0x00000002,0x00040047,0x0000005f,0x0000001e,0x00000000,0x00040047,0x00000067,
+ 0x0000001e,0x00000001,0x00040047,0x00000070,0x0000001e,0x00000002,0x00040047,0x00000078,
+ 0x0000001e,0x00000003,0x00040047,0x00000081,0x0000001e,0x00000004,0x00040047,0x0000008a,
+ 0x0000001e,0x00000005,0x00040047,0x00000093,0x0000001e,0x00000006,0x00040047,0x0000009c,
0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
- 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,
- 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,
- 0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,
- 0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,
- 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
- 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
- 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
- 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
- 0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,
- 0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040017,
- 0x0000003b,0x00000012,0x00000004,0x00040020,0x0000003c,0x00000007,0x0000003b,0x00090019,
- 0x0000003e,0x00000012,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000003f,0x00000000,0x0000003e,0x0004003b,0x0000003f,0x00000040,0x00000000,
- 0x0002001a,0x00000042,0x00040020,0x00000043,0x00000000,0x00000042,0x0004003b,0x00000043,
- 0x00000044,0x00000000,0x0003001b,0x00000046,0x0000003e,0x0004002b,0x00000012,0x00000049,
- 0x00000002,0x0004002b,0x00000012,0x0000004e,0x00000006,0x00040020,0x0000004f,0x00000009,
- 0x00000012,0x00040020,0x00000056,0x00000003,0x0000003b,0x0004003b,0x00000056,0x00000057,
- 0x00000003,0x0004003b,0x00000056,0x0000005f,0x00000003,0x0004002b,0x00000012,0x00000063,
- 0x00000004,0x0004003b,0x00000056,0x00000068,0x00000003,0x0004003b,0x00000056,0x00000070,
- 0x00000003,0x0004002b,0x00000012,0x00000074,0x00000010,0x0004003b,0x00000056,0x00000079,
- 0x00000003,0x0004002b,0x00000012,0x0000007d,0x00000020,0x0004003b,0x00000056,0x00000082,
- 0x00000003,0x0004002b,0x00000012,0x00000086,0x00000040,0x0004003b,0x00000056,0x0000008b,
- 0x00000003,0x0004002b,0x00000012,0x0000008f,0x00000080,0x0004003b,0x00000056,0x00000094,
- 0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,0x0000003c,0x0000003d,0x00000007,
- 0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,0x0000000e,0x0000000d,
- 0x0000000d,0x00000000,0x00000001,0x00050051,0x00000006,0x0000000f,0x0000000e,0x00000000,
- 0x00050051,0x00000006,0x00000010,0x0000000e,0x00000001,0x00050050,0x00000007,0x00000011,
- 0x0000000f,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000018,0x00000019,
- 0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x0004003d,0x00000007,
- 0x0000001b,0x00000009,0x00050085,0x00000007,0x0000001c,0x0000001b,0x0000001a,0x0003003e,
- 0x00000009,0x0000001c,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,
- 0x00000007,0x0000001f,0x0000001e,0x0004003d,0x00000007,0x00000020,0x00000009,0x00050083,
- 0x00000007,0x00000021,0x00000020,0x0000001f,0x0003003e,0x00000009,0x00000021,0x00050041,
- 0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,
- 0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,
- 0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050041,0x0000002b,
- 0x0000002c,0x00000009,0x00000027,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x0004007f,
- 0x00000006,0x0000002e,0x0000002d,0x00050041,0x0000002b,0x0000002f,0x00000009,0x00000027,
- 0x0003003e,0x0000002f,0x0000002e,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x00050041,
- 0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,
- 0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,
- 0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050041,0x0000002b,
- 0x00000037,0x00000009,0x00000036,0x0004003d,0x00000006,0x00000038,0x00000037,0x0004007f,
- 0x00000006,0x00000039,0x00000038,0x00050041,0x0000002b,0x0000003a,0x00000009,0x00000036,
- 0x0003003e,0x0000003a,0x00000039,0x000200f9,0x00000035,0x000200f8,0x00000035,0x0004003d,
- 0x0000003e,0x00000041,0x00000040,0x0004003d,0x00000042,0x00000045,0x00000044,0x00050056,
- 0x00000046,0x00000047,0x00000041,0x00000045,0x0004003d,0x00000007,0x00000048,0x00000009,
- 0x00050041,0x00000018,0x0000004a,0x00000016,0x00000049,0x0004003d,0x00000007,0x0000004b,
- 0x0000004a,0x00050085,0x00000007,0x0000004c,0x00000048,0x0000004b,0x00050057,0x0000003b,
- 0x0000004d,0x00000047,0x0000004c,0x0003003e,0x0000003d,0x0000004d,0x00050041,0x0000004f,
- 0x00000050,0x00000016,0x0000004e,0x0004003d,0x00000012,0x00000051,0x00000050,0x000500c7,
- 0x00000012,0x00000052,0x00000051,0x00000017,0x000500ab,0x00000026,0x00000053,0x00000052,
- 0x0000001d,0x000300f7,0x00000055,0x00000000,0x000400fa,0x00000053,0x00000054,0x00000055,
- 0x000200f8,0x00000054,0x0004003d,0x0000003b,0x00000058,0x0000003d,0x0003003e,0x00000057,
- 0x00000058,0x000200f9,0x00000055,0x000200f8,0x00000055,0x00050041,0x0000004f,0x00000059,
- 0x00000016,0x0000004e,0x0004003d,0x00000012,0x0000005a,0x00000059,0x000500c7,0x00000012,
- 0x0000005b,0x0000005a,0x00000049,0x000500ab,0x00000026,0x0000005c,0x0000005b,0x0000001d,
- 0x000300f7,0x0000005e,0x00000000,0x000400fa,0x0000005c,0x0000005d,0x0000005e,0x000200f8,
- 0x0000005d,0x0004003d,0x0000003b,0x00000060,0x0000003d,0x0003003e,0x0000005f,0x00000060,
- 0x000200f9,0x0000005e,0x000200f8,0x0000005e,0x00050041,0x0000004f,0x00000061,0x00000016,
- 0x0000004e,0x0004003d,0x00000012,0x00000062,0x00000061,0x000500c7,0x00000012,0x00000064,
- 0x00000062,0x00000063,0x000500ab,0x00000026,0x00000065,0x00000064,0x0000001d,0x000300f7,
- 0x00000067,0x00000000,0x000400fa,0x00000065,0x00000066,0x00000067,0x000200f8,0x00000066,
- 0x0004003d,0x0000003b,0x00000069,0x0000003d,0x0003003e,0x00000068,0x00000069,0x000200f9,
- 0x00000067,0x000200f8,0x00000067,0x00050041,0x0000004f,0x0000006a,0x00000016,0x0000004e,
- 0x0004003d,0x00000012,0x0000006b,0x0000006a,0x000500c7,0x00000012,0x0000006c,0x0000006b,
- 0x00000030,0x000500ab,0x00000026,0x0000006d,0x0000006c,0x0000001d,0x000300f7,0x0000006f,
- 0x00000000,0x000400fa,0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0004003d,
- 0x0000003b,0x00000071,0x0000003d,0x0003003e,0x00000070,0x00000071,0x000200f9,0x0000006f,
- 0x000200f8,0x0000006f,0x00050041,0x0000004f,0x00000072,0x00000016,0x0000004e,0x0004003d,
- 0x00000012,0x00000073,0x00000072,0x000500c7,0x00000012,0x00000075,0x00000073,0x00000074,
- 0x000500ab,0x00000026,0x00000076,0x00000075,0x0000001d,0x000300f7,0x00000078,0x00000000,
- 0x000400fa,0x00000076,0x00000077,0x00000078,0x000200f8,0x00000077,0x0004003d,0x0000003b,
- 0x0000007a,0x0000003d,0x0003003e,0x00000079,0x0000007a,0x000200f9,0x00000078,0x000200f8,
- 0x00000078,0x00050041,0x0000004f,0x0000007b,0x00000016,0x0000004e,0x0004003d,0x00000012,
- 0x0000007c,0x0000007b,0x000500c7,0x00000012,0x0000007e,0x0000007c,0x0000007d,0x000500ab,
- 0x00000026,0x0000007f,0x0000007e,0x0000001d,0x000300f7,0x00000081,0x00000000,0x000400fa,
- 0x0000007f,0x00000080,0x00000081,0x000200f8,0x00000080,0x0004003d,0x0000003b,0x00000083,
- 0x0000003d,0x0003003e,0x00000082,0x00000083,0x000200f9,0x00000081,0x000200f8,0x00000081,
- 0x00050041,0x0000004f,0x00000084,0x00000016,0x0000004e,0x0004003d,0x00000012,0x00000085,
- 0x00000084,0x000500c7,0x00000012,0x00000087,0x00000085,0x00000086,0x000500ab,0x00000026,
- 0x00000088,0x00000087,0x0000001d,0x000300f7,0x0000008a,0x00000000,0x000400fa,0x00000088,
- 0x00000089,0x0000008a,0x000200f8,0x00000089,0x0004003d,0x0000003b,0x0000008c,0x0000003d,
- 0x0003003e,0x0000008b,0x0000008c,0x000200f9,0x0000008a,0x000200f8,0x0000008a,0x00050041,
- 0x0000004f,0x0000008d,0x00000016,0x0000004e,0x0004003d,0x00000012,0x0000008e,0x0000008d,
- 0x000500c7,0x00000012,0x00000090,0x0000008e,0x0000008f,0x000500ab,0x00000026,0x00000091,
- 0x00000090,0x0000001d,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,
- 0x00000093,0x000200f8,0x00000092,0x0004003d,0x0000003b,0x00000095,0x0000003d,0x0003003e,
- 0x00000094,0x00000095,0x000200f9,0x00000093,0x000200f8,0x00000093,0x000100fd,0x00010038
+ 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,
+ 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
+ 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
+ 0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
+ 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,
+ 0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,
+ 0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,
+ 0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,
+ 0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,
+ 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,
+ 0x00040017,0x00000043,0x00000012,0x00000004,0x00090019,0x00000046,0x00000012,0x00000001,
+ 0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,
+ 0x00000046,0x0004003b,0x00000047,0x00000048,0x00000000,0x0002001a,0x0000004a,0x00040020,
+ 0x0000004b,0x00000000,0x0000004a,0x0004003b,0x0000004b,0x0000004c,0x00000000,0x0003001b,
+ 0x0000004e,0x00000046,0x0004002b,0x00000012,0x00000051,0x00000002,0x0004002b,0x00000012,
+ 0x00000056,0x00000006,0x00040020,0x00000057,0x00000009,0x00000012,0x00040020,0x0000005e,
+ 0x00000003,0x00000043,0x0004003b,0x0000005e,0x0000005f,0x00000003,0x0004003b,0x0000005e,
+ 0x00000067,0x00000003,0x0004002b,0x00000012,0x0000006b,0x00000004,0x0004003b,0x0000005e,
+ 0x00000070,0x00000003,0x0004003b,0x0000005e,0x00000078,0x00000003,0x0004002b,0x00000012,
+ 0x0000007c,0x00000010,0x0004003b,0x0000005e,0x00000081,0x00000003,0x0004002b,0x00000012,
+ 0x00000085,0x00000020,0x0004003b,0x0000005e,0x0000008a,0x00000003,0x0004002b,0x00000012,
+ 0x0000008e,0x00000040,0x0004003b,0x0000005e,0x00000093,0x00000003,0x0004002b,0x00000012,
+ 0x00000097,0x00000080,0x0004003b,0x0000005e,0x0000009c,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,
+ 0x0000000c,0x00050051,0x00000006,0x0000000f,0x0000000d,0x00000000,0x00050051,0x00000006,
+ 0x00000010,0x0000000d,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,
+ 0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,
+ 0x00000019,0x00050085,0x00000007,0x0000001c,0x00000011,0x0000001a,0x00050041,0x00000018,
+ 0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x00050083,
+ 0x00000007,0x00000021,0x0000001c,0x0000001f,0x00050041,0x00000023,0x00000024,0x00000016,
+ 0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,
+ 0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,
+ 0x0000002a,0x000200f8,0x00000029,0x00050051,0x00000006,0x0000002d,0x00000021,0x00000000,
+ 0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00060052,0x00000007,0x000000a0,0x0000002e,
+ 0x00000021,0x00000000,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x000700f5,0x00000007,
+ 0x000000a4,0x00000021,0x00000005,0x000000a0,0x00000029,0x00050041,0x00000023,0x00000031,
+ 0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,
+ 0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,
+ 0x00000034,0x00000035,0x000200f8,0x00000034,0x00050051,0x00000006,0x00000038,0x000000a4,
+ 0x00000001,0x0004007f,0x00000006,0x00000039,0x00000038,0x00060052,0x00000007,0x000000a3,
+ 0x00000039,0x000000a4,0x00000001,0x000200f9,0x00000035,0x000200f8,0x00000035,0x000700f5,
+ 0x00000007,0x000000a5,0x000000a4,0x0000002a,0x000000a3,0x00000034,0x00050041,0x00000023,
+ 0x0000003c,0x00000016,0x0000003b,0x0004003d,0x00000013,0x0000003d,0x0000003c,0x000500ab,
+ 0x00000026,0x0000003e,0x0000003d,0x00000027,0x000300f7,0x00000040,0x00000000,0x000400fa,
+ 0x0000003e,0x0000003f,0x00000040,0x000200f8,0x0000003f,0x0007004f,0x00000007,0x00000042,
+ 0x000000a5,0x000000a5,0x00000001,0x00000000,0x000200f9,0x00000040,0x000200f8,0x00000040,
+ 0x000700f5,0x00000007,0x000000a6,0x000000a5,0x00000035,0x00000042,0x0000003f,0x0004003d,
+ 0x00000046,0x00000049,0x00000048,0x0004003d,0x0000004a,0x0000004d,0x0000004c,0x00050056,
+ 0x0000004e,0x0000004f,0x00000049,0x0000004d,0x00050041,0x00000018,0x00000052,0x00000016,
+ 0x00000051,0x0004003d,0x00000007,0x00000053,0x00000052,0x00050085,0x00000007,0x00000054,
+ 0x000000a6,0x00000053,0x00050057,0x00000043,0x00000055,0x0000004f,0x00000054,0x00050041,
+ 0x00000057,0x00000058,0x00000016,0x00000056,0x0004003d,0x00000012,0x00000059,0x00000058,
+ 0x000500c7,0x00000012,0x0000005a,0x00000059,0x00000017,0x000500ab,0x00000026,0x0000005b,
+ 0x0000005a,0x0000001d,0x000300f7,0x0000005d,0x00000000,0x000400fa,0x0000005b,0x0000005c,
+ 0x0000005d,0x000200f8,0x0000005c,0x0003003e,0x0000005f,0x00000055,0x000200f9,0x0000005d,
+ 0x000200f8,0x0000005d,0x000500c7,0x00000012,0x00000063,0x00000059,0x00000051,0x000500ab,
+ 0x00000026,0x00000064,0x00000063,0x0000001d,0x000300f7,0x00000066,0x00000000,0x000400fa,
+ 0x00000064,0x00000065,0x00000066,0x000200f8,0x00000065,0x0003003e,0x00000067,0x00000055,
+ 0x000200f9,0x00000066,0x000200f8,0x00000066,0x000500c7,0x00000012,0x0000006c,0x00000059,
+ 0x0000006b,0x000500ab,0x00000026,0x0000006d,0x0000006c,0x0000001d,0x000300f7,0x0000006f,
+ 0x00000000,0x000400fa,0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0003003e,
+ 0x00000070,0x00000055,0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x000500c7,0x00000012,
+ 0x00000074,0x00000059,0x00000030,0x000500ab,0x00000026,0x00000075,0x00000074,0x0000001d,
+ 0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,0x000200f8,
+ 0x00000076,0x0003003e,0x00000078,0x00000055,0x000200f9,0x00000077,0x000200f8,0x00000077,
+ 0x000500c7,0x00000012,0x0000007d,0x00000059,0x0000007c,0x000500ab,0x00000026,0x0000007e,
+ 0x0000007d,0x0000001d,0x000300f7,0x00000080,0x00000000,0x000400fa,0x0000007e,0x0000007f,
+ 0x00000080,0x000200f8,0x0000007f,0x0003003e,0x00000081,0x00000055,0x000200f9,0x00000080,
+ 0x000200f8,0x00000080,0x000500c7,0x00000012,0x00000086,0x00000059,0x00000085,0x000500ab,
+ 0x00000026,0x00000087,0x00000086,0x0000001d,0x000300f7,0x00000089,0x00000000,0x000400fa,
+ 0x00000087,0x00000088,0x00000089,0x000200f8,0x00000088,0x0003003e,0x0000008a,0x00000055,
+ 0x000200f9,0x00000089,0x000200f8,0x00000089,0x000500c7,0x00000012,0x0000008f,0x00000059,
+ 0x0000008e,0x000500ab,0x00000026,0x00000090,0x0000008f,0x0000001d,0x000300f7,0x00000092,
+ 0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x0003003e,
+ 0x00000093,0x00000055,0x000200f9,0x00000092,0x000200f8,0x00000092,0x000500c7,0x00000012,
+ 0x00000098,0x00000059,0x00000097,0x000500ab,0x00000026,0x00000099,0x00000098,0x0000001d,
+ 0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,
+ 0x0000009a,0x0003003e,0x0000009c,0x00000055,0x000200f9,0x0000009b,0x000200f8,0x0000009b,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -145,6 +133,7 @@ const uint32_t kBlitResolve_frag_00000004[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform itexture2D color;
@@ -173,6 +162,8 @@ const uint32_t kBlitResolve_frag_00000004[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// ivec4 colorValue = texture(isampler2D(color, blitSampler), srcImageCoords * params . invSrcExtent);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc
index 3db285cffd9..5d51d9c928f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc
@@ -1,136 +1,123 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000005[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000af,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000005f,0x00000067,
- 0x00000070,0x00000078,0x00000081,0x0000008a,0x00000093,0x0000009c,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000067,0x0000006f,
+ 0x00000078,0x00000080,0x00000089,0x00000092,0x0000009b,0x000000a4,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,
- 0x00050005,0x0000003d,0x6f6c6f63,0x6c615672,0x00006575,0x00040005,0x00000040,0x6f6c6f63,
- 0x00000072,0x00050005,0x00000044,0x74696c62,0x706d6153,0x0072656c,0x00050005,0x0000005f,
- 0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000067,0x6f6c6f63,0x74754f72,0x00000031,
- 0x00050005,0x00000070,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000078,0x6f6c6f63,
- 0x74754f72,0x00000033,0x00050005,0x00000081,0x6f6c6f63,0x74754f72,0x00000034,0x00050005,
- 0x0000008a,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x00000093,0x6f6c6f63,0x74754f72,
- 0x00000036,0x00050005,0x0000009c,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,0x0000000c,
- 0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
- 0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
- 0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
- 0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x00000040,0x00000022,0x00000000,0x00040047,0x00000040,
- 0x00000021,0x00000000,0x00040047,0x00000044,0x00000022,0x00000000,0x00040047,0x00000044,
- 0x00000021,0x00000002,0x00040047,0x0000005f,0x0000001e,0x00000000,0x00040047,0x00000067,
- 0x0000001e,0x00000001,0x00040047,0x00000070,0x0000001e,0x00000002,0x00040047,0x00000078,
- 0x0000001e,0x00000003,0x00040047,0x00000081,0x0000001e,0x00000004,0x00040047,0x0000008a,
- 0x0000001e,0x00000005,0x00040047,0x00000093,0x0000001e,0x00000006,0x00040047,0x0000009c,
+ 0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,
+ 0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,0x0000004c,0x74696c62,0x706d6153,
+ 0x0072656c,0x00050005,0x00000067,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000006f,
+ 0x6f6c6f63,0x74754f72,0x00000031,0x00050005,0x00000078,0x6f6c6f63,0x74754f72,0x00000032,
+ 0x00050005,0x00000080,0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000089,0x6f6c6f63,
+ 0x74754f72,0x00000034,0x00050005,0x00000092,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,
+ 0x0000009b,0x6f6c6f63,0x74754f72,0x00000036,0x00050005,0x000000a4,0x6f6c6f63,0x74754f72,
+ 0x00000037,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,
+ 0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,
+ 0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,
+ 0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,
+ 0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,
+ 0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000014,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x0000004c,0x00000022,0x00000000,0x00040047,0x0000004c,
+ 0x00000021,0x00000002,0x00040047,0x00000067,0x0000001e,0x00000000,0x00040047,0x0000006f,
+ 0x0000001e,0x00000001,0x00040047,0x00000078,0x0000001e,0x00000002,0x00040047,0x00000080,
+ 0x0000001e,0x00000003,0x00040047,0x00000089,0x0000001e,0x00000004,0x00040047,0x00000092,
+ 0x0000001e,0x00000005,0x00040047,0x0000009b,0x0000001e,0x00000006,0x00040047,0x000000a4,
0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
- 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,
- 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,
- 0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,
- 0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,
- 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
- 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
- 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
- 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
- 0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,
- 0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040017,
- 0x0000003b,0x00000012,0x00000004,0x00040020,0x0000003c,0x00000007,0x0000003b,0x00090019,
- 0x0000003e,0x00000012,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000003f,0x00000000,0x0000003e,0x0004003b,0x0000003f,0x00000040,0x00000000,
- 0x0002001a,0x00000042,0x00040020,0x00000043,0x00000000,0x00000042,0x0004003b,0x00000043,
- 0x00000044,0x00000000,0x0003001b,0x00000046,0x0000003e,0x0004002b,0x00000012,0x00000049,
- 0x00000002,0x0004002b,0x00000012,0x0000004d,0x00000003,0x00040020,0x0000004e,0x00000009,
- 0x00000012,0x00040017,0x00000052,0x00000006,0x00000003,0x0004002b,0x00000012,0x00000057,
- 0x00000006,0x00040020,0x0000005e,0x00000003,0x0000003b,0x0004003b,0x0000005e,0x0000005f,
- 0x00000003,0x0004003b,0x0000005e,0x00000067,0x00000003,0x0004002b,0x00000012,0x0000006b,
- 0x00000004,0x0004003b,0x0000005e,0x00000070,0x00000003,0x0004003b,0x0000005e,0x00000078,
- 0x00000003,0x0004002b,0x00000012,0x0000007c,0x00000010,0x0004003b,0x0000005e,0x00000081,
- 0x00000003,0x0004002b,0x00000012,0x00000085,0x00000020,0x0004003b,0x0000005e,0x0000008a,
- 0x00000003,0x0004002b,0x00000012,0x0000008e,0x00000040,0x0004003b,0x0000005e,0x00000093,
- 0x00000003,0x0004002b,0x00000012,0x00000097,0x00000080,0x0004003b,0x0000005e,0x0000009c,
- 0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,0x0000003c,0x0000003d,0x00000007,
- 0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,0x0000000e,0x0000000d,
- 0x0000000d,0x00000000,0x00000001,0x00050051,0x00000006,0x0000000f,0x0000000e,0x00000000,
- 0x00050051,0x00000006,0x00000010,0x0000000e,0x00000001,0x00050050,0x00000007,0x00000011,
- 0x0000000f,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000018,0x00000019,
- 0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x0004003d,0x00000007,
- 0x0000001b,0x00000009,0x00050085,0x00000007,0x0000001c,0x0000001b,0x0000001a,0x0003003e,
- 0x00000009,0x0000001c,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,
- 0x00000007,0x0000001f,0x0000001e,0x0004003d,0x00000007,0x00000020,0x00000009,0x00050083,
- 0x00000007,0x00000021,0x00000020,0x0000001f,0x0003003e,0x00000009,0x00000021,0x00050041,
- 0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,
- 0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,
- 0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050041,0x0000002b,
- 0x0000002c,0x00000009,0x00000027,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x0004007f,
- 0x00000006,0x0000002e,0x0000002d,0x00050041,0x0000002b,0x0000002f,0x00000009,0x00000027,
- 0x0003003e,0x0000002f,0x0000002e,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x00050041,
- 0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,
- 0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,
- 0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050041,0x0000002b,
- 0x00000037,0x00000009,0x00000036,0x0004003d,0x00000006,0x00000038,0x00000037,0x0004007f,
- 0x00000006,0x00000039,0x00000038,0x00050041,0x0000002b,0x0000003a,0x00000009,0x00000036,
- 0x0003003e,0x0000003a,0x00000039,0x000200f9,0x00000035,0x000200f8,0x00000035,0x0004003d,
- 0x0000003e,0x00000041,0x00000040,0x0004003d,0x00000042,0x00000045,0x00000044,0x00050056,
- 0x00000046,0x00000047,0x00000041,0x00000045,0x0004003d,0x00000007,0x00000048,0x00000009,
- 0x00050041,0x00000018,0x0000004a,0x00000016,0x00000049,0x0004003d,0x00000007,0x0000004b,
- 0x0000004a,0x00050085,0x00000007,0x0000004c,0x00000048,0x0000004b,0x00050041,0x0000004e,
- 0x0000004f,0x00000016,0x0000004d,0x0004003d,0x00000012,0x00000050,0x0000004f,0x0004006f,
- 0x00000006,0x00000051,0x00000050,0x00050051,0x00000006,0x00000053,0x0000004c,0x00000000,
- 0x00050051,0x00000006,0x00000054,0x0000004c,0x00000001,0x00060050,0x00000052,0x00000055,
- 0x00000053,0x00000054,0x00000051,0x00050057,0x0000003b,0x00000056,0x00000047,0x00000055,
- 0x0003003e,0x0000003d,0x00000056,0x00050041,0x0000004e,0x00000058,0x00000016,0x00000057,
- 0x0004003d,0x00000012,0x00000059,0x00000058,0x000500c7,0x00000012,0x0000005a,0x00000059,
- 0x00000017,0x000500ab,0x00000026,0x0000005b,0x0000005a,0x0000001d,0x000300f7,0x0000005d,
- 0x00000000,0x000400fa,0x0000005b,0x0000005c,0x0000005d,0x000200f8,0x0000005c,0x0004003d,
- 0x0000003b,0x00000060,0x0000003d,0x0003003e,0x0000005f,0x00000060,0x000200f9,0x0000005d,
- 0x000200f8,0x0000005d,0x00050041,0x0000004e,0x00000061,0x00000016,0x00000057,0x0004003d,
- 0x00000012,0x00000062,0x00000061,0x000500c7,0x00000012,0x00000063,0x00000062,0x00000049,
- 0x000500ab,0x00000026,0x00000064,0x00000063,0x0000001d,0x000300f7,0x00000066,0x00000000,
- 0x000400fa,0x00000064,0x00000065,0x00000066,0x000200f8,0x00000065,0x0004003d,0x0000003b,
- 0x00000068,0x0000003d,0x0003003e,0x00000067,0x00000068,0x000200f9,0x00000066,0x000200f8,
- 0x00000066,0x00050041,0x0000004e,0x00000069,0x00000016,0x00000057,0x0004003d,0x00000012,
- 0x0000006a,0x00000069,0x000500c7,0x00000012,0x0000006c,0x0000006a,0x0000006b,0x000500ab,
- 0x00000026,0x0000006d,0x0000006c,0x0000001d,0x000300f7,0x0000006f,0x00000000,0x000400fa,
- 0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0004003d,0x0000003b,0x00000071,
- 0x0000003d,0x0003003e,0x00000070,0x00000071,0x000200f9,0x0000006f,0x000200f8,0x0000006f,
- 0x00050041,0x0000004e,0x00000072,0x00000016,0x00000057,0x0004003d,0x00000012,0x00000073,
- 0x00000072,0x000500c7,0x00000012,0x00000074,0x00000073,0x00000030,0x000500ab,0x00000026,
+ 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,
+ 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
+ 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
+ 0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
+ 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,
+ 0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,
+ 0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,
+ 0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,
+ 0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,
+ 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,
+ 0x00040017,0x00000043,0x00000012,0x00000004,0x00090019,0x00000046,0x00000012,0x00000001,
+ 0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,
+ 0x00000046,0x0004003b,0x00000047,0x00000048,0x00000000,0x0002001a,0x0000004a,0x00040020,
+ 0x0000004b,0x00000000,0x0000004a,0x0004003b,0x0000004b,0x0000004c,0x00000000,0x0003001b,
+ 0x0000004e,0x00000046,0x0004002b,0x00000012,0x00000051,0x00000002,0x0004002b,0x00000012,
+ 0x00000055,0x00000003,0x00040020,0x00000056,0x00000009,0x00000012,0x00040017,0x0000005a,
+ 0x00000006,0x00000003,0x0004002b,0x00000012,0x0000005f,0x00000006,0x00040020,0x00000066,
+ 0x00000003,0x00000043,0x0004003b,0x00000066,0x00000067,0x00000003,0x0004003b,0x00000066,
+ 0x0000006f,0x00000003,0x0004002b,0x00000012,0x00000073,0x00000004,0x0004003b,0x00000066,
+ 0x00000078,0x00000003,0x0004003b,0x00000066,0x00000080,0x00000003,0x0004002b,0x00000012,
+ 0x00000084,0x00000010,0x0004003b,0x00000066,0x00000089,0x00000003,0x0004002b,0x00000012,
+ 0x0000008d,0x00000020,0x0004003b,0x00000066,0x00000092,0x00000003,0x0004002b,0x00000012,
+ 0x00000096,0x00000040,0x0004003b,0x00000066,0x0000009b,0x00000003,0x0004002b,0x00000012,
+ 0x0000009f,0x00000080,0x0004003b,0x00000066,0x000000a4,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,
+ 0x0000000c,0x00050051,0x00000006,0x0000000f,0x0000000d,0x00000000,0x00050051,0x00000006,
+ 0x00000010,0x0000000d,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,
+ 0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,
+ 0x00000019,0x00050085,0x00000007,0x0000001c,0x00000011,0x0000001a,0x00050041,0x00000018,
+ 0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x00050083,
+ 0x00000007,0x00000021,0x0000001c,0x0000001f,0x00050041,0x00000023,0x00000024,0x00000016,
+ 0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,
+ 0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,
+ 0x0000002a,0x000200f8,0x00000029,0x00050051,0x00000006,0x0000002d,0x00000021,0x00000000,
+ 0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00060052,0x00000007,0x000000a8,0x0000002e,
+ 0x00000021,0x00000000,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x000700f5,0x00000007,
+ 0x000000ac,0x00000021,0x00000005,0x000000a8,0x00000029,0x00050041,0x00000023,0x00000031,
+ 0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,
+ 0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,
+ 0x00000034,0x00000035,0x000200f8,0x00000034,0x00050051,0x00000006,0x00000038,0x000000ac,
+ 0x00000001,0x0004007f,0x00000006,0x00000039,0x00000038,0x00060052,0x00000007,0x000000ab,
+ 0x00000039,0x000000ac,0x00000001,0x000200f9,0x00000035,0x000200f8,0x00000035,0x000700f5,
+ 0x00000007,0x000000ad,0x000000ac,0x0000002a,0x000000ab,0x00000034,0x00050041,0x00000023,
+ 0x0000003c,0x00000016,0x0000003b,0x0004003d,0x00000013,0x0000003d,0x0000003c,0x000500ab,
+ 0x00000026,0x0000003e,0x0000003d,0x00000027,0x000300f7,0x00000040,0x00000000,0x000400fa,
+ 0x0000003e,0x0000003f,0x00000040,0x000200f8,0x0000003f,0x0007004f,0x00000007,0x00000042,
+ 0x000000ad,0x000000ad,0x00000001,0x00000000,0x000200f9,0x00000040,0x000200f8,0x00000040,
+ 0x000700f5,0x00000007,0x000000ae,0x000000ad,0x00000035,0x00000042,0x0000003f,0x0004003d,
+ 0x00000046,0x00000049,0x00000048,0x0004003d,0x0000004a,0x0000004d,0x0000004c,0x00050056,
+ 0x0000004e,0x0000004f,0x00000049,0x0000004d,0x00050041,0x00000018,0x00000052,0x00000016,
+ 0x00000051,0x0004003d,0x00000007,0x00000053,0x00000052,0x00050085,0x00000007,0x00000054,
+ 0x000000ae,0x00000053,0x00050041,0x00000056,0x00000057,0x00000016,0x00000055,0x0004003d,
+ 0x00000012,0x00000058,0x00000057,0x0004006f,0x00000006,0x00000059,0x00000058,0x00050051,
+ 0x00000006,0x0000005b,0x00000054,0x00000000,0x00050051,0x00000006,0x0000005c,0x00000054,
+ 0x00000001,0x00060050,0x0000005a,0x0000005d,0x0000005b,0x0000005c,0x00000059,0x00050057,
+ 0x00000043,0x0000005e,0x0000004f,0x0000005d,0x00050041,0x00000056,0x00000060,0x00000016,
+ 0x0000005f,0x0004003d,0x00000012,0x00000061,0x00000060,0x000500c7,0x00000012,0x00000062,
+ 0x00000061,0x00000017,0x000500ab,0x00000026,0x00000063,0x00000062,0x0000001d,0x000300f7,
+ 0x00000065,0x00000000,0x000400fa,0x00000063,0x00000064,0x00000065,0x000200f8,0x00000064,
+ 0x0003003e,0x00000067,0x0000005e,0x000200f9,0x00000065,0x000200f8,0x00000065,0x000500c7,
+ 0x00000012,0x0000006b,0x00000061,0x00000051,0x000500ab,0x00000026,0x0000006c,0x0000006b,
+ 0x0000001d,0x000300f7,0x0000006e,0x00000000,0x000400fa,0x0000006c,0x0000006d,0x0000006e,
+ 0x000200f8,0x0000006d,0x0003003e,0x0000006f,0x0000005e,0x000200f9,0x0000006e,0x000200f8,
+ 0x0000006e,0x000500c7,0x00000012,0x00000074,0x00000061,0x00000073,0x000500ab,0x00000026,
0x00000075,0x00000074,0x0000001d,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,
- 0x00000076,0x00000077,0x000200f8,0x00000076,0x0004003d,0x0000003b,0x00000079,0x0000003d,
- 0x0003003e,0x00000078,0x00000079,0x000200f9,0x00000077,0x000200f8,0x00000077,0x00050041,
- 0x0000004e,0x0000007a,0x00000016,0x00000057,0x0004003d,0x00000012,0x0000007b,0x0000007a,
- 0x000500c7,0x00000012,0x0000007d,0x0000007b,0x0000007c,0x000500ab,0x00000026,0x0000007e,
- 0x0000007d,0x0000001d,0x000300f7,0x00000080,0x00000000,0x000400fa,0x0000007e,0x0000007f,
- 0x00000080,0x000200f8,0x0000007f,0x0004003d,0x0000003b,0x00000082,0x0000003d,0x0003003e,
- 0x00000081,0x00000082,0x000200f9,0x00000080,0x000200f8,0x00000080,0x00050041,0x0000004e,
- 0x00000083,0x00000016,0x00000057,0x0004003d,0x00000012,0x00000084,0x00000083,0x000500c7,
- 0x00000012,0x00000086,0x00000084,0x00000085,0x000500ab,0x00000026,0x00000087,0x00000086,
- 0x0000001d,0x000300f7,0x00000089,0x00000000,0x000400fa,0x00000087,0x00000088,0x00000089,
- 0x000200f8,0x00000088,0x0004003d,0x0000003b,0x0000008b,0x0000003d,0x0003003e,0x0000008a,
- 0x0000008b,0x000200f9,0x00000089,0x000200f8,0x00000089,0x00050041,0x0000004e,0x0000008c,
- 0x00000016,0x00000057,0x0004003d,0x00000012,0x0000008d,0x0000008c,0x000500c7,0x00000012,
- 0x0000008f,0x0000008d,0x0000008e,0x000500ab,0x00000026,0x00000090,0x0000008f,0x0000001d,
- 0x000300f7,0x00000092,0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,
- 0x00000091,0x0004003d,0x0000003b,0x00000094,0x0000003d,0x0003003e,0x00000093,0x00000094,
- 0x000200f9,0x00000092,0x000200f8,0x00000092,0x00050041,0x0000004e,0x00000095,0x00000016,
- 0x00000057,0x0004003d,0x00000012,0x00000096,0x00000095,0x000500c7,0x00000012,0x00000098,
- 0x00000096,0x00000097,0x000500ab,0x00000026,0x00000099,0x00000098,0x0000001d,0x000300f7,
- 0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,
- 0x0004003d,0x0000003b,0x0000009d,0x0000003d,0x0003003e,0x0000009c,0x0000009d,0x000200f9,
- 0x0000009b,0x000200f8,0x0000009b,0x000100fd,0x00010038
+ 0x00000076,0x00000077,0x000200f8,0x00000076,0x0003003e,0x00000078,0x0000005e,0x000200f9,
+ 0x00000077,0x000200f8,0x00000077,0x000500c7,0x00000012,0x0000007c,0x00000061,0x00000030,
+ 0x000500ab,0x00000026,0x0000007d,0x0000007c,0x0000001d,0x000300f7,0x0000007f,0x00000000,
+ 0x000400fa,0x0000007d,0x0000007e,0x0000007f,0x000200f8,0x0000007e,0x0003003e,0x00000080,
+ 0x0000005e,0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x000500c7,0x00000012,0x00000085,
+ 0x00000061,0x00000084,0x000500ab,0x00000026,0x00000086,0x00000085,0x0000001d,0x000300f7,
+ 0x00000088,0x00000000,0x000400fa,0x00000086,0x00000087,0x00000088,0x000200f8,0x00000087,
+ 0x0003003e,0x00000089,0x0000005e,0x000200f9,0x00000088,0x000200f8,0x00000088,0x000500c7,
+ 0x00000012,0x0000008e,0x00000061,0x0000008d,0x000500ab,0x00000026,0x0000008f,0x0000008e,
+ 0x0000001d,0x000300f7,0x00000091,0x00000000,0x000400fa,0x0000008f,0x00000090,0x00000091,
+ 0x000200f8,0x00000090,0x0003003e,0x00000092,0x0000005e,0x000200f9,0x00000091,0x000200f8,
+ 0x00000091,0x000500c7,0x00000012,0x00000097,0x00000061,0x00000096,0x000500ab,0x00000026,
+ 0x00000098,0x00000097,0x0000001d,0x000300f7,0x0000009a,0x00000000,0x000400fa,0x00000098,
+ 0x00000099,0x0000009a,0x000200f8,0x00000099,0x0003003e,0x0000009b,0x0000005e,0x000200f9,
+ 0x0000009a,0x000200f8,0x0000009a,0x000500c7,0x00000012,0x000000a0,0x00000061,0x0000009f,
+ 0x000500ab,0x00000026,0x000000a1,0x000000a0,0x0000001d,0x000300f7,0x000000a3,0x00000000,
+ 0x000400fa,0x000000a1,0x000000a2,0x000000a3,0x000200f8,0x000000a2,0x0003003e,0x000000a4,
+ 0x0000005e,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x000100fd,0x00010038
};
// Generated from:
@@ -150,6 +137,7 @@ const uint32_t kBlitResolve_frag_00000005[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform itexture2DArray color;
@@ -178,6 +166,8 @@ const uint32_t kBlitResolve_frag_00000005[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// ivec4 colorValue = texture(isampler2DArray(color, blitSampler), vec3(srcImageCoords * params . invSrcExtent, params . srcLayer));
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc
index 36d9ae0ecc9..f3302f2792f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc
@@ -1,140 +1,125 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000006[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a1,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000bc,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000062,0x0000006b,
- 0x00000073,0x0000007b,0x00000084,0x0000008d,0x00000096,0x0000009f,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000006a,0x00000073,
+ 0x0000007b,0x00000083,0x0000008c,0x00000095,0x0000009e,0x000000a7,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,
- 0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
- 0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,
- 0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,
- 0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,
- 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,
- 0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
- 0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,
- 0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,
- 0x00000015,0x61726170,0x0000736d,0x00050005,0x00000037,0x6f6c6f63,0x6c615672,0x00006575,
- 0x00030005,0x0000003a,0x00000069,0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,
- 0x00000062,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000006b,0x6f6c6f63,0x74754f72,
- 0x00000031,0x00050005,0x00000073,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x0000007b,
- 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000084,0x6f6c6f63,0x74754f72,0x00000034,
- 0x00050005,0x0000008d,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x00000096,0x6f6c6f63,
- 0x74754f72,0x00000036,0x00050005,0x0000009f,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
+ 0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,
+ 0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,
+ 0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
+ 0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,
+ 0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,
+ 0x00000015,0x61726170,0x0000736d,0x00040005,0x00000050,0x6f6c6f63,0x00000072,0x00050005,
+ 0x0000006a,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000073,0x6f6c6f63,0x74754f72,
+ 0x00000031,0x00050005,0x0000007b,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000083,
+ 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x0000008c,0x6f6c6f63,0x74754f72,0x00000034,
+ 0x00050005,0x00000095,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000009e,0x6f6c6f63,
+ 0x74754f72,0x00000036,0x00050005,0x000000a7,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,
0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,
0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,
0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,
0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,
- 0x00030047,0x00000013,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,
- 0x00000048,0x00000021,0x00000000,0x00040047,0x00000062,0x0000001e,0x00000000,0x00040047,
- 0x0000006b,0x0000001e,0x00000001,0x00040047,0x00000073,0x0000001e,0x00000002,0x00040047,
- 0x0000007b,0x0000001e,0x00000003,0x00040047,0x00000084,0x0000001e,0x00000004,0x00040047,
- 0x0000008d,0x0000001e,0x00000005,0x00040047,0x00000096,0x0000001e,0x00000006,0x00040047,
- 0x0000009f,0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,
- 0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,
- 0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,
- 0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,
- 0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,
- 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
- 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
- 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
- 0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,
- 0x00040017,0x00000035,0x00000006,0x00000004,0x00040020,0x00000036,0x00000007,0x00000035,
- 0x0004002b,0x00000006,0x00000038,0x00000001,0x0007002c,0x00000035,0x00000039,0x00000016,
- 0x00000016,0x00000016,0x00000038,0x0004002b,0x00000006,0x00000041,0x00000004,0x00040020,
- 0x00000042,0x00000009,0x00000006,0x00090019,0x00000046,0x00000006,0x00000001,0x00000000,
- 0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,
- 0x0004003b,0x00000047,0x00000048,0x00000000,0x0004002b,0x00000006,0x00000053,0x00000005,
- 0x00040020,0x00000054,0x00000009,0x0000000a,0x0004002b,0x00000006,0x0000005a,0x00000006,
- 0x00040020,0x00000061,0x00000003,0x00000035,0x0004003b,0x00000061,0x00000062,0x00000003,
- 0x0004002b,0x00000006,0x00000066,0x00000002,0x0004003b,0x00000061,0x0000006b,0x00000003,
- 0x0004003b,0x00000061,0x00000073,0x00000003,0x0004003b,0x00000061,0x0000007b,0x00000003,
- 0x0004002b,0x00000006,0x0000007f,0x00000010,0x0004003b,0x00000061,0x00000084,0x00000003,
- 0x0004002b,0x00000006,0x00000088,0x00000020,0x0004003b,0x00000061,0x0000008d,0x00000003,
- 0x0004002b,0x00000006,0x00000091,0x00000040,0x0004003b,0x00000061,0x00000096,0x00000003,
- 0x0004002b,0x00000006,0x0000009a,0x00000080,0x0004003b,0x00000061,0x0000009f,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000036,0x00000037,0x00000007,0x0004003b,
- 0x00000025,0x0000003a,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000017,0x00000018,
- 0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x0004003d,0x00000007,
- 0x0000001a,0x00000009,0x00050082,0x00000007,0x0000001b,0x0000001a,0x00000019,0x0003003e,
- 0x00000009,0x0000001b,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
- 0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,
- 0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,
- 0x00000023,0x00050041,0x00000025,0x00000026,0x00000009,0x00000021,0x0004003d,0x00000006,
- 0x00000027,0x00000026,0x0004007e,0x00000006,0x00000028,0x00000027,0x00050041,0x00000025,
- 0x00000029,0x00000009,0x00000021,0x0003003e,0x00000029,0x00000028,0x000200f9,0x00000024,
- 0x000200f8,0x00000024,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,
- 0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,
- 0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,
- 0x0000002e,0x00050041,0x00000025,0x00000031,0x00000009,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x0004007e,0x00000006,0x00000033,0x00000032,0x00050041,0x00000025,
- 0x00000034,0x00000009,0x00000030,0x0003003e,0x00000034,0x00000033,0x000200f9,0x0000002f,
- 0x000200f8,0x0000002f,0x0003003e,0x00000037,0x00000039,0x0003003e,0x0000003a,0x00000016,
- 0x000200f9,0x0000003b,0x000200f8,0x0000003b,0x000400f6,0x0000003d,0x0000003e,0x00000000,
- 0x000200f9,0x0000003f,0x000200f8,0x0000003f,0x0004003d,0x00000006,0x00000040,0x0000003a,
- 0x00050041,0x00000042,0x00000043,0x00000015,0x00000041,0x0004003d,0x00000006,0x00000044,
- 0x00000043,0x000500b1,0x00000020,0x00000045,0x00000040,0x00000044,0x000400fa,0x00000045,
- 0x0000003c,0x0000003d,0x000200f8,0x0000003c,0x0004003d,0x00000046,0x00000049,0x00000048,
- 0x0004003d,0x00000007,0x0000004a,0x00000009,0x0004003d,0x00000006,0x0000004b,0x0000003a,
- 0x0007005f,0x00000035,0x0000004c,0x00000049,0x0000004a,0x00000040,0x0000004b,0x0004003d,
- 0x00000035,0x0000004d,0x00000037,0x00050080,0x00000035,0x0000004e,0x0000004d,0x0000004c,
- 0x0003003e,0x00000037,0x0000004e,0x000200f9,0x0000003e,0x000200f8,0x0000003e,0x0004003d,
- 0x00000006,0x0000004f,0x0000003a,0x00050080,0x00000006,0x00000050,0x0000004f,0x00000038,
- 0x0003003e,0x0000003a,0x00000050,0x000200f9,0x0000003b,0x000200f8,0x0000003d,0x0004003d,
- 0x00000035,0x00000051,0x00000037,0x0004006f,0x0000000b,0x00000052,0x00000051,0x00050041,
- 0x00000054,0x00000055,0x00000015,0x00000053,0x0004003d,0x0000000a,0x00000056,0x00000055,
- 0x0005008e,0x0000000b,0x00000057,0x00000052,0x00000056,0x0006000c,0x0000000b,0x00000058,
- 0x00000001,0x00000001,0x00000057,0x0004006e,0x00000035,0x00000059,0x00000058,0x0003003e,
- 0x00000037,0x00000059,0x00050041,0x00000042,0x0000005b,0x00000015,0x0000005a,0x0004003d,
- 0x00000006,0x0000005c,0x0000005b,0x000500c7,0x00000006,0x0000005d,0x0000005c,0x00000038,
- 0x000500ab,0x00000020,0x0000005e,0x0000005d,0x00000016,0x000300f7,0x00000060,0x00000000,
- 0x000400fa,0x0000005e,0x0000005f,0x00000060,0x000200f8,0x0000005f,0x0004003d,0x00000035,
- 0x00000063,0x00000037,0x0003003e,0x00000062,0x00000063,0x000200f9,0x00000060,0x000200f8,
- 0x00000060,0x00050041,0x00000042,0x00000064,0x00000015,0x0000005a,0x0004003d,0x00000006,
- 0x00000065,0x00000064,0x000500c7,0x00000006,0x00000067,0x00000065,0x00000066,0x000500ab,
- 0x00000020,0x00000068,0x00000067,0x00000016,0x000300f7,0x0000006a,0x00000000,0x000400fa,
- 0x00000068,0x00000069,0x0000006a,0x000200f8,0x00000069,0x0004003d,0x00000035,0x0000006c,
- 0x00000037,0x0003003e,0x0000006b,0x0000006c,0x000200f9,0x0000006a,0x000200f8,0x0000006a,
- 0x00050041,0x00000042,0x0000006d,0x00000015,0x0000005a,0x0004003d,0x00000006,0x0000006e,
- 0x0000006d,0x000500c7,0x00000006,0x0000006f,0x0000006e,0x00000041,0x000500ab,0x00000020,
- 0x00000070,0x0000006f,0x00000016,0x000300f7,0x00000072,0x00000000,0x000400fa,0x00000070,
- 0x00000071,0x00000072,0x000200f8,0x00000071,0x0004003d,0x00000035,0x00000074,0x00000037,
- 0x0003003e,0x00000073,0x00000074,0x000200f9,0x00000072,0x000200f8,0x00000072,0x00050041,
- 0x00000042,0x00000075,0x00000015,0x0000005a,0x0004003d,0x00000006,0x00000076,0x00000075,
- 0x000500c7,0x00000006,0x00000077,0x00000076,0x0000002a,0x000500ab,0x00000020,0x00000078,
- 0x00000077,0x00000016,0x000300f7,0x0000007a,0x00000000,0x000400fa,0x00000078,0x00000079,
- 0x0000007a,0x000200f8,0x00000079,0x0004003d,0x00000035,0x0000007c,0x00000037,0x0003003e,
- 0x0000007b,0x0000007c,0x000200f9,0x0000007a,0x000200f8,0x0000007a,0x00050041,0x00000042,
- 0x0000007d,0x00000015,0x0000005a,0x0004003d,0x00000006,0x0000007e,0x0000007d,0x000500c7,
- 0x00000006,0x00000080,0x0000007e,0x0000007f,0x000500ab,0x00000020,0x00000081,0x00000080,
- 0x00000016,0x000300f7,0x00000083,0x00000000,0x000400fa,0x00000081,0x00000082,0x00000083,
- 0x000200f8,0x00000082,0x0004003d,0x00000035,0x00000085,0x00000037,0x0003003e,0x00000084,
- 0x00000085,0x000200f9,0x00000083,0x000200f8,0x00000083,0x00050041,0x00000042,0x00000086,
- 0x00000015,0x0000005a,0x0004003d,0x00000006,0x00000087,0x00000086,0x000500c7,0x00000006,
- 0x00000089,0x00000087,0x00000088,0x000500ab,0x00000020,0x0000008a,0x00000089,0x00000016,
- 0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,0x0000008c,0x000200f8,
- 0x0000008b,0x0004003d,0x00000035,0x0000008e,0x00000037,0x0003003e,0x0000008d,0x0000008e,
- 0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x00050041,0x00000042,0x0000008f,0x00000015,
- 0x0000005a,0x0004003d,0x00000006,0x00000090,0x0000008f,0x000500c7,0x00000006,0x00000092,
- 0x00000090,0x00000091,0x000500ab,0x00000020,0x00000093,0x00000092,0x00000016,0x000300f7,
- 0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,0x00000095,0x000200f8,0x00000094,
- 0x0004003d,0x00000035,0x00000097,0x00000037,0x0003003e,0x00000096,0x00000097,0x000200f9,
- 0x00000095,0x000200f8,0x00000095,0x00050041,0x00000042,0x00000098,0x00000015,0x0000005a,
- 0x0004003d,0x00000006,0x00000099,0x00000098,0x000500c7,0x00000006,0x0000009b,0x00000099,
- 0x0000009a,0x000500ab,0x00000020,0x0000009c,0x0000009b,0x00000016,0x000300f7,0x0000009e,
- 0x00000000,0x000400fa,0x0000009c,0x0000009d,0x0000009e,0x000200f8,0x0000009d,0x0004003d,
- 0x00000035,0x000000a0,0x00000037,0x0003003e,0x0000009f,0x000000a0,0x000200f9,0x0000009e,
- 0x000200f8,0x0000009e,0x000100fd,0x00010038
+ 0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,
+ 0x00040047,0x00000050,0x00000022,0x00000000,0x00040047,0x00000050,0x00000021,0x00000000,
+ 0x00040047,0x0000006a,0x0000001e,0x00000000,0x00040047,0x00000073,0x0000001e,0x00000001,
+ 0x00040047,0x0000007b,0x0000001e,0x00000002,0x00040047,0x00000083,0x0000001e,0x00000003,
+ 0x00040047,0x0000008c,0x0000001e,0x00000004,0x00040047,0x00000095,0x0000001e,0x00000005,
+ 0x00040047,0x0000009e,0x0000001e,0x00000006,0x00040047,0x000000a7,0x0000001e,0x00000007,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,
+ 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
+ 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
+ 0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,
+ 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,
+ 0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,
+ 0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,
+ 0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,
+ 0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,0x00000009,0x00040017,0x0000003d,
+ 0x00000006,0x00000004,0x0004002b,0x00000006,0x00000040,0x00000001,0x0007002c,0x0000003d,
+ 0x00000041,0x00000016,0x00000016,0x00000016,0x00000040,0x0004002b,0x00000006,0x00000049,
+ 0x00000004,0x00040020,0x0000004a,0x00000009,0x00000006,0x00090019,0x0000004e,0x00000006,
+ 0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x0000004f,
+ 0x00000000,0x0000004e,0x0004003b,0x0000004f,0x00000050,0x00000000,0x0004002b,0x00000006,
+ 0x0000005b,0x00000005,0x00040020,0x0000005c,0x00000009,0x0000000a,0x0004002b,0x00000006,
+ 0x00000062,0x00000006,0x00040020,0x00000069,0x00000003,0x0000003d,0x0004003b,0x00000069,
+ 0x0000006a,0x00000003,0x0004002b,0x00000006,0x0000006e,0x00000002,0x0004003b,0x00000069,
+ 0x00000073,0x00000003,0x0004003b,0x00000069,0x0000007b,0x00000003,0x0004003b,0x00000069,
+ 0x00000083,0x00000003,0x0004002b,0x00000006,0x00000087,0x00000010,0x0004003b,0x00000069,
+ 0x0000008c,0x00000003,0x0004002b,0x00000006,0x00000090,0x00000020,0x0004003b,0x00000069,
+ 0x00000095,0x00000003,0x0004002b,0x00000006,0x00000099,0x00000040,0x0004003b,0x00000069,
+ 0x0000009e,0x00000003,0x0004002b,0x00000006,0x000000a2,0x00000080,0x0004003b,0x00000069,
+ 0x000000a7,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,
+ 0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,
+ 0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,
+ 0x00000018,0x00050082,0x00000007,0x0000001b,0x00000011,0x00000019,0x00050041,0x0000001d,
+ 0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,0x0000001f,0x0000001e,0x000500ab,
+ 0x00000020,0x00000022,0x0000001f,0x00000021,0x000300f7,0x00000024,0x00000000,0x000400fa,
+ 0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050051,0x00000006,0x00000027,
+ 0x0000001b,0x00000000,0x0004007e,0x00000006,0x00000028,0x00000027,0x00060052,0x00000007,
+ 0x000000ab,0x00000028,0x0000001b,0x00000000,0x000200f9,0x00000024,0x000200f8,0x00000024,
+ 0x000700f5,0x00000007,0x000000af,0x0000001b,0x00000005,0x000000ab,0x00000023,0x00050041,
+ 0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,
+ 0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,
+ 0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050051,0x00000006,
+ 0x00000032,0x000000af,0x00000001,0x0004007e,0x00000006,0x00000033,0x00000032,0x00060052,
+ 0x00000007,0x000000ae,0x00000033,0x000000af,0x00000001,0x000200f9,0x0000002f,0x000200f8,
+ 0x0000002f,0x000700f5,0x00000007,0x000000b0,0x000000af,0x00000024,0x000000ae,0x0000002e,
+ 0x00050041,0x0000001d,0x00000036,0x00000015,0x00000035,0x0004003d,0x00000012,0x00000037,
+ 0x00000036,0x000500ab,0x00000020,0x00000038,0x00000037,0x00000021,0x000300f7,0x0000003a,
+ 0x00000000,0x000400fa,0x00000038,0x00000039,0x0000003a,0x000200f8,0x00000039,0x0007004f,
+ 0x00000007,0x0000003c,0x000000b0,0x000000b0,0x00000001,0x00000000,0x000200f9,0x0000003a,
+ 0x000200f8,0x0000003a,0x000700f5,0x00000007,0x000000bb,0x000000b0,0x0000002f,0x0000003c,
+ 0x00000039,0x000200f9,0x00000043,0x000200f8,0x00000043,0x000700f5,0x0000003d,0x000000b2,
+ 0x00000041,0x0000003a,0x00000056,0x00000044,0x000700f5,0x00000006,0x000000b1,0x00000016,
+ 0x0000003a,0x00000058,0x00000044,0x00050041,0x0000004a,0x0000004b,0x00000015,0x00000049,
+ 0x0004003d,0x00000006,0x0000004c,0x0000004b,0x000500b1,0x00000020,0x0000004d,0x000000b1,
+ 0x0000004c,0x000400f6,0x00000045,0x00000044,0x00000000,0x000400fa,0x0000004d,0x00000044,
+ 0x00000045,0x000200f8,0x00000044,0x0004003d,0x0000004e,0x00000051,0x00000050,0x0007005f,
+ 0x0000003d,0x00000054,0x00000051,0x000000bb,0x00000040,0x000000b1,0x00050080,0x0000003d,
+ 0x00000056,0x000000b2,0x00000054,0x00050080,0x00000006,0x00000058,0x000000b1,0x00000040,
+ 0x000200f9,0x00000043,0x000200f8,0x00000045,0x0004006f,0x0000000b,0x0000005a,0x000000b2,
+ 0x00050041,0x0000005c,0x0000005d,0x00000015,0x0000005b,0x0004003d,0x0000000a,0x0000005e,
+ 0x0000005d,0x0005008e,0x0000000b,0x0000005f,0x0000005a,0x0000005e,0x0006000c,0x0000000b,
+ 0x00000060,0x00000001,0x00000001,0x0000005f,0x0004006e,0x0000003d,0x00000061,0x00000060,
+ 0x00050041,0x0000004a,0x00000063,0x00000015,0x00000062,0x0004003d,0x00000006,0x00000064,
+ 0x00000063,0x000500c7,0x00000006,0x00000065,0x00000064,0x00000040,0x000500ab,0x00000020,
+ 0x00000066,0x00000065,0x00000016,0x000300f7,0x00000068,0x00000000,0x000400fa,0x00000066,
+ 0x00000067,0x00000068,0x000200f8,0x00000067,0x0003003e,0x0000006a,0x00000061,0x000200f9,
+ 0x00000068,0x000200f8,0x00000068,0x000500c7,0x00000006,0x0000006f,0x00000064,0x0000006e,
+ 0x000500ab,0x00000020,0x00000070,0x0000006f,0x00000016,0x000300f7,0x00000072,0x00000000,
+ 0x000400fa,0x00000070,0x00000071,0x00000072,0x000200f8,0x00000071,0x0003003e,0x00000073,
+ 0x00000061,0x000200f9,0x00000072,0x000200f8,0x00000072,0x000500c7,0x00000006,0x00000077,
+ 0x00000064,0x00000049,0x000500ab,0x00000020,0x00000078,0x00000077,0x00000016,0x000300f7,
+ 0x0000007a,0x00000000,0x000400fa,0x00000078,0x00000079,0x0000007a,0x000200f8,0x00000079,
+ 0x0003003e,0x0000007b,0x00000061,0x000200f9,0x0000007a,0x000200f8,0x0000007a,0x000500c7,
+ 0x00000006,0x0000007f,0x00000064,0x0000002a,0x000500ab,0x00000020,0x00000080,0x0000007f,
+ 0x00000016,0x000300f7,0x00000082,0x00000000,0x000400fa,0x00000080,0x00000081,0x00000082,
+ 0x000200f8,0x00000081,0x0003003e,0x00000083,0x00000061,0x000200f9,0x00000082,0x000200f8,
+ 0x00000082,0x000500c7,0x00000006,0x00000088,0x00000064,0x00000087,0x000500ab,0x00000020,
+ 0x00000089,0x00000088,0x00000016,0x000300f7,0x0000008b,0x00000000,0x000400fa,0x00000089,
+ 0x0000008a,0x0000008b,0x000200f8,0x0000008a,0x0003003e,0x0000008c,0x00000061,0x000200f9,
+ 0x0000008b,0x000200f8,0x0000008b,0x000500c7,0x00000006,0x00000091,0x00000064,0x00000090,
+ 0x000500ab,0x00000020,0x00000092,0x00000091,0x00000016,0x000300f7,0x00000094,0x00000000,
+ 0x000400fa,0x00000092,0x00000093,0x00000094,0x000200f8,0x00000093,0x0003003e,0x00000095,
+ 0x00000061,0x000200f9,0x00000094,0x000200f8,0x00000094,0x000500c7,0x00000006,0x0000009a,
+ 0x00000064,0x00000099,0x000500ab,0x00000020,0x0000009b,0x0000009a,0x00000016,0x000300f7,
+ 0x0000009d,0x00000000,0x000400fa,0x0000009b,0x0000009c,0x0000009d,0x000200f8,0x0000009c,
+ 0x0003003e,0x0000009e,0x00000061,0x000200f9,0x0000009d,0x000200f8,0x0000009d,0x000500c7,
+ 0x00000006,0x000000a3,0x00000064,0x000000a2,0x000500ab,0x00000020,0x000000a4,0x000000a3,
+ 0x00000016,0x000300f7,0x000000a6,0x00000000,0x000400fa,0x000000a4,0x000000a5,0x000000a6,
+ 0x000200f8,0x000000a5,0x0003003e,0x000000a7,0x00000061,0x000200f9,0x000000a6,0x000200f8,
+ 0x000000a6,0x000100fd,0x00010038
};
// Generated from:
@@ -156,6 +141,7 @@ const uint32_t kBlitResolve_frag_00000006[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform itexture2DMS color;
@@ -180,6 +166,8 @@ const uint32_t kBlitResolve_frag_00000006[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// ivec4 colorValue = ivec4(0, 0, 0, 1);
// for(int i = 0;i < params . samples;++ i)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc
index 117536d81ef..4bb2184a330 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc
@@ -1,144 +1,129 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000007[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a8,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c3,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000069,0x00000072,
- 0x0000007a,0x00000082,0x0000008b,0x00000094,0x0000009d,0x000000a6,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000071,0x0000007a,
+ 0x00000082,0x0000008a,0x00000093,0x0000009c,0x000000a5,0x000000ae,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,
- 0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
- 0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,
- 0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,
- 0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,
- 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,
- 0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
- 0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,
- 0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,
- 0x00000015,0x61726170,0x0000736d,0x00050005,0x00000037,0x6f6c6f63,0x6c615672,0x00006575,
- 0x00030005,0x0000003a,0x00000069,0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,
- 0x00000069,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000072,0x6f6c6f63,0x74754f72,
- 0x00000031,0x00050005,0x0000007a,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000082,
- 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x0000008b,0x6f6c6f63,0x74754f72,0x00000034,
- 0x00050005,0x00000094,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000009d,0x6f6c6f63,
- 0x74754f72,0x00000036,0x00050005,0x000000a6,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
+ 0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,
+ 0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,
+ 0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
+ 0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,
+ 0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,
+ 0x00000015,0x61726170,0x0000736d,0x00040005,0x00000050,0x6f6c6f63,0x00000072,0x00050005,
+ 0x00000071,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000007a,0x6f6c6f63,0x74754f72,
+ 0x00000031,0x00050005,0x00000082,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x0000008a,
+ 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000093,0x6f6c6f63,0x74754f72,0x00000034,
+ 0x00050005,0x0000009c,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x000000a5,0x6f6c6f63,
+ 0x74754f72,0x00000036,0x00050005,0x000000ae,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,
0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,
0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,
0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,
0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,
- 0x00030047,0x00000013,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,
- 0x00000048,0x00000021,0x00000000,0x00040047,0x00000069,0x0000001e,0x00000000,0x00040047,
- 0x00000072,0x0000001e,0x00000001,0x00040047,0x0000007a,0x0000001e,0x00000002,0x00040047,
- 0x00000082,0x0000001e,0x00000003,0x00040047,0x0000008b,0x0000001e,0x00000004,0x00040047,
- 0x00000094,0x0000001e,0x00000005,0x00040047,0x0000009d,0x0000001e,0x00000006,0x00040047,
- 0x000000a6,0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,
- 0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,
- 0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,
- 0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,
- 0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,
- 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
- 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
- 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
- 0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,
- 0x00040017,0x00000035,0x00000006,0x00000004,0x00040020,0x00000036,0x00000007,0x00000035,
- 0x0004002b,0x00000006,0x00000038,0x00000001,0x0007002c,0x00000035,0x00000039,0x00000016,
- 0x00000016,0x00000016,0x00000038,0x0004002b,0x00000006,0x00000041,0x00000004,0x00040020,
- 0x00000042,0x00000009,0x00000006,0x00090019,0x00000046,0x00000006,0x00000001,0x00000000,
- 0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,
- 0x0004003b,0x00000047,0x00000048,0x00000000,0x0004002b,0x00000006,0x0000004b,0x00000003,
- 0x00040017,0x0000004e,0x00000006,0x00000003,0x0004002b,0x00000006,0x0000005a,0x00000005,
- 0x00040020,0x0000005b,0x00000009,0x0000000a,0x0004002b,0x00000006,0x00000061,0x00000006,
- 0x00040020,0x00000068,0x00000003,0x00000035,0x0004003b,0x00000068,0x00000069,0x00000003,
- 0x0004002b,0x00000006,0x0000006d,0x00000002,0x0004003b,0x00000068,0x00000072,0x00000003,
- 0x0004003b,0x00000068,0x0000007a,0x00000003,0x0004003b,0x00000068,0x00000082,0x00000003,
- 0x0004002b,0x00000006,0x00000086,0x00000010,0x0004003b,0x00000068,0x0000008b,0x00000003,
- 0x0004002b,0x00000006,0x0000008f,0x00000020,0x0004003b,0x00000068,0x00000094,0x00000003,
- 0x0004002b,0x00000006,0x00000098,0x00000040,0x0004003b,0x00000068,0x0000009d,0x00000003,
- 0x0004002b,0x00000006,0x000000a1,0x00000080,0x0004003b,0x00000068,0x000000a6,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000036,0x00000037,0x00000007,0x0004003b,
- 0x00000025,0x0000003a,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000017,0x00000018,
- 0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x0004003d,0x00000007,
- 0x0000001a,0x00000009,0x00050082,0x00000007,0x0000001b,0x0000001a,0x00000019,0x0003003e,
- 0x00000009,0x0000001b,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
- 0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,
- 0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,
- 0x00000023,0x00050041,0x00000025,0x00000026,0x00000009,0x00000021,0x0004003d,0x00000006,
- 0x00000027,0x00000026,0x0004007e,0x00000006,0x00000028,0x00000027,0x00050041,0x00000025,
- 0x00000029,0x00000009,0x00000021,0x0003003e,0x00000029,0x00000028,0x000200f9,0x00000024,
- 0x000200f8,0x00000024,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,
- 0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,
- 0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,
- 0x0000002e,0x00050041,0x00000025,0x00000031,0x00000009,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x0004007e,0x00000006,0x00000033,0x00000032,0x00050041,0x00000025,
- 0x00000034,0x00000009,0x00000030,0x0003003e,0x00000034,0x00000033,0x000200f9,0x0000002f,
- 0x000200f8,0x0000002f,0x0003003e,0x00000037,0x00000039,0x0003003e,0x0000003a,0x00000016,
- 0x000200f9,0x0000003b,0x000200f8,0x0000003b,0x000400f6,0x0000003d,0x0000003e,0x00000000,
- 0x000200f9,0x0000003f,0x000200f8,0x0000003f,0x0004003d,0x00000006,0x00000040,0x0000003a,
- 0x00050041,0x00000042,0x00000043,0x00000015,0x00000041,0x0004003d,0x00000006,0x00000044,
- 0x00000043,0x000500b1,0x00000020,0x00000045,0x00000040,0x00000044,0x000400fa,0x00000045,
- 0x0000003c,0x0000003d,0x000200f8,0x0000003c,0x0004003d,0x00000046,0x00000049,0x00000048,
- 0x0004003d,0x00000007,0x0000004a,0x00000009,0x00050041,0x00000042,0x0000004c,0x00000015,
- 0x0000004b,0x0004003d,0x00000006,0x0000004d,0x0000004c,0x00050051,0x00000006,0x0000004f,
- 0x0000004a,0x00000000,0x00050051,0x00000006,0x00000050,0x0000004a,0x00000001,0x00060050,
- 0x0000004e,0x00000051,0x0000004f,0x00000050,0x0000004d,0x0004003d,0x00000006,0x00000052,
- 0x0000003a,0x0007005f,0x00000035,0x00000053,0x00000049,0x00000051,0x00000040,0x00000052,
- 0x0004003d,0x00000035,0x00000054,0x00000037,0x00050080,0x00000035,0x00000055,0x00000054,
- 0x00000053,0x0003003e,0x00000037,0x00000055,0x000200f9,0x0000003e,0x000200f8,0x0000003e,
- 0x0004003d,0x00000006,0x00000056,0x0000003a,0x00050080,0x00000006,0x00000057,0x00000056,
- 0x00000038,0x0003003e,0x0000003a,0x00000057,0x000200f9,0x0000003b,0x000200f8,0x0000003d,
- 0x0004003d,0x00000035,0x00000058,0x00000037,0x0004006f,0x0000000b,0x00000059,0x00000058,
- 0x00050041,0x0000005b,0x0000005c,0x00000015,0x0000005a,0x0004003d,0x0000000a,0x0000005d,
- 0x0000005c,0x0005008e,0x0000000b,0x0000005e,0x00000059,0x0000005d,0x0006000c,0x0000000b,
- 0x0000005f,0x00000001,0x00000001,0x0000005e,0x0004006e,0x00000035,0x00000060,0x0000005f,
- 0x0003003e,0x00000037,0x00000060,0x00050041,0x00000042,0x00000062,0x00000015,0x00000061,
- 0x0004003d,0x00000006,0x00000063,0x00000062,0x000500c7,0x00000006,0x00000064,0x00000063,
- 0x00000038,0x000500ab,0x00000020,0x00000065,0x00000064,0x00000016,0x000300f7,0x00000067,
- 0x00000000,0x000400fa,0x00000065,0x00000066,0x00000067,0x000200f8,0x00000066,0x0004003d,
- 0x00000035,0x0000006a,0x00000037,0x0003003e,0x00000069,0x0000006a,0x000200f9,0x00000067,
- 0x000200f8,0x00000067,0x00050041,0x00000042,0x0000006b,0x00000015,0x00000061,0x0004003d,
- 0x00000006,0x0000006c,0x0000006b,0x000500c7,0x00000006,0x0000006e,0x0000006c,0x0000006d,
- 0x000500ab,0x00000020,0x0000006f,0x0000006e,0x00000016,0x000300f7,0x00000071,0x00000000,
- 0x000400fa,0x0000006f,0x00000070,0x00000071,0x000200f8,0x00000070,0x0004003d,0x00000035,
- 0x00000073,0x00000037,0x0003003e,0x00000072,0x00000073,0x000200f9,0x00000071,0x000200f8,
- 0x00000071,0x00050041,0x00000042,0x00000074,0x00000015,0x00000061,0x0004003d,0x00000006,
- 0x00000075,0x00000074,0x000500c7,0x00000006,0x00000076,0x00000075,0x00000041,0x000500ab,
- 0x00000020,0x00000077,0x00000076,0x00000016,0x000300f7,0x00000079,0x00000000,0x000400fa,
- 0x00000077,0x00000078,0x00000079,0x000200f8,0x00000078,0x0004003d,0x00000035,0x0000007b,
- 0x00000037,0x0003003e,0x0000007a,0x0000007b,0x000200f9,0x00000079,0x000200f8,0x00000079,
- 0x00050041,0x00000042,0x0000007c,0x00000015,0x00000061,0x0004003d,0x00000006,0x0000007d,
- 0x0000007c,0x000500c7,0x00000006,0x0000007e,0x0000007d,0x0000002a,0x000500ab,0x00000020,
- 0x0000007f,0x0000007e,0x00000016,0x000300f7,0x00000081,0x00000000,0x000400fa,0x0000007f,
- 0x00000080,0x00000081,0x000200f8,0x00000080,0x0004003d,0x00000035,0x00000083,0x00000037,
- 0x0003003e,0x00000082,0x00000083,0x000200f9,0x00000081,0x000200f8,0x00000081,0x00050041,
- 0x00000042,0x00000084,0x00000015,0x00000061,0x0004003d,0x00000006,0x00000085,0x00000084,
- 0x000500c7,0x00000006,0x00000087,0x00000085,0x00000086,0x000500ab,0x00000020,0x00000088,
- 0x00000087,0x00000016,0x000300f7,0x0000008a,0x00000000,0x000400fa,0x00000088,0x00000089,
- 0x0000008a,0x000200f8,0x00000089,0x0004003d,0x00000035,0x0000008c,0x00000037,0x0003003e,
- 0x0000008b,0x0000008c,0x000200f9,0x0000008a,0x000200f8,0x0000008a,0x00050041,0x00000042,
- 0x0000008d,0x00000015,0x00000061,0x0004003d,0x00000006,0x0000008e,0x0000008d,0x000500c7,
- 0x00000006,0x00000090,0x0000008e,0x0000008f,0x000500ab,0x00000020,0x00000091,0x00000090,
- 0x00000016,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,0x00000093,
- 0x000200f8,0x00000092,0x0004003d,0x00000035,0x00000095,0x00000037,0x0003003e,0x00000094,
- 0x00000095,0x000200f9,0x00000093,0x000200f8,0x00000093,0x00050041,0x00000042,0x00000096,
- 0x00000015,0x00000061,0x0004003d,0x00000006,0x00000097,0x00000096,0x000500c7,0x00000006,
- 0x00000099,0x00000097,0x00000098,0x000500ab,0x00000020,0x0000009a,0x00000099,0x00000016,
- 0x000300f7,0x0000009c,0x00000000,0x000400fa,0x0000009a,0x0000009b,0x0000009c,0x000200f8,
- 0x0000009b,0x0004003d,0x00000035,0x0000009e,0x00000037,0x0003003e,0x0000009d,0x0000009e,
- 0x000200f9,0x0000009c,0x000200f8,0x0000009c,0x00050041,0x00000042,0x0000009f,0x00000015,
- 0x00000061,0x0004003d,0x00000006,0x000000a0,0x0000009f,0x000500c7,0x00000006,0x000000a2,
- 0x000000a0,0x000000a1,0x000500ab,0x00000020,0x000000a3,0x000000a2,0x00000016,0x000300f7,
- 0x000000a5,0x00000000,0x000400fa,0x000000a3,0x000000a4,0x000000a5,0x000200f8,0x000000a4,
- 0x0004003d,0x00000035,0x000000a7,0x00000037,0x0003003e,0x000000a6,0x000000a7,0x000200f9,
- 0x000000a5,0x000200f8,0x000000a5,0x000100fd,0x00010038
+ 0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,
+ 0x00040047,0x00000050,0x00000022,0x00000000,0x00040047,0x00000050,0x00000021,0x00000000,
+ 0x00040047,0x00000071,0x0000001e,0x00000000,0x00040047,0x0000007a,0x0000001e,0x00000001,
+ 0x00040047,0x00000082,0x0000001e,0x00000002,0x00040047,0x0000008a,0x0000001e,0x00000003,
+ 0x00040047,0x00000093,0x0000001e,0x00000004,0x00040047,0x0000009c,0x0000001e,0x00000005,
+ 0x00040047,0x000000a5,0x0000001e,0x00000006,0x00040047,0x000000ae,0x0000001e,0x00000007,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,
+ 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
+ 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
+ 0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,
+ 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,
+ 0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,
+ 0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,
+ 0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,
+ 0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,0x00000009,0x00040017,0x0000003d,
+ 0x00000006,0x00000004,0x0004002b,0x00000006,0x00000040,0x00000001,0x0007002c,0x0000003d,
+ 0x00000041,0x00000016,0x00000016,0x00000016,0x00000040,0x0004002b,0x00000006,0x00000049,
+ 0x00000004,0x00040020,0x0000004a,0x00000009,0x00000006,0x00090019,0x0000004e,0x00000006,
+ 0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x0000004f,
+ 0x00000000,0x0000004e,0x0004003b,0x0000004f,0x00000050,0x00000000,0x0004002b,0x00000006,
+ 0x00000053,0x00000003,0x00040017,0x00000056,0x00000006,0x00000003,0x0004002b,0x00000006,
+ 0x00000062,0x00000005,0x00040020,0x00000063,0x00000009,0x0000000a,0x0004002b,0x00000006,
+ 0x00000069,0x00000006,0x00040020,0x00000070,0x00000003,0x0000003d,0x0004003b,0x00000070,
+ 0x00000071,0x00000003,0x0004002b,0x00000006,0x00000075,0x00000002,0x0004003b,0x00000070,
+ 0x0000007a,0x00000003,0x0004003b,0x00000070,0x00000082,0x00000003,0x0004003b,0x00000070,
+ 0x0000008a,0x00000003,0x0004002b,0x00000006,0x0000008e,0x00000010,0x0004003b,0x00000070,
+ 0x00000093,0x00000003,0x0004002b,0x00000006,0x00000097,0x00000020,0x0004003b,0x00000070,
+ 0x0000009c,0x00000003,0x0004002b,0x00000006,0x000000a0,0x00000040,0x0004003b,0x00000070,
+ 0x000000a5,0x00000003,0x0004002b,0x00000006,0x000000a9,0x00000080,0x0004003b,0x00000070,
+ 0x000000ae,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,
+ 0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,
+ 0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,
+ 0x00000018,0x00050082,0x00000007,0x0000001b,0x00000011,0x00000019,0x00050041,0x0000001d,
+ 0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,0x0000001f,0x0000001e,0x000500ab,
+ 0x00000020,0x00000022,0x0000001f,0x00000021,0x000300f7,0x00000024,0x00000000,0x000400fa,
+ 0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050051,0x00000006,0x00000027,
+ 0x0000001b,0x00000000,0x0004007e,0x00000006,0x00000028,0x00000027,0x00060052,0x00000007,
+ 0x000000b2,0x00000028,0x0000001b,0x00000000,0x000200f9,0x00000024,0x000200f8,0x00000024,
+ 0x000700f5,0x00000007,0x000000b6,0x0000001b,0x00000005,0x000000b2,0x00000023,0x00050041,
+ 0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,
+ 0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,
+ 0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050051,0x00000006,
+ 0x00000032,0x000000b6,0x00000001,0x0004007e,0x00000006,0x00000033,0x00000032,0x00060052,
+ 0x00000007,0x000000b5,0x00000033,0x000000b6,0x00000001,0x000200f9,0x0000002f,0x000200f8,
+ 0x0000002f,0x000700f5,0x00000007,0x000000b7,0x000000b6,0x00000024,0x000000b5,0x0000002e,
+ 0x00050041,0x0000001d,0x00000036,0x00000015,0x00000035,0x0004003d,0x00000012,0x00000037,
+ 0x00000036,0x000500ab,0x00000020,0x00000038,0x00000037,0x00000021,0x000300f7,0x0000003a,
+ 0x00000000,0x000400fa,0x00000038,0x00000039,0x0000003a,0x000200f8,0x00000039,0x0007004f,
+ 0x00000007,0x0000003c,0x000000b7,0x000000b7,0x00000001,0x00000000,0x000200f9,0x0000003a,
+ 0x000200f8,0x0000003a,0x000700f5,0x00000007,0x000000c2,0x000000b7,0x0000002f,0x0000003c,
+ 0x00000039,0x000200f9,0x00000043,0x000200f8,0x00000043,0x000700f5,0x0000003d,0x000000b9,
+ 0x00000041,0x0000003a,0x0000005d,0x00000044,0x000700f5,0x00000006,0x000000b8,0x00000016,
+ 0x0000003a,0x0000005f,0x00000044,0x00050041,0x0000004a,0x0000004b,0x00000015,0x00000049,
+ 0x0004003d,0x00000006,0x0000004c,0x0000004b,0x000500b1,0x00000020,0x0000004d,0x000000b8,
+ 0x0000004c,0x000400f6,0x00000045,0x00000044,0x00000000,0x000400fa,0x0000004d,0x00000044,
+ 0x00000045,0x000200f8,0x00000044,0x0004003d,0x0000004e,0x00000051,0x00000050,0x00050041,
+ 0x0000004a,0x00000054,0x00000015,0x00000053,0x0004003d,0x00000006,0x00000055,0x00000054,
+ 0x00050051,0x00000006,0x00000057,0x000000c2,0x00000000,0x00050051,0x00000006,0x00000058,
+ 0x000000c2,0x00000001,0x00060050,0x00000056,0x00000059,0x00000057,0x00000058,0x00000055,
+ 0x0007005f,0x0000003d,0x0000005b,0x00000051,0x00000059,0x00000040,0x000000b8,0x00050080,
+ 0x0000003d,0x0000005d,0x000000b9,0x0000005b,0x00050080,0x00000006,0x0000005f,0x000000b8,
+ 0x00000040,0x000200f9,0x00000043,0x000200f8,0x00000045,0x0004006f,0x0000000b,0x00000061,
+ 0x000000b9,0x00050041,0x00000063,0x00000064,0x00000015,0x00000062,0x0004003d,0x0000000a,
+ 0x00000065,0x00000064,0x0005008e,0x0000000b,0x00000066,0x00000061,0x00000065,0x0006000c,
+ 0x0000000b,0x00000067,0x00000001,0x00000001,0x00000066,0x0004006e,0x0000003d,0x00000068,
+ 0x00000067,0x00050041,0x0000004a,0x0000006a,0x00000015,0x00000069,0x0004003d,0x00000006,
+ 0x0000006b,0x0000006a,0x000500c7,0x00000006,0x0000006c,0x0000006b,0x00000040,0x000500ab,
+ 0x00000020,0x0000006d,0x0000006c,0x00000016,0x000300f7,0x0000006f,0x00000000,0x000400fa,
+ 0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0003003e,0x00000071,0x00000068,
+ 0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x000500c7,0x00000006,0x00000076,0x0000006b,
+ 0x00000075,0x000500ab,0x00000020,0x00000077,0x00000076,0x00000016,0x000300f7,0x00000079,
+ 0x00000000,0x000400fa,0x00000077,0x00000078,0x00000079,0x000200f8,0x00000078,0x0003003e,
+ 0x0000007a,0x00000068,0x000200f9,0x00000079,0x000200f8,0x00000079,0x000500c7,0x00000006,
+ 0x0000007e,0x0000006b,0x00000049,0x000500ab,0x00000020,0x0000007f,0x0000007e,0x00000016,
+ 0x000300f7,0x00000081,0x00000000,0x000400fa,0x0000007f,0x00000080,0x00000081,0x000200f8,
+ 0x00000080,0x0003003e,0x00000082,0x00000068,0x000200f9,0x00000081,0x000200f8,0x00000081,
+ 0x000500c7,0x00000006,0x00000086,0x0000006b,0x0000002a,0x000500ab,0x00000020,0x00000087,
+ 0x00000086,0x00000016,0x000300f7,0x00000089,0x00000000,0x000400fa,0x00000087,0x00000088,
+ 0x00000089,0x000200f8,0x00000088,0x0003003e,0x0000008a,0x00000068,0x000200f9,0x00000089,
+ 0x000200f8,0x00000089,0x000500c7,0x00000006,0x0000008f,0x0000006b,0x0000008e,0x000500ab,
+ 0x00000020,0x00000090,0x0000008f,0x00000016,0x000300f7,0x00000092,0x00000000,0x000400fa,
+ 0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x0003003e,0x00000093,0x00000068,
+ 0x000200f9,0x00000092,0x000200f8,0x00000092,0x000500c7,0x00000006,0x00000098,0x0000006b,
+ 0x00000097,0x000500ab,0x00000020,0x00000099,0x00000098,0x00000016,0x000300f7,0x0000009b,
+ 0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x0003003e,
+ 0x0000009c,0x00000068,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x000500c7,0x00000006,
+ 0x000000a1,0x0000006b,0x000000a0,0x000500ab,0x00000020,0x000000a2,0x000000a1,0x00000016,
+ 0x000300f7,0x000000a4,0x00000000,0x000400fa,0x000000a2,0x000000a3,0x000000a4,0x000200f8,
+ 0x000000a3,0x0003003e,0x000000a5,0x00000068,0x000200f9,0x000000a4,0x000200f8,0x000000a4,
+ 0x000500c7,0x00000006,0x000000aa,0x0000006b,0x000000a9,0x000500ab,0x00000020,0x000000ab,
+ 0x000000aa,0x00000016,0x000300f7,0x000000ad,0x00000000,0x000400fa,0x000000ab,0x000000ac,
+ 0x000000ad,0x000200f8,0x000000ac,0x0003003e,0x000000ae,0x00000068,0x000200f9,0x000000ad,
+ 0x000200f8,0x000000ad,0x000100fd,0x00010038
};
// Generated from:
@@ -160,6 +145,7 @@ const uint32_t kBlitResolve_frag_00000007[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform itexture2DMSArray color;
@@ -184,6 +170,8 @@ const uint32_t kBlitResolve_frag_00000007[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// ivec4 colorValue = ivec4(0, 0, 0, 1);
// for(int i = 0;i < params . samples;++ i)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc
index 29b489c2b84..f6f9efddb1b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc
@@ -1,131 +1,119 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000008[] = {
- 0x07230203,0x00010000,0x00080007,0x00000096,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000a7,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000057,0x0000005f,
- 0x00000068,0x00000070,0x00000079,0x00000082,0x0000008b,0x00000094,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000005f,0x00000067,
+ 0x00000070,0x00000078,0x00000081,0x0000008a,0x00000093,0x0000009c,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,
- 0x00050005,0x0000003d,0x6f6c6f63,0x6c615672,0x00006575,0x00040005,0x00000040,0x6f6c6f63,
- 0x00000072,0x00050005,0x00000044,0x74696c62,0x706d6153,0x0072656c,0x00050005,0x00000057,
- 0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000005f,0x6f6c6f63,0x74754f72,0x00000031,
- 0x00050005,0x00000068,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000070,0x6f6c6f63,
- 0x74754f72,0x00000033,0x00050005,0x00000079,0x6f6c6f63,0x74754f72,0x00000034,0x00050005,
- 0x00000082,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000008b,0x6f6c6f63,0x74754f72,
- 0x00000036,0x00050005,0x00000094,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,0x0000000c,
- 0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
- 0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
- 0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
- 0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x00000040,0x00000022,0x00000000,0x00040047,0x00000040,
- 0x00000021,0x00000000,0x00040047,0x00000044,0x00000022,0x00000000,0x00040047,0x00000044,
- 0x00000021,0x00000002,0x00040047,0x00000057,0x0000001e,0x00000000,0x00040047,0x0000005f,
- 0x0000001e,0x00000001,0x00040047,0x00000068,0x0000001e,0x00000002,0x00040047,0x00000070,
- 0x0000001e,0x00000003,0x00040047,0x00000079,0x0000001e,0x00000004,0x00040047,0x00000082,
- 0x0000001e,0x00000005,0x00040047,0x0000008b,0x0000001e,0x00000006,0x00040047,0x00000094,
+ 0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,
+ 0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,0x0000004c,0x74696c62,0x706d6153,
+ 0x0072656c,0x00050005,0x0000005f,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000067,
+ 0x6f6c6f63,0x74754f72,0x00000031,0x00050005,0x00000070,0x6f6c6f63,0x74754f72,0x00000032,
+ 0x00050005,0x00000078,0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000081,0x6f6c6f63,
+ 0x74754f72,0x00000034,0x00050005,0x0000008a,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,
+ 0x00000093,0x6f6c6f63,0x74754f72,0x00000036,0x00050005,0x0000009c,0x6f6c6f63,0x74754f72,
+ 0x00000037,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,
+ 0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,
+ 0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,
+ 0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,
+ 0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,
+ 0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000014,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x0000004c,0x00000022,0x00000000,0x00040047,0x0000004c,
+ 0x00000021,0x00000002,0x00040047,0x0000005f,0x0000001e,0x00000000,0x00040047,0x00000067,
+ 0x0000001e,0x00000001,0x00040047,0x00000070,0x0000001e,0x00000002,0x00040047,0x00000078,
+ 0x0000001e,0x00000003,0x00040047,0x00000081,0x0000001e,0x00000004,0x00040047,0x0000008a,
+ 0x0000001e,0x00000005,0x00040047,0x00000093,0x0000001e,0x00000006,0x00040047,0x0000009c,
0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
- 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,
- 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,
- 0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,
- 0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,
- 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
- 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
- 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
- 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
- 0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,
- 0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040017,
- 0x0000003b,0x00000013,0x00000004,0x00040020,0x0000003c,0x00000007,0x0000003b,0x00090019,
- 0x0000003e,0x00000013,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000003f,0x00000000,0x0000003e,0x0004003b,0x0000003f,0x00000040,0x00000000,
- 0x0002001a,0x00000042,0x00040020,0x00000043,0x00000000,0x00000042,0x0004003b,0x00000043,
- 0x00000044,0x00000000,0x0003001b,0x00000046,0x0000003e,0x0004002b,0x00000012,0x00000049,
- 0x00000002,0x0004002b,0x00000012,0x0000004e,0x00000006,0x00040020,0x0000004f,0x00000009,
- 0x00000012,0x00040020,0x00000056,0x00000003,0x0000003b,0x0004003b,0x00000056,0x00000057,
- 0x00000003,0x0004003b,0x00000056,0x0000005f,0x00000003,0x0004002b,0x00000012,0x00000063,
- 0x00000004,0x0004003b,0x00000056,0x00000068,0x00000003,0x0004003b,0x00000056,0x00000070,
- 0x00000003,0x0004002b,0x00000012,0x00000074,0x00000010,0x0004003b,0x00000056,0x00000079,
- 0x00000003,0x0004002b,0x00000012,0x0000007d,0x00000020,0x0004003b,0x00000056,0x00000082,
- 0x00000003,0x0004002b,0x00000012,0x00000086,0x00000040,0x0004003b,0x00000056,0x0000008b,
- 0x00000003,0x0004002b,0x00000012,0x0000008f,0x00000080,0x0004003b,0x00000056,0x00000094,
- 0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,0x0000003c,0x0000003d,0x00000007,
- 0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,0x0000000e,0x0000000d,
- 0x0000000d,0x00000000,0x00000001,0x00050051,0x00000006,0x0000000f,0x0000000e,0x00000000,
- 0x00050051,0x00000006,0x00000010,0x0000000e,0x00000001,0x00050050,0x00000007,0x00000011,
- 0x0000000f,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000018,0x00000019,
- 0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x0004003d,0x00000007,
- 0x0000001b,0x00000009,0x00050085,0x00000007,0x0000001c,0x0000001b,0x0000001a,0x0003003e,
- 0x00000009,0x0000001c,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,
- 0x00000007,0x0000001f,0x0000001e,0x0004003d,0x00000007,0x00000020,0x00000009,0x00050083,
- 0x00000007,0x00000021,0x00000020,0x0000001f,0x0003003e,0x00000009,0x00000021,0x00050041,
- 0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,
- 0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,
- 0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050041,0x0000002b,
- 0x0000002c,0x00000009,0x00000027,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x0004007f,
- 0x00000006,0x0000002e,0x0000002d,0x00050041,0x0000002b,0x0000002f,0x00000009,0x00000027,
- 0x0003003e,0x0000002f,0x0000002e,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x00050041,
- 0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,
- 0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,
- 0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050041,0x0000002b,
- 0x00000037,0x00000009,0x00000036,0x0004003d,0x00000006,0x00000038,0x00000037,0x0004007f,
- 0x00000006,0x00000039,0x00000038,0x00050041,0x0000002b,0x0000003a,0x00000009,0x00000036,
- 0x0003003e,0x0000003a,0x00000039,0x000200f9,0x00000035,0x000200f8,0x00000035,0x0004003d,
- 0x0000003e,0x00000041,0x00000040,0x0004003d,0x00000042,0x00000045,0x00000044,0x00050056,
- 0x00000046,0x00000047,0x00000041,0x00000045,0x0004003d,0x00000007,0x00000048,0x00000009,
- 0x00050041,0x00000018,0x0000004a,0x00000016,0x00000049,0x0004003d,0x00000007,0x0000004b,
- 0x0000004a,0x00050085,0x00000007,0x0000004c,0x00000048,0x0000004b,0x00050057,0x0000003b,
- 0x0000004d,0x00000047,0x0000004c,0x0003003e,0x0000003d,0x0000004d,0x00050041,0x0000004f,
- 0x00000050,0x00000016,0x0000004e,0x0004003d,0x00000012,0x00000051,0x00000050,0x000500c7,
- 0x00000012,0x00000052,0x00000051,0x00000017,0x000500ab,0x00000026,0x00000053,0x00000052,
- 0x0000001d,0x000300f7,0x00000055,0x00000000,0x000400fa,0x00000053,0x00000054,0x00000055,
- 0x000200f8,0x00000054,0x0004003d,0x0000003b,0x00000058,0x0000003d,0x0003003e,0x00000057,
- 0x00000058,0x000200f9,0x00000055,0x000200f8,0x00000055,0x00050041,0x0000004f,0x00000059,
- 0x00000016,0x0000004e,0x0004003d,0x00000012,0x0000005a,0x00000059,0x000500c7,0x00000012,
- 0x0000005b,0x0000005a,0x00000049,0x000500ab,0x00000026,0x0000005c,0x0000005b,0x0000001d,
- 0x000300f7,0x0000005e,0x00000000,0x000400fa,0x0000005c,0x0000005d,0x0000005e,0x000200f8,
- 0x0000005d,0x0004003d,0x0000003b,0x00000060,0x0000003d,0x0003003e,0x0000005f,0x00000060,
- 0x000200f9,0x0000005e,0x000200f8,0x0000005e,0x00050041,0x0000004f,0x00000061,0x00000016,
- 0x0000004e,0x0004003d,0x00000012,0x00000062,0x00000061,0x000500c7,0x00000012,0x00000064,
- 0x00000062,0x00000063,0x000500ab,0x00000026,0x00000065,0x00000064,0x0000001d,0x000300f7,
- 0x00000067,0x00000000,0x000400fa,0x00000065,0x00000066,0x00000067,0x000200f8,0x00000066,
- 0x0004003d,0x0000003b,0x00000069,0x0000003d,0x0003003e,0x00000068,0x00000069,0x000200f9,
- 0x00000067,0x000200f8,0x00000067,0x00050041,0x0000004f,0x0000006a,0x00000016,0x0000004e,
- 0x0004003d,0x00000012,0x0000006b,0x0000006a,0x000500c7,0x00000012,0x0000006c,0x0000006b,
- 0x00000030,0x000500ab,0x00000026,0x0000006d,0x0000006c,0x0000001d,0x000300f7,0x0000006f,
- 0x00000000,0x000400fa,0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0004003d,
- 0x0000003b,0x00000071,0x0000003d,0x0003003e,0x00000070,0x00000071,0x000200f9,0x0000006f,
- 0x000200f8,0x0000006f,0x00050041,0x0000004f,0x00000072,0x00000016,0x0000004e,0x0004003d,
- 0x00000012,0x00000073,0x00000072,0x000500c7,0x00000012,0x00000075,0x00000073,0x00000074,
- 0x000500ab,0x00000026,0x00000076,0x00000075,0x0000001d,0x000300f7,0x00000078,0x00000000,
- 0x000400fa,0x00000076,0x00000077,0x00000078,0x000200f8,0x00000077,0x0004003d,0x0000003b,
- 0x0000007a,0x0000003d,0x0003003e,0x00000079,0x0000007a,0x000200f9,0x00000078,0x000200f8,
- 0x00000078,0x00050041,0x0000004f,0x0000007b,0x00000016,0x0000004e,0x0004003d,0x00000012,
- 0x0000007c,0x0000007b,0x000500c7,0x00000012,0x0000007e,0x0000007c,0x0000007d,0x000500ab,
- 0x00000026,0x0000007f,0x0000007e,0x0000001d,0x000300f7,0x00000081,0x00000000,0x000400fa,
- 0x0000007f,0x00000080,0x00000081,0x000200f8,0x00000080,0x0004003d,0x0000003b,0x00000083,
- 0x0000003d,0x0003003e,0x00000082,0x00000083,0x000200f9,0x00000081,0x000200f8,0x00000081,
- 0x00050041,0x0000004f,0x00000084,0x00000016,0x0000004e,0x0004003d,0x00000012,0x00000085,
- 0x00000084,0x000500c7,0x00000012,0x00000087,0x00000085,0x00000086,0x000500ab,0x00000026,
- 0x00000088,0x00000087,0x0000001d,0x000300f7,0x0000008a,0x00000000,0x000400fa,0x00000088,
- 0x00000089,0x0000008a,0x000200f8,0x00000089,0x0004003d,0x0000003b,0x0000008c,0x0000003d,
- 0x0003003e,0x0000008b,0x0000008c,0x000200f9,0x0000008a,0x000200f8,0x0000008a,0x00050041,
- 0x0000004f,0x0000008d,0x00000016,0x0000004e,0x0004003d,0x00000012,0x0000008e,0x0000008d,
- 0x000500c7,0x00000012,0x00000090,0x0000008e,0x0000008f,0x000500ab,0x00000026,0x00000091,
- 0x00000090,0x0000001d,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,
- 0x00000093,0x000200f8,0x00000092,0x0004003d,0x0000003b,0x00000095,0x0000003d,0x0003003e,
- 0x00000094,0x00000095,0x000200f9,0x00000093,0x000200f8,0x00000093,0x000100fd,0x00010038
+ 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,
+ 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
+ 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
+ 0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
+ 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,
+ 0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,
+ 0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,
+ 0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,
+ 0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,
+ 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,
+ 0x00040017,0x00000043,0x00000013,0x00000004,0x00090019,0x00000046,0x00000013,0x00000001,
+ 0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,
+ 0x00000046,0x0004003b,0x00000047,0x00000048,0x00000000,0x0002001a,0x0000004a,0x00040020,
+ 0x0000004b,0x00000000,0x0000004a,0x0004003b,0x0000004b,0x0000004c,0x00000000,0x0003001b,
+ 0x0000004e,0x00000046,0x0004002b,0x00000012,0x00000051,0x00000002,0x0004002b,0x00000012,
+ 0x00000056,0x00000006,0x00040020,0x00000057,0x00000009,0x00000012,0x00040020,0x0000005e,
+ 0x00000003,0x00000043,0x0004003b,0x0000005e,0x0000005f,0x00000003,0x0004003b,0x0000005e,
+ 0x00000067,0x00000003,0x0004002b,0x00000012,0x0000006b,0x00000004,0x0004003b,0x0000005e,
+ 0x00000070,0x00000003,0x0004003b,0x0000005e,0x00000078,0x00000003,0x0004002b,0x00000012,
+ 0x0000007c,0x00000010,0x0004003b,0x0000005e,0x00000081,0x00000003,0x0004002b,0x00000012,
+ 0x00000085,0x00000020,0x0004003b,0x0000005e,0x0000008a,0x00000003,0x0004002b,0x00000012,
+ 0x0000008e,0x00000040,0x0004003b,0x0000005e,0x00000093,0x00000003,0x0004002b,0x00000012,
+ 0x00000097,0x00000080,0x0004003b,0x0000005e,0x0000009c,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,
+ 0x0000000c,0x00050051,0x00000006,0x0000000f,0x0000000d,0x00000000,0x00050051,0x00000006,
+ 0x00000010,0x0000000d,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,
+ 0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,
+ 0x00000019,0x00050085,0x00000007,0x0000001c,0x00000011,0x0000001a,0x00050041,0x00000018,
+ 0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x00050083,
+ 0x00000007,0x00000021,0x0000001c,0x0000001f,0x00050041,0x00000023,0x00000024,0x00000016,
+ 0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,
+ 0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,
+ 0x0000002a,0x000200f8,0x00000029,0x00050051,0x00000006,0x0000002d,0x00000021,0x00000000,
+ 0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00060052,0x00000007,0x000000a0,0x0000002e,
+ 0x00000021,0x00000000,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x000700f5,0x00000007,
+ 0x000000a4,0x00000021,0x00000005,0x000000a0,0x00000029,0x00050041,0x00000023,0x00000031,
+ 0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,
+ 0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,
+ 0x00000034,0x00000035,0x000200f8,0x00000034,0x00050051,0x00000006,0x00000038,0x000000a4,
+ 0x00000001,0x0004007f,0x00000006,0x00000039,0x00000038,0x00060052,0x00000007,0x000000a3,
+ 0x00000039,0x000000a4,0x00000001,0x000200f9,0x00000035,0x000200f8,0x00000035,0x000700f5,
+ 0x00000007,0x000000a5,0x000000a4,0x0000002a,0x000000a3,0x00000034,0x00050041,0x00000023,
+ 0x0000003c,0x00000016,0x0000003b,0x0004003d,0x00000013,0x0000003d,0x0000003c,0x000500ab,
+ 0x00000026,0x0000003e,0x0000003d,0x00000027,0x000300f7,0x00000040,0x00000000,0x000400fa,
+ 0x0000003e,0x0000003f,0x00000040,0x000200f8,0x0000003f,0x0007004f,0x00000007,0x00000042,
+ 0x000000a5,0x000000a5,0x00000001,0x00000000,0x000200f9,0x00000040,0x000200f8,0x00000040,
+ 0x000700f5,0x00000007,0x000000a6,0x000000a5,0x00000035,0x00000042,0x0000003f,0x0004003d,
+ 0x00000046,0x00000049,0x00000048,0x0004003d,0x0000004a,0x0000004d,0x0000004c,0x00050056,
+ 0x0000004e,0x0000004f,0x00000049,0x0000004d,0x00050041,0x00000018,0x00000052,0x00000016,
+ 0x00000051,0x0004003d,0x00000007,0x00000053,0x00000052,0x00050085,0x00000007,0x00000054,
+ 0x000000a6,0x00000053,0x00050057,0x00000043,0x00000055,0x0000004f,0x00000054,0x00050041,
+ 0x00000057,0x00000058,0x00000016,0x00000056,0x0004003d,0x00000012,0x00000059,0x00000058,
+ 0x000500c7,0x00000012,0x0000005a,0x00000059,0x00000017,0x000500ab,0x00000026,0x0000005b,
+ 0x0000005a,0x0000001d,0x000300f7,0x0000005d,0x00000000,0x000400fa,0x0000005b,0x0000005c,
+ 0x0000005d,0x000200f8,0x0000005c,0x0003003e,0x0000005f,0x00000055,0x000200f9,0x0000005d,
+ 0x000200f8,0x0000005d,0x000500c7,0x00000012,0x00000063,0x00000059,0x00000051,0x000500ab,
+ 0x00000026,0x00000064,0x00000063,0x0000001d,0x000300f7,0x00000066,0x00000000,0x000400fa,
+ 0x00000064,0x00000065,0x00000066,0x000200f8,0x00000065,0x0003003e,0x00000067,0x00000055,
+ 0x000200f9,0x00000066,0x000200f8,0x00000066,0x000500c7,0x00000012,0x0000006c,0x00000059,
+ 0x0000006b,0x000500ab,0x00000026,0x0000006d,0x0000006c,0x0000001d,0x000300f7,0x0000006f,
+ 0x00000000,0x000400fa,0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0003003e,
+ 0x00000070,0x00000055,0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x000500c7,0x00000012,
+ 0x00000074,0x00000059,0x00000030,0x000500ab,0x00000026,0x00000075,0x00000074,0x0000001d,
+ 0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,0x000200f8,
+ 0x00000076,0x0003003e,0x00000078,0x00000055,0x000200f9,0x00000077,0x000200f8,0x00000077,
+ 0x000500c7,0x00000012,0x0000007d,0x00000059,0x0000007c,0x000500ab,0x00000026,0x0000007e,
+ 0x0000007d,0x0000001d,0x000300f7,0x00000080,0x00000000,0x000400fa,0x0000007e,0x0000007f,
+ 0x00000080,0x000200f8,0x0000007f,0x0003003e,0x00000081,0x00000055,0x000200f9,0x00000080,
+ 0x000200f8,0x00000080,0x000500c7,0x00000012,0x00000086,0x00000059,0x00000085,0x000500ab,
+ 0x00000026,0x00000087,0x00000086,0x0000001d,0x000300f7,0x00000089,0x00000000,0x000400fa,
+ 0x00000087,0x00000088,0x00000089,0x000200f8,0x00000088,0x0003003e,0x0000008a,0x00000055,
+ 0x000200f9,0x00000089,0x000200f8,0x00000089,0x000500c7,0x00000012,0x0000008f,0x00000059,
+ 0x0000008e,0x000500ab,0x00000026,0x00000090,0x0000008f,0x0000001d,0x000300f7,0x00000092,
+ 0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x0003003e,
+ 0x00000093,0x00000055,0x000200f9,0x00000092,0x000200f8,0x00000092,0x000500c7,0x00000012,
+ 0x00000098,0x00000059,0x00000097,0x000500ab,0x00000026,0x00000099,0x00000098,0x0000001d,
+ 0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,
+ 0x0000009a,0x0003003e,0x0000009c,0x00000055,0x000200f9,0x0000009b,0x000200f8,0x0000009b,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -145,6 +133,7 @@ const uint32_t kBlitResolve_frag_00000008[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform utexture2D color;
@@ -173,6 +162,8 @@ const uint32_t kBlitResolve_frag_00000008[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// uvec4 colorValue = texture(usampler2D(color, blitSampler), srcImageCoords * params . invSrcExtent);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc
index 36eda83c097..729a2b93bda 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc
@@ -1,136 +1,123 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000009[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000af,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000005f,0x00000067,
- 0x00000070,0x00000078,0x00000081,0x0000008a,0x00000093,0x0000009c,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000067,0x0000006f,
+ 0x00000078,0x00000080,0x00000089,0x00000092,0x0000009b,0x000000a4,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,
- 0x00050005,0x0000003d,0x6f6c6f63,0x6c615672,0x00006575,0x00040005,0x00000040,0x6f6c6f63,
- 0x00000072,0x00050005,0x00000044,0x74696c62,0x706d6153,0x0072656c,0x00050005,0x0000005f,
- 0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000067,0x6f6c6f63,0x74754f72,0x00000031,
- 0x00050005,0x00000070,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000078,0x6f6c6f63,
- 0x74754f72,0x00000033,0x00050005,0x00000081,0x6f6c6f63,0x74754f72,0x00000034,0x00050005,
- 0x0000008a,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x00000093,0x6f6c6f63,0x74754f72,
- 0x00000036,0x00050005,0x0000009c,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,0x0000000c,
- 0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
- 0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
- 0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
- 0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x00000040,0x00000022,0x00000000,0x00040047,0x00000040,
- 0x00000021,0x00000000,0x00040047,0x00000044,0x00000022,0x00000000,0x00040047,0x00000044,
- 0x00000021,0x00000002,0x00040047,0x0000005f,0x0000001e,0x00000000,0x00040047,0x00000067,
- 0x0000001e,0x00000001,0x00040047,0x00000070,0x0000001e,0x00000002,0x00040047,0x00000078,
- 0x0000001e,0x00000003,0x00040047,0x00000081,0x0000001e,0x00000004,0x00040047,0x0000008a,
- 0x0000001e,0x00000005,0x00040047,0x00000093,0x0000001e,0x00000006,0x00040047,0x0000009c,
+ 0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,
+ 0x00040005,0x00000048,0x6f6c6f63,0x00000072,0x00050005,0x0000004c,0x74696c62,0x706d6153,
+ 0x0072656c,0x00050005,0x00000067,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000006f,
+ 0x6f6c6f63,0x74754f72,0x00000031,0x00050005,0x00000078,0x6f6c6f63,0x74754f72,0x00000032,
+ 0x00050005,0x00000080,0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000089,0x6f6c6f63,
+ 0x74754f72,0x00000034,0x00050005,0x00000092,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,
+ 0x0000009b,0x6f6c6f63,0x74754f72,0x00000036,0x00050005,0x000000a4,0x6f6c6f63,0x74754f72,
+ 0x00000037,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,
+ 0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,
+ 0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,
+ 0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,
+ 0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,
+ 0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000014,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x0000004c,0x00000022,0x00000000,0x00040047,0x0000004c,
+ 0x00000021,0x00000002,0x00040047,0x00000067,0x0000001e,0x00000000,0x00040047,0x0000006f,
+ 0x0000001e,0x00000001,0x00040047,0x00000078,0x0000001e,0x00000002,0x00040047,0x00000080,
+ 0x0000001e,0x00000003,0x00040047,0x00000089,0x0000001e,0x00000004,0x00040047,0x00000092,
+ 0x0000001e,0x00000005,0x00040047,0x0000009b,0x0000001e,0x00000006,0x00040047,0x000000a4,
0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
- 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,
- 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,
- 0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,
- 0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,
- 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
- 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
- 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
- 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
- 0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,
- 0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040017,
- 0x0000003b,0x00000013,0x00000004,0x00040020,0x0000003c,0x00000007,0x0000003b,0x00090019,
- 0x0000003e,0x00000013,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000003f,0x00000000,0x0000003e,0x0004003b,0x0000003f,0x00000040,0x00000000,
- 0x0002001a,0x00000042,0x00040020,0x00000043,0x00000000,0x00000042,0x0004003b,0x00000043,
- 0x00000044,0x00000000,0x0003001b,0x00000046,0x0000003e,0x0004002b,0x00000012,0x00000049,
- 0x00000002,0x0004002b,0x00000012,0x0000004d,0x00000003,0x00040020,0x0000004e,0x00000009,
- 0x00000012,0x00040017,0x00000052,0x00000006,0x00000003,0x0004002b,0x00000012,0x00000057,
- 0x00000006,0x00040020,0x0000005e,0x00000003,0x0000003b,0x0004003b,0x0000005e,0x0000005f,
- 0x00000003,0x0004003b,0x0000005e,0x00000067,0x00000003,0x0004002b,0x00000012,0x0000006b,
- 0x00000004,0x0004003b,0x0000005e,0x00000070,0x00000003,0x0004003b,0x0000005e,0x00000078,
- 0x00000003,0x0004002b,0x00000012,0x0000007c,0x00000010,0x0004003b,0x0000005e,0x00000081,
- 0x00000003,0x0004002b,0x00000012,0x00000085,0x00000020,0x0004003b,0x0000005e,0x0000008a,
- 0x00000003,0x0004002b,0x00000012,0x0000008e,0x00000040,0x0004003b,0x0000005e,0x00000093,
- 0x00000003,0x0004002b,0x00000012,0x00000097,0x00000080,0x0004003b,0x0000005e,0x0000009c,
- 0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,0x0000003c,0x0000003d,0x00000007,
- 0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,0x0000000e,0x0000000d,
- 0x0000000d,0x00000000,0x00000001,0x00050051,0x00000006,0x0000000f,0x0000000e,0x00000000,
- 0x00050051,0x00000006,0x00000010,0x0000000e,0x00000001,0x00050050,0x00000007,0x00000011,
- 0x0000000f,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000018,0x00000019,
- 0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x0004003d,0x00000007,
- 0x0000001b,0x00000009,0x00050085,0x00000007,0x0000001c,0x0000001b,0x0000001a,0x0003003e,
- 0x00000009,0x0000001c,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,
- 0x00000007,0x0000001f,0x0000001e,0x0004003d,0x00000007,0x00000020,0x00000009,0x00050083,
- 0x00000007,0x00000021,0x00000020,0x0000001f,0x0003003e,0x00000009,0x00000021,0x00050041,
- 0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,
- 0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,
- 0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050041,0x0000002b,
- 0x0000002c,0x00000009,0x00000027,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x0004007f,
- 0x00000006,0x0000002e,0x0000002d,0x00050041,0x0000002b,0x0000002f,0x00000009,0x00000027,
- 0x0003003e,0x0000002f,0x0000002e,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x00050041,
- 0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,
- 0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,
- 0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050041,0x0000002b,
- 0x00000037,0x00000009,0x00000036,0x0004003d,0x00000006,0x00000038,0x00000037,0x0004007f,
- 0x00000006,0x00000039,0x00000038,0x00050041,0x0000002b,0x0000003a,0x00000009,0x00000036,
- 0x0003003e,0x0000003a,0x00000039,0x000200f9,0x00000035,0x000200f8,0x00000035,0x0004003d,
- 0x0000003e,0x00000041,0x00000040,0x0004003d,0x00000042,0x00000045,0x00000044,0x00050056,
- 0x00000046,0x00000047,0x00000041,0x00000045,0x0004003d,0x00000007,0x00000048,0x00000009,
- 0x00050041,0x00000018,0x0000004a,0x00000016,0x00000049,0x0004003d,0x00000007,0x0000004b,
- 0x0000004a,0x00050085,0x00000007,0x0000004c,0x00000048,0x0000004b,0x00050041,0x0000004e,
- 0x0000004f,0x00000016,0x0000004d,0x0004003d,0x00000012,0x00000050,0x0000004f,0x0004006f,
- 0x00000006,0x00000051,0x00000050,0x00050051,0x00000006,0x00000053,0x0000004c,0x00000000,
- 0x00050051,0x00000006,0x00000054,0x0000004c,0x00000001,0x00060050,0x00000052,0x00000055,
- 0x00000053,0x00000054,0x00000051,0x00050057,0x0000003b,0x00000056,0x00000047,0x00000055,
- 0x0003003e,0x0000003d,0x00000056,0x00050041,0x0000004e,0x00000058,0x00000016,0x00000057,
- 0x0004003d,0x00000012,0x00000059,0x00000058,0x000500c7,0x00000012,0x0000005a,0x00000059,
- 0x00000017,0x000500ab,0x00000026,0x0000005b,0x0000005a,0x0000001d,0x000300f7,0x0000005d,
- 0x00000000,0x000400fa,0x0000005b,0x0000005c,0x0000005d,0x000200f8,0x0000005c,0x0004003d,
- 0x0000003b,0x00000060,0x0000003d,0x0003003e,0x0000005f,0x00000060,0x000200f9,0x0000005d,
- 0x000200f8,0x0000005d,0x00050041,0x0000004e,0x00000061,0x00000016,0x00000057,0x0004003d,
- 0x00000012,0x00000062,0x00000061,0x000500c7,0x00000012,0x00000063,0x00000062,0x00000049,
- 0x000500ab,0x00000026,0x00000064,0x00000063,0x0000001d,0x000300f7,0x00000066,0x00000000,
- 0x000400fa,0x00000064,0x00000065,0x00000066,0x000200f8,0x00000065,0x0004003d,0x0000003b,
- 0x00000068,0x0000003d,0x0003003e,0x00000067,0x00000068,0x000200f9,0x00000066,0x000200f8,
- 0x00000066,0x00050041,0x0000004e,0x00000069,0x00000016,0x00000057,0x0004003d,0x00000012,
- 0x0000006a,0x00000069,0x000500c7,0x00000012,0x0000006c,0x0000006a,0x0000006b,0x000500ab,
- 0x00000026,0x0000006d,0x0000006c,0x0000001d,0x000300f7,0x0000006f,0x00000000,0x000400fa,
- 0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0004003d,0x0000003b,0x00000071,
- 0x0000003d,0x0003003e,0x00000070,0x00000071,0x000200f9,0x0000006f,0x000200f8,0x0000006f,
- 0x00050041,0x0000004e,0x00000072,0x00000016,0x00000057,0x0004003d,0x00000012,0x00000073,
- 0x00000072,0x000500c7,0x00000012,0x00000074,0x00000073,0x00000030,0x000500ab,0x00000026,
+ 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,
+ 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
+ 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
+ 0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
+ 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,
+ 0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,
+ 0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,
+ 0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,
+ 0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,
+ 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,
+ 0x00040017,0x00000043,0x00000013,0x00000004,0x00090019,0x00000046,0x00000013,0x00000001,
+ 0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,
+ 0x00000046,0x0004003b,0x00000047,0x00000048,0x00000000,0x0002001a,0x0000004a,0x00040020,
+ 0x0000004b,0x00000000,0x0000004a,0x0004003b,0x0000004b,0x0000004c,0x00000000,0x0003001b,
+ 0x0000004e,0x00000046,0x0004002b,0x00000012,0x00000051,0x00000002,0x0004002b,0x00000012,
+ 0x00000055,0x00000003,0x00040020,0x00000056,0x00000009,0x00000012,0x00040017,0x0000005a,
+ 0x00000006,0x00000003,0x0004002b,0x00000012,0x0000005f,0x00000006,0x00040020,0x00000066,
+ 0x00000003,0x00000043,0x0004003b,0x00000066,0x00000067,0x00000003,0x0004003b,0x00000066,
+ 0x0000006f,0x00000003,0x0004002b,0x00000012,0x00000073,0x00000004,0x0004003b,0x00000066,
+ 0x00000078,0x00000003,0x0004003b,0x00000066,0x00000080,0x00000003,0x0004002b,0x00000012,
+ 0x00000084,0x00000010,0x0004003b,0x00000066,0x00000089,0x00000003,0x0004002b,0x00000012,
+ 0x0000008d,0x00000020,0x0004003b,0x00000066,0x00000092,0x00000003,0x0004002b,0x00000012,
+ 0x00000096,0x00000040,0x0004003b,0x00000066,0x0000009b,0x00000003,0x0004002b,0x00000012,
+ 0x0000009f,0x00000080,0x0004003b,0x00000066,0x000000a4,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,
+ 0x0000000c,0x00050051,0x00000006,0x0000000f,0x0000000d,0x00000000,0x00050051,0x00000006,
+ 0x00000010,0x0000000d,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,
+ 0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,
+ 0x00000019,0x00050085,0x00000007,0x0000001c,0x00000011,0x0000001a,0x00050041,0x00000018,
+ 0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x00050083,
+ 0x00000007,0x00000021,0x0000001c,0x0000001f,0x00050041,0x00000023,0x00000024,0x00000016,
+ 0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,
+ 0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,
+ 0x0000002a,0x000200f8,0x00000029,0x00050051,0x00000006,0x0000002d,0x00000021,0x00000000,
+ 0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00060052,0x00000007,0x000000a8,0x0000002e,
+ 0x00000021,0x00000000,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x000700f5,0x00000007,
+ 0x000000ac,0x00000021,0x00000005,0x000000a8,0x00000029,0x00050041,0x00000023,0x00000031,
+ 0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,
+ 0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,
+ 0x00000034,0x00000035,0x000200f8,0x00000034,0x00050051,0x00000006,0x00000038,0x000000ac,
+ 0x00000001,0x0004007f,0x00000006,0x00000039,0x00000038,0x00060052,0x00000007,0x000000ab,
+ 0x00000039,0x000000ac,0x00000001,0x000200f9,0x00000035,0x000200f8,0x00000035,0x000700f5,
+ 0x00000007,0x000000ad,0x000000ac,0x0000002a,0x000000ab,0x00000034,0x00050041,0x00000023,
+ 0x0000003c,0x00000016,0x0000003b,0x0004003d,0x00000013,0x0000003d,0x0000003c,0x000500ab,
+ 0x00000026,0x0000003e,0x0000003d,0x00000027,0x000300f7,0x00000040,0x00000000,0x000400fa,
+ 0x0000003e,0x0000003f,0x00000040,0x000200f8,0x0000003f,0x0007004f,0x00000007,0x00000042,
+ 0x000000ad,0x000000ad,0x00000001,0x00000000,0x000200f9,0x00000040,0x000200f8,0x00000040,
+ 0x000700f5,0x00000007,0x000000ae,0x000000ad,0x00000035,0x00000042,0x0000003f,0x0004003d,
+ 0x00000046,0x00000049,0x00000048,0x0004003d,0x0000004a,0x0000004d,0x0000004c,0x00050056,
+ 0x0000004e,0x0000004f,0x00000049,0x0000004d,0x00050041,0x00000018,0x00000052,0x00000016,
+ 0x00000051,0x0004003d,0x00000007,0x00000053,0x00000052,0x00050085,0x00000007,0x00000054,
+ 0x000000ae,0x00000053,0x00050041,0x00000056,0x00000057,0x00000016,0x00000055,0x0004003d,
+ 0x00000012,0x00000058,0x00000057,0x0004006f,0x00000006,0x00000059,0x00000058,0x00050051,
+ 0x00000006,0x0000005b,0x00000054,0x00000000,0x00050051,0x00000006,0x0000005c,0x00000054,
+ 0x00000001,0x00060050,0x0000005a,0x0000005d,0x0000005b,0x0000005c,0x00000059,0x00050057,
+ 0x00000043,0x0000005e,0x0000004f,0x0000005d,0x00050041,0x00000056,0x00000060,0x00000016,
+ 0x0000005f,0x0004003d,0x00000012,0x00000061,0x00000060,0x000500c7,0x00000012,0x00000062,
+ 0x00000061,0x00000017,0x000500ab,0x00000026,0x00000063,0x00000062,0x0000001d,0x000300f7,
+ 0x00000065,0x00000000,0x000400fa,0x00000063,0x00000064,0x00000065,0x000200f8,0x00000064,
+ 0x0003003e,0x00000067,0x0000005e,0x000200f9,0x00000065,0x000200f8,0x00000065,0x000500c7,
+ 0x00000012,0x0000006b,0x00000061,0x00000051,0x000500ab,0x00000026,0x0000006c,0x0000006b,
+ 0x0000001d,0x000300f7,0x0000006e,0x00000000,0x000400fa,0x0000006c,0x0000006d,0x0000006e,
+ 0x000200f8,0x0000006d,0x0003003e,0x0000006f,0x0000005e,0x000200f9,0x0000006e,0x000200f8,
+ 0x0000006e,0x000500c7,0x00000012,0x00000074,0x00000061,0x00000073,0x000500ab,0x00000026,
0x00000075,0x00000074,0x0000001d,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,
- 0x00000076,0x00000077,0x000200f8,0x00000076,0x0004003d,0x0000003b,0x00000079,0x0000003d,
- 0x0003003e,0x00000078,0x00000079,0x000200f9,0x00000077,0x000200f8,0x00000077,0x00050041,
- 0x0000004e,0x0000007a,0x00000016,0x00000057,0x0004003d,0x00000012,0x0000007b,0x0000007a,
- 0x000500c7,0x00000012,0x0000007d,0x0000007b,0x0000007c,0x000500ab,0x00000026,0x0000007e,
- 0x0000007d,0x0000001d,0x000300f7,0x00000080,0x00000000,0x000400fa,0x0000007e,0x0000007f,
- 0x00000080,0x000200f8,0x0000007f,0x0004003d,0x0000003b,0x00000082,0x0000003d,0x0003003e,
- 0x00000081,0x00000082,0x000200f9,0x00000080,0x000200f8,0x00000080,0x00050041,0x0000004e,
- 0x00000083,0x00000016,0x00000057,0x0004003d,0x00000012,0x00000084,0x00000083,0x000500c7,
- 0x00000012,0x00000086,0x00000084,0x00000085,0x000500ab,0x00000026,0x00000087,0x00000086,
- 0x0000001d,0x000300f7,0x00000089,0x00000000,0x000400fa,0x00000087,0x00000088,0x00000089,
- 0x000200f8,0x00000088,0x0004003d,0x0000003b,0x0000008b,0x0000003d,0x0003003e,0x0000008a,
- 0x0000008b,0x000200f9,0x00000089,0x000200f8,0x00000089,0x00050041,0x0000004e,0x0000008c,
- 0x00000016,0x00000057,0x0004003d,0x00000012,0x0000008d,0x0000008c,0x000500c7,0x00000012,
- 0x0000008f,0x0000008d,0x0000008e,0x000500ab,0x00000026,0x00000090,0x0000008f,0x0000001d,
- 0x000300f7,0x00000092,0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,
- 0x00000091,0x0004003d,0x0000003b,0x00000094,0x0000003d,0x0003003e,0x00000093,0x00000094,
- 0x000200f9,0x00000092,0x000200f8,0x00000092,0x00050041,0x0000004e,0x00000095,0x00000016,
- 0x00000057,0x0004003d,0x00000012,0x00000096,0x00000095,0x000500c7,0x00000012,0x00000098,
- 0x00000096,0x00000097,0x000500ab,0x00000026,0x00000099,0x00000098,0x0000001d,0x000300f7,
- 0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,
- 0x0004003d,0x0000003b,0x0000009d,0x0000003d,0x0003003e,0x0000009c,0x0000009d,0x000200f9,
- 0x0000009b,0x000200f8,0x0000009b,0x000100fd,0x00010038
+ 0x00000076,0x00000077,0x000200f8,0x00000076,0x0003003e,0x00000078,0x0000005e,0x000200f9,
+ 0x00000077,0x000200f8,0x00000077,0x000500c7,0x00000012,0x0000007c,0x00000061,0x00000030,
+ 0x000500ab,0x00000026,0x0000007d,0x0000007c,0x0000001d,0x000300f7,0x0000007f,0x00000000,
+ 0x000400fa,0x0000007d,0x0000007e,0x0000007f,0x000200f8,0x0000007e,0x0003003e,0x00000080,
+ 0x0000005e,0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x000500c7,0x00000012,0x00000085,
+ 0x00000061,0x00000084,0x000500ab,0x00000026,0x00000086,0x00000085,0x0000001d,0x000300f7,
+ 0x00000088,0x00000000,0x000400fa,0x00000086,0x00000087,0x00000088,0x000200f8,0x00000087,
+ 0x0003003e,0x00000089,0x0000005e,0x000200f9,0x00000088,0x000200f8,0x00000088,0x000500c7,
+ 0x00000012,0x0000008e,0x00000061,0x0000008d,0x000500ab,0x00000026,0x0000008f,0x0000008e,
+ 0x0000001d,0x000300f7,0x00000091,0x00000000,0x000400fa,0x0000008f,0x00000090,0x00000091,
+ 0x000200f8,0x00000090,0x0003003e,0x00000092,0x0000005e,0x000200f9,0x00000091,0x000200f8,
+ 0x00000091,0x000500c7,0x00000012,0x00000097,0x00000061,0x00000096,0x000500ab,0x00000026,
+ 0x00000098,0x00000097,0x0000001d,0x000300f7,0x0000009a,0x00000000,0x000400fa,0x00000098,
+ 0x00000099,0x0000009a,0x000200f8,0x00000099,0x0003003e,0x0000009b,0x0000005e,0x000200f9,
+ 0x0000009a,0x000200f8,0x0000009a,0x000500c7,0x00000012,0x000000a0,0x00000061,0x0000009f,
+ 0x000500ab,0x00000026,0x000000a1,0x000000a0,0x0000001d,0x000300f7,0x000000a3,0x00000000,
+ 0x000400fa,0x000000a1,0x000000a2,0x000000a3,0x000200f8,0x000000a2,0x0003003e,0x000000a4,
+ 0x0000005e,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x000100fd,0x00010038
};
// Generated from:
@@ -150,6 +137,7 @@ const uint32_t kBlitResolve_frag_00000009[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform utexture2DArray color;
@@ -178,6 +166,8 @@ const uint32_t kBlitResolve_frag_00000009[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// uvec4 colorValue = texture(usampler2DArray(color, blitSampler), vec3(srcImageCoords * params . invSrcExtent, params . srcLayer));
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc
index deea271789e..2f51b6bce64 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc
@@ -1,140 +1,125 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_0000000A[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a1,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000bc,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000062,0x0000006b,
- 0x00000073,0x0000007b,0x00000084,0x0000008d,0x00000096,0x0000009f,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000006a,0x00000073,
+ 0x0000007b,0x00000083,0x0000008c,0x00000095,0x0000009e,0x000000a7,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,
- 0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
- 0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,
- 0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,
- 0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,
- 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,
- 0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
- 0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,
- 0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,
- 0x00000015,0x61726170,0x0000736d,0x00050005,0x00000037,0x6f6c6f63,0x6c615672,0x00006575,
- 0x00030005,0x00000039,0x00000069,0x00040005,0x00000047,0x6f6c6f63,0x00000072,0x00050005,
- 0x00000062,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000006b,0x6f6c6f63,0x74754f72,
- 0x00000031,0x00050005,0x00000073,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x0000007b,
- 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000084,0x6f6c6f63,0x74754f72,0x00000034,
- 0x00050005,0x0000008d,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x00000096,0x6f6c6f63,
- 0x74754f72,0x00000036,0x00050005,0x0000009f,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
+ 0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,
+ 0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,
+ 0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
+ 0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,
+ 0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,
+ 0x00000015,0x61726170,0x0000736d,0x00040005,0x0000004f,0x6f6c6f63,0x00000072,0x00050005,
+ 0x0000006a,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000073,0x6f6c6f63,0x74754f72,
+ 0x00000031,0x00050005,0x0000007b,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000083,
+ 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x0000008c,0x6f6c6f63,0x74754f72,0x00000034,
+ 0x00050005,0x00000095,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000009e,0x6f6c6f63,
+ 0x74754f72,0x00000036,0x00050005,0x000000a7,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,
0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,
0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,
0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,
0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,
- 0x00030047,0x00000013,0x00000002,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,
- 0x00000047,0x00000021,0x00000000,0x00040047,0x00000062,0x0000001e,0x00000000,0x00040047,
- 0x0000006b,0x0000001e,0x00000001,0x00040047,0x00000073,0x0000001e,0x00000002,0x00040047,
- 0x0000007b,0x0000001e,0x00000003,0x00040047,0x00000084,0x0000001e,0x00000004,0x00040047,
- 0x0000008d,0x0000001e,0x00000005,0x00040047,0x00000096,0x0000001e,0x00000006,0x00040047,
- 0x0000009f,0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,
- 0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,
- 0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,
- 0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,
- 0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,
- 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
- 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
- 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
- 0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,
- 0x00040017,0x00000035,0x00000012,0x00000004,0x00040020,0x00000036,0x00000007,0x00000035,
- 0x0007002c,0x00000035,0x00000038,0x00000021,0x00000021,0x00000021,0x00000030,0x0004002b,
- 0x00000006,0x00000040,0x00000004,0x00040020,0x00000041,0x00000009,0x00000006,0x00090019,
- 0x00000045,0x00000012,0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,
- 0x00040020,0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,0x00000047,0x00000000,
- 0x0004002b,0x00000006,0x0000004f,0x00000001,0x0004002b,0x00000006,0x00000053,0x00000005,
- 0x00040020,0x00000054,0x00000009,0x0000000a,0x0004002b,0x00000006,0x0000005a,0x00000006,
- 0x00040020,0x00000061,0x00000003,0x00000035,0x0004003b,0x00000061,0x00000062,0x00000003,
- 0x0004002b,0x00000006,0x00000066,0x00000002,0x0004003b,0x00000061,0x0000006b,0x00000003,
- 0x0004003b,0x00000061,0x00000073,0x00000003,0x0004003b,0x00000061,0x0000007b,0x00000003,
- 0x0004002b,0x00000006,0x0000007f,0x00000010,0x0004003b,0x00000061,0x00000084,0x00000003,
- 0x0004002b,0x00000006,0x00000088,0x00000020,0x0004003b,0x00000061,0x0000008d,0x00000003,
- 0x0004002b,0x00000006,0x00000091,0x00000040,0x0004003b,0x00000061,0x00000096,0x00000003,
- 0x0004002b,0x00000006,0x0000009a,0x00000080,0x0004003b,0x00000061,0x0000009f,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000036,0x00000037,0x00000007,0x0004003b,
- 0x00000025,0x00000039,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000017,0x00000018,
- 0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x0004003d,0x00000007,
- 0x0000001a,0x00000009,0x00050082,0x00000007,0x0000001b,0x0000001a,0x00000019,0x0003003e,
- 0x00000009,0x0000001b,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
+ 0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,
+ 0x00040047,0x0000004f,0x00000022,0x00000000,0x00040047,0x0000004f,0x00000021,0x00000000,
+ 0x00040047,0x0000006a,0x0000001e,0x00000000,0x00040047,0x00000073,0x0000001e,0x00000001,
+ 0x00040047,0x0000007b,0x0000001e,0x00000002,0x00040047,0x00000083,0x0000001e,0x00000003,
+ 0x00040047,0x0000008c,0x0000001e,0x00000004,0x00040047,0x00000095,0x0000001e,0x00000005,
+ 0x00040047,0x0000009e,0x0000001e,0x00000006,0x00040047,0x000000a7,0x0000001e,0x00000007,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,
+ 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
+ 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
+ 0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,
+ 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,
+ 0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,
+ 0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,
+ 0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,
+ 0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,0x0004002b,0x00000006,
+ 0x00000035,0x00000009,0x00040017,0x0000003d,0x00000012,0x00000004,0x0007002c,0x0000003d,
+ 0x00000040,0x00000021,0x00000021,0x00000021,0x00000030,0x0004002b,0x00000006,0x00000048,
+ 0x00000004,0x00040020,0x00000049,0x00000009,0x00000006,0x00090019,0x0000004d,0x00000012,
+ 0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x0000004e,
+ 0x00000000,0x0000004d,0x0004003b,0x0000004e,0x0000004f,0x00000000,0x0004002b,0x00000006,
+ 0x00000057,0x00000001,0x0004002b,0x00000006,0x0000005b,0x00000005,0x00040020,0x0000005c,
+ 0x00000009,0x0000000a,0x0004002b,0x00000006,0x00000062,0x00000006,0x00040020,0x00000069,
+ 0x00000003,0x0000003d,0x0004003b,0x00000069,0x0000006a,0x00000003,0x0004002b,0x00000006,
+ 0x0000006e,0x00000002,0x0004003b,0x00000069,0x00000073,0x00000003,0x0004003b,0x00000069,
+ 0x0000007b,0x00000003,0x0004003b,0x00000069,0x00000083,0x00000003,0x0004002b,0x00000006,
+ 0x00000087,0x00000010,0x0004003b,0x00000069,0x0000008c,0x00000003,0x0004002b,0x00000006,
+ 0x00000090,0x00000020,0x0004003b,0x00000069,0x00000095,0x00000003,0x0004002b,0x00000006,
+ 0x00000099,0x00000040,0x0004003b,0x00000069,0x0000009e,0x00000003,0x0004002b,0x00000006,
+ 0x000000a2,0x00000080,0x0004003b,0x00000069,0x000000a7,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000b,0x0000000f,
+ 0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,
+ 0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,
+ 0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001b,
+ 0x00000011,0x00000019,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,
0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,
- 0x00000023,0x00050041,0x00000025,0x00000026,0x00000009,0x00000021,0x0004003d,0x00000006,
- 0x00000027,0x00000026,0x0004007e,0x00000006,0x00000028,0x00000027,0x00050041,0x00000025,
- 0x00000029,0x00000009,0x00000021,0x0003003e,0x00000029,0x00000028,0x000200f9,0x00000024,
- 0x000200f8,0x00000024,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,
- 0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,
- 0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,
- 0x0000002e,0x00050041,0x00000025,0x00000031,0x00000009,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x0004007e,0x00000006,0x00000033,0x00000032,0x00050041,0x00000025,
- 0x00000034,0x00000009,0x00000030,0x0003003e,0x00000034,0x00000033,0x000200f9,0x0000002f,
- 0x000200f8,0x0000002f,0x0003003e,0x00000037,0x00000038,0x0003003e,0x00000039,0x00000016,
- 0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000400f6,0x0000003c,0x0000003d,0x00000000,
- 0x000200f9,0x0000003e,0x000200f8,0x0000003e,0x0004003d,0x00000006,0x0000003f,0x00000039,
- 0x00050041,0x00000041,0x00000042,0x00000015,0x00000040,0x0004003d,0x00000006,0x00000043,
- 0x00000042,0x000500b1,0x00000020,0x00000044,0x0000003f,0x00000043,0x000400fa,0x00000044,
- 0x0000003b,0x0000003c,0x000200f8,0x0000003b,0x0004003d,0x00000045,0x00000048,0x00000047,
- 0x0004003d,0x00000007,0x00000049,0x00000009,0x0004003d,0x00000006,0x0000004a,0x00000039,
- 0x0007005f,0x00000035,0x0000004b,0x00000048,0x00000049,0x00000040,0x0000004a,0x0004003d,
- 0x00000035,0x0000004c,0x00000037,0x00050080,0x00000035,0x0000004d,0x0000004c,0x0000004b,
- 0x0003003e,0x00000037,0x0000004d,0x000200f9,0x0000003d,0x000200f8,0x0000003d,0x0004003d,
- 0x00000006,0x0000004e,0x00000039,0x00050080,0x00000006,0x00000050,0x0000004e,0x0000004f,
- 0x0003003e,0x00000039,0x00000050,0x000200f9,0x0000003a,0x000200f8,0x0000003c,0x0004003d,
- 0x00000035,0x00000051,0x00000037,0x00040070,0x0000000b,0x00000052,0x00000051,0x00050041,
- 0x00000054,0x00000055,0x00000015,0x00000053,0x0004003d,0x0000000a,0x00000056,0x00000055,
- 0x0005008e,0x0000000b,0x00000057,0x00000052,0x00000056,0x0006000c,0x0000000b,0x00000058,
- 0x00000001,0x00000001,0x00000057,0x0004006d,0x00000035,0x00000059,0x00000058,0x0003003e,
- 0x00000037,0x00000059,0x00050041,0x00000041,0x0000005b,0x00000015,0x0000005a,0x0004003d,
- 0x00000006,0x0000005c,0x0000005b,0x000500c7,0x00000006,0x0000005d,0x0000005c,0x0000004f,
- 0x000500ab,0x00000020,0x0000005e,0x0000005d,0x00000016,0x000300f7,0x00000060,0x00000000,
- 0x000400fa,0x0000005e,0x0000005f,0x00000060,0x000200f8,0x0000005f,0x0004003d,0x00000035,
- 0x00000063,0x00000037,0x0003003e,0x00000062,0x00000063,0x000200f9,0x00000060,0x000200f8,
- 0x00000060,0x00050041,0x00000041,0x00000064,0x00000015,0x0000005a,0x0004003d,0x00000006,
- 0x00000065,0x00000064,0x000500c7,0x00000006,0x00000067,0x00000065,0x00000066,0x000500ab,
- 0x00000020,0x00000068,0x00000067,0x00000016,0x000300f7,0x0000006a,0x00000000,0x000400fa,
- 0x00000068,0x00000069,0x0000006a,0x000200f8,0x00000069,0x0004003d,0x00000035,0x0000006c,
- 0x00000037,0x0003003e,0x0000006b,0x0000006c,0x000200f9,0x0000006a,0x000200f8,0x0000006a,
- 0x00050041,0x00000041,0x0000006d,0x00000015,0x0000005a,0x0004003d,0x00000006,0x0000006e,
- 0x0000006d,0x000500c7,0x00000006,0x0000006f,0x0000006e,0x00000040,0x000500ab,0x00000020,
- 0x00000070,0x0000006f,0x00000016,0x000300f7,0x00000072,0x00000000,0x000400fa,0x00000070,
- 0x00000071,0x00000072,0x000200f8,0x00000071,0x0004003d,0x00000035,0x00000074,0x00000037,
- 0x0003003e,0x00000073,0x00000074,0x000200f9,0x00000072,0x000200f8,0x00000072,0x00050041,
- 0x00000041,0x00000075,0x00000015,0x0000005a,0x0004003d,0x00000006,0x00000076,0x00000075,
- 0x000500c7,0x00000006,0x00000077,0x00000076,0x0000002a,0x000500ab,0x00000020,0x00000078,
- 0x00000077,0x00000016,0x000300f7,0x0000007a,0x00000000,0x000400fa,0x00000078,0x00000079,
- 0x0000007a,0x000200f8,0x00000079,0x0004003d,0x00000035,0x0000007c,0x00000037,0x0003003e,
- 0x0000007b,0x0000007c,0x000200f9,0x0000007a,0x000200f8,0x0000007a,0x00050041,0x00000041,
- 0x0000007d,0x00000015,0x0000005a,0x0004003d,0x00000006,0x0000007e,0x0000007d,0x000500c7,
- 0x00000006,0x00000080,0x0000007e,0x0000007f,0x000500ab,0x00000020,0x00000081,0x00000080,
- 0x00000016,0x000300f7,0x00000083,0x00000000,0x000400fa,0x00000081,0x00000082,0x00000083,
- 0x000200f8,0x00000082,0x0004003d,0x00000035,0x00000085,0x00000037,0x0003003e,0x00000084,
- 0x00000085,0x000200f9,0x00000083,0x000200f8,0x00000083,0x00050041,0x00000041,0x00000086,
- 0x00000015,0x0000005a,0x0004003d,0x00000006,0x00000087,0x00000086,0x000500c7,0x00000006,
- 0x00000089,0x00000087,0x00000088,0x000500ab,0x00000020,0x0000008a,0x00000089,0x00000016,
- 0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,0x0000008c,0x000200f8,
- 0x0000008b,0x0004003d,0x00000035,0x0000008e,0x00000037,0x0003003e,0x0000008d,0x0000008e,
- 0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x00050041,0x00000041,0x0000008f,0x00000015,
- 0x0000005a,0x0004003d,0x00000006,0x00000090,0x0000008f,0x000500c7,0x00000006,0x00000092,
- 0x00000090,0x00000091,0x000500ab,0x00000020,0x00000093,0x00000092,0x00000016,0x000300f7,
- 0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,0x00000095,0x000200f8,0x00000094,
- 0x0004003d,0x00000035,0x00000097,0x00000037,0x0003003e,0x00000096,0x00000097,0x000200f9,
- 0x00000095,0x000200f8,0x00000095,0x00050041,0x00000041,0x00000098,0x00000015,0x0000005a,
- 0x0004003d,0x00000006,0x00000099,0x00000098,0x000500c7,0x00000006,0x0000009b,0x00000099,
- 0x0000009a,0x000500ab,0x00000020,0x0000009c,0x0000009b,0x00000016,0x000300f7,0x0000009e,
- 0x00000000,0x000400fa,0x0000009c,0x0000009d,0x0000009e,0x000200f8,0x0000009d,0x0004003d,
- 0x00000035,0x000000a0,0x00000037,0x0003003e,0x0000009f,0x000000a0,0x000200f9,0x0000009e,
- 0x000200f8,0x0000009e,0x000100fd,0x00010038
+ 0x00000023,0x00050051,0x00000006,0x00000027,0x0000001b,0x00000000,0x0004007e,0x00000006,
+ 0x00000028,0x00000027,0x00060052,0x00000007,0x000000ab,0x00000028,0x0000001b,0x00000000,
+ 0x000200f9,0x00000024,0x000200f8,0x00000024,0x000700f5,0x00000007,0x000000af,0x0000001b,
+ 0x00000005,0x000000ab,0x00000023,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,
+ 0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,
+ 0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,
+ 0x000200f8,0x0000002e,0x00050051,0x00000006,0x00000032,0x000000af,0x00000001,0x0004007e,
+ 0x00000006,0x00000033,0x00000032,0x00060052,0x00000007,0x000000ae,0x00000033,0x000000af,
+ 0x00000001,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x000700f5,0x00000007,0x000000b0,
+ 0x000000af,0x00000024,0x000000ae,0x0000002e,0x00050041,0x0000001d,0x00000036,0x00000015,
+ 0x00000035,0x0004003d,0x00000012,0x00000037,0x00000036,0x000500ab,0x00000020,0x00000038,
+ 0x00000037,0x00000021,0x000300f7,0x0000003a,0x00000000,0x000400fa,0x00000038,0x00000039,
+ 0x0000003a,0x000200f8,0x00000039,0x0007004f,0x00000007,0x0000003c,0x000000b0,0x000000b0,
+ 0x00000001,0x00000000,0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000700f5,0x00000007,
+ 0x000000bb,0x000000b0,0x0000002f,0x0000003c,0x00000039,0x000200f9,0x00000042,0x000200f8,
+ 0x00000042,0x000700f5,0x0000003d,0x000000b2,0x00000040,0x0000003a,0x00000055,0x00000043,
+ 0x000700f5,0x00000006,0x000000b1,0x00000016,0x0000003a,0x00000058,0x00000043,0x00050041,
+ 0x00000049,0x0000004a,0x00000015,0x00000048,0x0004003d,0x00000006,0x0000004b,0x0000004a,
+ 0x000500b1,0x00000020,0x0000004c,0x000000b1,0x0000004b,0x000400f6,0x00000044,0x00000043,
+ 0x00000000,0x000400fa,0x0000004c,0x00000043,0x00000044,0x000200f8,0x00000043,0x0004003d,
+ 0x0000004d,0x00000050,0x0000004f,0x0007005f,0x0000003d,0x00000053,0x00000050,0x000000bb,
+ 0x00000040,0x000000b1,0x00050080,0x0000003d,0x00000055,0x000000b2,0x00000053,0x00050080,
+ 0x00000006,0x00000058,0x000000b1,0x00000057,0x000200f9,0x00000042,0x000200f8,0x00000044,
+ 0x00040070,0x0000000b,0x0000005a,0x000000b2,0x00050041,0x0000005c,0x0000005d,0x00000015,
+ 0x0000005b,0x0004003d,0x0000000a,0x0000005e,0x0000005d,0x0005008e,0x0000000b,0x0000005f,
+ 0x0000005a,0x0000005e,0x0006000c,0x0000000b,0x00000060,0x00000001,0x00000001,0x0000005f,
+ 0x0004006d,0x0000003d,0x00000061,0x00000060,0x00050041,0x00000049,0x00000063,0x00000015,
+ 0x00000062,0x0004003d,0x00000006,0x00000064,0x00000063,0x000500c7,0x00000006,0x00000065,
+ 0x00000064,0x00000057,0x000500ab,0x00000020,0x00000066,0x00000065,0x00000016,0x000300f7,
+ 0x00000068,0x00000000,0x000400fa,0x00000066,0x00000067,0x00000068,0x000200f8,0x00000067,
+ 0x0003003e,0x0000006a,0x00000061,0x000200f9,0x00000068,0x000200f8,0x00000068,0x000500c7,
+ 0x00000006,0x0000006f,0x00000064,0x0000006e,0x000500ab,0x00000020,0x00000070,0x0000006f,
+ 0x00000016,0x000300f7,0x00000072,0x00000000,0x000400fa,0x00000070,0x00000071,0x00000072,
+ 0x000200f8,0x00000071,0x0003003e,0x00000073,0x00000061,0x000200f9,0x00000072,0x000200f8,
+ 0x00000072,0x000500c7,0x00000006,0x00000077,0x00000064,0x00000048,0x000500ab,0x00000020,
+ 0x00000078,0x00000077,0x00000016,0x000300f7,0x0000007a,0x00000000,0x000400fa,0x00000078,
+ 0x00000079,0x0000007a,0x000200f8,0x00000079,0x0003003e,0x0000007b,0x00000061,0x000200f9,
+ 0x0000007a,0x000200f8,0x0000007a,0x000500c7,0x00000006,0x0000007f,0x00000064,0x0000002a,
+ 0x000500ab,0x00000020,0x00000080,0x0000007f,0x00000016,0x000300f7,0x00000082,0x00000000,
+ 0x000400fa,0x00000080,0x00000081,0x00000082,0x000200f8,0x00000081,0x0003003e,0x00000083,
+ 0x00000061,0x000200f9,0x00000082,0x000200f8,0x00000082,0x000500c7,0x00000006,0x00000088,
+ 0x00000064,0x00000087,0x000500ab,0x00000020,0x00000089,0x00000088,0x00000016,0x000300f7,
+ 0x0000008b,0x00000000,0x000400fa,0x00000089,0x0000008a,0x0000008b,0x000200f8,0x0000008a,
+ 0x0003003e,0x0000008c,0x00000061,0x000200f9,0x0000008b,0x000200f8,0x0000008b,0x000500c7,
+ 0x00000006,0x00000091,0x00000064,0x00000090,0x000500ab,0x00000020,0x00000092,0x00000091,
+ 0x00000016,0x000300f7,0x00000094,0x00000000,0x000400fa,0x00000092,0x00000093,0x00000094,
+ 0x000200f8,0x00000093,0x0003003e,0x00000095,0x00000061,0x000200f9,0x00000094,0x000200f8,
+ 0x00000094,0x000500c7,0x00000006,0x0000009a,0x00000064,0x00000099,0x000500ab,0x00000020,
+ 0x0000009b,0x0000009a,0x00000016,0x000300f7,0x0000009d,0x00000000,0x000400fa,0x0000009b,
+ 0x0000009c,0x0000009d,0x000200f8,0x0000009c,0x0003003e,0x0000009e,0x00000061,0x000200f9,
+ 0x0000009d,0x000200f8,0x0000009d,0x000500c7,0x00000006,0x000000a3,0x00000064,0x000000a2,
+ 0x000500ab,0x00000020,0x000000a4,0x000000a3,0x00000016,0x000300f7,0x000000a6,0x00000000,
+ 0x000400fa,0x000000a4,0x000000a5,0x000000a6,0x000200f8,0x000000a5,0x0003003e,0x000000a7,
+ 0x00000061,0x000200f9,0x000000a6,0x000200f8,0x000000a6,0x000100fd,0x00010038
};
// Generated from:
@@ -156,6 +141,7 @@ const uint32_t kBlitResolve_frag_0000000A[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform utexture2DMS color;
@@ -180,6 +166,8 @@ const uint32_t kBlitResolve_frag_0000000A[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// uvec4 colorValue = uvec4(0, 0, 0, 1);
// for(int i = 0;i < params . samples;++ i)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc
index 4d1089d2962..1692225346e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc
@@ -1,144 +1,129 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_0000000B[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a8,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c3,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000069,0x00000072,
- 0x0000007a,0x00000082,0x0000008b,0x00000094,0x0000009d,0x000000a6,0x00030010,0x00000004,
+ 0x000e000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000071,0x0000007a,
+ 0x00000082,0x0000008a,0x00000093,0x0000009c,0x000000a5,0x000000ae,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,
- 0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
- 0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,
- 0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,
- 0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,
- 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,
- 0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
- 0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,
- 0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,
- 0x00000015,0x61726170,0x0000736d,0x00050005,0x00000037,0x6f6c6f63,0x6c615672,0x00006575,
- 0x00030005,0x00000039,0x00000069,0x00040005,0x00000047,0x6f6c6f63,0x00000072,0x00050005,
- 0x00000069,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x00000072,0x6f6c6f63,0x74754f72,
- 0x00000031,0x00050005,0x0000007a,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x00000082,
- 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x0000008b,0x6f6c6f63,0x74754f72,0x00000034,
- 0x00050005,0x00000094,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x0000009d,0x6f6c6f63,
- 0x74754f72,0x00000036,0x00050005,0x000000a6,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
+ 0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,
+ 0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,
+ 0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
+ 0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,
+ 0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,
+ 0x00000015,0x61726170,0x0000736d,0x00040005,0x0000004f,0x6f6c6f63,0x00000072,0x00050005,
+ 0x00000071,0x6f6c6f63,0x74754f72,0x00000030,0x00050005,0x0000007a,0x6f6c6f63,0x74754f72,
+ 0x00000031,0x00050005,0x00000082,0x6f6c6f63,0x74754f72,0x00000032,0x00050005,0x0000008a,
+ 0x6f6c6f63,0x74754f72,0x00000033,0x00050005,0x00000093,0x6f6c6f63,0x74754f72,0x00000034,
+ 0x00050005,0x0000009c,0x6f6c6f63,0x74754f72,0x00000035,0x00050005,0x000000a5,0x6f6c6f63,
+ 0x74754f72,0x00000036,0x00050005,0x000000ae,0x6f6c6f63,0x74754f72,0x00000037,0x00040047,
0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,
0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,
0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,
0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,
0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,
- 0x00030047,0x00000013,0x00000002,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,
- 0x00000047,0x00000021,0x00000000,0x00040047,0x00000069,0x0000001e,0x00000000,0x00040047,
- 0x00000072,0x0000001e,0x00000001,0x00040047,0x0000007a,0x0000001e,0x00000002,0x00040047,
- 0x00000082,0x0000001e,0x00000003,0x00040047,0x0000008b,0x0000001e,0x00000004,0x00040047,
- 0x00000094,0x0000001e,0x00000005,0x00040047,0x0000009d,0x0000001e,0x00000006,0x00040047,
- 0x000000a6,0x0000001e,0x00000007,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,
- 0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,
- 0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,
- 0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,
- 0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,
- 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
- 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
- 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
- 0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,
- 0x00040017,0x00000035,0x00000012,0x00000004,0x00040020,0x00000036,0x00000007,0x00000035,
- 0x0007002c,0x00000035,0x00000038,0x00000021,0x00000021,0x00000021,0x00000030,0x0004002b,
- 0x00000006,0x00000040,0x00000004,0x00040020,0x00000041,0x00000009,0x00000006,0x00090019,
- 0x00000045,0x00000012,0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,
- 0x00040020,0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,0x00000047,0x00000000,
- 0x0004002b,0x00000006,0x0000004a,0x00000003,0x00040017,0x0000004d,0x00000006,0x00000003,
- 0x0004002b,0x00000006,0x00000056,0x00000001,0x0004002b,0x00000006,0x0000005a,0x00000005,
- 0x00040020,0x0000005b,0x00000009,0x0000000a,0x0004002b,0x00000006,0x00000061,0x00000006,
- 0x00040020,0x00000068,0x00000003,0x00000035,0x0004003b,0x00000068,0x00000069,0x00000003,
- 0x0004002b,0x00000006,0x0000006d,0x00000002,0x0004003b,0x00000068,0x00000072,0x00000003,
- 0x0004003b,0x00000068,0x0000007a,0x00000003,0x0004003b,0x00000068,0x00000082,0x00000003,
- 0x0004002b,0x00000006,0x00000086,0x00000010,0x0004003b,0x00000068,0x0000008b,0x00000003,
- 0x0004002b,0x00000006,0x0000008f,0x00000020,0x0004003b,0x00000068,0x00000094,0x00000003,
- 0x0004002b,0x00000006,0x00000098,0x00000040,0x0004003b,0x00000068,0x0000009d,0x00000003,
- 0x0004002b,0x00000006,0x000000a1,0x00000080,0x0004003b,0x00000068,0x000000a6,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000036,0x00000037,0x00000007,0x0004003b,
- 0x00000025,0x00000039,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000017,0x00000018,
- 0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x0004003d,0x00000007,
- 0x0000001a,0x00000009,0x00050082,0x00000007,0x0000001b,0x0000001a,0x00000019,0x0003003e,
- 0x00000009,0x0000001b,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
+ 0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,
+ 0x00040047,0x0000004f,0x00000022,0x00000000,0x00040047,0x0000004f,0x00000021,0x00000000,
+ 0x00040047,0x00000071,0x0000001e,0x00000000,0x00040047,0x0000007a,0x0000001e,0x00000001,
+ 0x00040047,0x00000082,0x0000001e,0x00000002,0x00040047,0x0000008a,0x0000001e,0x00000003,
+ 0x00040047,0x00000093,0x0000001e,0x00000004,0x00040047,0x0000009c,0x0000001e,0x00000005,
+ 0x00040047,0x000000a5,0x0000001e,0x00000006,0x00040047,0x000000ae,0x0000001e,0x00000007,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,
+ 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
+ 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
+ 0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,
+ 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,
+ 0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,
+ 0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,
+ 0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,
+ 0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,0x0004002b,0x00000006,
+ 0x00000035,0x00000009,0x00040017,0x0000003d,0x00000012,0x00000004,0x0007002c,0x0000003d,
+ 0x00000040,0x00000021,0x00000021,0x00000021,0x00000030,0x0004002b,0x00000006,0x00000048,
+ 0x00000004,0x00040020,0x00000049,0x00000009,0x00000006,0x00090019,0x0000004d,0x00000012,
+ 0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x0000004e,
+ 0x00000000,0x0000004d,0x0004003b,0x0000004e,0x0000004f,0x00000000,0x0004002b,0x00000006,
+ 0x00000052,0x00000003,0x00040017,0x00000055,0x00000006,0x00000003,0x0004002b,0x00000006,
+ 0x0000005e,0x00000001,0x0004002b,0x00000006,0x00000062,0x00000005,0x00040020,0x00000063,
+ 0x00000009,0x0000000a,0x0004002b,0x00000006,0x00000069,0x00000006,0x00040020,0x00000070,
+ 0x00000003,0x0000003d,0x0004003b,0x00000070,0x00000071,0x00000003,0x0004002b,0x00000006,
+ 0x00000075,0x00000002,0x0004003b,0x00000070,0x0000007a,0x00000003,0x0004003b,0x00000070,
+ 0x00000082,0x00000003,0x0004003b,0x00000070,0x0000008a,0x00000003,0x0004002b,0x00000006,
+ 0x0000008e,0x00000010,0x0004003b,0x00000070,0x00000093,0x00000003,0x0004002b,0x00000006,
+ 0x00000097,0x00000020,0x0004003b,0x00000070,0x0000009c,0x00000003,0x0004002b,0x00000006,
+ 0x000000a0,0x00000040,0x0004003b,0x00000070,0x000000a5,0x00000003,0x0004002b,0x00000006,
+ 0x000000a9,0x00000080,0x0004003b,0x00000070,0x000000ae,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000b,0x0000000f,
+ 0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,
+ 0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,
+ 0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001b,
+ 0x00000011,0x00000019,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,
0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,
0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,
- 0x00000023,0x00050041,0x00000025,0x00000026,0x00000009,0x00000021,0x0004003d,0x00000006,
- 0x00000027,0x00000026,0x0004007e,0x00000006,0x00000028,0x00000027,0x00050041,0x00000025,
- 0x00000029,0x00000009,0x00000021,0x0003003e,0x00000029,0x00000028,0x000200f9,0x00000024,
- 0x000200f8,0x00000024,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,
- 0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,
- 0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,
- 0x0000002e,0x00050041,0x00000025,0x00000031,0x00000009,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x0004007e,0x00000006,0x00000033,0x00000032,0x00050041,0x00000025,
- 0x00000034,0x00000009,0x00000030,0x0003003e,0x00000034,0x00000033,0x000200f9,0x0000002f,
- 0x000200f8,0x0000002f,0x0003003e,0x00000037,0x00000038,0x0003003e,0x00000039,0x00000016,
- 0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000400f6,0x0000003c,0x0000003d,0x00000000,
- 0x000200f9,0x0000003e,0x000200f8,0x0000003e,0x0004003d,0x00000006,0x0000003f,0x00000039,
- 0x00050041,0x00000041,0x00000042,0x00000015,0x00000040,0x0004003d,0x00000006,0x00000043,
- 0x00000042,0x000500b1,0x00000020,0x00000044,0x0000003f,0x00000043,0x000400fa,0x00000044,
- 0x0000003b,0x0000003c,0x000200f8,0x0000003b,0x0004003d,0x00000045,0x00000048,0x00000047,
- 0x0004003d,0x00000007,0x00000049,0x00000009,0x00050041,0x00000041,0x0000004b,0x00000015,
- 0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x00050051,0x00000006,0x0000004e,
- 0x00000049,0x00000000,0x00050051,0x00000006,0x0000004f,0x00000049,0x00000001,0x00060050,
- 0x0000004d,0x00000050,0x0000004e,0x0000004f,0x0000004c,0x0004003d,0x00000006,0x00000051,
- 0x00000039,0x0007005f,0x00000035,0x00000052,0x00000048,0x00000050,0x00000040,0x00000051,
- 0x0004003d,0x00000035,0x00000053,0x00000037,0x00050080,0x00000035,0x00000054,0x00000053,
- 0x00000052,0x0003003e,0x00000037,0x00000054,0x000200f9,0x0000003d,0x000200f8,0x0000003d,
- 0x0004003d,0x00000006,0x00000055,0x00000039,0x00050080,0x00000006,0x00000057,0x00000055,
- 0x00000056,0x0003003e,0x00000039,0x00000057,0x000200f9,0x0000003a,0x000200f8,0x0000003c,
- 0x0004003d,0x00000035,0x00000058,0x00000037,0x00040070,0x0000000b,0x00000059,0x00000058,
- 0x00050041,0x0000005b,0x0000005c,0x00000015,0x0000005a,0x0004003d,0x0000000a,0x0000005d,
- 0x0000005c,0x0005008e,0x0000000b,0x0000005e,0x00000059,0x0000005d,0x0006000c,0x0000000b,
- 0x0000005f,0x00000001,0x00000001,0x0000005e,0x0004006d,0x00000035,0x00000060,0x0000005f,
- 0x0003003e,0x00000037,0x00000060,0x00050041,0x00000041,0x00000062,0x00000015,0x00000061,
- 0x0004003d,0x00000006,0x00000063,0x00000062,0x000500c7,0x00000006,0x00000064,0x00000063,
- 0x00000056,0x000500ab,0x00000020,0x00000065,0x00000064,0x00000016,0x000300f7,0x00000067,
- 0x00000000,0x000400fa,0x00000065,0x00000066,0x00000067,0x000200f8,0x00000066,0x0004003d,
- 0x00000035,0x0000006a,0x00000037,0x0003003e,0x00000069,0x0000006a,0x000200f9,0x00000067,
- 0x000200f8,0x00000067,0x00050041,0x00000041,0x0000006b,0x00000015,0x00000061,0x0004003d,
- 0x00000006,0x0000006c,0x0000006b,0x000500c7,0x00000006,0x0000006e,0x0000006c,0x0000006d,
- 0x000500ab,0x00000020,0x0000006f,0x0000006e,0x00000016,0x000300f7,0x00000071,0x00000000,
- 0x000400fa,0x0000006f,0x00000070,0x00000071,0x000200f8,0x00000070,0x0004003d,0x00000035,
- 0x00000073,0x00000037,0x0003003e,0x00000072,0x00000073,0x000200f9,0x00000071,0x000200f8,
- 0x00000071,0x00050041,0x00000041,0x00000074,0x00000015,0x00000061,0x0004003d,0x00000006,
- 0x00000075,0x00000074,0x000500c7,0x00000006,0x00000076,0x00000075,0x00000040,0x000500ab,
- 0x00000020,0x00000077,0x00000076,0x00000016,0x000300f7,0x00000079,0x00000000,0x000400fa,
- 0x00000077,0x00000078,0x00000079,0x000200f8,0x00000078,0x0004003d,0x00000035,0x0000007b,
- 0x00000037,0x0003003e,0x0000007a,0x0000007b,0x000200f9,0x00000079,0x000200f8,0x00000079,
- 0x00050041,0x00000041,0x0000007c,0x00000015,0x00000061,0x0004003d,0x00000006,0x0000007d,
- 0x0000007c,0x000500c7,0x00000006,0x0000007e,0x0000007d,0x0000002a,0x000500ab,0x00000020,
- 0x0000007f,0x0000007e,0x00000016,0x000300f7,0x00000081,0x00000000,0x000400fa,0x0000007f,
- 0x00000080,0x00000081,0x000200f8,0x00000080,0x0004003d,0x00000035,0x00000083,0x00000037,
- 0x0003003e,0x00000082,0x00000083,0x000200f9,0x00000081,0x000200f8,0x00000081,0x00050041,
- 0x00000041,0x00000084,0x00000015,0x00000061,0x0004003d,0x00000006,0x00000085,0x00000084,
- 0x000500c7,0x00000006,0x00000087,0x00000085,0x00000086,0x000500ab,0x00000020,0x00000088,
- 0x00000087,0x00000016,0x000300f7,0x0000008a,0x00000000,0x000400fa,0x00000088,0x00000089,
- 0x0000008a,0x000200f8,0x00000089,0x0004003d,0x00000035,0x0000008c,0x00000037,0x0003003e,
- 0x0000008b,0x0000008c,0x000200f9,0x0000008a,0x000200f8,0x0000008a,0x00050041,0x00000041,
- 0x0000008d,0x00000015,0x00000061,0x0004003d,0x00000006,0x0000008e,0x0000008d,0x000500c7,
- 0x00000006,0x00000090,0x0000008e,0x0000008f,0x000500ab,0x00000020,0x00000091,0x00000090,
- 0x00000016,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,0x00000093,
- 0x000200f8,0x00000092,0x0004003d,0x00000035,0x00000095,0x00000037,0x0003003e,0x00000094,
- 0x00000095,0x000200f9,0x00000093,0x000200f8,0x00000093,0x00050041,0x00000041,0x00000096,
- 0x00000015,0x00000061,0x0004003d,0x00000006,0x00000097,0x00000096,0x000500c7,0x00000006,
- 0x00000099,0x00000097,0x00000098,0x000500ab,0x00000020,0x0000009a,0x00000099,0x00000016,
- 0x000300f7,0x0000009c,0x00000000,0x000400fa,0x0000009a,0x0000009b,0x0000009c,0x000200f8,
- 0x0000009b,0x0004003d,0x00000035,0x0000009e,0x00000037,0x0003003e,0x0000009d,0x0000009e,
- 0x000200f9,0x0000009c,0x000200f8,0x0000009c,0x00050041,0x00000041,0x0000009f,0x00000015,
- 0x00000061,0x0004003d,0x00000006,0x000000a0,0x0000009f,0x000500c7,0x00000006,0x000000a2,
- 0x000000a0,0x000000a1,0x000500ab,0x00000020,0x000000a3,0x000000a2,0x00000016,0x000300f7,
- 0x000000a5,0x00000000,0x000400fa,0x000000a3,0x000000a4,0x000000a5,0x000200f8,0x000000a4,
- 0x0004003d,0x00000035,0x000000a7,0x00000037,0x0003003e,0x000000a6,0x000000a7,0x000200f9,
- 0x000000a5,0x000200f8,0x000000a5,0x000100fd,0x00010038
+ 0x00000023,0x00050051,0x00000006,0x00000027,0x0000001b,0x00000000,0x0004007e,0x00000006,
+ 0x00000028,0x00000027,0x00060052,0x00000007,0x000000b2,0x00000028,0x0000001b,0x00000000,
+ 0x000200f9,0x00000024,0x000200f8,0x00000024,0x000700f5,0x00000007,0x000000b6,0x0000001b,
+ 0x00000005,0x000000b2,0x00000023,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,
+ 0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,
+ 0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,
+ 0x000200f8,0x0000002e,0x00050051,0x00000006,0x00000032,0x000000b6,0x00000001,0x0004007e,
+ 0x00000006,0x00000033,0x00000032,0x00060052,0x00000007,0x000000b5,0x00000033,0x000000b6,
+ 0x00000001,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x000700f5,0x00000007,0x000000b7,
+ 0x000000b6,0x00000024,0x000000b5,0x0000002e,0x00050041,0x0000001d,0x00000036,0x00000015,
+ 0x00000035,0x0004003d,0x00000012,0x00000037,0x00000036,0x000500ab,0x00000020,0x00000038,
+ 0x00000037,0x00000021,0x000300f7,0x0000003a,0x00000000,0x000400fa,0x00000038,0x00000039,
+ 0x0000003a,0x000200f8,0x00000039,0x0007004f,0x00000007,0x0000003c,0x000000b7,0x000000b7,
+ 0x00000001,0x00000000,0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000700f5,0x00000007,
+ 0x000000c2,0x000000b7,0x0000002f,0x0000003c,0x00000039,0x000200f9,0x00000042,0x000200f8,
+ 0x00000042,0x000700f5,0x0000003d,0x000000b9,0x00000040,0x0000003a,0x0000005c,0x00000043,
+ 0x000700f5,0x00000006,0x000000b8,0x00000016,0x0000003a,0x0000005f,0x00000043,0x00050041,
+ 0x00000049,0x0000004a,0x00000015,0x00000048,0x0004003d,0x00000006,0x0000004b,0x0000004a,
+ 0x000500b1,0x00000020,0x0000004c,0x000000b8,0x0000004b,0x000400f6,0x00000044,0x00000043,
+ 0x00000000,0x000400fa,0x0000004c,0x00000043,0x00000044,0x000200f8,0x00000043,0x0004003d,
+ 0x0000004d,0x00000050,0x0000004f,0x00050041,0x00000049,0x00000053,0x00000015,0x00000052,
+ 0x0004003d,0x00000006,0x00000054,0x00000053,0x00050051,0x00000006,0x00000056,0x000000c2,
+ 0x00000000,0x00050051,0x00000006,0x00000057,0x000000c2,0x00000001,0x00060050,0x00000055,
+ 0x00000058,0x00000056,0x00000057,0x00000054,0x0007005f,0x0000003d,0x0000005a,0x00000050,
+ 0x00000058,0x00000040,0x000000b8,0x00050080,0x0000003d,0x0000005c,0x000000b9,0x0000005a,
+ 0x00050080,0x00000006,0x0000005f,0x000000b8,0x0000005e,0x000200f9,0x00000042,0x000200f8,
+ 0x00000044,0x00040070,0x0000000b,0x00000061,0x000000b9,0x00050041,0x00000063,0x00000064,
+ 0x00000015,0x00000062,0x0004003d,0x0000000a,0x00000065,0x00000064,0x0005008e,0x0000000b,
+ 0x00000066,0x00000061,0x00000065,0x0006000c,0x0000000b,0x00000067,0x00000001,0x00000001,
+ 0x00000066,0x0004006d,0x0000003d,0x00000068,0x00000067,0x00050041,0x00000049,0x0000006a,
+ 0x00000015,0x00000069,0x0004003d,0x00000006,0x0000006b,0x0000006a,0x000500c7,0x00000006,
+ 0x0000006c,0x0000006b,0x0000005e,0x000500ab,0x00000020,0x0000006d,0x0000006c,0x00000016,
+ 0x000300f7,0x0000006f,0x00000000,0x000400fa,0x0000006d,0x0000006e,0x0000006f,0x000200f8,
+ 0x0000006e,0x0003003e,0x00000071,0x00000068,0x000200f9,0x0000006f,0x000200f8,0x0000006f,
+ 0x000500c7,0x00000006,0x00000076,0x0000006b,0x00000075,0x000500ab,0x00000020,0x00000077,
+ 0x00000076,0x00000016,0x000300f7,0x00000079,0x00000000,0x000400fa,0x00000077,0x00000078,
+ 0x00000079,0x000200f8,0x00000078,0x0003003e,0x0000007a,0x00000068,0x000200f9,0x00000079,
+ 0x000200f8,0x00000079,0x000500c7,0x00000006,0x0000007e,0x0000006b,0x00000048,0x000500ab,
+ 0x00000020,0x0000007f,0x0000007e,0x00000016,0x000300f7,0x00000081,0x00000000,0x000400fa,
+ 0x0000007f,0x00000080,0x00000081,0x000200f8,0x00000080,0x0003003e,0x00000082,0x00000068,
+ 0x000200f9,0x00000081,0x000200f8,0x00000081,0x000500c7,0x00000006,0x00000086,0x0000006b,
+ 0x0000002a,0x000500ab,0x00000020,0x00000087,0x00000086,0x00000016,0x000300f7,0x00000089,
+ 0x00000000,0x000400fa,0x00000087,0x00000088,0x00000089,0x000200f8,0x00000088,0x0003003e,
+ 0x0000008a,0x00000068,0x000200f9,0x00000089,0x000200f8,0x00000089,0x000500c7,0x00000006,
+ 0x0000008f,0x0000006b,0x0000008e,0x000500ab,0x00000020,0x00000090,0x0000008f,0x00000016,
+ 0x000300f7,0x00000092,0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,
+ 0x00000091,0x0003003e,0x00000093,0x00000068,0x000200f9,0x00000092,0x000200f8,0x00000092,
+ 0x000500c7,0x00000006,0x00000098,0x0000006b,0x00000097,0x000500ab,0x00000020,0x00000099,
+ 0x00000098,0x00000016,0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,
+ 0x0000009b,0x000200f8,0x0000009a,0x0003003e,0x0000009c,0x00000068,0x000200f9,0x0000009b,
+ 0x000200f8,0x0000009b,0x000500c7,0x00000006,0x000000a1,0x0000006b,0x000000a0,0x000500ab,
+ 0x00000020,0x000000a2,0x000000a1,0x00000016,0x000300f7,0x000000a4,0x00000000,0x000400fa,
+ 0x000000a2,0x000000a3,0x000000a4,0x000200f8,0x000000a3,0x0003003e,0x000000a5,0x00000068,
+ 0x000200f9,0x000000a4,0x000200f8,0x000000a4,0x000500c7,0x00000006,0x000000aa,0x0000006b,
+ 0x000000a9,0x000500ab,0x00000020,0x000000ab,0x000000aa,0x00000016,0x000300f7,0x000000ad,
+ 0x00000000,0x000400fa,0x000000ab,0x000000ac,0x000000ad,0x000200f8,0x000000ac,0x0003003e,
+ 0x000000ae,0x00000068,0x000200f9,0x000000ad,0x000200f8,0x000000ad,0x000100fd,0x00010038
};
// Generated from:
@@ -160,6 +145,7 @@ const uint32_t kBlitResolve_frag_0000000B[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform utexture2DMSArray color;
@@ -184,6 +170,8 @@ const uint32_t kBlitResolve_frag_0000000B[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// uvec4 colorValue = uvec4(0, 0, 0, 1);
// for(int i = 0;i < params . samples;++ i)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc
index c247ab0862e..104f9be5e7a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc
@@ -1,76 +1,77 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_0000000C[] = {
- 0x07230203,0x00010000,0x00080007,0x0000004e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x0000005f,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000003c,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000044,0x00030010,
0x00000004,0x00000007,0x00030010,0x00000004,0x0000000c,0x00030003,0x00000002,0x000001c2,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,
- 0x726f6f43,0x00007364,0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,
- 0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,
- 0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,
- 0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,
- 0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,
- 0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,
- 0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,
- 0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,
- 0x00040005,0x00000016,0x61726170,0x0000736d,0x00060005,0x0000003c,0x465f6c67,0x44676172,
- 0x68747065,0x00000000,0x00040005,0x0000003f,0x74706564,0x00000068,0x00050005,0x00000043,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000c,0x465f6c67,0x43676172,
+ 0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,
+ 0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,
+ 0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,
+ 0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,
+ 0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,
+ 0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,
+ 0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,
+ 0x70696c66,0x00000059,0x00060006,0x00000014,0x00000009,0x61746f72,0x59586574,0x00000000,
+ 0x00040005,0x00000016,0x61726170,0x0000736d,0x00060005,0x00000044,0x465f6c67,0x44676172,
+ 0x68747065,0x00000000,0x00040005,0x00000047,0x74706564,0x00000068,0x00050005,0x0000004b,
0x74696c62,0x706d6153,0x0072656c,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,
0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,
0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,
0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,
0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,
0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,
- 0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000014,0x00000002,0x00040047,
- 0x0000003c,0x0000000b,0x00000016,0x00040047,0x0000003f,0x00000022,0x00000000,0x00040047,
- 0x0000003f,0x00000021,0x00000000,0x00040047,0x00000043,0x00000022,0x00000000,0x00040047,
- 0x00000043,0x00000021,0x00000002,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,
- 0x00000008,0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,
- 0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,
- 0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,
- 0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,
- 0x00000013,0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,
- 0x00000016,0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,
- 0x00000009,0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,
- 0x00000022,0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,
- 0x0004002b,0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,
- 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,
- 0x00040020,0x0000003b,0x00000003,0x00000006,0x0004003b,0x0000003b,0x0000003c,0x00000003,
- 0x00090019,0x0000003d,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,
- 0x00000000,0x00040020,0x0000003e,0x00000000,0x0000003d,0x0004003b,0x0000003e,0x0000003f,
- 0x00000000,0x0002001a,0x00000041,0x00040020,0x00000042,0x00000000,0x00000041,0x0004003b,
- 0x00000042,0x00000043,0x00000000,0x0003001b,0x00000045,0x0000003d,0x0004002b,0x00000012,
- 0x00000048,0x00000002,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003d,0x0000000a,0x0000000d,
- 0x0000000c,0x0007004f,0x00000007,0x0000000e,0x0000000d,0x0000000d,0x00000000,0x00000001,
- 0x00050051,0x00000006,0x0000000f,0x0000000e,0x00000000,0x00050051,0x00000006,0x00000010,
- 0x0000000e,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,0x0003003e,
- 0x00000009,0x00000011,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,
- 0x00000007,0x0000001a,0x00000019,0x0004003d,0x00000007,0x0000001b,0x00000009,0x00050085,
- 0x00000007,0x0000001c,0x0000001b,0x0000001a,0x0003003e,0x00000009,0x0000001c,0x00050041,
- 0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,
- 0x0004003d,0x00000007,0x00000020,0x00000009,0x00050083,0x00000007,0x00000021,0x00000020,
- 0x0000001f,0x0003003e,0x00000009,0x00000021,0x00050041,0x00000023,0x00000024,0x00000016,
- 0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,
- 0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,
- 0x0000002a,0x000200f8,0x00000029,0x00050041,0x0000002b,0x0000002c,0x00000009,0x00000027,
- 0x0004003d,0x00000006,0x0000002d,0x0000002c,0x0004007f,0x00000006,0x0000002e,0x0000002d,
- 0x00050041,0x0000002b,0x0000002f,0x00000009,0x00000027,0x0003003e,0x0000002f,0x0000002e,
- 0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x00050041,0x00000023,0x00000031,0x00000016,
- 0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,
- 0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,
- 0x00000035,0x000200f8,0x00000034,0x00050041,0x0000002b,0x00000037,0x00000009,0x00000036,
- 0x0004003d,0x00000006,0x00000038,0x00000037,0x0004007f,0x00000006,0x00000039,0x00000038,
- 0x00050041,0x0000002b,0x0000003a,0x00000009,0x00000036,0x0003003e,0x0000003a,0x00000039,
- 0x000200f9,0x00000035,0x000200f8,0x00000035,0x0004003d,0x0000003d,0x00000040,0x0000003f,
- 0x0004003d,0x00000041,0x00000044,0x00000043,0x00050056,0x00000045,0x00000046,0x00000040,
- 0x00000044,0x0004003d,0x00000007,0x00000047,0x00000009,0x00050041,0x00000018,0x00000049,
- 0x00000016,0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000049,0x00050085,0x00000007,
- 0x0000004b,0x00000047,0x0000004a,0x00050057,0x0000000a,0x0000004c,0x00000046,0x0000004b,
- 0x00050051,0x00000006,0x0000004d,0x0000004c,0x00000000,0x0003003e,0x0000003c,0x0000004d,
- 0x000100fd,0x00010038
+ 0x00000014,0x00000008,0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,
+ 0x00000030,0x00030047,0x00000014,0x00000002,0x00040047,0x00000044,0x0000000b,0x00000016,
+ 0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,0x00000021,0x00000000,
+ 0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,0x0000004b,0x00000021,0x00000002,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,0x00000006,0x00000004,
+ 0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,
+ 0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,
+ 0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,
+ 0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,
+ 0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,
+ 0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,
+ 0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,
+ 0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,0x0004002b,0x00000012,
+ 0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,0x00040020,0x00000043,
+ 0x00000003,0x00000006,0x0004003b,0x00000043,0x00000044,0x00000003,0x00090019,0x00000045,
+ 0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,0x00000047,0x00000000,0x0002001a,
+ 0x00000049,0x00040020,0x0000004a,0x00000000,0x00000049,0x0004003b,0x0000004a,0x0000004b,
+ 0x00000000,0x0003001b,0x0000004d,0x00000045,0x0004002b,0x00000012,0x00000050,0x00000002,
+ 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,
+ 0x0000000a,0x0000000d,0x0000000c,0x00050051,0x00000006,0x0000000f,0x0000000d,0x00000000,
+ 0x00050051,0x00000006,0x00000010,0x0000000d,0x00000001,0x00050050,0x00000007,0x00000011,
+ 0x0000000f,0x00000010,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,
+ 0x00000007,0x0000001a,0x00000019,0x00050085,0x00000007,0x0000001c,0x00000011,0x0000001a,
+ 0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,
+ 0x0000001e,0x00050083,0x00000007,0x00000021,0x0000001c,0x0000001f,0x00050041,0x00000023,
+ 0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,
+ 0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,
+ 0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050051,0x00000006,0x0000002d,
+ 0x00000021,0x00000000,0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00060052,0x00000007,
+ 0x00000058,0x0000002e,0x00000021,0x00000000,0x000200f9,0x0000002a,0x000200f8,0x0000002a,
+ 0x000700f5,0x00000007,0x0000005c,0x00000021,0x00000005,0x00000058,0x00000029,0x00050041,
+ 0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,
+ 0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,
+ 0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050051,0x00000006,
+ 0x00000038,0x0000005c,0x00000001,0x0004007f,0x00000006,0x00000039,0x00000038,0x00060052,
+ 0x00000007,0x0000005b,0x00000039,0x0000005c,0x00000001,0x000200f9,0x00000035,0x000200f8,
+ 0x00000035,0x000700f5,0x00000007,0x0000005d,0x0000005c,0x0000002a,0x0000005b,0x00000034,
+ 0x00050041,0x00000023,0x0000003c,0x00000016,0x0000003b,0x0004003d,0x00000013,0x0000003d,
+ 0x0000003c,0x000500ab,0x00000026,0x0000003e,0x0000003d,0x00000027,0x000300f7,0x00000040,
+ 0x00000000,0x000400fa,0x0000003e,0x0000003f,0x00000040,0x000200f8,0x0000003f,0x0007004f,
+ 0x00000007,0x00000042,0x0000005d,0x0000005d,0x00000001,0x00000000,0x000200f9,0x00000040,
+ 0x000200f8,0x00000040,0x000700f5,0x00000007,0x0000005e,0x0000005d,0x00000035,0x00000042,
+ 0x0000003f,0x0004003d,0x00000045,0x00000048,0x00000047,0x0004003d,0x00000049,0x0000004c,
+ 0x0000004b,0x00050056,0x0000004d,0x0000004e,0x00000048,0x0000004c,0x00050041,0x00000018,
+ 0x00000051,0x00000016,0x00000050,0x0004003d,0x00000007,0x00000052,0x00000051,0x00050085,
+ 0x00000007,0x00000053,0x0000005e,0x00000052,0x00050057,0x0000000a,0x00000054,0x0000004e,
+ 0x00000053,0x00050051,0x00000006,0x00000055,0x00000054,0x00000000,0x0003003e,0x00000044,
+ 0x00000055,0x000100fd,0x00010038
};
// Generated from:
@@ -90,6 +91,7 @@ const uint32_t kBlitResolve_frag_0000000C[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2D depth;
@@ -109,6 +111,8 @@ const uint32_t kBlitResolve_frag_0000000C[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texture(sampler2D(depth, blitSampler), srcImageCoords * params . invSrcExtent). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc
index 0c016ccbfc8..8a5e6751571 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc
@@ -1,81 +1,82 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_0000000D[] = {
- 0x07230203,0x00010000,0x00080007,0x00000057,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000068,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x0000003c,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00000044,0x00030010,
0x00000004,0x00000007,0x00030010,0x00000004,0x0000000c,0x00030003,0x00000002,0x000001c2,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,
- 0x726f6f43,0x00007364,0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,
- 0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,
- 0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,
- 0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,
- 0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,
- 0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,
- 0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,
- 0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,
- 0x00040005,0x00000016,0x61726170,0x0000736d,0x00060005,0x0000003c,0x465f6c67,0x44676172,
- 0x68747065,0x00000000,0x00040005,0x0000003f,0x74706564,0x00000068,0x00050005,0x00000043,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000c,0x465f6c67,0x43676172,
+ 0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,
+ 0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,
+ 0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,
+ 0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,
+ 0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,
+ 0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,
+ 0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,
+ 0x70696c66,0x00000059,0x00060006,0x00000014,0x00000009,0x61746f72,0x59586574,0x00000000,
+ 0x00040005,0x00000016,0x61726170,0x0000736d,0x00060005,0x00000044,0x465f6c67,0x44676172,
+ 0x68747065,0x00000000,0x00040005,0x00000047,0x74706564,0x00000068,0x00050005,0x0000004b,
0x74696c62,0x706d6153,0x0072656c,0x00040047,0x0000000c,0x0000000b,0x0000000f,0x00050048,
0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,
0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,0x00000014,
0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,0x0000001c,
0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,0x00000006,
0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,0x00050048,
- 0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000014,0x00000002,0x00040047,
- 0x0000003c,0x0000000b,0x00000016,0x00040047,0x0000003f,0x00000022,0x00000000,0x00040047,
- 0x0000003f,0x00000021,0x00000000,0x00040047,0x00000043,0x00000022,0x00000000,0x00040047,
- 0x00000043,0x00000021,0x00000002,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,
- 0x00000008,0x00000007,0x00000007,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,
- 0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,
- 0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,
- 0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,
- 0x00000013,0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,
- 0x00000016,0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,
- 0x00000009,0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,
- 0x00000022,0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,
- 0x0004002b,0x00000013,0x00000027,0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,
- 0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,
- 0x00040020,0x0000003b,0x00000003,0x00000006,0x0004003b,0x0000003b,0x0000003c,0x00000003,
- 0x00090019,0x0000003d,0x00000006,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,
- 0x00000000,0x00040020,0x0000003e,0x00000000,0x0000003d,0x0004003b,0x0000003e,0x0000003f,
- 0x00000000,0x0002001a,0x00000041,0x00040020,0x00000042,0x00000000,0x00000041,0x0004003b,
- 0x00000042,0x00000043,0x00000000,0x0003001b,0x00000045,0x0000003d,0x0004002b,0x00000012,
- 0x00000048,0x00000002,0x0004002b,0x00000012,0x0000004c,0x00000003,0x00040020,0x0000004d,
- 0x00000009,0x00000012,0x00040017,0x00000051,0x00000006,0x00000003,0x00050036,0x00000002,
- 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,
- 0x00000007,0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,0x0000000e,
- 0x0000000d,0x0000000d,0x00000000,0x00000001,0x00050051,0x00000006,0x0000000f,0x0000000e,
- 0x00000000,0x00050051,0x00000006,0x00000010,0x0000000e,0x00000001,0x00050050,0x00000007,
- 0x00000011,0x0000000f,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000018,
- 0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x0004003d,
- 0x00000007,0x0000001b,0x00000009,0x00050085,0x00000007,0x0000001c,0x0000001b,0x0000001a,
- 0x0003003e,0x00000009,0x0000001c,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,
- 0x0004003d,0x00000007,0x0000001f,0x0000001e,0x0004003d,0x00000007,0x00000020,0x00000009,
- 0x00050083,0x00000007,0x00000021,0x00000020,0x0000001f,0x0003003e,0x00000009,0x00000021,
- 0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,
- 0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,
- 0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050041,
- 0x0000002b,0x0000002c,0x00000009,0x00000027,0x0004003d,0x00000006,0x0000002d,0x0000002c,
- 0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00050041,0x0000002b,0x0000002f,0x00000009,
- 0x00000027,0x0003003e,0x0000002f,0x0000002e,0x000200f9,0x0000002a,0x000200f8,0x0000002a,
- 0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,
- 0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,
- 0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050041,
- 0x0000002b,0x00000037,0x00000009,0x00000036,0x0004003d,0x00000006,0x00000038,0x00000037,
- 0x0004007f,0x00000006,0x00000039,0x00000038,0x00050041,0x0000002b,0x0000003a,0x00000009,
- 0x00000036,0x0003003e,0x0000003a,0x00000039,0x000200f9,0x00000035,0x000200f8,0x00000035,
- 0x0004003d,0x0000003d,0x00000040,0x0000003f,0x0004003d,0x00000041,0x00000044,0x00000043,
- 0x00050056,0x00000045,0x00000046,0x00000040,0x00000044,0x0004003d,0x00000007,0x00000047,
- 0x00000009,0x00050041,0x00000018,0x00000049,0x00000016,0x00000048,0x0004003d,0x00000007,
- 0x0000004a,0x00000049,0x00050085,0x00000007,0x0000004b,0x00000047,0x0000004a,0x00050041,
- 0x0000004d,0x0000004e,0x00000016,0x0000004c,0x0004003d,0x00000012,0x0000004f,0x0000004e,
- 0x0004006f,0x00000006,0x00000050,0x0000004f,0x00050051,0x00000006,0x00000052,0x0000004b,
- 0x00000000,0x00050051,0x00000006,0x00000053,0x0000004b,0x00000001,0x00060050,0x00000051,
- 0x00000054,0x00000052,0x00000053,0x00000050,0x00050057,0x0000000a,0x00000055,0x00000046,
- 0x00000054,0x00050051,0x00000006,0x00000056,0x00000055,0x00000000,0x0003003e,0x0000003c,
- 0x00000056,0x000100fd,0x00010038
+ 0x00000014,0x00000008,0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,0x00000023,
+ 0x00000030,0x00030047,0x00000014,0x00000002,0x00040047,0x00000044,0x0000000b,0x00000016,
+ 0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,0x00000021,0x00000000,
+ 0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,0x0000004b,0x00000021,0x00000002,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x0000000a,0x00000006,0x00000004,
+ 0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,
+ 0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,
+ 0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,
+ 0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,
+ 0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,
+ 0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,
+ 0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,
+ 0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,0x0004002b,0x00000012,
+ 0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,0x00000009,0x00040020,0x00000043,
+ 0x00000003,0x00000006,0x0004003b,0x00000043,0x00000044,0x00000003,0x00090019,0x00000045,
+ 0x00000006,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,0x00000047,0x00000000,0x0002001a,
+ 0x00000049,0x00040020,0x0000004a,0x00000000,0x00000049,0x0004003b,0x0000004a,0x0000004b,
+ 0x00000000,0x0003001b,0x0000004d,0x00000045,0x0004002b,0x00000012,0x00000050,0x00000002,
+ 0x0004002b,0x00000012,0x00000054,0x00000003,0x00040020,0x00000055,0x00000009,0x00000012,
+ 0x00040017,0x00000059,0x00000006,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x00050051,
+ 0x00000006,0x0000000f,0x0000000d,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000d,
+ 0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,0x00050041,0x00000018,
+ 0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x00050085,
+ 0x00000007,0x0000001c,0x00000011,0x0000001a,0x00050041,0x00000018,0x0000001e,0x00000016,
+ 0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x00050083,0x00000007,0x00000021,
+ 0x0000001c,0x0000001f,0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,
+ 0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,
+ 0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,
+ 0x00000029,0x00050051,0x00000006,0x0000002d,0x00000021,0x00000000,0x0004007f,0x00000006,
+ 0x0000002e,0x0000002d,0x00060052,0x00000007,0x00000061,0x0000002e,0x00000021,0x00000000,
+ 0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x000700f5,0x00000007,0x00000065,0x00000021,
+ 0x00000005,0x00000061,0x00000029,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,
+ 0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,
+ 0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,
+ 0x000200f8,0x00000034,0x00050051,0x00000006,0x00000038,0x00000065,0x00000001,0x0004007f,
+ 0x00000006,0x00000039,0x00000038,0x00060052,0x00000007,0x00000064,0x00000039,0x00000065,
+ 0x00000001,0x000200f9,0x00000035,0x000200f8,0x00000035,0x000700f5,0x00000007,0x00000066,
+ 0x00000065,0x0000002a,0x00000064,0x00000034,0x00050041,0x00000023,0x0000003c,0x00000016,
+ 0x0000003b,0x0004003d,0x00000013,0x0000003d,0x0000003c,0x000500ab,0x00000026,0x0000003e,
+ 0x0000003d,0x00000027,0x000300f7,0x00000040,0x00000000,0x000400fa,0x0000003e,0x0000003f,
+ 0x00000040,0x000200f8,0x0000003f,0x0007004f,0x00000007,0x00000042,0x00000066,0x00000066,
+ 0x00000001,0x00000000,0x000200f9,0x00000040,0x000200f8,0x00000040,0x000700f5,0x00000007,
+ 0x00000067,0x00000066,0x00000035,0x00000042,0x0000003f,0x0004003d,0x00000045,0x00000048,
+ 0x00000047,0x0004003d,0x00000049,0x0000004c,0x0000004b,0x00050056,0x0000004d,0x0000004e,
+ 0x00000048,0x0000004c,0x00050041,0x00000018,0x00000051,0x00000016,0x00000050,0x0004003d,
+ 0x00000007,0x00000052,0x00000051,0x00050085,0x00000007,0x00000053,0x00000067,0x00000052,
+ 0x00050041,0x00000055,0x00000056,0x00000016,0x00000054,0x0004003d,0x00000012,0x00000057,
+ 0x00000056,0x0004006f,0x00000006,0x00000058,0x00000057,0x00050051,0x00000006,0x0000005a,
+ 0x00000053,0x00000000,0x00050051,0x00000006,0x0000005b,0x00000053,0x00000001,0x00060050,
+ 0x00000059,0x0000005c,0x0000005a,0x0000005b,0x00000058,0x00050057,0x0000000a,0x0000005d,
+ 0x0000004e,0x0000005c,0x00050051,0x00000006,0x0000005e,0x0000005d,0x00000000,0x0003003e,
+ 0x00000044,0x0000005e,0x000100fd,0x00010038
};
// Generated from:
@@ -95,6 +96,7 @@ const uint32_t kBlitResolve_frag_0000000D[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DArray depth;
@@ -114,6 +116,8 @@ const uint32_t kBlitResolve_frag_0000000D[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texture(sampler2DArray(depth, blitSampler), vec3(srcImageCoords * params . invSrcExtent, params . srcLayer)). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc
index 99a193a541b..f4be747d19d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc
@@ -1,67 +1,70 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_0000000E[] = {
- 0x07230203,0x00010000,0x00080007,0x0000003e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x0000004f,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000036,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000003e,0x00030010,
0x00000004,0x00000007,0x00030010,0x00000004,0x0000000c,0x00030003,0x00000002,0x000001c2,
0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,
0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,
- 0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,
- 0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,
- 0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,
- 0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,
- 0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,
- 0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,
- 0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,
- 0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,
- 0x00000008,0x70696c66,0x00000059,0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,
- 0x00000036,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,0x00000039,0x74706564,
+ 0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,
+ 0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,
+ 0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,
+ 0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,
+ 0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,
+ 0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,
+ 0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,
+ 0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000013,0x00000009,
+ 0x61746f72,0x59586574,0x00000000,0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,
+ 0x0000003e,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,0x00000041,0x74706564,
0x00000068,0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,
0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,
0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,
0x00000018,0x00050048,0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,
0x00000005,0x00000023,0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,
0x00050048,0x00000013,0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000036,0x0000000b,
- 0x00000016,0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,0x00000039,0x00000021,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,0x00000006,0x00000006,
- 0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,
- 0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,
- 0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,
- 0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,
- 0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,0x0004002b,0x00000006,
- 0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,0x00040020,0x00000035,
- 0x00000003,0x0000000a,0x0004003b,0x00000035,0x00000036,0x00000003,0x00090019,0x00000037,
- 0x0000000a,0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,
- 0x00000038,0x00000000,0x00000037,0x0004003b,0x00000038,0x00000039,0x00000000,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,
- 0x00000009,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,
- 0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,
- 0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,
- 0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x0004003d,0x00000007,0x0000001a,
- 0x00000009,0x00050082,0x00000007,0x0000001b,0x0000001a,0x00000019,0x0003003e,0x00000009,
- 0x0000001b,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,
+ 0x00000023,0x0000002c,0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000013,0x00000002,0x00040047,0x0000003e,0x0000000b,0x00000016,0x00040047,0x00000041,
+ 0x00000022,0x00000000,0x00040047,0x00000041,0x00000021,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,
+ 0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,
+ 0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,
+ 0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,
+ 0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,0x0000000e,0x00000006,
+ 0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,0x00040020,0x00000014,
+ 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
+ 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
+ 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
+ 0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,0x0000002a,0x00000008,
+ 0x0004002b,0x00000006,0x00000035,0x00000009,0x00040020,0x0000003d,0x00000003,0x0000000a,
+ 0x0004003b,0x0000003d,0x0000003e,0x00000003,0x00090019,0x0000003f,0x0000000a,0x00000001,
+ 0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x00000040,0x00000000,
+ 0x0000003f,0x0004003b,0x00000040,0x00000041,0x00000000,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000b,0x0000000f,0x0000000d,
+ 0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,
+ 0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,
+ 0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001b,0x00000011,
+ 0x00000019,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,
0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,0x000300f7,
0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,
- 0x00050041,0x00000025,0x00000026,0x00000009,0x00000021,0x0004003d,0x00000006,0x00000027,
- 0x00000026,0x0004007e,0x00000006,0x00000028,0x00000027,0x00050041,0x00000025,0x00000029,
- 0x00000009,0x00000021,0x0003003e,0x00000029,0x00000028,0x000200f9,0x00000024,0x000200f8,
- 0x00000024,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,
- 0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,
- 0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,
- 0x00050041,0x00000025,0x00000031,0x00000009,0x00000030,0x0004003d,0x00000006,0x00000032,
- 0x00000031,0x0004007e,0x00000006,0x00000033,0x00000032,0x00050041,0x00000025,0x00000034,
- 0x00000009,0x00000030,0x0003003e,0x00000034,0x00000033,0x000200f9,0x0000002f,0x000200f8,
- 0x0000002f,0x0004003d,0x00000037,0x0000003a,0x00000039,0x0004003d,0x00000007,0x0000003b,
- 0x00000009,0x0007005f,0x0000000b,0x0000003c,0x0000003a,0x0000003b,0x00000040,0x00000016,
- 0x00050051,0x0000000a,0x0000003d,0x0000003c,0x00000000,0x0003003e,0x00000036,0x0000003d,
- 0x000100fd,0x00010038
+ 0x00050051,0x00000006,0x00000027,0x0000001b,0x00000000,0x0004007e,0x00000006,0x00000028,
+ 0x00000027,0x00060052,0x00000007,0x00000048,0x00000028,0x0000001b,0x00000000,0x000200f9,
+ 0x00000024,0x000200f8,0x00000024,0x000700f5,0x00000007,0x0000004c,0x0000001b,0x00000005,
+ 0x00000048,0x00000023,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,
+ 0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,
+ 0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,
+ 0x0000002e,0x00050051,0x00000006,0x00000032,0x0000004c,0x00000001,0x0004007e,0x00000006,
+ 0x00000033,0x00000032,0x00060052,0x00000007,0x0000004b,0x00000033,0x0000004c,0x00000001,
+ 0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x000700f5,0x00000007,0x0000004d,0x0000004c,
+ 0x00000024,0x0000004b,0x0000002e,0x00050041,0x0000001d,0x00000036,0x00000015,0x00000035,
+ 0x0004003d,0x00000012,0x00000037,0x00000036,0x000500ab,0x00000020,0x00000038,0x00000037,
+ 0x00000021,0x000300f7,0x0000003a,0x00000000,0x000400fa,0x00000038,0x00000039,0x0000003a,
+ 0x000200f8,0x00000039,0x0007004f,0x00000007,0x0000003c,0x0000004d,0x0000004d,0x00000001,
+ 0x00000000,0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000700f5,0x00000007,0x0000004e,
+ 0x0000004d,0x0000002f,0x0000003c,0x00000039,0x0004003d,0x0000003f,0x00000042,0x00000041,
+ 0x0007005f,0x0000000b,0x00000044,0x00000042,0x0000004e,0x00000040,0x00000016,0x00050051,
+ 0x0000000a,0x00000045,0x00000044,0x00000000,0x0003003e,0x0000003e,0x00000045,0x000100fd,
+ 0x00010038
};
// Generated from:
@@ -83,6 +86,7 @@ const uint32_t kBlitResolve_frag_0000000E[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DMS depth;
@@ -98,6 +102,8 @@ const uint32_t kBlitResolve_frag_0000000E[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texelFetch(depth, srcImageCoords, 0). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc
index a2ac98bab86..da430fc3ad4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc
@@ -1,71 +1,74 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_0000000F[] = {
- 0x07230203,0x00010000,0x00080007,0x00000046,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000057,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000036,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000003e,0x00030010,
0x00000004,0x00000007,0x00030010,0x00000004,0x0000000c,0x00030003,0x00000002,0x000001c2,
0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,
0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,
- 0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,
- 0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,
- 0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,
- 0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,
- 0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,
- 0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,
- 0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,
- 0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,
- 0x00000008,0x70696c66,0x00000059,0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,
- 0x00000036,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,0x00000039,0x74706564,
+ 0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,
+ 0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,
+ 0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,
+ 0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,
+ 0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,
+ 0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,
+ 0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,
+ 0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000013,0x00000009,
+ 0x61746f72,0x59586574,0x00000000,0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,
+ 0x0000003e,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,0x00000041,0x74706564,
0x00000068,0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,
0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,
0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,
0x00000018,0x00050048,0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,0x00000013,
0x00000005,0x00000023,0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,0x00000024,
0x00050048,0x00000013,0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,0x00000008,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000036,0x0000000b,
- 0x00000016,0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,0x00000039,0x00000021,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,0x0000000e,0x00000006,0x00000006,
- 0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,
- 0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,
- 0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,
- 0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,
- 0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,0x00000006,0x0004002b,0x00000006,
- 0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,0x00000001,0x00040020,0x00000035,
- 0x00000003,0x0000000a,0x0004003b,0x00000035,0x00000036,0x00000003,0x00090019,0x00000037,
- 0x0000000a,0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,
- 0x00000038,0x00000000,0x00000037,0x0004003b,0x00000038,0x00000039,0x00000000,0x0004002b,
- 0x00000006,0x0000003c,0x00000003,0x00040020,0x0000003d,0x00000009,0x00000006,0x00040017,
- 0x00000040,0x00000006,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
- 0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003d,0x0000000b,
- 0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,
- 0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x0003003e,0x00000009,0x00000011,
- 0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,
- 0x00000018,0x0004003d,0x00000007,0x0000001a,0x00000009,0x00050082,0x00000007,0x0000001b,
- 0x0000001a,0x00000019,0x0003003e,0x00000009,0x0000001b,0x00050041,0x0000001d,0x0000001e,
+ 0x00000023,0x0000002c,0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,0x00030047,
+ 0x00000013,0x00000002,0x00040047,0x0000003e,0x0000000b,0x00000016,0x00040047,0x00000041,
+ 0x00000022,0x00000000,0x00040047,0x00000041,0x00000021,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,
+ 0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,
+ 0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,
+ 0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,
+ 0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,0x0000000e,0x0000000e,0x00000006,
+ 0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00000012,0x00040020,0x00000014,
+ 0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,
+ 0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,
+ 0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,
+ 0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,0x00000006,0x0000002a,0x00000008,
+ 0x0004002b,0x00000006,0x00000035,0x00000009,0x00040020,0x0000003d,0x00000003,0x0000000a,
+ 0x0004003b,0x0000003d,0x0000003e,0x00000003,0x00090019,0x0000003f,0x0000000a,0x00000001,
+ 0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x00000040,0x00000000,
+ 0x0000003f,0x0004003b,0x00000040,0x00000041,0x00000000,0x0004002b,0x00000006,0x00000044,
+ 0x00000003,0x00040020,0x00000045,0x00000009,0x00000006,0x00040017,0x00000048,0x00000006,
+ 0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
+ 0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,
+ 0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,
+ 0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,
+ 0x00050082,0x00000007,0x0000001b,0x00000011,0x00000019,0x00050041,0x0000001d,0x0000001e,
0x00000015,0x0000001c,0x0004003d,0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,
0x00000022,0x0000001f,0x00000021,0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,
- 0x00000023,0x00000024,0x000200f8,0x00000023,0x00050041,0x00000025,0x00000026,0x00000009,
- 0x00000021,0x0004003d,0x00000006,0x00000027,0x00000026,0x0004007e,0x00000006,0x00000028,
- 0x00000027,0x00050041,0x00000025,0x00000029,0x00000009,0x00000021,0x0003003e,0x00000029,
- 0x00000028,0x000200f9,0x00000024,0x000200f8,0x00000024,0x00050041,0x0000001d,0x0000002b,
- 0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,
- 0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,
- 0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050041,0x00000025,0x00000031,0x00000009,
- 0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,0x0004007e,0x00000006,0x00000033,
- 0x00000032,0x00050041,0x00000025,0x00000034,0x00000009,0x00000030,0x0003003e,0x00000034,
- 0x00000033,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x0004003d,0x00000037,0x0000003a,
- 0x00000039,0x0004003d,0x00000007,0x0000003b,0x00000009,0x00050041,0x0000003d,0x0000003e,
- 0x00000015,0x0000003c,0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050051,0x00000006,
- 0x00000041,0x0000003b,0x00000000,0x00050051,0x00000006,0x00000042,0x0000003b,0x00000001,
- 0x00060050,0x00000040,0x00000043,0x00000041,0x00000042,0x0000003f,0x0007005f,0x0000000b,
- 0x00000044,0x0000003a,0x00000043,0x00000040,0x00000016,0x00050051,0x0000000a,0x00000045,
- 0x00000044,0x00000000,0x0003003e,0x00000036,0x00000045,0x000100fd,0x00010038
+ 0x00000023,0x00000024,0x000200f8,0x00000023,0x00050051,0x00000006,0x00000027,0x0000001b,
+ 0x00000000,0x0004007e,0x00000006,0x00000028,0x00000027,0x00060052,0x00000007,0x00000050,
+ 0x00000028,0x0000001b,0x00000000,0x000200f9,0x00000024,0x000200f8,0x00000024,0x000700f5,
+ 0x00000007,0x00000054,0x0000001b,0x00000005,0x00000050,0x00000023,0x00050041,0x0000001d,
+ 0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,
+ 0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,
+ 0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050051,0x00000006,0x00000032,
+ 0x00000054,0x00000001,0x0004007e,0x00000006,0x00000033,0x00000032,0x00060052,0x00000007,
+ 0x00000053,0x00000033,0x00000054,0x00000001,0x000200f9,0x0000002f,0x000200f8,0x0000002f,
+ 0x000700f5,0x00000007,0x00000055,0x00000054,0x00000024,0x00000053,0x0000002e,0x00050041,
+ 0x0000001d,0x00000036,0x00000015,0x00000035,0x0004003d,0x00000012,0x00000037,0x00000036,
+ 0x000500ab,0x00000020,0x00000038,0x00000037,0x00000021,0x000300f7,0x0000003a,0x00000000,
+ 0x000400fa,0x00000038,0x00000039,0x0000003a,0x000200f8,0x00000039,0x0007004f,0x00000007,
+ 0x0000003c,0x00000055,0x00000055,0x00000001,0x00000000,0x000200f9,0x0000003a,0x000200f8,
+ 0x0000003a,0x000700f5,0x00000007,0x00000056,0x00000055,0x0000002f,0x0000003c,0x00000039,
+ 0x0004003d,0x0000003f,0x00000042,0x00000041,0x00050041,0x00000045,0x00000046,0x00000015,
+ 0x00000044,0x0004003d,0x00000006,0x00000047,0x00000046,0x00050051,0x00000006,0x00000049,
+ 0x00000056,0x00000000,0x00050051,0x00000006,0x0000004a,0x00000056,0x00000001,0x00060050,
+ 0x00000048,0x0000004b,0x00000049,0x0000004a,0x00000047,0x0007005f,0x0000000b,0x0000004c,
+ 0x00000042,0x0000004b,0x00000040,0x00000016,0x00050051,0x0000000a,0x0000004d,0x0000004c,
+ 0x00000000,0x0003003e,0x0000003e,0x0000004d,0x000100fd,0x00010038
};
// Generated from:
@@ -87,6 +90,7 @@ const uint32_t kBlitResolve_frag_0000000F[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DMSArray depth;
@@ -102,6 +106,8 @@ const uint32_t kBlitResolve_frag_0000000F[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texelFetch(depth, ivec3(srcImageCoords, params . srcLayer), 0). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc
index 7af487cb32c..60b8af5fa00 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc
@@ -1,79 +1,80 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000010[] = {
- 0x07230203,0x00010000,0x00080007,0x00000050,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000061,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000c,0x0000003c,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
+ 0x0000000c,0x00000044,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
0x00090004,0x415f4c47,0x735f4252,0x65646168,0x74735f72,0x69636e65,0x78655f6c,0x74726f70,
- 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
- 0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,
- 0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
- 0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,
- 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,
- 0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
- 0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,
- 0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,0x00080005,0x0000003c,0x465f6c67,
- 0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x0000003f,0x6e657473,
- 0x006c6963,0x00050005,0x00000043,0x74696c62,0x706d6153,0x0072656c,0x00040047,0x0000000c,
+ 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000c,0x465f6c67,
+ 0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,
+ 0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,
+ 0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,
+ 0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,
+ 0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,
+ 0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,
+ 0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,
+ 0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,0x00000009,0x61746f72,0x59586574,
+ 0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,0x00080005,0x00000044,0x465f6c67,
+ 0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x00000047,0x6e657473,
+ 0x006c6963,0x00050005,0x0000004b,0x74696c62,0x706d6153,0x0072656c,0x00040047,0x0000000c,
0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x0000003c,0x0000000b,0x00001396,0x00040047,0x0000003f,
- 0x00000022,0x00000000,0x00040047,0x0000003f,0x00000021,0x00000001,0x00040047,0x00000043,
- 0x00000022,0x00000000,0x00040047,0x00000043,0x00000021,0x00000002,0x00020013,0x00000002,
- 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,
- 0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x00040017,0x0000000a,
- 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
- 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
- 0x00000020,0x00000000,0x000b001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
- 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00040020,0x00000015,0x00000009,
- 0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,0x00000017,
- 0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,0x0000001d,
- 0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,0x00000009,
- 0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,0x00040020,
- 0x0000002b,0x00000007,0x00000006,0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,
- 0x00000013,0x00000036,0x00000001,0x00040020,0x0000003b,0x00000003,0x00000012,0x0004003b,
- 0x0000003b,0x0000003c,0x00000003,0x00090019,0x0000003d,0x00000013,0x00000001,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x0000003e,0x00000000,0x0000003d,
- 0x0004003b,0x0000003e,0x0000003f,0x00000000,0x0002001a,0x00000041,0x00040020,0x00000042,
- 0x00000000,0x00000041,0x0004003b,0x00000042,0x00000043,0x00000000,0x0003001b,0x00000045,
- 0x0000003d,0x0004002b,0x00000012,0x00000048,0x00000002,0x00040017,0x0000004c,0x00000013,
- 0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003d,0x0000000a,0x0000000d,0x0000000c,
- 0x0007004f,0x00000007,0x0000000e,0x0000000d,0x0000000d,0x00000000,0x00000001,0x00050051,
- 0x00000006,0x0000000f,0x0000000e,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000e,
- 0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,0x0003003e,0x00000009,
- 0x00000011,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,
- 0x0000001a,0x00000019,0x0004003d,0x00000007,0x0000001b,0x00000009,0x00050085,0x00000007,
- 0x0000001c,0x0000001b,0x0000001a,0x0003003e,0x00000009,0x0000001c,0x00050041,0x00000018,
- 0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x0004003d,
- 0x00000007,0x00000020,0x00000009,0x00050083,0x00000007,0x00000021,0x00000020,0x0000001f,
- 0x0003003e,0x00000009,0x00000021,0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,
- 0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,
- 0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,
- 0x000200f8,0x00000029,0x00050041,0x0000002b,0x0000002c,0x00000009,0x00000027,0x0004003d,
- 0x00000006,0x0000002d,0x0000002c,0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00050041,
- 0x0000002b,0x0000002f,0x00000009,0x00000027,0x0003003e,0x0000002f,0x0000002e,0x000200f9,
- 0x0000002a,0x000200f8,0x0000002a,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,
- 0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,
- 0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,
- 0x000200f8,0x00000034,0x00050041,0x0000002b,0x00000037,0x00000009,0x00000036,0x0004003d,
- 0x00000006,0x00000038,0x00000037,0x0004007f,0x00000006,0x00000039,0x00000038,0x00050041,
- 0x0000002b,0x0000003a,0x00000009,0x00000036,0x0003003e,0x0000003a,0x00000039,0x000200f9,
- 0x00000035,0x000200f8,0x00000035,0x0004003d,0x0000003d,0x00000040,0x0000003f,0x0004003d,
- 0x00000041,0x00000044,0x00000043,0x00050056,0x00000045,0x00000046,0x00000040,0x00000044,
- 0x0004003d,0x00000007,0x00000047,0x00000009,0x00050041,0x00000018,0x00000049,0x00000016,
- 0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000049,0x00050085,0x00000007,0x0000004b,
- 0x00000047,0x0000004a,0x00050057,0x0000004c,0x0000004d,0x00000046,0x0000004b,0x00050051,
- 0x00000013,0x0000004e,0x0000004d,0x00000000,0x0004007c,0x00000012,0x0000004f,0x0000004e,
- 0x0003003e,0x0000003c,0x0000004f,0x000100fd,0x00010038
+ 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00050048,
+ 0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,0x00000014,0x00000002,0x00040047,
+ 0x00000044,0x0000000b,0x00001396,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,
+ 0x00000047,0x00000021,0x00000001,0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,
+ 0x0000004b,0x00000021,0x00000002,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,
+ 0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,
+ 0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,
+ 0x00000013,0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,
+ 0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,
+ 0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,
+ 0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,
+ 0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,
+ 0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,
+ 0x00000000,0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,
+ 0x00000009,0x00040020,0x00000043,0x00000003,0x00000012,0x0004003b,0x00000043,0x00000044,
+ 0x00000003,0x00090019,0x00000045,0x00000013,0x00000001,0x00000000,0x00000000,0x00000000,
+ 0x00000001,0x00000000,0x00040020,0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,
+ 0x00000047,0x00000000,0x0002001a,0x00000049,0x00040020,0x0000004a,0x00000000,0x00000049,
+ 0x0004003b,0x0000004a,0x0000004b,0x00000000,0x0003001b,0x0000004d,0x00000045,0x0004002b,
+ 0x00000012,0x00000050,0x00000002,0x00040017,0x00000054,0x00000013,0x00000004,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,
+ 0x0000000d,0x0000000c,0x00050051,0x00000006,0x0000000f,0x0000000d,0x00000000,0x00050051,
+ 0x00000006,0x00000010,0x0000000d,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,
+ 0x00000010,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,
+ 0x0000001a,0x00000019,0x00050085,0x00000007,0x0000001c,0x00000011,0x0000001a,0x00050041,
+ 0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,
+ 0x00050083,0x00000007,0x00000021,0x0000001c,0x0000001f,0x00050041,0x00000023,0x00000024,
+ 0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,
+ 0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,
+ 0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050051,0x00000006,0x0000002d,0x00000021,
+ 0x00000000,0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00060052,0x00000007,0x0000005a,
+ 0x0000002e,0x00000021,0x00000000,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x000700f5,
+ 0x00000007,0x0000005e,0x00000021,0x00000005,0x0000005a,0x00000029,0x00050041,0x00000023,
+ 0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,
+ 0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,
+ 0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050051,0x00000006,0x00000038,
+ 0x0000005e,0x00000001,0x0004007f,0x00000006,0x00000039,0x00000038,0x00060052,0x00000007,
+ 0x0000005d,0x00000039,0x0000005e,0x00000001,0x000200f9,0x00000035,0x000200f8,0x00000035,
+ 0x000700f5,0x00000007,0x0000005f,0x0000005e,0x0000002a,0x0000005d,0x00000034,0x00050041,
+ 0x00000023,0x0000003c,0x00000016,0x0000003b,0x0004003d,0x00000013,0x0000003d,0x0000003c,
+ 0x000500ab,0x00000026,0x0000003e,0x0000003d,0x00000027,0x000300f7,0x00000040,0x00000000,
+ 0x000400fa,0x0000003e,0x0000003f,0x00000040,0x000200f8,0x0000003f,0x0007004f,0x00000007,
+ 0x00000042,0x0000005f,0x0000005f,0x00000001,0x00000000,0x000200f9,0x00000040,0x000200f8,
+ 0x00000040,0x000700f5,0x00000007,0x00000060,0x0000005f,0x00000035,0x00000042,0x0000003f,
+ 0x0004003d,0x00000045,0x00000048,0x00000047,0x0004003d,0x00000049,0x0000004c,0x0000004b,
+ 0x00050056,0x0000004d,0x0000004e,0x00000048,0x0000004c,0x00050041,0x00000018,0x00000051,
+ 0x00000016,0x00000050,0x0004003d,0x00000007,0x00000052,0x00000051,0x00050085,0x00000007,
+ 0x00000053,0x00000060,0x00000052,0x00050057,0x00000054,0x00000055,0x0000004e,0x00000053,
+ 0x00050051,0x00000013,0x00000056,0x00000055,0x00000000,0x0004007c,0x00000012,0x00000057,
+ 0x00000056,0x0003003e,0x00000044,0x00000057,0x000100fd,0x00010038
};
// Generated from:
@@ -95,6 +96,7 @@ const uint32_t kBlitResolve_frag_00000010[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 1)uniform utexture2D stencil;
@@ -114,6 +116,8 @@ const uint32_t kBlitResolve_frag_00000010[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragStencilRefARB = int(texture(usampler2D(stencil, blitSampler), srcImageCoords * params . invSrcExtent). x);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc
index 7f6a13715c3..ea8a04b1e2b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc
@@ -1,84 +1,85 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000011[] = {
- 0x07230203,0x00010000,0x00080007,0x00000059,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x0000006a,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000c,0x0000003c,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
+ 0x0000000c,0x00000044,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
0x00090004,0x415f4c47,0x735f4252,0x65646168,0x74735f72,0x69636e65,0x78655f6c,0x74726f70,
- 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,
- 0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,
- 0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,
- 0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,
- 0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,
- 0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,
- 0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,
- 0x00000059,0x00040005,0x00000016,0x61726170,0x0000736d,0x00080005,0x0000003c,0x465f6c67,
- 0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x0000003f,0x6e657473,
- 0x006c6963,0x00050005,0x00000043,0x74696c62,0x706d6153,0x0072656c,0x00040047,0x0000000c,
+ 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000c,0x465f6c67,
+ 0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,
+ 0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000014,
+ 0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,0x53766e69,0x78456372,
+ 0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,0x72657961,0x00000000,
+ 0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000014,0x00000005,
+ 0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,0x7074756f,0x614d7475,
+ 0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000014,
+ 0x00000008,0x70696c66,0x00000059,0x00060006,0x00000014,0x00000009,0x61746f72,0x59586574,
+ 0x00000000,0x00040005,0x00000016,0x61726170,0x0000736d,0x00080005,0x00000044,0x465f6c67,
+ 0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x00000047,0x6e657473,
+ 0x006c6963,0x00050005,0x0000004b,0x74696c62,0x706d6153,0x0072656c,0x00040047,0x0000000c,
0x0000000b,0x0000000f,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,
0x00000014,0x00000001,0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,
0x00000010,0x00050048,0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,
0x00000004,0x00000023,0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,
0x00050048,0x00000014,0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,
- 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x0000003c,0x0000000b,0x00001396,0x00040047,0x0000003f,
- 0x00000022,0x00000000,0x00040047,0x0000003f,0x00000021,0x00000001,0x00040047,0x00000043,
- 0x00000022,0x00000000,0x00040047,0x00000043,0x00000021,0x00000002,0x00020013,0x00000002,
- 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,
- 0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x00040017,0x0000000a,
- 0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,
- 0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,0x00000013,
- 0x00000020,0x00000000,0x000b001e,0x00000014,0x00000007,0x00000007,0x00000007,0x00000012,
- 0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00040020,0x00000015,0x00000009,
- 0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,0x00000012,0x00000017,
- 0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,0x00000012,0x0000001d,
- 0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,0x00000023,0x00000009,
- 0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,0x00000000,0x00040020,
- 0x0000002b,0x00000007,0x00000006,0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,
- 0x00000013,0x00000036,0x00000001,0x00040020,0x0000003b,0x00000003,0x00000012,0x0004003b,
- 0x0000003b,0x0000003c,0x00000003,0x00090019,0x0000003d,0x00000013,0x00000001,0x00000000,
- 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x0000003e,0x00000000,0x0000003d,
- 0x0004003b,0x0000003e,0x0000003f,0x00000000,0x0002001a,0x00000041,0x00040020,0x00000042,
- 0x00000000,0x00000041,0x0004003b,0x00000042,0x00000043,0x00000000,0x0003001b,0x00000045,
- 0x0000003d,0x0004002b,0x00000012,0x00000048,0x00000002,0x0004002b,0x00000012,0x0000004c,
- 0x00000003,0x00040020,0x0000004d,0x00000009,0x00000012,0x00040017,0x00000051,0x00000006,
- 0x00000003,0x00040017,0x00000055,0x00000013,0x00000004,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,
- 0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,0x0000000e,0x0000000d,
- 0x0000000d,0x00000000,0x00000001,0x00050051,0x00000006,0x0000000f,0x0000000e,0x00000000,
- 0x00050051,0x00000006,0x00000010,0x0000000e,0x00000001,0x00050050,0x00000007,0x00000011,
- 0x0000000f,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000018,0x00000019,
- 0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x0004003d,0x00000007,
- 0x0000001b,0x00000009,0x00050085,0x00000007,0x0000001c,0x0000001b,0x0000001a,0x0003003e,
- 0x00000009,0x0000001c,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,
- 0x00000007,0x0000001f,0x0000001e,0x0004003d,0x00000007,0x00000020,0x00000009,0x00050083,
- 0x00000007,0x00000021,0x00000020,0x0000001f,0x0003003e,0x00000009,0x00000021,0x00050041,
- 0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,
- 0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,
- 0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050041,0x0000002b,
- 0x0000002c,0x00000009,0x00000027,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x0004007f,
- 0x00000006,0x0000002e,0x0000002d,0x00050041,0x0000002b,0x0000002f,0x00000009,0x00000027,
- 0x0003003e,0x0000002f,0x0000002e,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x00050041,
- 0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,
- 0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,
- 0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050041,0x0000002b,
- 0x00000037,0x00000009,0x00000036,0x0004003d,0x00000006,0x00000038,0x00000037,0x0004007f,
- 0x00000006,0x00000039,0x00000038,0x00050041,0x0000002b,0x0000003a,0x00000009,0x00000036,
- 0x0003003e,0x0000003a,0x00000039,0x000200f9,0x00000035,0x000200f8,0x00000035,0x0004003d,
- 0x0000003d,0x00000040,0x0000003f,0x0004003d,0x00000041,0x00000044,0x00000043,0x00050056,
- 0x00000045,0x00000046,0x00000040,0x00000044,0x0004003d,0x00000007,0x00000047,0x00000009,
- 0x00050041,0x00000018,0x00000049,0x00000016,0x00000048,0x0004003d,0x00000007,0x0000004a,
- 0x00000049,0x00050085,0x00000007,0x0000004b,0x00000047,0x0000004a,0x00050041,0x0000004d,
- 0x0000004e,0x00000016,0x0000004c,0x0004003d,0x00000012,0x0000004f,0x0000004e,0x0004006f,
- 0x00000006,0x00000050,0x0000004f,0x00050051,0x00000006,0x00000052,0x0000004b,0x00000000,
- 0x00050051,0x00000006,0x00000053,0x0000004b,0x00000001,0x00060050,0x00000051,0x00000054,
- 0x00000052,0x00000053,0x00000050,0x00050057,0x00000055,0x00000056,0x00000046,0x00000054,
- 0x00050051,0x00000013,0x00000057,0x00000056,0x00000000,0x0004007c,0x00000012,0x00000058,
- 0x00000057,0x0003003e,0x0000003c,0x00000058,0x000100fd,0x00010038
+ 0x00000023,0x00000028,0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00050048,
+ 0x00000014,0x00000009,0x00000023,0x00000030,0x00030047,0x00000014,0x00000002,0x00040047,
+ 0x00000044,0x0000000b,0x00001396,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,
+ 0x00000047,0x00000021,0x00000001,0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,
+ 0x0000004b,0x00000021,0x00000002,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,
+ 0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,
+ 0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,0x00040015,
+ 0x00000013,0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,0x00000007,0x00000007,
+ 0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00000013,0x00040020,
+ 0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,
+ 0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,
+ 0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,
+ 0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,
+ 0x00000000,0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,0x00000012,0x0000003b,
+ 0x00000009,0x00040020,0x00000043,0x00000003,0x00000012,0x0004003b,0x00000043,0x00000044,
+ 0x00000003,0x00090019,0x00000045,0x00000013,0x00000001,0x00000000,0x00000001,0x00000000,
+ 0x00000001,0x00000000,0x00040020,0x00000046,0x00000000,0x00000045,0x0004003b,0x00000046,
+ 0x00000047,0x00000000,0x0002001a,0x00000049,0x00040020,0x0000004a,0x00000000,0x00000049,
+ 0x0004003b,0x0000004a,0x0000004b,0x00000000,0x0003001b,0x0000004d,0x00000045,0x0004002b,
+ 0x00000012,0x00000050,0x00000002,0x0004002b,0x00000012,0x00000054,0x00000003,0x00040020,
+ 0x00000055,0x00000009,0x00000012,0x00040017,0x00000059,0x00000006,0x00000003,0x00040017,
+ 0x0000005d,0x00000013,0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x00050051,0x00000006,
+ 0x0000000f,0x0000000d,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000d,0x00000001,
+ 0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,0x00050041,0x00000018,0x00000019,
+ 0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,0x00050085,0x00000007,
+ 0x0000001c,0x00000011,0x0000001a,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,
+ 0x0004003d,0x00000007,0x0000001f,0x0000001e,0x00050083,0x00000007,0x00000021,0x0000001c,
+ 0x0000001f,0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,
+ 0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,
+ 0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,
+ 0x00050051,0x00000006,0x0000002d,0x00000021,0x00000000,0x0004007f,0x00000006,0x0000002e,
+ 0x0000002d,0x00060052,0x00000007,0x00000063,0x0000002e,0x00000021,0x00000000,0x000200f9,
+ 0x0000002a,0x000200f8,0x0000002a,0x000700f5,0x00000007,0x00000067,0x00000021,0x00000005,
+ 0x00000063,0x00000029,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,
+ 0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,
+ 0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,
+ 0x00000034,0x00050051,0x00000006,0x00000038,0x00000067,0x00000001,0x0004007f,0x00000006,
+ 0x00000039,0x00000038,0x00060052,0x00000007,0x00000066,0x00000039,0x00000067,0x00000001,
+ 0x000200f9,0x00000035,0x000200f8,0x00000035,0x000700f5,0x00000007,0x00000068,0x00000067,
+ 0x0000002a,0x00000066,0x00000034,0x00050041,0x00000023,0x0000003c,0x00000016,0x0000003b,
+ 0x0004003d,0x00000013,0x0000003d,0x0000003c,0x000500ab,0x00000026,0x0000003e,0x0000003d,
+ 0x00000027,0x000300f7,0x00000040,0x00000000,0x000400fa,0x0000003e,0x0000003f,0x00000040,
+ 0x000200f8,0x0000003f,0x0007004f,0x00000007,0x00000042,0x00000068,0x00000068,0x00000001,
+ 0x00000000,0x000200f9,0x00000040,0x000200f8,0x00000040,0x000700f5,0x00000007,0x00000069,
+ 0x00000068,0x00000035,0x00000042,0x0000003f,0x0004003d,0x00000045,0x00000048,0x00000047,
+ 0x0004003d,0x00000049,0x0000004c,0x0000004b,0x00050056,0x0000004d,0x0000004e,0x00000048,
+ 0x0000004c,0x00050041,0x00000018,0x00000051,0x00000016,0x00000050,0x0004003d,0x00000007,
+ 0x00000052,0x00000051,0x00050085,0x00000007,0x00000053,0x00000069,0x00000052,0x00050041,
+ 0x00000055,0x00000056,0x00000016,0x00000054,0x0004003d,0x00000012,0x00000057,0x00000056,
+ 0x0004006f,0x00000006,0x00000058,0x00000057,0x00050051,0x00000006,0x0000005a,0x00000053,
+ 0x00000000,0x00050051,0x00000006,0x0000005b,0x00000053,0x00000001,0x00060050,0x00000059,
+ 0x0000005c,0x0000005a,0x0000005b,0x00000058,0x00050057,0x0000005d,0x0000005e,0x0000004e,
+ 0x0000005c,0x00050051,0x00000013,0x0000005f,0x0000005e,0x00000000,0x0004007c,0x00000012,
+ 0x00000060,0x0000005f,0x0003003e,0x00000044,0x00000060,0x000100fd,0x00010038
};
// Generated from:
@@ -100,6 +101,7 @@ const uint32_t kBlitResolve_frag_00000011[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 1)uniform utexture2DArray stencil;
@@ -119,6 +121,8 @@ const uint32_t kBlitResolve_frag_00000011[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragStencilRefARB = int(texture(usampler2DArray(stencil, blitSampler), vec3(srcImageCoords * params . invSrcExtent, params . srcLayer)). x);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc
index 1266789bfd4..eab6c376b5e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc
@@ -1,70 +1,73 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000012[] = {
- 0x07230203,0x00010000,0x00080007,0x00000040,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000051,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000d,0x00000036,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
+ 0x0000000d,0x0000003e,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
0x00090004,0x415f4c47,0x735f4252,0x65646168,0x74735f72,0x69636e65,0x78655f6c,0x74726f70,
0x00000000,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,
0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000015,0x61726170,0x0000736d,
- 0x00080005,0x00000036,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
- 0x00040005,0x00000039,0x6e657473,0x006c6963,0x00040047,0x0000000d,0x0000000b,0x0000000f,
+ 0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000013,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000015,0x61726170,0x0000736d,
+ 0x00080005,0x0000003e,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
+ 0x00040005,0x00000041,0x6e657473,0x006c6963,0x00040047,0x0000000d,0x0000000b,0x0000000f,
0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,0x00000013,0x00000004,0x00000023,
0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,0x00000020,0x00050048,0x00000013,
0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,0x00000007,0x00000023,0x00000028,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,
- 0x00040047,0x00000036,0x0000000b,0x00001396,0x00040047,0x00000039,0x00000022,0x00000000,
- 0x00040047,0x00000039,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,
- 0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,
- 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
- 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
- 0x00040015,0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,
- 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,
- 0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,
- 0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,
- 0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,
- 0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,
- 0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,
- 0x00000001,0x00040020,0x00000035,0x00000003,0x00000006,0x0004003b,0x00000035,0x00000036,
- 0x00000003,0x00090019,0x00000037,0x00000012,0x00000001,0x00000000,0x00000000,0x00000001,
- 0x00000001,0x00000000,0x00040020,0x00000038,0x00000000,0x00000037,0x0004003b,0x00000038,
- 0x00000039,0x00000000,0x00040017,0x0000003c,0x00000012,0x00000004,0x00050036,0x00000002,
- 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,
- 0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,
- 0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,
- 0x0003003e,0x00000009,0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,
- 0x0004003d,0x00000007,0x00000019,0x00000018,0x0004003d,0x00000007,0x0000001a,0x00000009,
- 0x00050082,0x00000007,0x0000001b,0x0000001a,0x00000019,0x0003003e,0x00000009,0x0000001b,
+ 0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,0x00050048,0x00000013,0x00000009,
+ 0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,0x00040047,0x0000003e,0x0000000b,
+ 0x00001396,0x00040047,0x00000041,0x00000022,0x00000000,0x00040047,0x00000041,0x00000021,
+ 0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
+ 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,
+ 0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,
+ 0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,
+ 0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,
+ 0x0000000e,0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,
+ 0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,
+ 0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,
+ 0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,
+ 0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,
+ 0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,0x00000009,0x00040020,
+ 0x0000003d,0x00000003,0x00000006,0x0004003b,0x0000003d,0x0000003e,0x00000003,0x00090019,
+ 0x0000003f,0x00000012,0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,
+ 0x00040020,0x00000040,0x00000000,0x0000003f,0x0004003b,0x00000040,0x00000041,0x00000000,
+ 0x00040017,0x00000044,0x00000012,0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
+ 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
+ 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
+ 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001b,0x00000011,0x00000019,
0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,0x0000001f,
0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,0x000300f7,0x00000024,
- 0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050041,
- 0x00000025,0x00000026,0x00000009,0x00000021,0x0004003d,0x00000006,0x00000027,0x00000026,
- 0x0004007e,0x00000006,0x00000028,0x00000027,0x00050041,0x00000025,0x00000029,0x00000009,
- 0x00000021,0x0003003e,0x00000029,0x00000028,0x000200f9,0x00000024,0x000200f8,0x00000024,
- 0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,
- 0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,
- 0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050041,
- 0x00000025,0x00000031,0x00000009,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,
- 0x0004007e,0x00000006,0x00000033,0x00000032,0x00050041,0x00000025,0x00000034,0x00000009,
- 0x00000030,0x0003003e,0x00000034,0x00000033,0x000200f9,0x0000002f,0x000200f8,0x0000002f,
- 0x0004003d,0x00000037,0x0000003a,0x00000039,0x0004003d,0x00000007,0x0000003b,0x00000009,
- 0x0007005f,0x0000003c,0x0000003d,0x0000003a,0x0000003b,0x00000040,0x00000016,0x00050051,
- 0x00000012,0x0000003e,0x0000003d,0x00000000,0x0004007c,0x00000006,0x0000003f,0x0000003e,
- 0x0003003e,0x00000036,0x0000003f,0x000100fd,0x00010038
+ 0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050051,
+ 0x00000006,0x00000027,0x0000001b,0x00000000,0x0004007e,0x00000006,0x00000028,0x00000027,
+ 0x00060052,0x00000007,0x0000004a,0x00000028,0x0000001b,0x00000000,0x000200f9,0x00000024,
+ 0x000200f8,0x00000024,0x000700f5,0x00000007,0x0000004e,0x0000001b,0x00000005,0x0000004a,
+ 0x00000023,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,
+ 0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,
+ 0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,
+ 0x00050051,0x00000006,0x00000032,0x0000004e,0x00000001,0x0004007e,0x00000006,0x00000033,
+ 0x00000032,0x00060052,0x00000007,0x0000004d,0x00000033,0x0000004e,0x00000001,0x000200f9,
+ 0x0000002f,0x000200f8,0x0000002f,0x000700f5,0x00000007,0x0000004f,0x0000004e,0x00000024,
+ 0x0000004d,0x0000002e,0x00050041,0x0000001d,0x00000036,0x00000015,0x00000035,0x0004003d,
+ 0x00000012,0x00000037,0x00000036,0x000500ab,0x00000020,0x00000038,0x00000037,0x00000021,
+ 0x000300f7,0x0000003a,0x00000000,0x000400fa,0x00000038,0x00000039,0x0000003a,0x000200f8,
+ 0x00000039,0x0007004f,0x00000007,0x0000003c,0x0000004f,0x0000004f,0x00000001,0x00000000,
+ 0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000700f5,0x00000007,0x00000050,0x0000004f,
+ 0x0000002f,0x0000003c,0x00000039,0x0004003d,0x0000003f,0x00000042,0x00000041,0x0007005f,
+ 0x00000044,0x00000045,0x00000042,0x00000050,0x00000040,0x00000016,0x00050051,0x00000012,
+ 0x00000046,0x00000045,0x00000000,0x0004007c,0x00000006,0x00000047,0x00000046,0x0003003e,
+ 0x0000003e,0x00000047,0x000100fd,0x00010038
};
// Generated from:
@@ -88,6 +91,7 @@ const uint32_t kBlitResolve_frag_00000012[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 1)uniform utexture2DMS stencil;
@@ -103,6 +107,8 @@ const uint32_t kBlitResolve_frag_00000012[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragStencilRefARB = int(texelFetch(stencil, srcImageCoords, 0). x);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc
index 459d229a161..670d0aeccfc 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc
@@ -1,75 +1,78 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000013[] = {
- 0x07230203,0x00010000,0x00080007,0x00000048,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000059,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000d,0x00000036,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
+ 0x0000000d,0x0000003e,0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,
0x00090004,0x415f4c47,0x735f4252,0x65646168,0x74735f72,0x69636e65,0x78655f6c,0x74726f70,
0x00000000,0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,
0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,
- 0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,
- 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,
- 0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,
- 0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,
- 0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,
- 0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,
- 0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,
- 0x00000013,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000015,0x61726170,0x0000736d,
- 0x00080005,0x00000036,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
- 0x00040005,0x00000039,0x6e657473,0x006c6963,0x00040047,0x0000000d,0x0000000b,0x0000000f,
+ 0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000013,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,0x00070006,0x00000013,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000013,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,0x706d6173,0x0073656c,
+ 0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000013,
+ 0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,0x00000007,0x70696c66,
+ 0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,0x00060006,0x00000013,
+ 0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000015,0x61726170,0x0000736d,
+ 0x00080005,0x0000003e,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
+ 0x00040005,0x00000041,0x6e657473,0x006c6963,0x00040047,0x0000000d,0x0000000b,0x0000000f,
0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
0x00000013,0x00000003,0x00000023,0x00000018,0x00050048,0x00000013,0x00000004,0x00000023,
0x0000001c,0x00050048,0x00000013,0x00000005,0x00000023,0x00000020,0x00050048,0x00000013,
0x00000006,0x00000023,0x00000024,0x00050048,0x00000013,0x00000007,0x00000023,0x00000028,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,
- 0x00040047,0x00000036,0x0000000b,0x00001396,0x00040047,0x00000039,0x00000022,0x00000000,
- 0x00040047,0x00000039,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,
- 0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,
- 0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,
- 0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,
- 0x00040015,0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,0x00000007,0x0000000e,
- 0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,0x00040020,
- 0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,
- 0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,
- 0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,0x00000012,0x00020014,
- 0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,0x00000025,0x00000007,
- 0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000012,0x00000030,
- 0x00000001,0x00040020,0x00000035,0x00000003,0x00000006,0x0004003b,0x00000035,0x00000036,
- 0x00000003,0x00090019,0x00000037,0x00000012,0x00000001,0x00000000,0x00000001,0x00000001,
- 0x00000001,0x00000000,0x00040020,0x00000038,0x00000000,0x00000037,0x0004003b,0x00000038,
- 0x00000039,0x00000000,0x0004002b,0x00000006,0x0000003c,0x00000003,0x00040020,0x0000003d,
- 0x00000009,0x00000006,0x00040017,0x00000040,0x00000006,0x00000003,0x00040017,0x00000044,
- 0x00000012,0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003d,0x0000000b,0x0000000f,
- 0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,
- 0x0004006e,0x00000007,0x00000011,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,
- 0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,
- 0x0004003d,0x00000007,0x0000001a,0x00000009,0x00050082,0x00000007,0x0000001b,0x0000001a,
- 0x00000019,0x0003003e,0x00000009,0x0000001b,0x00050041,0x0000001d,0x0000001e,0x00000015,
+ 0x00050048,0x00000013,0x00000008,0x00000023,0x0000002c,0x00050048,0x00000013,0x00000009,
+ 0x00000023,0x00000030,0x00030047,0x00000013,0x00000002,0x00040047,0x0000003e,0x0000000b,
+ 0x00001396,0x00040047,0x00000041,0x00000022,0x00000000,0x00040047,0x00000041,0x00000021,
+ 0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
+ 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00030016,0x0000000a,
+ 0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,0x00000001,
+ 0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,0x0000000a,
+ 0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,0x00000013,0x00000007,
+ 0x0000000e,0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,0x00000012,
+ 0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,
+ 0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,
+ 0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,
+ 0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x0004002b,
+ 0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,0x00000009,0x00040020,
+ 0x0000003d,0x00000003,0x00000006,0x0004003b,0x0000003d,0x0000003e,0x00000003,0x00090019,
+ 0x0000003f,0x00000012,0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,
+ 0x00040020,0x00000040,0x00000000,0x0000003f,0x0004003b,0x00000040,0x00000041,0x00000000,
+ 0x0004002b,0x00000006,0x00000044,0x00000003,0x00040020,0x00000045,0x00000009,0x00000006,
+ 0x00040017,0x00000048,0x00000006,0x00000003,0x00040017,0x0000004c,0x00000012,0x00000004,
+ 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,
+ 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
+ 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
+ 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
+ 0x00000007,0x0000001b,0x00000011,0x00000019,0x00050041,0x0000001d,0x0000001e,0x00000015,
0x0000001c,0x0004003d,0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,
0x0000001f,0x00000021,0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,
- 0x00000024,0x000200f8,0x00000023,0x00050041,0x00000025,0x00000026,0x00000009,0x00000021,
- 0x0004003d,0x00000006,0x00000027,0x00000026,0x0004007e,0x00000006,0x00000028,0x00000027,
- 0x00050041,0x00000025,0x00000029,0x00000009,0x00000021,0x0003003e,0x00000029,0x00000028,
- 0x000200f9,0x00000024,0x000200f8,0x00000024,0x00050041,0x0000001d,0x0000002b,0x00000015,
- 0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,
- 0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,
- 0x0000002f,0x000200f8,0x0000002e,0x00050041,0x00000025,0x00000031,0x00000009,0x00000030,
- 0x0004003d,0x00000006,0x00000032,0x00000031,0x0004007e,0x00000006,0x00000033,0x00000032,
- 0x00050041,0x00000025,0x00000034,0x00000009,0x00000030,0x0003003e,0x00000034,0x00000033,
- 0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x0004003d,0x00000037,0x0000003a,0x00000039,
- 0x0004003d,0x00000007,0x0000003b,0x00000009,0x00050041,0x0000003d,0x0000003e,0x00000015,
- 0x0000003c,0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050051,0x00000006,0x00000041,
- 0x0000003b,0x00000000,0x00050051,0x00000006,0x00000042,0x0000003b,0x00000001,0x00060050,
- 0x00000040,0x00000043,0x00000041,0x00000042,0x0000003f,0x0007005f,0x00000044,0x00000045,
- 0x0000003a,0x00000043,0x00000040,0x00000016,0x00050051,0x00000012,0x00000046,0x00000045,
- 0x00000000,0x0004007c,0x00000006,0x00000047,0x00000046,0x0003003e,0x00000036,0x00000047,
- 0x000100fd,0x00010038
+ 0x00000024,0x000200f8,0x00000023,0x00050051,0x00000006,0x00000027,0x0000001b,0x00000000,
+ 0x0004007e,0x00000006,0x00000028,0x00000027,0x00060052,0x00000007,0x00000052,0x00000028,
+ 0x0000001b,0x00000000,0x000200f9,0x00000024,0x000200f8,0x00000024,0x000700f5,0x00000007,
+ 0x00000056,0x0000001b,0x00000005,0x00000052,0x00000023,0x00050041,0x0000001d,0x0000002b,
+ 0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,
+ 0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,
+ 0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050051,0x00000006,0x00000032,0x00000056,
+ 0x00000001,0x0004007e,0x00000006,0x00000033,0x00000032,0x00060052,0x00000007,0x00000055,
+ 0x00000033,0x00000056,0x00000001,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x000700f5,
+ 0x00000007,0x00000057,0x00000056,0x00000024,0x00000055,0x0000002e,0x00050041,0x0000001d,
+ 0x00000036,0x00000015,0x00000035,0x0004003d,0x00000012,0x00000037,0x00000036,0x000500ab,
+ 0x00000020,0x00000038,0x00000037,0x00000021,0x000300f7,0x0000003a,0x00000000,0x000400fa,
+ 0x00000038,0x00000039,0x0000003a,0x000200f8,0x00000039,0x0007004f,0x00000007,0x0000003c,
+ 0x00000057,0x00000057,0x00000001,0x00000000,0x000200f9,0x0000003a,0x000200f8,0x0000003a,
+ 0x000700f5,0x00000007,0x00000058,0x00000057,0x0000002f,0x0000003c,0x00000039,0x0004003d,
+ 0x0000003f,0x00000042,0x00000041,0x00050041,0x00000045,0x00000046,0x00000015,0x00000044,
+ 0x0004003d,0x00000006,0x00000047,0x00000046,0x00050051,0x00000006,0x00000049,0x00000058,
+ 0x00000000,0x00050051,0x00000006,0x0000004a,0x00000058,0x00000001,0x00060050,0x00000048,
+ 0x0000004b,0x00000049,0x0000004a,0x00000047,0x0007005f,0x0000004c,0x0000004d,0x00000042,
+ 0x0000004b,0x00000040,0x00000016,0x00050051,0x00000012,0x0000004e,0x0000004d,0x00000000,
+ 0x0004007c,0x00000006,0x0000004f,0x0000004e,0x0003003e,0x0000003e,0x0000004f,0x000100fd,
+ 0x00010038
};
// Generated from:
@@ -93,6 +96,7 @@ const uint32_t kBlitResolve_frag_00000013[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 1)uniform utexture2DMSArray stencil;
@@ -108,6 +112,8 @@ const uint32_t kBlitResolve_frag_00000013[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragStencilRefARB = int(texelFetch(stencil, ivec3(srcImageCoords, params . srcLayer), 0). x);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc
index f46db60fef8..7efe9ce106c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc
@@ -1,91 +1,90 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000014[] = {
- 0x07230203,0x00010000,0x00080007,0x0000005f,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000070,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000c,0x0000003c,0x0000004f,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
+ 0x0000000c,0x00000044,0x00000057,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
0x0000000c,0x00030003,0x00000002,0x000001c2,0x00090004,0x415f4c47,0x735f4252,0x65646168,
0x74735f72,0x69636e65,0x78655f6c,0x74726f70,0x00000000,0x00040005,0x00000004,0x6e69616d,
- 0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,
- 0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,
- 0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,
- 0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,
- 0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,
- 0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,
- 0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,
- 0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,
- 0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,
- 0x0000736d,0x00060005,0x0000003c,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,
- 0x0000003f,0x74706564,0x00000068,0x00050005,0x00000043,0x74696c62,0x706d6153,0x0072656c,
- 0x00080005,0x0000004f,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
- 0x00040005,0x00000052,0x6e657473,0x006c6963,0x00040047,0x0000000c,0x0000000b,0x0000000f,
+ 0x00000000,0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
+ 0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,
+ 0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,
+ 0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,
+ 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,
+ 0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
+ 0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,
+ 0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,
+ 0x00000014,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,
+ 0x0000736d,0x00060005,0x00000044,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,
+ 0x00000047,0x74706564,0x00000068,0x00050005,0x0000004b,0x74696c62,0x706d6153,0x0072656c,
+ 0x00080005,0x00000057,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
+ 0x00040005,0x0000005a,0x6e657473,0x006c6963,0x00040047,0x0000000c,0x0000000b,0x0000000f,
0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,
0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,
0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,
0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,
0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,
- 0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000014,0x00000002,
- 0x00040047,0x0000003c,0x0000000b,0x00000016,0x00040047,0x0000003f,0x00000022,0x00000000,
- 0x00040047,0x0000003f,0x00000021,0x00000000,0x00040047,0x00000043,0x00000022,0x00000000,
- 0x00040047,0x00000043,0x00000021,0x00000002,0x00040047,0x0000004f,0x0000000b,0x00001396,
- 0x00040047,0x00000052,0x00000022,0x00000000,0x00040047,0x00000052,0x00000021,0x00000001,
- 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,
- 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
- 0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,
- 0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,
- 0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,0x00000007,0x00000007,
- 0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00040020,
- 0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,
- 0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,
- 0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,
- 0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,
- 0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,0x00000012,0x00000030,
- 0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040020,0x0000003b,0x00000003,
- 0x00000006,0x0004003b,0x0000003b,0x0000003c,0x00000003,0x00090019,0x0000003d,0x00000006,
- 0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x0000003e,
- 0x00000000,0x0000003d,0x0004003b,0x0000003e,0x0000003f,0x00000000,0x0002001a,0x00000041,
- 0x00040020,0x00000042,0x00000000,0x00000041,0x0004003b,0x00000042,0x00000043,0x00000000,
- 0x0003001b,0x00000045,0x0000003d,0x0004002b,0x00000012,0x00000048,0x00000002,0x00040020,
- 0x0000004e,0x00000003,0x00000012,0x0004003b,0x0000004e,0x0000004f,0x00000003,0x00090019,
- 0x00000050,0x00000013,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x00000051,0x00000000,0x00000050,0x0004003b,0x00000051,0x00000052,0x00000000,
- 0x0003001b,0x00000055,0x00000050,0x00040017,0x0000005b,0x00000013,0x00000004,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,
- 0x00000009,0x00000007,0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x0007004f,0x00000007,
- 0x0000000e,0x0000000d,0x0000000d,0x00000000,0x00000001,0x00050051,0x00000006,0x0000000f,
- 0x0000000e,0x00000000,0x00050051,0x00000006,0x00000010,0x0000000e,0x00000001,0x00050050,
- 0x00000007,0x00000011,0x0000000f,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,
+ 0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,
+ 0x00000023,0x00000030,0x00030047,0x00000014,0x00000002,0x00040047,0x00000044,0x0000000b,
+ 0x00000016,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,0x00000021,
+ 0x00000000,0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,0x0000004b,0x00000021,
+ 0x00000002,0x00040047,0x00000057,0x0000000b,0x00001396,0x00040047,0x0000005a,0x00000022,
+ 0x00000000,0x00040047,0x0000005a,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,
+ 0x00000002,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,
+ 0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,
+ 0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,
+ 0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,
+ 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
+ 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
+ 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
+ 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
+ 0x00000013,0x00000027,0x00000000,0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,
+ 0x00000012,0x0000003b,0x00000009,0x00040020,0x00000043,0x00000003,0x00000006,0x0004003b,
+ 0x00000043,0x00000044,0x00000003,0x00090019,0x00000045,0x00000006,0x00000001,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000046,0x00000000,0x00000045,
+ 0x0004003b,0x00000046,0x00000047,0x00000000,0x0002001a,0x00000049,0x00040020,0x0000004a,
+ 0x00000000,0x00000049,0x0004003b,0x0000004a,0x0000004b,0x00000000,0x0003001b,0x0000004d,
+ 0x00000045,0x0004002b,0x00000012,0x00000050,0x00000002,0x00040020,0x00000056,0x00000003,
+ 0x00000012,0x0004003b,0x00000056,0x00000057,0x00000003,0x00090019,0x00000058,0x00000013,
+ 0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000059,
+ 0x00000000,0x00000058,0x0004003b,0x00000059,0x0000005a,0x00000000,0x0003001b,0x0000005d,
+ 0x00000058,0x00040017,0x00000063,0x00000013,0x00000004,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,0x0000000c,
+ 0x00050051,0x00000006,0x0000000f,0x0000000d,0x00000000,0x00050051,0x00000006,0x00000010,
+ 0x0000000d,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,0x00050041,
0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000007,0x0000001a,0x00000019,
- 0x0004003d,0x00000007,0x0000001b,0x00000009,0x00050085,0x00000007,0x0000001c,0x0000001b,
- 0x0000001a,0x0003003e,0x00000009,0x0000001c,0x00050041,0x00000018,0x0000001e,0x00000016,
- 0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x0004003d,0x00000007,0x00000020,
- 0x00000009,0x00050083,0x00000007,0x00000021,0x00000020,0x0000001f,0x0003003e,0x00000009,
- 0x00000021,0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,
- 0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,
- 0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,
- 0x00050041,0x0000002b,0x0000002c,0x00000009,0x00000027,0x0004003d,0x00000006,0x0000002d,
- 0x0000002c,0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00050041,0x0000002b,0x0000002f,
- 0x00000009,0x00000027,0x0003003e,0x0000002f,0x0000002e,0x000200f9,0x0000002a,0x000200f8,
- 0x0000002a,0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,
- 0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,
- 0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,
- 0x00050041,0x0000002b,0x00000037,0x00000009,0x00000036,0x0004003d,0x00000006,0x00000038,
- 0x00000037,0x0004007f,0x00000006,0x00000039,0x00000038,0x00050041,0x0000002b,0x0000003a,
- 0x00000009,0x00000036,0x0003003e,0x0000003a,0x00000039,0x000200f9,0x00000035,0x000200f8,
- 0x00000035,0x0004003d,0x0000003d,0x00000040,0x0000003f,0x0004003d,0x00000041,0x00000044,
- 0x00000043,0x00050056,0x00000045,0x00000046,0x00000040,0x00000044,0x0004003d,0x00000007,
- 0x00000047,0x00000009,0x00050041,0x00000018,0x00000049,0x00000016,0x00000048,0x0004003d,
- 0x00000007,0x0000004a,0x00000049,0x00050085,0x00000007,0x0000004b,0x00000047,0x0000004a,
- 0x00050057,0x0000000a,0x0000004c,0x00000046,0x0000004b,0x00050051,0x00000006,0x0000004d,
- 0x0000004c,0x00000000,0x0003003e,0x0000003c,0x0000004d,0x0004003d,0x00000050,0x00000053,
- 0x00000052,0x0004003d,0x00000041,0x00000054,0x00000043,0x00050056,0x00000055,0x00000056,
- 0x00000053,0x00000054,0x0004003d,0x00000007,0x00000057,0x00000009,0x00050041,0x00000018,
- 0x00000058,0x00000016,0x00000048,0x0004003d,0x00000007,0x00000059,0x00000058,0x00050085,
- 0x00000007,0x0000005a,0x00000057,0x00000059,0x00050057,0x0000005b,0x0000005c,0x00000056,
- 0x0000005a,0x00050051,0x00000013,0x0000005d,0x0000005c,0x00000000,0x0004007c,0x00000012,
- 0x0000005e,0x0000005d,0x0003003e,0x0000004f,0x0000005e,0x000100fd,0x00010038
+ 0x00050085,0x00000007,0x0000001c,0x00000011,0x0000001a,0x00050041,0x00000018,0x0000001e,
+ 0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,0x0000001e,0x00050083,0x00000007,
+ 0x00000021,0x0000001c,0x0000001f,0x00050041,0x00000023,0x00000024,0x00000016,0x00000022,
+ 0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,0x00000028,0x00000025,
+ 0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,
+ 0x000200f8,0x00000029,0x00050051,0x00000006,0x0000002d,0x00000021,0x00000000,0x0004007f,
+ 0x00000006,0x0000002e,0x0000002d,0x00060052,0x00000007,0x00000069,0x0000002e,0x00000021,
+ 0x00000000,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x000700f5,0x00000007,0x0000006d,
+ 0x00000021,0x00000005,0x00000069,0x00000029,0x00050041,0x00000023,0x00000031,0x00000016,
+ 0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,0x00000033,
+ 0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,0x00000034,
+ 0x00000035,0x000200f8,0x00000034,0x00050051,0x00000006,0x00000038,0x0000006d,0x00000001,
+ 0x0004007f,0x00000006,0x00000039,0x00000038,0x00060052,0x00000007,0x0000006c,0x00000039,
+ 0x0000006d,0x00000001,0x000200f9,0x00000035,0x000200f8,0x00000035,0x000700f5,0x00000007,
+ 0x0000006e,0x0000006d,0x0000002a,0x0000006c,0x00000034,0x00050041,0x00000023,0x0000003c,
+ 0x00000016,0x0000003b,0x0004003d,0x00000013,0x0000003d,0x0000003c,0x000500ab,0x00000026,
+ 0x0000003e,0x0000003d,0x00000027,0x000300f7,0x00000040,0x00000000,0x000400fa,0x0000003e,
+ 0x0000003f,0x00000040,0x000200f8,0x0000003f,0x0007004f,0x00000007,0x00000042,0x0000006e,
+ 0x0000006e,0x00000001,0x00000000,0x000200f9,0x00000040,0x000200f8,0x00000040,0x000700f5,
+ 0x00000007,0x0000006f,0x0000006e,0x00000035,0x00000042,0x0000003f,0x0004003d,0x00000045,
+ 0x00000048,0x00000047,0x0004003d,0x00000049,0x0000004c,0x0000004b,0x00050056,0x0000004d,
+ 0x0000004e,0x00000048,0x0000004c,0x00050041,0x00000018,0x00000051,0x00000016,0x00000050,
+ 0x0004003d,0x00000007,0x00000052,0x00000051,0x00050085,0x00000007,0x00000053,0x0000006f,
+ 0x00000052,0x00050057,0x0000000a,0x00000054,0x0000004e,0x00000053,0x00050051,0x00000006,
+ 0x00000055,0x00000054,0x00000000,0x0003003e,0x00000044,0x00000055,0x0004003d,0x00000058,
+ 0x0000005b,0x0000005a,0x00050056,0x0000005d,0x0000005e,0x0000005b,0x0000004c,0x00050057,
+ 0x00000063,0x00000064,0x0000005e,0x00000053,0x00050051,0x00000013,0x00000065,0x00000064,
+ 0x00000000,0x0004007c,0x00000012,0x00000066,0x00000065,0x0003003e,0x00000057,0x00000066,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -107,6 +106,7 @@ const uint32_t kBlitResolve_frag_00000014[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2D depth;
@@ -128,6 +128,8 @@ const uint32_t kBlitResolve_frag_00000014[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texture(sampler2D(depth, blitSampler), srcImageCoords * params . invSrcExtent). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc
index 165298c9f72..b07c1422c7e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc
@@ -1,100 +1,95 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000015[] = {
- 0x07230203,0x00010000,0x00080007,0x0000006e,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x0000007f,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000c,0x0000003c,0x00000058,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
+ 0x0000000c,0x00000044,0x00000060,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
0x0000000c,0x00030003,0x00000002,0x000001c2,0x00090004,0x415f4c47,0x735f4252,0x65646168,
0x74735f72,0x69636e65,0x78655f6c,0x74726f70,0x00000000,0x00040005,0x00000004,0x6e69616d,
- 0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00060005,
- 0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x00000014,0x68737550,
- 0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,0x7366666f,0x00007465,
- 0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,0x00000014,0x00000002,
- 0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,0x00000003,0x4c637273,
- 0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,0x0073656c,0x00060006,
- 0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,0x00000014,0x00000006,
- 0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,0x70696c66,0x00000058,
- 0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00040005,0x00000016,0x61726170,
- 0x0000736d,0x00060005,0x0000003c,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,
- 0x0000003f,0x74706564,0x00000068,0x00050005,0x00000043,0x74696c62,0x706d6153,0x0072656c,
- 0x00080005,0x00000058,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
- 0x00040005,0x0000005b,0x6e657473,0x006c6963,0x00040047,0x0000000c,0x0000000b,0x0000000f,
+ 0x00000000,0x00060005,0x0000000c,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
+ 0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000014,0x00000000,
+ 0x7366666f,0x00007465,0x00050006,0x00000014,0x00000001,0x65727473,0x00686374,0x00070006,
+ 0x00000014,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x00000014,
+ 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000014,0x00000004,0x706d6173,
+ 0x0073656c,0x00060006,0x00000014,0x00000005,0x53766e69,0x6c706d61,0x00007365,0x00060006,
+ 0x00000014,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000014,0x00000007,
+ 0x70696c66,0x00000058,0x00050006,0x00000014,0x00000008,0x70696c66,0x00000059,0x00060006,
+ 0x00000014,0x00000009,0x61746f72,0x59586574,0x00000000,0x00040005,0x00000016,0x61726170,
+ 0x0000736d,0x00060005,0x00000044,0x465f6c67,0x44676172,0x68747065,0x00000000,0x00040005,
+ 0x00000047,0x74706564,0x00000068,0x00050005,0x0000004b,0x74696c62,0x706d6153,0x0072656c,
+ 0x00080005,0x00000060,0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,
+ 0x00040005,0x00000063,0x6e657473,0x006c6963,0x00040047,0x0000000c,0x0000000b,0x0000000f,
0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,
0x00000023,0x00000008,0x00050048,0x00000014,0x00000002,0x00000023,0x00000010,0x00050048,
0x00000014,0x00000003,0x00000023,0x00000018,0x00050048,0x00000014,0x00000004,0x00000023,
0x0000001c,0x00050048,0x00000014,0x00000005,0x00000023,0x00000020,0x00050048,0x00000014,
0x00000006,0x00000023,0x00000024,0x00050048,0x00000014,0x00000007,0x00000023,0x00000028,
- 0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00030047,0x00000014,0x00000002,
- 0x00040047,0x0000003c,0x0000000b,0x00000016,0x00040047,0x0000003f,0x00000022,0x00000000,
- 0x00040047,0x0000003f,0x00000021,0x00000000,0x00040047,0x00000043,0x00000022,0x00000000,
- 0x00040047,0x00000043,0x00000021,0x00000002,0x00040047,0x00000058,0x0000000b,0x00001396,
- 0x00040047,0x0000005b,0x00000022,0x00000000,0x00040047,0x0000005b,0x00000021,0x00000001,
- 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,
- 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
- 0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,0x0000000a,
- 0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,0x00000001,
- 0x00040015,0x00000013,0x00000020,0x00000000,0x000b001e,0x00000014,0x00000007,0x00000007,
- 0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,0x00040020,
- 0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,0x0004002b,
- 0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000007,0x0004002b,
- 0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,0x00000007,0x00040020,
- 0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,0x00000013,0x00000027,
- 0x00000000,0x00040020,0x0000002b,0x00000007,0x00000006,0x0004002b,0x00000012,0x00000030,
- 0x00000008,0x0004002b,0x00000013,0x00000036,0x00000001,0x00040020,0x0000003b,0x00000003,
- 0x00000006,0x0004003b,0x0000003b,0x0000003c,0x00000003,0x00090019,0x0000003d,0x00000006,
- 0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x0000003e,
- 0x00000000,0x0000003d,0x0004003b,0x0000003e,0x0000003f,0x00000000,0x0002001a,0x00000041,
- 0x00040020,0x00000042,0x00000000,0x00000041,0x0004003b,0x00000042,0x00000043,0x00000000,
- 0x0003001b,0x00000045,0x0000003d,0x0004002b,0x00000012,0x00000048,0x00000002,0x0004002b,
- 0x00000012,0x0000004c,0x00000003,0x00040020,0x0000004d,0x00000009,0x00000012,0x00040017,
- 0x00000051,0x00000006,0x00000003,0x00040020,0x00000057,0x00000003,0x00000012,0x0004003b,
- 0x00000057,0x00000058,0x00000003,0x00090019,0x00000059,0x00000013,0x00000001,0x00000000,
- 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x0000005a,0x00000000,0x00000059,
- 0x0004003b,0x0000005a,0x0000005b,0x00000000,0x0003001b,0x0000005e,0x00000059,0x00040017,
- 0x0000006a,0x00000013,0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
- 0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003d,0x0000000a,
- 0x0000000d,0x0000000c,0x0007004f,0x00000007,0x0000000e,0x0000000d,0x0000000d,0x00000000,
- 0x00000001,0x00050051,0x00000006,0x0000000f,0x0000000e,0x00000000,0x00050051,0x00000006,
- 0x00000010,0x0000000e,0x00000001,0x00050050,0x00000007,0x00000011,0x0000000f,0x00000010,
- 0x0003003e,0x00000009,0x00000011,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,
- 0x0004003d,0x00000007,0x0000001a,0x00000019,0x0004003d,0x00000007,0x0000001b,0x00000009,
- 0x00050085,0x00000007,0x0000001c,0x0000001b,0x0000001a,0x0003003e,0x00000009,0x0000001c,
- 0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,0x0000001f,
- 0x0000001e,0x0004003d,0x00000007,0x00000020,0x00000009,0x00050083,0x00000007,0x00000021,
- 0x00000020,0x0000001f,0x0003003e,0x00000009,0x00000021,0x00050041,0x00000023,0x00000024,
- 0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,0x000500ab,0x00000026,
- 0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,
- 0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050041,0x0000002b,0x0000002c,0x00000009,
- 0x00000027,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x0004007f,0x00000006,0x0000002e,
- 0x0000002d,0x00050041,0x0000002b,0x0000002f,0x00000009,0x00000027,0x0003003e,0x0000002f,
- 0x0000002e,0x000200f9,0x0000002a,0x000200f8,0x0000002a,0x00050041,0x00000023,0x00000031,
- 0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,0x00000031,0x000500ab,0x00000026,
- 0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,0x00000000,0x000400fa,0x00000033,
- 0x00000034,0x00000035,0x000200f8,0x00000034,0x00050041,0x0000002b,0x00000037,0x00000009,
- 0x00000036,0x0004003d,0x00000006,0x00000038,0x00000037,0x0004007f,0x00000006,0x00000039,
- 0x00000038,0x00050041,0x0000002b,0x0000003a,0x00000009,0x00000036,0x0003003e,0x0000003a,
- 0x00000039,0x000200f9,0x00000035,0x000200f8,0x00000035,0x0004003d,0x0000003d,0x00000040,
- 0x0000003f,0x0004003d,0x00000041,0x00000044,0x00000043,0x00050056,0x00000045,0x00000046,
- 0x00000040,0x00000044,0x0004003d,0x00000007,0x00000047,0x00000009,0x00050041,0x00000018,
- 0x00000049,0x00000016,0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000049,0x00050085,
- 0x00000007,0x0000004b,0x00000047,0x0000004a,0x00050041,0x0000004d,0x0000004e,0x00000016,
- 0x0000004c,0x0004003d,0x00000012,0x0000004f,0x0000004e,0x0004006f,0x00000006,0x00000050,
- 0x0000004f,0x00050051,0x00000006,0x00000052,0x0000004b,0x00000000,0x00050051,0x00000006,
- 0x00000053,0x0000004b,0x00000001,0x00060050,0x00000051,0x00000054,0x00000052,0x00000053,
- 0x00000050,0x00050057,0x0000000a,0x00000055,0x00000046,0x00000054,0x00050051,0x00000006,
- 0x00000056,0x00000055,0x00000000,0x0003003e,0x0000003c,0x00000056,0x0004003d,0x00000059,
- 0x0000005c,0x0000005b,0x0004003d,0x00000041,0x0000005d,0x00000043,0x00050056,0x0000005e,
- 0x0000005f,0x0000005c,0x0000005d,0x0004003d,0x00000007,0x00000060,0x00000009,0x00050041,
- 0x00000018,0x00000061,0x00000016,0x00000048,0x0004003d,0x00000007,0x00000062,0x00000061,
- 0x00050085,0x00000007,0x00000063,0x00000060,0x00000062,0x00050041,0x0000004d,0x00000064,
- 0x00000016,0x0000004c,0x0004003d,0x00000012,0x00000065,0x00000064,0x0004006f,0x00000006,
- 0x00000066,0x00000065,0x00050051,0x00000006,0x00000067,0x00000063,0x00000000,0x00050051,
- 0x00000006,0x00000068,0x00000063,0x00000001,0x00060050,0x00000051,0x00000069,0x00000067,
- 0x00000068,0x00000066,0x00050057,0x0000006a,0x0000006b,0x0000005f,0x00000069,0x00050051,
- 0x00000013,0x0000006c,0x0000006b,0x00000000,0x0004007c,0x00000012,0x0000006d,0x0000006c,
- 0x0003003e,0x00000058,0x0000006d,0x000100fd,0x00010038
+ 0x00050048,0x00000014,0x00000008,0x00000023,0x0000002c,0x00050048,0x00000014,0x00000009,
+ 0x00000023,0x00000030,0x00030047,0x00000014,0x00000002,0x00040047,0x00000044,0x0000000b,
+ 0x00000016,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,0x00000021,
+ 0x00000000,0x00040047,0x0000004b,0x00000022,0x00000000,0x00040047,0x0000004b,0x00000021,
+ 0x00000002,0x00040047,0x00000060,0x0000000b,0x00001396,0x00040047,0x00000063,0x00000022,
+ 0x00000000,0x00040047,0x00000063,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,
+ 0x00000002,0x00040017,0x0000000a,0x00000006,0x00000004,0x00040020,0x0000000b,0x00000001,
+ 0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x00040015,0x00000012,0x00000020,
+ 0x00000001,0x00040015,0x00000013,0x00000020,0x00000000,0x000c001e,0x00000014,0x00000007,
+ 0x00000007,0x00000007,0x00000012,0x00000012,0x00000006,0x00000012,0x00000013,0x00000013,
+ 0x00000013,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
+ 0x00000009,0x0004002b,0x00000012,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
+ 0x00000007,0x0004002b,0x00000012,0x0000001d,0x00000000,0x0004002b,0x00000012,0x00000022,
+ 0x00000007,0x00040020,0x00000023,0x00000009,0x00000013,0x00020014,0x00000026,0x0004002b,
+ 0x00000013,0x00000027,0x00000000,0x0004002b,0x00000012,0x00000030,0x00000008,0x0004002b,
+ 0x00000012,0x0000003b,0x00000009,0x00040020,0x00000043,0x00000003,0x00000006,0x0004003b,
+ 0x00000043,0x00000044,0x00000003,0x00090019,0x00000045,0x00000006,0x00000001,0x00000000,
+ 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000046,0x00000000,0x00000045,
+ 0x0004003b,0x00000046,0x00000047,0x00000000,0x0002001a,0x00000049,0x00040020,0x0000004a,
+ 0x00000000,0x00000049,0x0004003b,0x0000004a,0x0000004b,0x00000000,0x0003001b,0x0000004d,
+ 0x00000045,0x0004002b,0x00000012,0x00000050,0x00000002,0x0004002b,0x00000012,0x00000054,
+ 0x00000003,0x00040020,0x00000055,0x00000009,0x00000012,0x00040017,0x00000059,0x00000006,
+ 0x00000003,0x00040020,0x0000005f,0x00000003,0x00000012,0x0004003b,0x0000005f,0x00000060,
+ 0x00000003,0x00090019,0x00000061,0x00000013,0x00000001,0x00000000,0x00000001,0x00000000,
+ 0x00000001,0x00000000,0x00040020,0x00000062,0x00000000,0x00000061,0x0004003b,0x00000062,
+ 0x00000063,0x00000000,0x0003001b,0x00000066,0x00000061,0x00040017,0x00000072,0x00000013,
+ 0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
+ 0x0004003d,0x0000000a,0x0000000d,0x0000000c,0x00050051,0x00000006,0x0000000f,0x0000000d,
+ 0x00000000,0x00050051,0x00000006,0x00000010,0x0000000d,0x00000001,0x00050050,0x00000007,
+ 0x00000011,0x0000000f,0x00000010,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,
+ 0x0004003d,0x00000007,0x0000001a,0x00000019,0x00050085,0x00000007,0x0000001c,0x00000011,
+ 0x0000001a,0x00050041,0x00000018,0x0000001e,0x00000016,0x0000001d,0x0004003d,0x00000007,
+ 0x0000001f,0x0000001e,0x00050083,0x00000007,0x00000021,0x0000001c,0x0000001f,0x00050041,
+ 0x00000023,0x00000024,0x00000016,0x00000022,0x0004003d,0x00000013,0x00000025,0x00000024,
+ 0x000500ab,0x00000026,0x00000028,0x00000025,0x00000027,0x000300f7,0x0000002a,0x00000000,
+ 0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x00050051,0x00000006,
+ 0x0000002d,0x00000021,0x00000000,0x0004007f,0x00000006,0x0000002e,0x0000002d,0x00060052,
+ 0x00000007,0x00000078,0x0000002e,0x00000021,0x00000000,0x000200f9,0x0000002a,0x000200f8,
+ 0x0000002a,0x000700f5,0x00000007,0x0000007c,0x00000021,0x00000005,0x00000078,0x00000029,
+ 0x00050041,0x00000023,0x00000031,0x00000016,0x00000030,0x0004003d,0x00000013,0x00000032,
+ 0x00000031,0x000500ab,0x00000026,0x00000033,0x00000032,0x00000027,0x000300f7,0x00000035,
+ 0x00000000,0x000400fa,0x00000033,0x00000034,0x00000035,0x000200f8,0x00000034,0x00050051,
+ 0x00000006,0x00000038,0x0000007c,0x00000001,0x0004007f,0x00000006,0x00000039,0x00000038,
+ 0x00060052,0x00000007,0x0000007b,0x00000039,0x0000007c,0x00000001,0x000200f9,0x00000035,
+ 0x000200f8,0x00000035,0x000700f5,0x00000007,0x0000007d,0x0000007c,0x0000002a,0x0000007b,
+ 0x00000034,0x00050041,0x00000023,0x0000003c,0x00000016,0x0000003b,0x0004003d,0x00000013,
+ 0x0000003d,0x0000003c,0x000500ab,0x00000026,0x0000003e,0x0000003d,0x00000027,0x000300f7,
+ 0x00000040,0x00000000,0x000400fa,0x0000003e,0x0000003f,0x00000040,0x000200f8,0x0000003f,
+ 0x0007004f,0x00000007,0x00000042,0x0000007d,0x0000007d,0x00000001,0x00000000,0x000200f9,
+ 0x00000040,0x000200f8,0x00000040,0x000700f5,0x00000007,0x0000007e,0x0000007d,0x00000035,
+ 0x00000042,0x0000003f,0x0004003d,0x00000045,0x00000048,0x00000047,0x0004003d,0x00000049,
+ 0x0000004c,0x0000004b,0x00050056,0x0000004d,0x0000004e,0x00000048,0x0000004c,0x00050041,
+ 0x00000018,0x00000051,0x00000016,0x00000050,0x0004003d,0x00000007,0x00000052,0x00000051,
+ 0x00050085,0x00000007,0x00000053,0x0000007e,0x00000052,0x00050041,0x00000055,0x00000056,
+ 0x00000016,0x00000054,0x0004003d,0x00000012,0x00000057,0x00000056,0x0004006f,0x00000006,
+ 0x00000058,0x00000057,0x00050051,0x00000006,0x0000005a,0x00000053,0x00000000,0x00050051,
+ 0x00000006,0x0000005b,0x00000053,0x00000001,0x00060050,0x00000059,0x0000005c,0x0000005a,
+ 0x0000005b,0x00000058,0x00050057,0x0000000a,0x0000005d,0x0000004e,0x0000005c,0x00050051,
+ 0x00000006,0x0000005e,0x0000005d,0x00000000,0x0003003e,0x00000044,0x0000005e,0x0004003d,
+ 0x00000061,0x00000064,0x00000063,0x00050056,0x00000066,0x00000067,0x00000064,0x0000004c,
+ 0x00050057,0x00000072,0x00000073,0x00000067,0x0000005c,0x00050051,0x00000013,0x00000074,
+ 0x00000073,0x00000000,0x0004007c,0x00000012,0x00000075,0x00000074,0x0003003e,0x00000060,
+ 0x00000075,0x000100fd,0x00010038
};
// Generated from:
@@ -116,6 +111,7 @@ const uint32_t kBlitResolve_frag_00000015[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DArray depth;
@@ -137,6 +133,8 @@ const uint32_t kBlitResolve_frag_00000015[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texture(sampler2DArray(depth, blitSampler), vec3(srcImageCoords * params . invSrcExtent, params . srcLayer)). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc
index 5108ef2f1ee..9eaaf63b1b5 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc
@@ -1,79 +1,82 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000016[] = {
- 0x07230203,0x00010000,0x00080007,0x00000049,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x0000005a,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000d,0x00000036,0x0000003f,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
+ 0x0000000d,0x0000003e,0x00000047,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
0x0000000c,0x00030003,0x00000002,0x000001c2,0x00090004,0x415f4c47,0x735f4252,0x65646168,
0x74735f72,0x69636e65,0x78655f6c,0x74726f70,0x00000000,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,
- 0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,
- 0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,
- 0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,
- 0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,
- 0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,
- 0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,
- 0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,
- 0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,
- 0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,0x00000036,0x465f6c67,0x44676172,
- 0x68747065,0x00000000,0x00040005,0x00000039,0x74706564,0x00000068,0x00080005,0x0000003f,
- 0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x00000042,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,
+ 0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,
+ 0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,
+ 0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,
+ 0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,
+ 0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,
+ 0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,
+ 0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,
+ 0x70696c66,0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,
+ 0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,0x0000003e,0x465f6c67,0x44676172,
+ 0x68747065,0x00000000,0x00040005,0x00000041,0x74706564,0x00000068,0x00080005,0x00000047,
+ 0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x0000004a,
0x6e657473,0x006c6963,0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,
0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,
0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,
0x00000023,0x00000018,0x00050048,0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,
0x00000013,0x00000005,0x00000023,0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,
0x00000024,0x00050048,0x00000013,0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,
- 0x00000008,0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000036,
- 0x0000000b,0x00000016,0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,0x00000039,
- 0x00000021,0x00000000,0x00040047,0x0000003f,0x0000000b,0x00001396,0x00040047,0x00000042,
- 0x00000022,0x00000000,0x00040047,0x00000042,0x00000021,0x00000001,0x00020013,0x00000002,
- 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,
- 0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,
- 0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,
- 0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,
- 0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,
- 0x00000007,0x0000000e,0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,
- 0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,
- 0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,
- 0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,
- 0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,
- 0x00000025,0x00000007,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,
- 0x00000012,0x00000030,0x00000001,0x00040020,0x00000035,0x00000003,0x0000000a,0x0004003b,
- 0x00000035,0x00000036,0x00000003,0x00090019,0x00000037,0x0000000a,0x00000001,0x00000000,
- 0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x00000038,0x00000000,0x00000037,
- 0x0004003b,0x00000038,0x00000039,0x00000000,0x00040020,0x0000003e,0x00000003,0x00000006,
- 0x0004003b,0x0000003e,0x0000003f,0x00000003,0x00090019,0x00000040,0x00000012,0x00000001,
- 0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x00000041,0x00000000,
- 0x00000040,0x0004003b,0x00000041,0x00000042,0x00000000,0x00040017,0x00000045,0x00000012,
- 0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,
- 0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,
- 0x00000007,0x00000011,0x00000010,0x0003003e,0x00000009,0x00000011,0x00050041,0x00000017,
- 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x0004003d,
- 0x00000007,0x0000001a,0x00000009,0x00050082,0x00000007,0x0000001b,0x0000001a,0x00000019,
- 0x0003003e,0x00000009,0x0000001b,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,
+ 0x00000008,0x00000023,0x0000002c,0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x0000003e,0x0000000b,0x00000016,0x00040047,
+ 0x00000041,0x00000022,0x00000000,0x00040047,0x00000041,0x00000021,0x00000000,0x00040047,
+ 0x00000047,0x0000000b,0x00001396,0x00040047,0x0000004a,0x00000022,0x00000000,0x00040047,
+ 0x0000004a,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,
+ 0x00000013,0x00000007,0x0000000e,0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,
+ 0x00000012,0x00000012,0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,
+ 0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,
+ 0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,
+ 0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,
+ 0x00000000,0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,
+ 0x00000009,0x00040020,0x0000003d,0x00000003,0x0000000a,0x0004003b,0x0000003d,0x0000003e,
+ 0x00000003,0x00090019,0x0000003f,0x0000000a,0x00000001,0x00000000,0x00000000,0x00000001,
+ 0x00000001,0x00000000,0x00040020,0x00000040,0x00000000,0x0000003f,0x0004003b,0x00000040,
+ 0x00000041,0x00000000,0x00040020,0x00000046,0x00000003,0x00000006,0x0004003b,0x00000046,
+ 0x00000047,0x00000003,0x00090019,0x00000048,0x00000012,0x00000001,0x00000000,0x00000000,
+ 0x00000001,0x00000001,0x00000000,0x00040020,0x00000049,0x00000000,0x00000048,0x0004003b,
+ 0x00000049,0x0000004a,0x00000000,0x00040017,0x0000004d,0x00000012,0x00000004,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000b,
+ 0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,
+ 0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,
+ 0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,
+ 0x0000001b,0x00000011,0x00000019,0x00050041,0x0000001d,0x0000001e,0x00000015,0x0000001c,
0x0004003d,0x00000012,0x0000001f,0x0000001e,0x000500ab,0x00000020,0x00000022,0x0000001f,
0x00000021,0x000300f7,0x00000024,0x00000000,0x000400fa,0x00000022,0x00000023,0x00000024,
- 0x000200f8,0x00000023,0x00050041,0x00000025,0x00000026,0x00000009,0x00000021,0x0004003d,
- 0x00000006,0x00000027,0x00000026,0x0004007e,0x00000006,0x00000028,0x00000027,0x00050041,
- 0x00000025,0x00000029,0x00000009,0x00000021,0x0003003e,0x00000029,0x00000028,0x000200f9,
- 0x00000024,0x000200f8,0x00000024,0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,
- 0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,
- 0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,
- 0x000200f8,0x0000002e,0x00050041,0x00000025,0x00000031,0x00000009,0x00000030,0x0004003d,
- 0x00000006,0x00000032,0x00000031,0x0004007e,0x00000006,0x00000033,0x00000032,0x00050041,
- 0x00000025,0x00000034,0x00000009,0x00000030,0x0003003e,0x00000034,0x00000033,0x000200f9,
- 0x0000002f,0x000200f8,0x0000002f,0x0004003d,0x00000037,0x0000003a,0x00000039,0x0004003d,
- 0x00000007,0x0000003b,0x00000009,0x0007005f,0x0000000b,0x0000003c,0x0000003a,0x0000003b,
- 0x00000040,0x00000016,0x00050051,0x0000000a,0x0000003d,0x0000003c,0x00000000,0x0003003e,
- 0x00000036,0x0000003d,0x0004003d,0x00000040,0x00000043,0x00000042,0x0004003d,0x00000007,
- 0x00000044,0x00000009,0x0007005f,0x00000045,0x00000046,0x00000043,0x00000044,0x00000040,
- 0x00000016,0x00050051,0x00000012,0x00000047,0x00000046,0x00000000,0x0004007c,0x00000006,
- 0x00000048,0x00000047,0x0003003e,0x0000003f,0x00000048,0x000100fd,0x00010038
+ 0x000200f8,0x00000023,0x00050051,0x00000006,0x00000027,0x0000001b,0x00000000,0x0004007e,
+ 0x00000006,0x00000028,0x00000027,0x00060052,0x00000007,0x00000053,0x00000028,0x0000001b,
+ 0x00000000,0x000200f9,0x00000024,0x000200f8,0x00000024,0x000700f5,0x00000007,0x00000057,
+ 0x0000001b,0x00000005,0x00000053,0x00000023,0x00050041,0x0000001d,0x0000002b,0x00000015,
+ 0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,0x000500ab,0x00000020,0x0000002d,
+ 0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,
+ 0x0000002f,0x000200f8,0x0000002e,0x00050051,0x00000006,0x00000032,0x00000057,0x00000001,
+ 0x0004007e,0x00000006,0x00000033,0x00000032,0x00060052,0x00000007,0x00000056,0x00000033,
+ 0x00000057,0x00000001,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x000700f5,0x00000007,
+ 0x00000058,0x00000057,0x00000024,0x00000056,0x0000002e,0x00050041,0x0000001d,0x00000036,
+ 0x00000015,0x00000035,0x0004003d,0x00000012,0x00000037,0x00000036,0x000500ab,0x00000020,
+ 0x00000038,0x00000037,0x00000021,0x000300f7,0x0000003a,0x00000000,0x000400fa,0x00000038,
+ 0x00000039,0x0000003a,0x000200f8,0x00000039,0x0007004f,0x00000007,0x0000003c,0x00000058,
+ 0x00000058,0x00000001,0x00000000,0x000200f9,0x0000003a,0x000200f8,0x0000003a,0x000700f5,
+ 0x00000007,0x00000059,0x00000058,0x0000002f,0x0000003c,0x00000039,0x0004003d,0x0000003f,
+ 0x00000042,0x00000041,0x0007005f,0x0000000b,0x00000044,0x00000042,0x00000059,0x00000040,
+ 0x00000016,0x00050051,0x0000000a,0x00000045,0x00000044,0x00000000,0x0003003e,0x0000003e,
+ 0x00000045,0x0004003d,0x00000048,0x0000004b,0x0000004a,0x0007005f,0x0000004d,0x0000004e,
+ 0x0000004b,0x00000059,0x00000040,0x00000016,0x00050051,0x00000012,0x0000004f,0x0000004e,
+ 0x00000000,0x0004007c,0x00000006,0x00000050,0x0000004f,0x0003003e,0x00000047,0x00000050,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -97,6 +100,7 @@ const uint32_t kBlitResolve_frag_00000016[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DMS depth;
@@ -114,6 +118,8 @@ const uint32_t kBlitResolve_frag_00000016[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texelFetch(depth, srcImageCoords, 0). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc
index eb7d3dc3f32..5194bbfb51b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc
@@ -1,87 +1,86 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolve_frag_00000017[] = {
- 0x07230203,0x00010000,0x00080007,0x00000056,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000067,0x00000000,0x00020011,0x00000001,0x00020011,
0x00001395,0x0009000a,0x5f565053,0x5f545845,0x64616873,0x735f7265,0x636e6574,0x655f6c69,
0x726f7078,0x00000074,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,
0x0003000e,0x00000000,0x00000001,0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,
- 0x0000000d,0x00000036,0x00000047,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
+ 0x0000000d,0x0000003e,0x0000004f,0x00030010,0x00000004,0x00000007,0x00030010,0x00000004,
0x0000000c,0x00030003,0x00000002,0x000001c2,0x00090004,0x415f4c47,0x735f4252,0x65646168,
0x74735f72,0x69636e65,0x78655f6c,0x74726f70,0x00000000,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000009,0x49637273,0x6567616d,
- 0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,0x00000000,
- 0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x00000013,
- 0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,0x65727473,0x00686374,
- 0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,
- 0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,0x00000004,
- 0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,0x6c706d61,0x00007365,
- 0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,0x00050006,0x00000013,
- 0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,0x70696c66,0x00000059,
- 0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,0x00000036,0x465f6c67,0x44676172,
- 0x68747065,0x00000000,0x00040005,0x00000039,0x74706564,0x00000068,0x00080005,0x00000047,
- 0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x0000004a,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000d,0x465f6c67,0x43676172,
+ 0x64726f6f,0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,
+ 0x00050006,0x00000013,0x00000000,0x7366666f,0x00007465,0x00050006,0x00000013,0x00000001,
+ 0x65727473,0x00686374,0x00070006,0x00000013,0x00000002,0x53766e69,0x78456372,0x746e6574,
+ 0x00000000,0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,
+ 0x00000013,0x00000004,0x706d6173,0x0073656c,0x00060006,0x00000013,0x00000005,0x53766e69,
+ 0x6c706d61,0x00007365,0x00060006,0x00000013,0x00000006,0x7074756f,0x614d7475,0x00006b73,
+ 0x00050006,0x00000013,0x00000007,0x70696c66,0x00000058,0x00050006,0x00000013,0x00000008,
+ 0x70696c66,0x00000059,0x00060006,0x00000013,0x00000009,0x61746f72,0x59586574,0x00000000,
+ 0x00040005,0x00000015,0x61726170,0x0000736d,0x00060005,0x0000003e,0x465f6c67,0x44676172,
+ 0x68747065,0x00000000,0x00040005,0x00000041,0x74706564,0x00000068,0x00080005,0x0000004f,
+ 0x465f6c67,0x53676172,0x636e6574,0x65526c69,0x42524166,0x00000000,0x00040005,0x00000052,
0x6e657473,0x006c6963,0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,
0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,
0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,
0x00000023,0x00000018,0x00050048,0x00000013,0x00000004,0x00000023,0x0000001c,0x00050048,
0x00000013,0x00000005,0x00000023,0x00000020,0x00050048,0x00000013,0x00000006,0x00000023,
0x00000024,0x00050048,0x00000013,0x00000007,0x00000023,0x00000028,0x00050048,0x00000013,
- 0x00000008,0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000036,
- 0x0000000b,0x00000016,0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,0x00000039,
- 0x00000021,0x00000000,0x00040047,0x00000047,0x0000000b,0x00001396,0x00040047,0x0000004a,
- 0x00000022,0x00000000,0x00040047,0x0000004a,0x00000021,0x00000001,0x00020013,0x00000002,
- 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,
- 0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x00030016,
- 0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,0x0000000c,
- 0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,0x0000000e,
- 0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000b001e,0x00000013,
- 0x00000007,0x0000000e,0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,0x00000012,
- 0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,0x00000014,0x00000015,
- 0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,0x00000017,0x00000009,
- 0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,0x0000001d,0x00000009,
- 0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,0x00000000,0x00040020,
- 0x00000025,0x00000007,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,
- 0x00000012,0x00000030,0x00000001,0x00040020,0x00000035,0x00000003,0x0000000a,0x0004003b,
- 0x00000035,0x00000036,0x00000003,0x00090019,0x00000037,0x0000000a,0x00000001,0x00000000,
- 0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x00000038,0x00000000,0x00000037,
- 0x0004003b,0x00000038,0x00000039,0x00000000,0x0004002b,0x00000006,0x0000003c,0x00000003,
- 0x00040020,0x0000003d,0x00000009,0x00000006,0x00040017,0x00000040,0x00000006,0x00000003,
- 0x00040020,0x00000046,0x00000003,0x00000006,0x0004003b,0x00000046,0x00000047,0x00000003,
- 0x00090019,0x00000048,0x00000012,0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,
- 0x00000000,0x00040020,0x00000049,0x00000000,0x00000048,0x0004003b,0x00000049,0x0000004a,
- 0x00000000,0x00040017,0x00000052,0x00000012,0x00000004,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,
- 0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,
- 0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x0003003e,
- 0x00000009,0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
- 0x00000007,0x00000019,0x00000018,0x0004003d,0x00000007,0x0000001a,0x00000009,0x00050082,
- 0x00000007,0x0000001b,0x0000001a,0x00000019,0x0003003e,0x00000009,0x0000001b,0x00050041,
+ 0x00000008,0x00000023,0x0000002c,0x00050048,0x00000013,0x00000009,0x00000023,0x00000030,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x0000003e,0x0000000b,0x00000016,0x00040047,
+ 0x00000041,0x00000022,0x00000000,0x00040047,0x00000041,0x00000021,0x00000000,0x00040047,
+ 0x0000004f,0x0000000b,0x00001396,0x00040047,0x00000052,0x00000022,0x00000000,0x00040047,
+ 0x00000052,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000c001e,
+ 0x00000013,0x00000007,0x0000000e,0x0000000e,0x00000006,0x00000006,0x0000000a,0x00000006,
+ 0x00000012,0x00000012,0x00000012,0x00040020,0x00000014,0x00000009,0x00000013,0x0004003b,
+ 0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,0x00000000,0x00040020,
+ 0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001c,0x00000007,0x00040020,
+ 0x0000001d,0x00000009,0x00000012,0x00020014,0x00000020,0x0004002b,0x00000012,0x00000021,
+ 0x00000000,0x0004002b,0x00000006,0x0000002a,0x00000008,0x0004002b,0x00000006,0x00000035,
+ 0x00000009,0x00040020,0x0000003d,0x00000003,0x0000000a,0x0004003b,0x0000003d,0x0000003e,
+ 0x00000003,0x00090019,0x0000003f,0x0000000a,0x00000001,0x00000000,0x00000001,0x00000001,
+ 0x00000001,0x00000000,0x00040020,0x00000040,0x00000000,0x0000003f,0x0004003b,0x00000040,
+ 0x00000041,0x00000000,0x0004002b,0x00000006,0x00000044,0x00000003,0x00040020,0x00000045,
+ 0x00000009,0x00000006,0x00040017,0x00000048,0x00000006,0x00000003,0x00040020,0x0000004e,
+ 0x00000003,0x00000006,0x0004003b,0x0000004e,0x0000004f,0x00000003,0x00090019,0x00000050,
+ 0x00000012,0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,
+ 0x00000051,0x00000000,0x00000050,0x0004003b,0x00000051,0x00000052,0x00000000,0x00040017,
+ 0x0000005a,0x00000012,0x00000004,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,
+ 0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,
+ 0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,
+ 0x00000019,0x00000018,0x00050082,0x00000007,0x0000001b,0x00000011,0x00000019,0x00050041,
0x0000001d,0x0000001e,0x00000015,0x0000001c,0x0004003d,0x00000012,0x0000001f,0x0000001e,
0x000500ab,0x00000020,0x00000022,0x0000001f,0x00000021,0x000300f7,0x00000024,0x00000000,
- 0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050041,0x00000025,
- 0x00000026,0x00000009,0x00000021,0x0004003d,0x00000006,0x00000027,0x00000026,0x0004007e,
- 0x00000006,0x00000028,0x00000027,0x00050041,0x00000025,0x00000029,0x00000009,0x00000021,
- 0x0003003e,0x00000029,0x00000028,0x000200f9,0x00000024,0x000200f8,0x00000024,0x00050041,
- 0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,0x0000002b,
- 0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,0x00000000,
- 0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050041,0x00000025,
- 0x00000031,0x00000009,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,0x0004007e,
- 0x00000006,0x00000033,0x00000032,0x00050041,0x00000025,0x00000034,0x00000009,0x00000030,
- 0x0003003e,0x00000034,0x00000033,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x0004003d,
- 0x00000037,0x0000003a,0x00000039,0x0004003d,0x00000007,0x0000003b,0x00000009,0x00050041,
- 0x0000003d,0x0000003e,0x00000015,0x0000003c,0x0004003d,0x00000006,0x0000003f,0x0000003e,
- 0x00050051,0x00000006,0x00000041,0x0000003b,0x00000000,0x00050051,0x00000006,0x00000042,
- 0x0000003b,0x00000001,0x00060050,0x00000040,0x00000043,0x00000041,0x00000042,0x0000003f,
- 0x0007005f,0x0000000b,0x00000044,0x0000003a,0x00000043,0x00000040,0x00000016,0x00050051,
- 0x0000000a,0x00000045,0x00000044,0x00000000,0x0003003e,0x00000036,0x00000045,0x0004003d,
- 0x00000048,0x0000004b,0x0000004a,0x0004003d,0x00000007,0x0000004c,0x00000009,0x00050041,
- 0x0000003d,0x0000004d,0x00000015,0x0000003c,0x0004003d,0x00000006,0x0000004e,0x0000004d,
- 0x00050051,0x00000006,0x0000004f,0x0000004c,0x00000000,0x00050051,0x00000006,0x00000050,
- 0x0000004c,0x00000001,0x00060050,0x00000040,0x00000051,0x0000004f,0x00000050,0x0000004e,
- 0x0007005f,0x00000052,0x00000053,0x0000004b,0x00000051,0x00000040,0x00000016,0x00050051,
- 0x00000012,0x00000054,0x00000053,0x00000000,0x0004007c,0x00000006,0x00000055,0x00000054,
- 0x0003003e,0x00000047,0x00000055,0x000100fd,0x00010038
+ 0x000400fa,0x00000022,0x00000023,0x00000024,0x000200f8,0x00000023,0x00050051,0x00000006,
+ 0x00000027,0x0000001b,0x00000000,0x0004007e,0x00000006,0x00000028,0x00000027,0x00060052,
+ 0x00000007,0x00000060,0x00000028,0x0000001b,0x00000000,0x000200f9,0x00000024,0x000200f8,
+ 0x00000024,0x000700f5,0x00000007,0x00000064,0x0000001b,0x00000005,0x00000060,0x00000023,
+ 0x00050041,0x0000001d,0x0000002b,0x00000015,0x0000002a,0x0004003d,0x00000012,0x0000002c,
+ 0x0000002b,0x000500ab,0x00000020,0x0000002d,0x0000002c,0x00000021,0x000300f7,0x0000002f,
+ 0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050051,
+ 0x00000006,0x00000032,0x00000064,0x00000001,0x0004007e,0x00000006,0x00000033,0x00000032,
+ 0x00060052,0x00000007,0x00000063,0x00000033,0x00000064,0x00000001,0x000200f9,0x0000002f,
+ 0x000200f8,0x0000002f,0x000700f5,0x00000007,0x00000065,0x00000064,0x00000024,0x00000063,
+ 0x0000002e,0x00050041,0x0000001d,0x00000036,0x00000015,0x00000035,0x0004003d,0x00000012,
+ 0x00000037,0x00000036,0x000500ab,0x00000020,0x00000038,0x00000037,0x00000021,0x000300f7,
+ 0x0000003a,0x00000000,0x000400fa,0x00000038,0x00000039,0x0000003a,0x000200f8,0x00000039,
+ 0x0007004f,0x00000007,0x0000003c,0x00000065,0x00000065,0x00000001,0x00000000,0x000200f9,
+ 0x0000003a,0x000200f8,0x0000003a,0x000700f5,0x00000007,0x00000066,0x00000065,0x0000002f,
+ 0x0000003c,0x00000039,0x0004003d,0x0000003f,0x00000042,0x00000041,0x00050041,0x00000045,
+ 0x00000046,0x00000015,0x00000044,0x0004003d,0x00000006,0x00000047,0x00000046,0x00050051,
+ 0x00000006,0x00000049,0x00000066,0x00000000,0x00050051,0x00000006,0x0000004a,0x00000066,
+ 0x00000001,0x00060050,0x00000048,0x0000004b,0x00000049,0x0000004a,0x00000047,0x0007005f,
+ 0x0000000b,0x0000004c,0x00000042,0x0000004b,0x00000040,0x00000016,0x00050051,0x0000000a,
+ 0x0000004d,0x0000004c,0x00000000,0x0003003e,0x0000003e,0x0000004d,0x0004003d,0x00000050,
+ 0x00000053,0x00000052,0x0007005f,0x0000005a,0x0000005b,0x00000053,0x0000004b,0x00000040,
+ 0x00000016,0x00050051,0x00000012,0x0000005c,0x0000005b,0x00000000,0x0004007c,0x00000006,
+ 0x0000005d,0x0000005c,0x0003003e,0x0000004f,0x0000005d,0x000100fd,0x00010038
};
// Generated from:
@@ -105,6 +104,7 @@ const uint32_t kBlitResolve_frag_00000017[] = {
//
// bool flipX;
// bool flipY;
+// bool rotateXY;
// } params;
//
// layout(set = 0, binding = 0)uniform texture2DMSArray depth;
@@ -122,6 +122,8 @@ const uint32_t kBlitResolve_frag_00000017[] = {
// srcImageCoords . x = - srcImageCoords . x;
// if(params . flipY)
// srcImageCoords . y = - srcImageCoords . y;
+// if(params . rotateXY)
+// srcImageCoords . xy = srcImageCoords . yx;
//
// gl_FragDepth = texelFetch(depth, ivec3(srcImageCoords, params . srcLayer), 0). x;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc
index 469657b7145..7c15f4fc580 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc
@@ -1,141 +1,118 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolveStencilNoExport_comp_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x000000af,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000cb,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00060010,0x00000004,
0x00000011,0x00000008,0x00000008,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,0x6567616d,
- 0x726f6f43,0x00007364,0x00080005,0x0000000d,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00060005,0x0000001d,0x68737550,0x736e6f43,0x746e6174,0x00000073,
- 0x00050006,0x0000001d,0x00000000,0x7366666f,0x00007465,0x00050006,0x0000001d,0x00000001,
- 0x65727473,0x00686374,0x00070006,0x0000001d,0x00000002,0x53766e69,0x78456372,0x746e6574,
- 0x00000000,0x00060006,0x0000001d,0x00000003,0x4c637273,0x72657961,0x00000000,0x00060006,
- 0x0000001d,0x00000004,0x57637273,0x68746469,0x00000000,0x00060006,0x0000001d,0x00000005,
- 0x74696c62,0x61657241,0x00000000,0x00060006,0x0000001d,0x00000006,0x74736564,0x63746950,
- 0x00000068,0x00050006,0x0000001d,0x00000007,0x70696c66,0x00000058,0x00050006,0x0000001d,
- 0x00000008,0x70696c66,0x00000059,0x00040005,0x0000001f,0x61726170,0x0000736d,0x00060005,
- 0x00000033,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00040005,0x00000058,0x72694478,
- 0x00000000,0x00050005,0x0000005f,0x5374756f,0x636e6574,0x00736c69,0x00030005,0x00000060,
- 0x00000069,0x00060005,0x00000079,0x6e657473,0x566c6963,0x65756c61,0x00000000,0x00040005,
- 0x0000007c,0x6e657473,0x006c6963,0x00050005,0x00000080,0x74696c62,0x706d6153,0x0072656c,
- 0x00040005,0x0000009d,0x74736564,0x00000000,0x00060006,0x0000009d,0x00000000,0x74736564,
- 0x61746144,0x00000000,0x00030005,0x0000009f,0x00000000,0x00040047,0x0000000d,0x0000000b,
- 0x0000001c,0x00050048,0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001d,
- 0x00000001,0x00000023,0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,0x00000010,
- 0x00050048,0x0000001d,0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,0x00000004,
- 0x00000023,0x0000001c,0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,0x00050048,
- 0x0000001d,0x00000006,0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,0x00000023,
- 0x00000034,0x00050048,0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,0x0000001d,
- 0x00000002,0x00040047,0x0000007c,0x00000022,0x00000000,0x00040047,0x0000007c,0x00000021,
- 0x00000001,0x00040047,0x00000080,0x00000022,0x00000000,0x00040047,0x00000080,0x00000021,
- 0x00000002,0x00040047,0x0000009c,0x00000006,0x00000004,0x00050048,0x0000009d,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x0000009d,0x00000003,0x00040047,0x0000009f,0x00000022,
- 0x00000000,0x00040047,0x0000009f,0x00000021,0x00000000,0x00040047,0x000000ae,0x0000000b,
- 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040015,0x0000000a,0x00000020,0x00000000,0x00040017,0x0000000b,
- 0x0000000a,0x00000003,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,
- 0x0000000d,0x00000001,0x0004002b,0x0000000a,0x0000000e,0x00000000,0x00040020,0x0000000f,
- 0x00000001,0x0000000a,0x0004002b,0x0000000a,0x00000012,0x00000004,0x0004002b,0x0000000a,
- 0x00000015,0x00000001,0x00030016,0x0000001a,0x00000020,0x00040017,0x0000001b,0x0000001a,
- 0x00000002,0x00040017,0x0000001c,0x00000006,0x00000004,0x000b001e,0x0000001d,0x0000001b,
- 0x0000001b,0x0000001b,0x00000006,0x00000006,0x0000001c,0x00000006,0x0000000a,0x0000000a,
- 0x00040020,0x0000001e,0x00000009,0x0000001d,0x0004003b,0x0000001e,0x0000001f,0x00000009,
- 0x0004002b,0x00000006,0x00000020,0x00000005,0x00040020,0x00000021,0x00000009,0x0000001c,
- 0x00020014,0x00000026,0x00040017,0x00000027,0x00000026,0x00000002,0x00040020,0x00000032,
- 0x00000007,0x0000001b,0x0004002b,0x00000006,0x00000036,0x00000001,0x00040020,0x00000037,
- 0x00000009,0x0000001b,0x0004002b,0x00000006,0x0000003c,0x00000000,0x0004002b,0x00000006,
- 0x00000041,0x00000007,0x00040020,0x00000042,0x00000009,0x0000000a,0x00040020,0x00000048,
- 0x00000007,0x0000001a,0x0004002b,0x00000006,0x0000004d,0x00000008,0x00040020,0x00000057,
- 0x00000007,0x00000006,0x0004002b,0x00000006,0x0000005c,0xffffffff,0x00040020,0x0000005e,
- 0x00000007,0x0000000a,0x0004002b,0x00000006,0x00000067,0x00000004,0x0004002b,0x0000001a,
- 0x0000006b,0x00000000,0x00040020,0x00000071,0x00000009,0x00000006,0x00090019,0x0000007a,
- 0x0000000a,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,
- 0x0000007b,0x00000000,0x0000007a,0x0004003b,0x0000007b,0x0000007c,0x00000000,0x0002001a,
- 0x0000007e,0x00040020,0x0000007f,0x00000000,0x0000007e,0x0004003b,0x0000007f,0x00000080,
- 0x00000000,0x0003001b,0x00000082,0x0000007a,0x0004002b,0x00000006,0x00000085,0x00000002,
- 0x00040017,0x00000089,0x0000000a,0x00000004,0x0004002b,0x0000000a,0x0000008d,0x000000ff,
- 0x0003001d,0x0000009c,0x0000000a,0x0003001e,0x0000009d,0x0000009c,0x00040020,0x0000009e,
- 0x00000002,0x0000009d,0x0004003b,0x0000009e,0x0000009f,0x00000002,0x0004002b,0x00000006,
- 0x000000a2,0x00000006,0x00040020,0x000000ab,0x00000002,0x0000000a,0x0004002b,0x0000000a,
- 0x000000ad,0x00000008,0x0006002c,0x0000000b,0x000000ae,0x000000ad,0x000000ad,0x00000015,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000032,0x00000033,0x00000007,0x0004003b,
- 0x00000057,0x00000058,0x00000007,0x0004003b,0x0000005e,0x0000005f,0x00000007,0x0004003b,
- 0x00000057,0x00000060,0x00000007,0x0004003b,0x0000005e,0x00000079,0x00000007,0x00050041,
- 0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x00000011,0x00000010,
- 0x00050084,0x0000000a,0x00000013,0x00000011,0x00000012,0x0004007c,0x00000006,0x00000014,
- 0x00000013,0x00050041,0x0000000f,0x00000016,0x0000000d,0x00000015,0x0004003d,0x0000000a,
- 0x00000017,0x00000016,0x0004007c,0x00000006,0x00000018,0x00000017,0x00050050,0x00000007,
- 0x00000019,0x00000014,0x00000018,0x0003003e,0x00000009,0x00000019,0x00050041,0x00000021,
- 0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x00000023,0x00000022,0x0007004f,
- 0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,0x00000003,0x0004003d,0x00000007,
- 0x00000025,0x00000009,0x000500b3,0x00000027,0x00000028,0x00000024,0x00000025,0x0004009a,
- 0x00000026,0x00000029,0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,0x00000029,
- 0x0000002a,0x0000002b,0x000200f8,0x0000002a,0x000100fd,0x000200f8,0x0000002b,0x00050041,
- 0x00000021,0x0000002d,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x0000002e,0x0000002d,
- 0x0007004f,0x00000007,0x0000002f,0x0000002e,0x0000002e,0x00000000,0x00000001,0x0004003d,
- 0x00000007,0x00000030,0x00000009,0x00050080,0x00000007,0x00000031,0x00000030,0x0000002f,
- 0x0003003e,0x00000009,0x00000031,0x0004003d,0x00000007,0x00000034,0x00000009,0x0004006f,
- 0x0000001b,0x00000035,0x00000034,0x0003003e,0x00000033,0x00000035,0x00050041,0x00000037,
- 0x00000038,0x0000001f,0x00000036,0x0004003d,0x0000001b,0x00000039,0x00000038,0x0004003d,
- 0x0000001b,0x0000003a,0x00000033,0x00050085,0x0000001b,0x0000003b,0x0000003a,0x00000039,
- 0x0003003e,0x00000033,0x0000003b,0x00050041,0x00000037,0x0000003d,0x0000001f,0x0000003c,
- 0x0004003d,0x0000001b,0x0000003e,0x0000003d,0x0004003d,0x0000001b,0x0000003f,0x00000033,
- 0x00050083,0x0000001b,0x00000040,0x0000003f,0x0000003e,0x0003003e,0x00000033,0x00000040,
- 0x00050041,0x00000042,0x00000043,0x0000001f,0x00000041,0x0004003d,0x0000000a,0x00000044,
- 0x00000043,0x000500ab,0x00000026,0x00000045,0x00000044,0x0000000e,0x000300f7,0x00000047,
- 0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,0x00000046,0x00050041,
- 0x00000048,0x00000049,0x00000033,0x0000000e,0x0004003d,0x0000001a,0x0000004a,0x00000049,
- 0x0004007f,0x0000001a,0x0000004b,0x0000004a,0x00050041,0x00000048,0x0000004c,0x00000033,
- 0x0000000e,0x0003003e,0x0000004c,0x0000004b,0x000200f9,0x00000047,0x000200f8,0x00000047,
- 0x00050041,0x00000042,0x0000004e,0x0000001f,0x0000004d,0x0004003d,0x0000000a,0x0000004f,
- 0x0000004e,0x000500ab,0x00000026,0x00000050,0x0000004f,0x0000000e,0x000300f7,0x00000052,
- 0x00000000,0x000400fa,0x00000050,0x00000051,0x00000052,0x000200f8,0x00000051,0x00050041,
- 0x00000048,0x00000053,0x00000033,0x00000015,0x0004003d,0x0000001a,0x00000054,0x00000053,
- 0x0004007f,0x0000001a,0x00000055,0x00000054,0x00050041,0x00000048,0x00000056,0x00000033,
- 0x00000015,0x0003003e,0x00000056,0x00000055,0x000200f9,0x00000052,0x000200f8,0x00000052,
- 0x00050041,0x00000042,0x00000059,0x0000001f,0x00000041,0x0004003d,0x0000000a,0x0000005a,
- 0x00000059,0x000500ab,0x00000026,0x0000005b,0x0000005a,0x0000000e,0x000600a9,0x00000006,
- 0x0000005d,0x0000005b,0x0000005c,0x00000036,0x0003003e,0x00000058,0x0000005d,0x0003003e,
- 0x0000005f,0x0000000e,0x0003003e,0x00000060,0x0000003c,0x000200f9,0x00000061,0x000200f8,
- 0x00000061,0x000400f6,0x00000063,0x00000064,0x00000000,0x000200f9,0x00000065,0x000200f8,
- 0x00000065,0x0004003d,0x00000006,0x00000066,0x00000060,0x000500b1,0x00000026,0x00000068,
- 0x00000066,0x00000067,0x000400fa,0x00000068,0x00000062,0x00000063,0x000200f8,0x00000062,
- 0x00050041,0x00000048,0x00000069,0x00000033,0x0000000e,0x0004003d,0x0000001a,0x0000006a,
- 0x00000069,0x000500be,0x00000026,0x0000006c,0x0000006a,0x0000006b,0x000300f7,0x0000006e,
- 0x00000000,0x000400fa,0x0000006c,0x0000006d,0x0000006e,0x000200f8,0x0000006d,0x00050041,
- 0x00000048,0x0000006f,0x00000033,0x0000000e,0x0004003d,0x0000001a,0x00000070,0x0000006f,
- 0x00050041,0x00000071,0x00000072,0x0000001f,0x00000067,0x0004003d,0x00000006,0x00000073,
- 0x00000072,0x0004006f,0x0000001a,0x00000074,0x00000073,0x000500b8,0x00000026,0x00000075,
- 0x00000070,0x00000074,0x000200f9,0x0000006e,0x000200f8,0x0000006e,0x000700f5,0x00000026,
- 0x00000076,0x0000006c,0x00000062,0x00000075,0x0000006d,0x000300f7,0x00000078,0x00000000,
- 0x000400fa,0x00000076,0x00000077,0x00000078,0x000200f8,0x00000077,0x0004003d,0x0000007a,
- 0x0000007d,0x0000007c,0x0004003d,0x0000007e,0x00000081,0x00000080,0x00050056,0x00000082,
- 0x00000083,0x0000007d,0x00000081,0x0004003d,0x0000001b,0x00000084,0x00000033,0x00050041,
- 0x00000037,0x00000086,0x0000001f,0x00000085,0x0004003d,0x0000001b,0x00000087,0x00000086,
- 0x00050085,0x0000001b,0x00000088,0x00000084,0x00000087,0x00070058,0x00000089,0x0000008a,
- 0x00000083,0x00000088,0x00000002,0x0000006b,0x00050051,0x0000000a,0x0000008b,0x0000008a,
- 0x00000000,0x0003003e,0x00000079,0x0000008b,0x0004003d,0x0000000a,0x0000008c,0x00000079,
- 0x000500c7,0x0000000a,0x0000008e,0x0000008c,0x0000008d,0x0004003d,0x00000006,0x0000008f,
- 0x00000060,0x00050084,0x00000006,0x00000090,0x0000008f,0x0000004d,0x000500c4,0x0000000a,
- 0x00000091,0x0000008e,0x00000090,0x0004003d,0x0000000a,0x00000092,0x0000005f,0x000500c5,
- 0x0000000a,0x00000093,0x00000092,0x00000091,0x0003003e,0x0000005f,0x00000093,0x000200f9,
- 0x00000078,0x000200f8,0x00000078,0x0004003d,0x00000006,0x00000094,0x00000058,0x0004006f,
- 0x0000001a,0x00000095,0x00000094,0x00050041,0x00000048,0x00000096,0x00000033,0x0000000e,
- 0x0004003d,0x0000001a,0x00000097,0x00000096,0x00050081,0x0000001a,0x00000098,0x00000097,
- 0x00000095,0x00050041,0x00000048,0x00000099,0x00000033,0x0000000e,0x0003003e,0x00000099,
- 0x00000098,0x000200f9,0x00000064,0x000200f8,0x00000064,0x0004003d,0x00000006,0x0000009a,
- 0x00000060,0x00050080,0x00000006,0x0000009b,0x0000009a,0x00000036,0x0003003e,0x00000060,
- 0x0000009b,0x000200f9,0x00000061,0x000200f8,0x00000063,0x00050041,0x0000000f,0x000000a0,
- 0x0000000d,0x00000015,0x0004003d,0x0000000a,0x000000a1,0x000000a0,0x00050041,0x00000071,
- 0x000000a3,0x0000001f,0x000000a2,0x0004003d,0x00000006,0x000000a4,0x000000a3,0x0004007c,
- 0x0000000a,0x000000a5,0x000000a4,0x00050084,0x0000000a,0x000000a6,0x000000a1,0x000000a5,
- 0x00050041,0x0000000f,0x000000a7,0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x000000a8,
- 0x000000a7,0x00050080,0x0000000a,0x000000a9,0x000000a6,0x000000a8,0x0004003d,0x0000000a,
- 0x000000aa,0x0000005f,0x00060041,0x000000ab,0x000000ac,0x0000009f,0x0000003c,0x000000a9,
- 0x0003003e,0x000000ac,0x000000aa,0x000100fd,0x00010038
+ 0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000d,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00060005,0x0000001d,0x68737550,0x736e6f43,0x746e6174,
+ 0x00000073,0x00050006,0x0000001d,0x00000000,0x7366666f,0x00007465,0x00050006,0x0000001d,
+ 0x00000001,0x65727473,0x00686374,0x00070006,0x0000001d,0x00000002,0x53766e69,0x78456372,
+ 0x746e6574,0x00000000,0x00060006,0x0000001d,0x00000003,0x4c637273,0x72657961,0x00000000,
+ 0x00060006,0x0000001d,0x00000004,0x57637273,0x68746469,0x00000000,0x00060006,0x0000001d,
+ 0x00000005,0x74696c62,0x61657241,0x00000000,0x00060006,0x0000001d,0x00000006,0x74736564,
+ 0x63746950,0x00000068,0x00050006,0x0000001d,0x00000007,0x70696c66,0x00000058,0x00050006,
+ 0x0000001d,0x00000008,0x70696c66,0x00000059,0x00040005,0x0000001f,0x61726170,0x0000736d,
+ 0x00040005,0x0000007c,0x6e657473,0x006c6963,0x00050005,0x00000080,0x74696c62,0x706d6153,
+ 0x0072656c,0x00040005,0x0000009d,0x74736564,0x00000000,0x00060006,0x0000009d,0x00000000,
+ 0x74736564,0x61746144,0x00000000,0x00030005,0x0000009f,0x00000000,0x00040047,0x0000000d,
+ 0x0000000b,0x0000001c,0x00050048,0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,
+ 0x0000001d,0x00000001,0x00000023,0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,
+ 0x00000010,0x00050048,0x0000001d,0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,
+ 0x00000004,0x00000023,0x0000001c,0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,
+ 0x00050048,0x0000001d,0x00000006,0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,
+ 0x00000023,0x00000034,0x00050048,0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,
+ 0x0000001d,0x00000002,0x00040047,0x0000007c,0x00000022,0x00000000,0x00040047,0x0000007c,
+ 0x00000021,0x00000001,0x00040047,0x00000080,0x00000022,0x00000000,0x00040047,0x00000080,
+ 0x00000021,0x00000002,0x00040047,0x0000009c,0x00000006,0x00000004,0x00050048,0x0000009d,
+ 0x00000000,0x00000023,0x00000000,0x00030047,0x0000009d,0x00000003,0x00040047,0x0000009f,
+ 0x00000022,0x00000000,0x00040047,0x0000009f,0x00000021,0x00000000,0x00040047,0x000000ae,
+ 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
+ 0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040015,
+ 0x0000000a,0x00000020,0x00000000,0x00040017,0x0000000b,0x0000000a,0x00000003,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x0004002b,
+ 0x0000000a,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000001,0x0000000a,0x0004002b,
+ 0x0000000a,0x00000012,0x00000004,0x0004002b,0x0000000a,0x00000015,0x00000001,0x00030016,
+ 0x0000001a,0x00000020,0x00040017,0x0000001b,0x0000001a,0x00000002,0x00040017,0x0000001c,
+ 0x00000006,0x00000004,0x000b001e,0x0000001d,0x0000001b,0x0000001b,0x0000001b,0x00000006,
+ 0x00000006,0x0000001c,0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000001e,0x00000009,
+ 0x0000001d,0x0004003b,0x0000001e,0x0000001f,0x00000009,0x0004002b,0x00000006,0x00000020,
+ 0x00000005,0x00040020,0x00000021,0x00000009,0x0000001c,0x00020014,0x00000026,0x00040017,
+ 0x00000027,0x00000026,0x00000002,0x0004002b,0x00000006,0x00000036,0x00000001,0x00040020,
+ 0x00000037,0x00000009,0x0000001b,0x0004002b,0x00000006,0x0000003c,0x00000000,0x0004002b,
+ 0x00000006,0x00000041,0x00000007,0x00040020,0x00000042,0x00000009,0x0000000a,0x0004002b,
+ 0x00000006,0x0000004d,0x00000008,0x0004002b,0x00000006,0x0000005c,0xffffffff,0x0004002b,
+ 0x00000006,0x00000067,0x00000004,0x0004002b,0x0000001a,0x0000006b,0x00000000,0x00040020,
+ 0x00000071,0x00000009,0x00000006,0x00090019,0x0000007a,0x0000000a,0x00000001,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x0000007b,0x00000000,0x0000007a,
+ 0x0004003b,0x0000007b,0x0000007c,0x00000000,0x0002001a,0x0000007e,0x00040020,0x0000007f,
+ 0x00000000,0x0000007e,0x0004003b,0x0000007f,0x00000080,0x00000000,0x0003001b,0x00000082,
+ 0x0000007a,0x0004002b,0x00000006,0x00000085,0x00000002,0x00040017,0x00000089,0x0000000a,
+ 0x00000004,0x0004002b,0x0000000a,0x0000008d,0x000000ff,0x0003001d,0x0000009c,0x0000000a,
+ 0x0003001e,0x0000009d,0x0000009c,0x00040020,0x0000009e,0x00000002,0x0000009d,0x0004003b,
+ 0x0000009e,0x0000009f,0x00000002,0x0004002b,0x00000006,0x000000a2,0x00000006,0x00040020,
+ 0x000000ab,0x00000002,0x0000000a,0x0004002b,0x0000000a,0x000000ad,0x00000008,0x0006002c,
+ 0x0000000b,0x000000ae,0x000000ad,0x000000ad,0x00000015,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000000af,0x00000000,0x000300fb,
+ 0x0000000e,0x000000b0,0x000200f8,0x000000b0,0x00050041,0x0000000f,0x00000010,0x0000000d,
+ 0x0000000e,0x0004003d,0x0000000a,0x00000011,0x00000010,0x00050084,0x0000000a,0x00000013,
+ 0x00000011,0x00000012,0x0004007c,0x00000006,0x00000014,0x00000013,0x00050041,0x0000000f,
+ 0x00000016,0x0000000d,0x00000015,0x0004003d,0x0000000a,0x00000017,0x00000016,0x0004007c,
+ 0x00000006,0x00000018,0x00000017,0x00050050,0x00000007,0x00000019,0x00000014,0x00000018,
+ 0x00050041,0x00000021,0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x00000023,
+ 0x00000022,0x0007004f,0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,0x00000003,
+ 0x000500b3,0x00000027,0x00000028,0x00000024,0x00000019,0x0004009a,0x00000026,0x00000029,
+ 0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,0x00000029,0x0000002a,0x0000002b,
+ 0x000200f8,0x0000002a,0x000200f9,0x000000af,0x000200f8,0x0000002b,0x0007004f,0x00000007,
+ 0x0000002f,0x00000023,0x00000023,0x00000000,0x00000001,0x00050080,0x00000007,0x00000031,
+ 0x00000019,0x0000002f,0x0004006f,0x0000001b,0x00000035,0x00000031,0x00050041,0x00000037,
+ 0x00000038,0x0000001f,0x00000036,0x0004003d,0x0000001b,0x00000039,0x00000038,0x00050085,
+ 0x0000001b,0x0000003b,0x00000035,0x00000039,0x00050041,0x00000037,0x0000003d,0x0000001f,
+ 0x0000003c,0x0004003d,0x0000001b,0x0000003e,0x0000003d,0x00050083,0x0000001b,0x00000040,
+ 0x0000003b,0x0000003e,0x00050041,0x00000042,0x00000043,0x0000001f,0x00000041,0x0004003d,
+ 0x0000000a,0x00000044,0x00000043,0x000500ab,0x00000026,0x00000045,0x00000044,0x0000000e,
+ 0x000300f7,0x00000047,0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,
+ 0x00000046,0x00050051,0x0000001a,0x0000004a,0x00000040,0x00000000,0x0004007f,0x0000001a,
+ 0x0000004b,0x0000004a,0x00060052,0x0000001b,0x000000b7,0x0000004b,0x00000040,0x00000000,
+ 0x000200f9,0x00000047,0x000200f8,0x00000047,0x000700f5,0x0000001b,0x000000c0,0x00000040,
+ 0x0000002b,0x000000b7,0x00000046,0x00050041,0x00000042,0x0000004e,0x0000001f,0x0000004d,
+ 0x0004003d,0x0000000a,0x0000004f,0x0000004e,0x000500ab,0x00000026,0x00000050,0x0000004f,
+ 0x0000000e,0x000300f7,0x00000052,0x00000000,0x000400fa,0x00000050,0x00000051,0x00000052,
+ 0x000200f8,0x00000051,0x00050051,0x0000001a,0x00000054,0x000000c0,0x00000001,0x0004007f,
+ 0x0000001a,0x00000055,0x00000054,0x00060052,0x0000001b,0x000000ba,0x00000055,0x000000c0,
+ 0x00000001,0x000200f9,0x00000052,0x000200f8,0x00000052,0x000700f5,0x0000001b,0x000000c4,
+ 0x000000c0,0x00000047,0x000000ba,0x00000051,0x000600a9,0x00000006,0x0000005d,0x00000045,
+ 0x0000005c,0x00000036,0x000200f9,0x00000061,0x000200f8,0x00000061,0x000700f5,0x0000001b,
+ 0x000000c3,0x000000c4,0x00000052,0x000000bf,0x00000064,0x000700f5,0x0000000a,0x000000c2,
+ 0x0000000e,0x00000052,0x000000ca,0x00000064,0x000700f5,0x00000006,0x000000c1,0x0000003c,
+ 0x00000052,0x0000009b,0x00000064,0x000500b1,0x00000026,0x00000068,0x000000c1,0x00000067,
+ 0x000400f6,0x00000063,0x00000064,0x00000000,0x000400fa,0x00000068,0x00000062,0x00000063,
+ 0x000200f8,0x00000062,0x00050051,0x0000001a,0x0000006a,0x000000c3,0x00000000,0x000500be,
+ 0x00000026,0x0000006c,0x0000006a,0x0000006b,0x000300f7,0x0000006e,0x00000000,0x000400fa,
+ 0x0000006c,0x0000006d,0x0000006e,0x000200f8,0x0000006d,0x00050041,0x00000071,0x00000072,
+ 0x0000001f,0x00000067,0x0004003d,0x00000006,0x00000073,0x00000072,0x0004006f,0x0000001a,
+ 0x00000074,0x00000073,0x000500b8,0x00000026,0x00000075,0x0000006a,0x00000074,0x000200f9,
+ 0x0000006e,0x000200f8,0x0000006e,0x000700f5,0x00000026,0x00000076,0x0000006c,0x00000062,
+ 0x00000075,0x0000006d,0x000300f7,0x00000078,0x00000000,0x000400fa,0x00000076,0x00000077,
+ 0x00000078,0x000200f8,0x00000077,0x0004003d,0x0000007a,0x0000007d,0x0000007c,0x0004003d,
+ 0x0000007e,0x00000081,0x00000080,0x00050056,0x00000082,0x00000083,0x0000007d,0x00000081,
+ 0x00050041,0x00000037,0x00000086,0x0000001f,0x00000085,0x0004003d,0x0000001b,0x00000087,
+ 0x00000086,0x00050085,0x0000001b,0x00000088,0x000000c3,0x00000087,0x00070058,0x00000089,
+ 0x0000008a,0x00000083,0x00000088,0x00000002,0x0000006b,0x00050051,0x0000000a,0x0000008b,
+ 0x0000008a,0x00000000,0x000500c7,0x0000000a,0x0000008e,0x0000008b,0x0000008d,0x00050084,
+ 0x00000006,0x00000090,0x000000c1,0x0000004d,0x000500c4,0x0000000a,0x00000091,0x0000008e,
+ 0x00000090,0x000500c5,0x0000000a,0x00000093,0x000000c2,0x00000091,0x000200f9,0x00000078,
+ 0x000200f8,0x00000078,0x000700f5,0x0000000a,0x000000ca,0x000000c2,0x0000006e,0x00000093,
+ 0x00000077,0x0004006f,0x0000001a,0x00000095,0x0000005d,0x00050081,0x0000001a,0x00000098,
+ 0x0000006a,0x00000095,0x00060052,0x0000001b,0x000000bf,0x00000098,0x000000c3,0x00000000,
+ 0x000200f9,0x00000064,0x000200f8,0x00000064,0x00050080,0x00000006,0x0000009b,0x000000c1,
+ 0x00000036,0x000200f9,0x00000061,0x000200f8,0x00000063,0x00050041,0x00000071,0x000000a3,
+ 0x0000001f,0x000000a2,0x0004003d,0x00000006,0x000000a4,0x000000a3,0x0004007c,0x0000000a,
+ 0x000000a5,0x000000a4,0x00050084,0x0000000a,0x000000a6,0x00000017,0x000000a5,0x00050080,
+ 0x0000000a,0x000000a9,0x000000a6,0x00000011,0x00060041,0x000000ab,0x000000ac,0x0000009f,
+ 0x0000003c,0x000000a9,0x0003003e,0x000000ac,0x000000c2,0x000200f9,0x000000af,0x000200f8,
+ 0x000000af,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc
index c5694765797..8a14fb1f29b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc
@@ -1,146 +1,122 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolveStencilNoExport_comp_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x000000b7,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000d3,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00060010,0x00000004,
0x00000011,0x00000008,0x00000008,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,0x6567616d,
- 0x726f6f43,0x00007364,0x00080005,0x0000000d,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00060005,0x0000001d,0x68737550,0x736e6f43,0x746e6174,0x00000073,
- 0x00050006,0x0000001d,0x00000000,0x7366666f,0x00007465,0x00050006,0x0000001d,0x00000001,
- 0x65727473,0x00686374,0x00070006,0x0000001d,0x00000002,0x53766e69,0x78456372,0x746e6574,
- 0x00000000,0x00060006,0x0000001d,0x00000003,0x4c637273,0x72657961,0x00000000,0x00060006,
- 0x0000001d,0x00000004,0x57637273,0x68746469,0x00000000,0x00060006,0x0000001d,0x00000005,
- 0x74696c62,0x61657241,0x00000000,0x00060006,0x0000001d,0x00000006,0x74736564,0x63746950,
- 0x00000068,0x00050006,0x0000001d,0x00000007,0x70696c66,0x00000058,0x00050006,0x0000001d,
- 0x00000008,0x70696c66,0x00000059,0x00040005,0x0000001f,0x61726170,0x0000736d,0x00060005,
- 0x00000033,0x49637273,0x6567616d,0x726f6f43,0x00007364,0x00040005,0x00000058,0x72694478,
- 0x00000000,0x00050005,0x0000005f,0x5374756f,0x636e6574,0x00736c69,0x00030005,0x00000060,
- 0x00000069,0x00060005,0x00000079,0x6e657473,0x566c6963,0x65756c61,0x00000000,0x00040005,
- 0x0000007c,0x6e657473,0x006c6963,0x00050005,0x00000080,0x74696c62,0x706d6153,0x0072656c,
- 0x00040005,0x000000a5,0x74736564,0x00000000,0x00060006,0x000000a5,0x00000000,0x74736564,
- 0x61746144,0x00000000,0x00030005,0x000000a7,0x00000000,0x00040047,0x0000000d,0x0000000b,
- 0x0000001c,0x00050048,0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001d,
- 0x00000001,0x00000023,0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,0x00000010,
- 0x00050048,0x0000001d,0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,0x00000004,
- 0x00000023,0x0000001c,0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,0x00050048,
- 0x0000001d,0x00000006,0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,0x00000023,
- 0x00000034,0x00050048,0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,0x0000001d,
- 0x00000002,0x00040047,0x0000007c,0x00000022,0x00000000,0x00040047,0x0000007c,0x00000021,
- 0x00000001,0x00040047,0x00000080,0x00000022,0x00000000,0x00040047,0x00000080,0x00000021,
- 0x00000002,0x00040047,0x000000a4,0x00000006,0x00000004,0x00050048,0x000000a5,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x000000a5,0x00000003,0x00040047,0x000000a7,0x00000022,
- 0x00000000,0x00040047,0x000000a7,0x00000021,0x00000000,0x00040047,0x000000b6,0x0000000b,
- 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00040015,0x0000000a,0x00000020,0x00000000,0x00040017,0x0000000b,
- 0x0000000a,0x00000003,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,
- 0x0000000d,0x00000001,0x0004002b,0x0000000a,0x0000000e,0x00000000,0x00040020,0x0000000f,
- 0x00000001,0x0000000a,0x0004002b,0x0000000a,0x00000012,0x00000004,0x0004002b,0x0000000a,
- 0x00000015,0x00000001,0x00030016,0x0000001a,0x00000020,0x00040017,0x0000001b,0x0000001a,
- 0x00000002,0x00040017,0x0000001c,0x00000006,0x00000004,0x000b001e,0x0000001d,0x0000001b,
- 0x0000001b,0x0000001b,0x00000006,0x00000006,0x0000001c,0x00000006,0x0000000a,0x0000000a,
- 0x00040020,0x0000001e,0x00000009,0x0000001d,0x0004003b,0x0000001e,0x0000001f,0x00000009,
- 0x0004002b,0x00000006,0x00000020,0x00000005,0x00040020,0x00000021,0x00000009,0x0000001c,
- 0x00020014,0x00000026,0x00040017,0x00000027,0x00000026,0x00000002,0x00040020,0x00000032,
- 0x00000007,0x0000001b,0x0004002b,0x00000006,0x00000036,0x00000001,0x00040020,0x00000037,
- 0x00000009,0x0000001b,0x0004002b,0x00000006,0x0000003c,0x00000000,0x0004002b,0x00000006,
- 0x00000041,0x00000007,0x00040020,0x00000042,0x00000009,0x0000000a,0x00040020,0x00000048,
- 0x00000007,0x0000001a,0x0004002b,0x00000006,0x0000004d,0x00000008,0x00040020,0x00000057,
- 0x00000007,0x00000006,0x0004002b,0x00000006,0x0000005c,0xffffffff,0x00040020,0x0000005e,
- 0x00000007,0x0000000a,0x0004002b,0x00000006,0x00000067,0x00000004,0x0004002b,0x0000001a,
- 0x0000006b,0x00000000,0x00040020,0x00000071,0x00000009,0x00000006,0x00090019,0x0000007a,
- 0x0000000a,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,
- 0x0000007b,0x00000000,0x0000007a,0x0004003b,0x0000007b,0x0000007c,0x00000000,0x0002001a,
- 0x0000007e,0x00040020,0x0000007f,0x00000000,0x0000007e,0x0004003b,0x0000007f,0x00000080,
- 0x00000000,0x0003001b,0x00000082,0x0000007a,0x0004002b,0x00000006,0x00000085,0x00000002,
- 0x0004002b,0x00000006,0x00000089,0x00000003,0x00040017,0x0000008d,0x0000001a,0x00000003,
- 0x00040017,0x00000091,0x0000000a,0x00000004,0x0004002b,0x0000000a,0x00000095,0x000000ff,
- 0x0003001d,0x000000a4,0x0000000a,0x0003001e,0x000000a5,0x000000a4,0x00040020,0x000000a6,
- 0x00000002,0x000000a5,0x0004003b,0x000000a6,0x000000a7,0x00000002,0x0004002b,0x00000006,
- 0x000000aa,0x00000006,0x00040020,0x000000b3,0x00000002,0x0000000a,0x0004002b,0x0000000a,
- 0x000000b5,0x00000008,0x0006002c,0x0000000b,0x000000b6,0x000000b5,0x000000b5,0x00000015,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000032,0x00000033,0x00000007,0x0004003b,
- 0x00000057,0x00000058,0x00000007,0x0004003b,0x0000005e,0x0000005f,0x00000007,0x0004003b,
- 0x00000057,0x00000060,0x00000007,0x0004003b,0x0000005e,0x00000079,0x00000007,0x00050041,
- 0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x00000011,0x00000010,
- 0x00050084,0x0000000a,0x00000013,0x00000011,0x00000012,0x0004007c,0x00000006,0x00000014,
- 0x00000013,0x00050041,0x0000000f,0x00000016,0x0000000d,0x00000015,0x0004003d,0x0000000a,
- 0x00000017,0x00000016,0x0004007c,0x00000006,0x00000018,0x00000017,0x00050050,0x00000007,
- 0x00000019,0x00000014,0x00000018,0x0003003e,0x00000009,0x00000019,0x00050041,0x00000021,
- 0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x00000023,0x00000022,0x0007004f,
- 0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,0x00000003,0x0004003d,0x00000007,
- 0x00000025,0x00000009,0x000500b3,0x00000027,0x00000028,0x00000024,0x00000025,0x0004009a,
- 0x00000026,0x00000029,0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,0x00000029,
- 0x0000002a,0x0000002b,0x000200f8,0x0000002a,0x000100fd,0x000200f8,0x0000002b,0x00050041,
- 0x00000021,0x0000002d,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x0000002e,0x0000002d,
- 0x0007004f,0x00000007,0x0000002f,0x0000002e,0x0000002e,0x00000000,0x00000001,0x0004003d,
- 0x00000007,0x00000030,0x00000009,0x00050080,0x00000007,0x00000031,0x00000030,0x0000002f,
- 0x0003003e,0x00000009,0x00000031,0x0004003d,0x00000007,0x00000034,0x00000009,0x0004006f,
- 0x0000001b,0x00000035,0x00000034,0x0003003e,0x00000033,0x00000035,0x00050041,0x00000037,
- 0x00000038,0x0000001f,0x00000036,0x0004003d,0x0000001b,0x00000039,0x00000038,0x0004003d,
- 0x0000001b,0x0000003a,0x00000033,0x00050085,0x0000001b,0x0000003b,0x0000003a,0x00000039,
- 0x0003003e,0x00000033,0x0000003b,0x00050041,0x00000037,0x0000003d,0x0000001f,0x0000003c,
- 0x0004003d,0x0000001b,0x0000003e,0x0000003d,0x0004003d,0x0000001b,0x0000003f,0x00000033,
- 0x00050083,0x0000001b,0x00000040,0x0000003f,0x0000003e,0x0003003e,0x00000033,0x00000040,
- 0x00050041,0x00000042,0x00000043,0x0000001f,0x00000041,0x0004003d,0x0000000a,0x00000044,
- 0x00000043,0x000500ab,0x00000026,0x00000045,0x00000044,0x0000000e,0x000300f7,0x00000047,
- 0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,0x00000046,0x00050041,
- 0x00000048,0x00000049,0x00000033,0x0000000e,0x0004003d,0x0000001a,0x0000004a,0x00000049,
- 0x0004007f,0x0000001a,0x0000004b,0x0000004a,0x00050041,0x00000048,0x0000004c,0x00000033,
- 0x0000000e,0x0003003e,0x0000004c,0x0000004b,0x000200f9,0x00000047,0x000200f8,0x00000047,
- 0x00050041,0x00000042,0x0000004e,0x0000001f,0x0000004d,0x0004003d,0x0000000a,0x0000004f,
- 0x0000004e,0x000500ab,0x00000026,0x00000050,0x0000004f,0x0000000e,0x000300f7,0x00000052,
- 0x00000000,0x000400fa,0x00000050,0x00000051,0x00000052,0x000200f8,0x00000051,0x00050041,
- 0x00000048,0x00000053,0x00000033,0x00000015,0x0004003d,0x0000001a,0x00000054,0x00000053,
- 0x0004007f,0x0000001a,0x00000055,0x00000054,0x00050041,0x00000048,0x00000056,0x00000033,
- 0x00000015,0x0003003e,0x00000056,0x00000055,0x000200f9,0x00000052,0x000200f8,0x00000052,
- 0x00050041,0x00000042,0x00000059,0x0000001f,0x00000041,0x0004003d,0x0000000a,0x0000005a,
- 0x00000059,0x000500ab,0x00000026,0x0000005b,0x0000005a,0x0000000e,0x000600a9,0x00000006,
- 0x0000005d,0x0000005b,0x0000005c,0x00000036,0x0003003e,0x00000058,0x0000005d,0x0003003e,
- 0x0000005f,0x0000000e,0x0003003e,0x00000060,0x0000003c,0x000200f9,0x00000061,0x000200f8,
- 0x00000061,0x000400f6,0x00000063,0x00000064,0x00000000,0x000200f9,0x00000065,0x000200f8,
- 0x00000065,0x0004003d,0x00000006,0x00000066,0x00000060,0x000500b1,0x00000026,0x00000068,
- 0x00000066,0x00000067,0x000400fa,0x00000068,0x00000062,0x00000063,0x000200f8,0x00000062,
- 0x00050041,0x00000048,0x00000069,0x00000033,0x0000000e,0x0004003d,0x0000001a,0x0000006a,
- 0x00000069,0x000500be,0x00000026,0x0000006c,0x0000006a,0x0000006b,0x000300f7,0x0000006e,
- 0x00000000,0x000400fa,0x0000006c,0x0000006d,0x0000006e,0x000200f8,0x0000006d,0x00050041,
- 0x00000048,0x0000006f,0x00000033,0x0000000e,0x0004003d,0x0000001a,0x00000070,0x0000006f,
- 0x00050041,0x00000071,0x00000072,0x0000001f,0x00000067,0x0004003d,0x00000006,0x00000073,
- 0x00000072,0x0004006f,0x0000001a,0x00000074,0x00000073,0x000500b8,0x00000026,0x00000075,
- 0x00000070,0x00000074,0x000200f9,0x0000006e,0x000200f8,0x0000006e,0x000700f5,0x00000026,
- 0x00000076,0x0000006c,0x00000062,0x00000075,0x0000006d,0x000300f7,0x00000078,0x00000000,
- 0x000400fa,0x00000076,0x00000077,0x00000078,0x000200f8,0x00000077,0x0004003d,0x0000007a,
- 0x0000007d,0x0000007c,0x0004003d,0x0000007e,0x00000081,0x00000080,0x00050056,0x00000082,
- 0x00000083,0x0000007d,0x00000081,0x0004003d,0x0000001b,0x00000084,0x00000033,0x00050041,
- 0x00000037,0x00000086,0x0000001f,0x00000085,0x0004003d,0x0000001b,0x00000087,0x00000086,
- 0x00050085,0x0000001b,0x00000088,0x00000084,0x00000087,0x00050041,0x00000071,0x0000008a,
- 0x0000001f,0x00000089,0x0004003d,0x00000006,0x0000008b,0x0000008a,0x0004006f,0x0000001a,
- 0x0000008c,0x0000008b,0x00050051,0x0000001a,0x0000008e,0x00000088,0x00000000,0x00050051,
- 0x0000001a,0x0000008f,0x00000088,0x00000001,0x00060050,0x0000008d,0x00000090,0x0000008e,
- 0x0000008f,0x0000008c,0x00070058,0x00000091,0x00000092,0x00000083,0x00000090,0x00000002,
- 0x0000006b,0x00050051,0x0000000a,0x00000093,0x00000092,0x00000000,0x0003003e,0x00000079,
- 0x00000093,0x0004003d,0x0000000a,0x00000094,0x00000079,0x000500c7,0x0000000a,0x00000096,
- 0x00000094,0x00000095,0x0004003d,0x00000006,0x00000097,0x00000060,0x00050084,0x00000006,
- 0x00000098,0x00000097,0x0000004d,0x000500c4,0x0000000a,0x00000099,0x00000096,0x00000098,
- 0x0004003d,0x0000000a,0x0000009a,0x0000005f,0x000500c5,0x0000000a,0x0000009b,0x0000009a,
- 0x00000099,0x0003003e,0x0000005f,0x0000009b,0x000200f9,0x00000078,0x000200f8,0x00000078,
- 0x0004003d,0x00000006,0x0000009c,0x00000058,0x0004006f,0x0000001a,0x0000009d,0x0000009c,
- 0x00050041,0x00000048,0x0000009e,0x00000033,0x0000000e,0x0004003d,0x0000001a,0x0000009f,
- 0x0000009e,0x00050081,0x0000001a,0x000000a0,0x0000009f,0x0000009d,0x00050041,0x00000048,
- 0x000000a1,0x00000033,0x0000000e,0x0003003e,0x000000a1,0x000000a0,0x000200f9,0x00000064,
- 0x000200f8,0x00000064,0x0004003d,0x00000006,0x000000a2,0x00000060,0x00050080,0x00000006,
- 0x000000a3,0x000000a2,0x00000036,0x0003003e,0x00000060,0x000000a3,0x000200f9,0x00000061,
- 0x000200f8,0x00000063,0x00050041,0x0000000f,0x000000a8,0x0000000d,0x00000015,0x0004003d,
- 0x0000000a,0x000000a9,0x000000a8,0x00050041,0x00000071,0x000000ab,0x0000001f,0x000000aa,
- 0x0004003d,0x00000006,0x000000ac,0x000000ab,0x0004007c,0x0000000a,0x000000ad,0x000000ac,
- 0x00050084,0x0000000a,0x000000ae,0x000000a9,0x000000ad,0x00050041,0x0000000f,0x000000af,
- 0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x000000b0,0x000000af,0x00050080,0x0000000a,
- 0x000000b1,0x000000ae,0x000000b0,0x0004003d,0x0000000a,0x000000b2,0x0000005f,0x00060041,
- 0x000000b3,0x000000b4,0x000000a7,0x0000003c,0x000000b1,0x0003003e,0x000000b4,0x000000b2,
- 0x000100fd,0x00010038
+ 0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000d,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00060005,0x0000001d,0x68737550,0x736e6f43,0x746e6174,
+ 0x00000073,0x00050006,0x0000001d,0x00000000,0x7366666f,0x00007465,0x00050006,0x0000001d,
+ 0x00000001,0x65727473,0x00686374,0x00070006,0x0000001d,0x00000002,0x53766e69,0x78456372,
+ 0x746e6574,0x00000000,0x00060006,0x0000001d,0x00000003,0x4c637273,0x72657961,0x00000000,
+ 0x00060006,0x0000001d,0x00000004,0x57637273,0x68746469,0x00000000,0x00060006,0x0000001d,
+ 0x00000005,0x74696c62,0x61657241,0x00000000,0x00060006,0x0000001d,0x00000006,0x74736564,
+ 0x63746950,0x00000068,0x00050006,0x0000001d,0x00000007,0x70696c66,0x00000058,0x00050006,
+ 0x0000001d,0x00000008,0x70696c66,0x00000059,0x00040005,0x0000001f,0x61726170,0x0000736d,
+ 0x00040005,0x0000007c,0x6e657473,0x006c6963,0x00050005,0x00000080,0x74696c62,0x706d6153,
+ 0x0072656c,0x00040005,0x000000a5,0x74736564,0x00000000,0x00060006,0x000000a5,0x00000000,
+ 0x74736564,0x61746144,0x00000000,0x00030005,0x000000a7,0x00000000,0x00040047,0x0000000d,
+ 0x0000000b,0x0000001c,0x00050048,0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,
+ 0x0000001d,0x00000001,0x00000023,0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,
+ 0x00000010,0x00050048,0x0000001d,0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,
+ 0x00000004,0x00000023,0x0000001c,0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,
+ 0x00050048,0x0000001d,0x00000006,0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,
+ 0x00000023,0x00000034,0x00050048,0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,
+ 0x0000001d,0x00000002,0x00040047,0x0000007c,0x00000022,0x00000000,0x00040047,0x0000007c,
+ 0x00000021,0x00000001,0x00040047,0x00000080,0x00000022,0x00000000,0x00040047,0x00000080,
+ 0x00000021,0x00000002,0x00040047,0x000000a4,0x00000006,0x00000004,0x00050048,0x000000a5,
+ 0x00000000,0x00000023,0x00000000,0x00030047,0x000000a5,0x00000003,0x00040047,0x000000a7,
+ 0x00000022,0x00000000,0x00040047,0x000000a7,0x00000021,0x00000000,0x00040047,0x000000b6,
+ 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
+ 0x00000006,0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040015,
+ 0x0000000a,0x00000020,0x00000000,0x00040017,0x0000000b,0x0000000a,0x00000003,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x0004002b,
+ 0x0000000a,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000001,0x0000000a,0x0004002b,
+ 0x0000000a,0x00000012,0x00000004,0x0004002b,0x0000000a,0x00000015,0x00000001,0x00030016,
+ 0x0000001a,0x00000020,0x00040017,0x0000001b,0x0000001a,0x00000002,0x00040017,0x0000001c,
+ 0x00000006,0x00000004,0x000b001e,0x0000001d,0x0000001b,0x0000001b,0x0000001b,0x00000006,
+ 0x00000006,0x0000001c,0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000001e,0x00000009,
+ 0x0000001d,0x0004003b,0x0000001e,0x0000001f,0x00000009,0x0004002b,0x00000006,0x00000020,
+ 0x00000005,0x00040020,0x00000021,0x00000009,0x0000001c,0x00020014,0x00000026,0x00040017,
+ 0x00000027,0x00000026,0x00000002,0x0004002b,0x00000006,0x00000036,0x00000001,0x00040020,
+ 0x00000037,0x00000009,0x0000001b,0x0004002b,0x00000006,0x0000003c,0x00000000,0x0004002b,
+ 0x00000006,0x00000041,0x00000007,0x00040020,0x00000042,0x00000009,0x0000000a,0x0004002b,
+ 0x00000006,0x0000004d,0x00000008,0x0004002b,0x00000006,0x0000005c,0xffffffff,0x0004002b,
+ 0x00000006,0x00000067,0x00000004,0x0004002b,0x0000001a,0x0000006b,0x00000000,0x00040020,
+ 0x00000071,0x00000009,0x00000006,0x00090019,0x0000007a,0x0000000a,0x00000001,0x00000000,
+ 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x0000007b,0x00000000,0x0000007a,
+ 0x0004003b,0x0000007b,0x0000007c,0x00000000,0x0002001a,0x0000007e,0x00040020,0x0000007f,
+ 0x00000000,0x0000007e,0x0004003b,0x0000007f,0x00000080,0x00000000,0x0003001b,0x00000082,
+ 0x0000007a,0x0004002b,0x00000006,0x00000085,0x00000002,0x0004002b,0x00000006,0x00000089,
+ 0x00000003,0x00040017,0x0000008d,0x0000001a,0x00000003,0x00040017,0x00000091,0x0000000a,
+ 0x00000004,0x0004002b,0x0000000a,0x00000095,0x000000ff,0x0003001d,0x000000a4,0x0000000a,
+ 0x0003001e,0x000000a5,0x000000a4,0x00040020,0x000000a6,0x00000002,0x000000a5,0x0004003b,
+ 0x000000a6,0x000000a7,0x00000002,0x0004002b,0x00000006,0x000000aa,0x00000006,0x00040020,
+ 0x000000b3,0x00000002,0x0000000a,0x0004002b,0x0000000a,0x000000b5,0x00000008,0x0006002c,
+ 0x0000000b,0x000000b6,0x000000b5,0x000000b5,0x00000015,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000000b7,0x00000000,0x000300fb,
+ 0x0000000e,0x000000b8,0x000200f8,0x000000b8,0x00050041,0x0000000f,0x00000010,0x0000000d,
+ 0x0000000e,0x0004003d,0x0000000a,0x00000011,0x00000010,0x00050084,0x0000000a,0x00000013,
+ 0x00000011,0x00000012,0x0004007c,0x00000006,0x00000014,0x00000013,0x00050041,0x0000000f,
+ 0x00000016,0x0000000d,0x00000015,0x0004003d,0x0000000a,0x00000017,0x00000016,0x0004007c,
+ 0x00000006,0x00000018,0x00000017,0x00050050,0x00000007,0x00000019,0x00000014,0x00000018,
+ 0x00050041,0x00000021,0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x00000023,
+ 0x00000022,0x0007004f,0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,0x00000003,
+ 0x000500b3,0x00000027,0x00000028,0x00000024,0x00000019,0x0004009a,0x00000026,0x00000029,
+ 0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,0x00000029,0x0000002a,0x0000002b,
+ 0x000200f8,0x0000002a,0x000200f9,0x000000b7,0x000200f8,0x0000002b,0x0007004f,0x00000007,
+ 0x0000002f,0x00000023,0x00000023,0x00000000,0x00000001,0x00050080,0x00000007,0x00000031,
+ 0x00000019,0x0000002f,0x0004006f,0x0000001b,0x00000035,0x00000031,0x00050041,0x00000037,
+ 0x00000038,0x0000001f,0x00000036,0x0004003d,0x0000001b,0x00000039,0x00000038,0x00050085,
+ 0x0000001b,0x0000003b,0x00000035,0x00000039,0x00050041,0x00000037,0x0000003d,0x0000001f,
+ 0x0000003c,0x0004003d,0x0000001b,0x0000003e,0x0000003d,0x00050083,0x0000001b,0x00000040,
+ 0x0000003b,0x0000003e,0x00050041,0x00000042,0x00000043,0x0000001f,0x00000041,0x0004003d,
+ 0x0000000a,0x00000044,0x00000043,0x000500ab,0x00000026,0x00000045,0x00000044,0x0000000e,
+ 0x000300f7,0x00000047,0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,
+ 0x00000046,0x00050051,0x0000001a,0x0000004a,0x00000040,0x00000000,0x0004007f,0x0000001a,
+ 0x0000004b,0x0000004a,0x00060052,0x0000001b,0x000000bf,0x0000004b,0x00000040,0x00000000,
+ 0x000200f9,0x00000047,0x000200f8,0x00000047,0x000700f5,0x0000001b,0x000000c8,0x00000040,
+ 0x0000002b,0x000000bf,0x00000046,0x00050041,0x00000042,0x0000004e,0x0000001f,0x0000004d,
+ 0x0004003d,0x0000000a,0x0000004f,0x0000004e,0x000500ab,0x00000026,0x00000050,0x0000004f,
+ 0x0000000e,0x000300f7,0x00000052,0x00000000,0x000400fa,0x00000050,0x00000051,0x00000052,
+ 0x000200f8,0x00000051,0x00050051,0x0000001a,0x00000054,0x000000c8,0x00000001,0x0004007f,
+ 0x0000001a,0x00000055,0x00000054,0x00060052,0x0000001b,0x000000c2,0x00000055,0x000000c8,
+ 0x00000001,0x000200f9,0x00000052,0x000200f8,0x00000052,0x000700f5,0x0000001b,0x000000cc,
+ 0x000000c8,0x00000047,0x000000c2,0x00000051,0x000600a9,0x00000006,0x0000005d,0x00000045,
+ 0x0000005c,0x00000036,0x000200f9,0x00000061,0x000200f8,0x00000061,0x000700f5,0x0000001b,
+ 0x000000cb,0x000000cc,0x00000052,0x000000c7,0x00000064,0x000700f5,0x0000000a,0x000000ca,
+ 0x0000000e,0x00000052,0x000000d2,0x00000064,0x000700f5,0x00000006,0x000000c9,0x0000003c,
+ 0x00000052,0x000000a3,0x00000064,0x000500b1,0x00000026,0x00000068,0x000000c9,0x00000067,
+ 0x000400f6,0x00000063,0x00000064,0x00000000,0x000400fa,0x00000068,0x00000062,0x00000063,
+ 0x000200f8,0x00000062,0x00050051,0x0000001a,0x0000006a,0x000000cb,0x00000000,0x000500be,
+ 0x00000026,0x0000006c,0x0000006a,0x0000006b,0x000300f7,0x0000006e,0x00000000,0x000400fa,
+ 0x0000006c,0x0000006d,0x0000006e,0x000200f8,0x0000006d,0x00050041,0x00000071,0x00000072,
+ 0x0000001f,0x00000067,0x0004003d,0x00000006,0x00000073,0x00000072,0x0004006f,0x0000001a,
+ 0x00000074,0x00000073,0x000500b8,0x00000026,0x00000075,0x0000006a,0x00000074,0x000200f9,
+ 0x0000006e,0x000200f8,0x0000006e,0x000700f5,0x00000026,0x00000076,0x0000006c,0x00000062,
+ 0x00000075,0x0000006d,0x000300f7,0x00000078,0x00000000,0x000400fa,0x00000076,0x00000077,
+ 0x00000078,0x000200f8,0x00000077,0x0004003d,0x0000007a,0x0000007d,0x0000007c,0x0004003d,
+ 0x0000007e,0x00000081,0x00000080,0x00050056,0x00000082,0x00000083,0x0000007d,0x00000081,
+ 0x00050041,0x00000037,0x00000086,0x0000001f,0x00000085,0x0004003d,0x0000001b,0x00000087,
+ 0x00000086,0x00050085,0x0000001b,0x00000088,0x000000cb,0x00000087,0x00050041,0x00000071,
+ 0x0000008a,0x0000001f,0x00000089,0x0004003d,0x00000006,0x0000008b,0x0000008a,0x0004006f,
+ 0x0000001a,0x0000008c,0x0000008b,0x00050051,0x0000001a,0x0000008e,0x00000088,0x00000000,
+ 0x00050051,0x0000001a,0x0000008f,0x00000088,0x00000001,0x00060050,0x0000008d,0x00000090,
+ 0x0000008e,0x0000008f,0x0000008c,0x00070058,0x00000091,0x00000092,0x00000083,0x00000090,
+ 0x00000002,0x0000006b,0x00050051,0x0000000a,0x00000093,0x00000092,0x00000000,0x000500c7,
+ 0x0000000a,0x00000096,0x00000093,0x00000095,0x00050084,0x00000006,0x00000098,0x000000c9,
+ 0x0000004d,0x000500c4,0x0000000a,0x00000099,0x00000096,0x00000098,0x000500c5,0x0000000a,
+ 0x0000009b,0x000000ca,0x00000099,0x000200f9,0x00000078,0x000200f8,0x00000078,0x000700f5,
+ 0x0000000a,0x000000d2,0x000000ca,0x0000006e,0x0000009b,0x00000077,0x0004006f,0x0000001a,
+ 0x0000009d,0x0000005d,0x00050081,0x0000001a,0x000000a0,0x0000006a,0x0000009d,0x00060052,
+ 0x0000001b,0x000000c7,0x000000a0,0x000000cb,0x00000000,0x000200f9,0x00000064,0x000200f8,
+ 0x00000064,0x00050080,0x00000006,0x000000a3,0x000000c9,0x00000036,0x000200f9,0x00000061,
+ 0x000200f8,0x00000063,0x00050041,0x00000071,0x000000ab,0x0000001f,0x000000aa,0x0004003d,
+ 0x00000006,0x000000ac,0x000000ab,0x0004007c,0x0000000a,0x000000ad,0x000000ac,0x00050084,
+ 0x0000000a,0x000000ae,0x00000017,0x000000ad,0x00050080,0x0000000a,0x000000b1,0x000000ae,
+ 0x00000011,0x00060041,0x000000b3,0x000000b4,0x000000a7,0x0000003c,0x000000b1,0x0003003e,
+ 0x000000b4,0x000000ca,0x000200f9,0x000000b7,0x000200f8,0x000000b7,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc
index d80ba4a9615..729dbea3841 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc
@@ -1,132 +1,109 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolveStencilNoExport_comp_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000ba,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00060010,0x00000004,
0x00000011,0x00000008,0x00000008,0x00000001,0x00030003,0x00000002,0x000001c2,0x000b0004,
0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,
- 0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,
- 0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00080005,0x0000000d,0x475f6c67,
- 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00060005,0x0000001d,0x68737550,
- 0x736e6f43,0x746e6174,0x00000073,0x00050006,0x0000001d,0x00000000,0x7366666f,0x00007465,
- 0x00050006,0x0000001d,0x00000001,0x65727473,0x00686374,0x00070006,0x0000001d,0x00000002,
- 0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x0000001d,0x00000003,0x4c637273,
- 0x72657961,0x00000000,0x00060006,0x0000001d,0x00000004,0x57637273,0x68746469,0x00000000,
- 0x00060006,0x0000001d,0x00000005,0x74696c62,0x61657241,0x00000000,0x00060006,0x0000001d,
- 0x00000006,0x74736564,0x63746950,0x00000068,0x00050006,0x0000001d,0x00000007,0x70696c66,
- 0x00000058,0x00050006,0x0000001d,0x00000008,0x70696c66,0x00000059,0x00040005,0x0000001f,
- 0x61726170,0x0000736d,0x00060005,0x00000032,0x49637273,0x6567616d,0x726f6f43,0x00007364,
- 0x00040005,0x00000053,0x72694478,0x00000000,0x00050005,0x0000005b,0x5374756f,0x636e6574,
- 0x00736c69,0x00030005,0x0000005c,0x00000069,0x00060005,0x00000073,0x6e657473,0x566c6963,
- 0x65756c61,0x00000000,0x00040005,0x00000076,0x6e657473,0x006c6963,0x00040005,0x0000008c,
- 0x74736564,0x00000000,0x00060006,0x0000008c,0x00000000,0x74736564,0x61746144,0x00000000,
- 0x00030005,0x0000008e,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000001c,0x00050048,
- 0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001d,0x00000001,0x00000023,
- 0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,0x00000010,0x00050048,0x0000001d,
- 0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,0x00000004,0x00000023,0x0000001c,
- 0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,0x00050048,0x0000001d,0x00000006,
- 0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,0x00000023,0x00000034,0x00050048,
- 0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,0x0000001d,0x00000002,0x00040047,
- 0x00000076,0x00000022,0x00000000,0x00040047,0x00000076,0x00000021,0x00000001,0x00040047,
- 0x0000008b,0x00000006,0x00000004,0x00050048,0x0000008c,0x00000000,0x00000023,0x00000000,
- 0x00030047,0x0000008c,0x00000003,0x00040047,0x0000008e,0x00000022,0x00000000,0x00040047,
- 0x0000008e,0x00000021,0x00000000,0x00040047,0x0000009d,0x0000000b,0x00000019,0x00020013,
- 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
- 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
- 0x00040015,0x0000000a,0x00000020,0x00000000,0x00040017,0x0000000b,0x0000000a,0x00000003,
- 0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,
- 0x0004002b,0x0000000a,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000001,0x0000000a,
- 0x0004002b,0x0000000a,0x00000012,0x00000004,0x0004002b,0x0000000a,0x00000015,0x00000001,
- 0x00030016,0x0000001a,0x00000020,0x00040017,0x0000001b,0x0000001a,0x00000002,0x00040017,
- 0x0000001c,0x00000006,0x00000004,0x000b001e,0x0000001d,0x00000007,0x0000001b,0x0000001b,
- 0x00000006,0x00000006,0x0000001c,0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000001e,
- 0x00000009,0x0000001d,0x0004003b,0x0000001e,0x0000001f,0x00000009,0x0004002b,0x00000006,
- 0x00000020,0x00000005,0x00040020,0x00000021,0x00000009,0x0000001c,0x00020014,0x00000026,
- 0x00040017,0x00000027,0x00000026,0x00000002,0x0004002b,0x00000006,0x00000037,0x00000000,
- 0x00040020,0x00000038,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000003d,0x00000007,
- 0x00040020,0x0000003e,0x00000009,0x0000000a,0x00040020,0x00000044,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x00000049,0x00000008,0x0004002b,0x00000006,0x00000057,0xffffffff,
- 0x0004002b,0x00000006,0x00000058,0x00000001,0x00040020,0x0000005a,0x00000007,0x0000000a,
- 0x0004002b,0x00000006,0x00000063,0x00000004,0x00040020,0x0000006c,0x00000009,0x00000006,
- 0x00090019,0x00000074,0x0000000a,0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,
- 0x00000000,0x00040020,0x00000075,0x00000000,0x00000074,0x0004003b,0x00000075,0x00000076,
- 0x00000000,0x00040017,0x00000079,0x0000000a,0x00000004,0x0004002b,0x0000000a,0x0000007d,
- 0x000000ff,0x0003001d,0x0000008b,0x0000000a,0x0003001e,0x0000008c,0x0000008b,0x00040020,
- 0x0000008d,0x00000002,0x0000008c,0x0004003b,0x0000008d,0x0000008e,0x00000002,0x0004002b,
- 0x00000006,0x00000091,0x00000006,0x00040020,0x0000009a,0x00000002,0x0000000a,0x0004002b,
- 0x0000000a,0x0000009c,0x00000008,0x0006002c,0x0000000b,0x0000009d,0x0000009c,0x0000009c,
- 0x00000015,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x00000032,0x00000007,
- 0x0004003b,0x00000044,0x00000053,0x00000007,0x0004003b,0x0000005a,0x0000005b,0x00000007,
- 0x0004003b,0x00000044,0x0000005c,0x00000007,0x0004003b,0x0000005a,0x00000073,0x00000007,
- 0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x00000011,
- 0x00000010,0x00050084,0x0000000a,0x00000013,0x00000011,0x00000012,0x0004007c,0x00000006,
- 0x00000014,0x00000013,0x00050041,0x0000000f,0x00000016,0x0000000d,0x00000015,0x0004003d,
- 0x0000000a,0x00000017,0x00000016,0x0004007c,0x00000006,0x00000018,0x00000017,0x00050050,
- 0x00000007,0x00000019,0x00000014,0x00000018,0x0003003e,0x00000009,0x00000019,0x00050041,
- 0x00000021,0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x00000023,0x00000022,
- 0x0007004f,0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,0x00000003,0x0004003d,
- 0x00000007,0x00000025,0x00000009,0x000500b3,0x00000027,0x00000028,0x00000024,0x00000025,
- 0x0004009a,0x00000026,0x00000029,0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,
- 0x00000029,0x0000002a,0x0000002b,0x000200f8,0x0000002a,0x000100fd,0x000200f8,0x0000002b,
- 0x00050041,0x00000021,0x0000002d,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x0000002e,
- 0x0000002d,0x0007004f,0x00000007,0x0000002f,0x0000002e,0x0000002e,0x00000000,0x00000001,
- 0x0004003d,0x00000007,0x00000030,0x00000009,0x00050080,0x00000007,0x00000031,0x00000030,
- 0x0000002f,0x0003003e,0x00000009,0x00000031,0x0004003d,0x00000007,0x00000033,0x00000009,
- 0x00050051,0x00000006,0x00000034,0x00000033,0x00000000,0x00050051,0x00000006,0x00000035,
- 0x00000033,0x00000001,0x00050050,0x00000007,0x00000036,0x00000034,0x00000035,0x0003003e,
- 0x00000032,0x00000036,0x00050041,0x00000038,0x00000039,0x0000001f,0x00000037,0x0004003d,
- 0x00000007,0x0000003a,0x00000039,0x0004003d,0x00000007,0x0000003b,0x00000032,0x00050082,
- 0x00000007,0x0000003c,0x0000003b,0x0000003a,0x0003003e,0x00000032,0x0000003c,0x00050041,
- 0x0000003e,0x0000003f,0x0000001f,0x0000003d,0x0004003d,0x0000000a,0x00000040,0x0000003f,
- 0x000500ab,0x00000026,0x00000041,0x00000040,0x0000000e,0x000300f7,0x00000043,0x00000000,
- 0x000400fa,0x00000041,0x00000042,0x00000043,0x000200f8,0x00000042,0x00050041,0x00000044,
- 0x00000045,0x00000032,0x0000000e,0x0004003d,0x00000006,0x00000046,0x00000045,0x0004007e,
- 0x00000006,0x00000047,0x00000046,0x00050041,0x00000044,0x00000048,0x00000032,0x0000000e,
- 0x0003003e,0x00000048,0x00000047,0x000200f9,0x00000043,0x000200f8,0x00000043,0x00050041,
- 0x0000003e,0x0000004a,0x0000001f,0x00000049,0x0004003d,0x0000000a,0x0000004b,0x0000004a,
- 0x000500ab,0x00000026,0x0000004c,0x0000004b,0x0000000e,0x000300f7,0x0000004e,0x00000000,
- 0x000400fa,0x0000004c,0x0000004d,0x0000004e,0x000200f8,0x0000004d,0x00050041,0x00000044,
- 0x0000004f,0x00000032,0x00000015,0x0004003d,0x00000006,0x00000050,0x0000004f,0x0004007e,
- 0x00000006,0x00000051,0x00000050,0x00050041,0x00000044,0x00000052,0x00000032,0x00000015,
- 0x0003003e,0x00000052,0x00000051,0x000200f9,0x0000004e,0x000200f8,0x0000004e,0x00050041,
- 0x0000003e,0x00000054,0x0000001f,0x0000003d,0x0004003d,0x0000000a,0x00000055,0x00000054,
- 0x000500ab,0x00000026,0x00000056,0x00000055,0x0000000e,0x000600a9,0x00000006,0x00000059,
- 0x00000056,0x00000057,0x00000058,0x0003003e,0x00000053,0x00000059,0x0003003e,0x0000005b,
- 0x0000000e,0x0003003e,0x0000005c,0x00000037,0x000200f9,0x0000005d,0x000200f8,0x0000005d,
- 0x000400f6,0x0000005f,0x00000060,0x00000000,0x000200f9,0x00000061,0x000200f8,0x00000061,
- 0x0004003d,0x00000006,0x00000062,0x0000005c,0x000500b1,0x00000026,0x00000064,0x00000062,
- 0x00000063,0x000400fa,0x00000064,0x0000005e,0x0000005f,0x000200f8,0x0000005e,0x00050041,
- 0x00000044,0x00000065,0x00000032,0x0000000e,0x0004003d,0x00000006,0x00000066,0x00000065,
- 0x000500af,0x00000026,0x00000067,0x00000066,0x00000037,0x000300f7,0x00000069,0x00000000,
- 0x000400fa,0x00000067,0x00000068,0x00000069,0x000200f8,0x00000068,0x00050041,0x00000044,
- 0x0000006a,0x00000032,0x0000000e,0x0004003d,0x00000006,0x0000006b,0x0000006a,0x00050041,
- 0x0000006c,0x0000006d,0x0000001f,0x00000063,0x0004003d,0x00000006,0x0000006e,0x0000006d,
- 0x000500b1,0x00000026,0x0000006f,0x0000006b,0x0000006e,0x000200f9,0x00000069,0x000200f8,
- 0x00000069,0x000700f5,0x00000026,0x00000070,0x00000067,0x0000005e,0x0000006f,0x00000068,
- 0x000300f7,0x00000072,0x00000000,0x000400fa,0x00000070,0x00000071,0x00000072,0x000200f8,
- 0x00000071,0x0004003d,0x00000074,0x00000077,0x00000076,0x0004003d,0x00000007,0x00000078,
- 0x00000032,0x0007005f,0x00000079,0x0000007a,0x00000077,0x00000078,0x00000040,0x00000037,
- 0x00050051,0x0000000a,0x0000007b,0x0000007a,0x00000000,0x0003003e,0x00000073,0x0000007b,
- 0x0004003d,0x0000000a,0x0000007c,0x00000073,0x000500c7,0x0000000a,0x0000007e,0x0000007c,
- 0x0000007d,0x0004003d,0x00000006,0x0000007f,0x0000005c,0x00050084,0x00000006,0x00000080,
- 0x0000007f,0x00000049,0x000500c4,0x0000000a,0x00000081,0x0000007e,0x00000080,0x0004003d,
- 0x0000000a,0x00000082,0x0000005b,0x000500c5,0x0000000a,0x00000083,0x00000082,0x00000081,
- 0x0003003e,0x0000005b,0x00000083,0x000200f9,0x00000072,0x000200f8,0x00000072,0x0004003d,
- 0x00000006,0x00000084,0x00000053,0x00050041,0x00000044,0x00000085,0x00000032,0x0000000e,
- 0x0004003d,0x00000006,0x00000086,0x00000085,0x00050080,0x00000006,0x00000087,0x00000086,
- 0x00000084,0x00050041,0x00000044,0x00000088,0x00000032,0x0000000e,0x0003003e,0x00000088,
- 0x00000087,0x000200f9,0x00000060,0x000200f8,0x00000060,0x0004003d,0x00000006,0x00000089,
- 0x0000005c,0x00050080,0x00000006,0x0000008a,0x00000089,0x00000058,0x0003003e,0x0000005c,
- 0x0000008a,0x000200f9,0x0000005d,0x000200f8,0x0000005f,0x00050041,0x0000000f,0x0000008f,
- 0x0000000d,0x00000015,0x0004003d,0x0000000a,0x00000090,0x0000008f,0x00050041,0x0000006c,
- 0x00000092,0x0000001f,0x00000091,0x0004003d,0x00000006,0x00000093,0x00000092,0x0004007c,
- 0x0000000a,0x00000094,0x00000093,0x00050084,0x0000000a,0x00000095,0x00000090,0x00000094,
- 0x00050041,0x0000000f,0x00000096,0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x00000097,
- 0x00000096,0x00050080,0x0000000a,0x00000098,0x00000095,0x00000097,0x0004003d,0x0000000a,
- 0x00000099,0x0000005b,0x00060041,0x0000009a,0x0000009b,0x0000008e,0x00000037,0x00000098,
- 0x0003003e,0x0000009b,0x00000099,0x000100fd,0x00010038
+ 0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000d,
+ 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00060005,0x0000001d,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x0000001d,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x0000001d,0x00000001,0x65727473,0x00686374,0x00070006,0x0000001d,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x0000001d,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00060006,0x0000001d,0x00000004,0x57637273,0x68746469,
+ 0x00000000,0x00060006,0x0000001d,0x00000005,0x74696c62,0x61657241,0x00000000,0x00060006,
+ 0x0000001d,0x00000006,0x74736564,0x63746950,0x00000068,0x00050006,0x0000001d,0x00000007,
+ 0x70696c66,0x00000058,0x00050006,0x0000001d,0x00000008,0x70696c66,0x00000059,0x00040005,
+ 0x0000001f,0x61726170,0x0000736d,0x00040005,0x00000076,0x6e657473,0x006c6963,0x00040005,
+ 0x0000008c,0x74736564,0x00000000,0x00060006,0x0000008c,0x00000000,0x74736564,0x61746144,
+ 0x00000000,0x00030005,0x0000008e,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000001c,
+ 0x00050048,0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001d,0x00000001,
+ 0x00000023,0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,0x00000010,0x00050048,
+ 0x0000001d,0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,0x00000004,0x00000023,
+ 0x0000001c,0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,0x00050048,0x0000001d,
+ 0x00000006,0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,0x00000023,0x00000034,
+ 0x00050048,0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,0x0000001d,0x00000002,
+ 0x00040047,0x00000076,0x00000022,0x00000000,0x00040047,0x00000076,0x00000021,0x00000001,
+ 0x00040047,0x0000008b,0x00000006,0x00000004,0x00050048,0x0000008c,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x0000008c,0x00000003,0x00040047,0x0000008e,0x00000022,0x00000000,
+ 0x00040047,0x0000008e,0x00000021,0x00000000,0x00040047,0x0000009d,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040015,0x0000000a,0x00000020,
+ 0x00000000,0x00040017,0x0000000b,0x0000000a,0x00000003,0x00040020,0x0000000c,0x00000001,
+ 0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x0004002b,0x0000000a,0x0000000e,
+ 0x00000000,0x00040020,0x0000000f,0x00000001,0x0000000a,0x0004002b,0x0000000a,0x00000012,
+ 0x00000004,0x0004002b,0x0000000a,0x00000015,0x00000001,0x00030016,0x0000001a,0x00000020,
+ 0x00040017,0x0000001b,0x0000001a,0x00000002,0x00040017,0x0000001c,0x00000006,0x00000004,
+ 0x000b001e,0x0000001d,0x00000007,0x0000001b,0x0000001b,0x00000006,0x00000006,0x0000001c,
+ 0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000001e,0x00000009,0x0000001d,0x0004003b,
+ 0x0000001e,0x0000001f,0x00000009,0x0004002b,0x00000006,0x00000020,0x00000005,0x00040020,
+ 0x00000021,0x00000009,0x0000001c,0x00020014,0x00000026,0x00040017,0x00000027,0x00000026,
+ 0x00000002,0x0004002b,0x00000006,0x00000037,0x00000000,0x00040020,0x00000038,0x00000009,
+ 0x00000007,0x0004002b,0x00000006,0x0000003d,0x00000007,0x00040020,0x0000003e,0x00000009,
+ 0x0000000a,0x0004002b,0x00000006,0x00000049,0x00000008,0x0004002b,0x00000006,0x00000057,
+ 0xffffffff,0x0004002b,0x00000006,0x00000058,0x00000001,0x0004002b,0x00000006,0x00000063,
+ 0x00000004,0x00040020,0x0000006c,0x00000009,0x00000006,0x00090019,0x00000074,0x0000000a,
+ 0x00000001,0x00000000,0x00000000,0x00000001,0x00000001,0x00000000,0x00040020,0x00000075,
+ 0x00000000,0x00000074,0x0004003b,0x00000075,0x00000076,0x00000000,0x00040017,0x00000079,
+ 0x0000000a,0x00000004,0x0004002b,0x0000000a,0x0000007d,0x000000ff,0x0003001d,0x0000008b,
+ 0x0000000a,0x0003001e,0x0000008c,0x0000008b,0x00040020,0x0000008d,0x00000002,0x0000008c,
+ 0x0004003b,0x0000008d,0x0000008e,0x00000002,0x0004002b,0x00000006,0x00000091,0x00000006,
+ 0x00040020,0x0000009a,0x00000002,0x0000000a,0x0004002b,0x0000000a,0x0000009c,0x00000008,
+ 0x0006002c,0x0000000b,0x0000009d,0x0000009c,0x0000009c,0x00000015,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x0000009e,0x00000000,
+ 0x000300fb,0x0000000e,0x0000009f,0x000200f8,0x0000009f,0x00050041,0x0000000f,0x00000010,
+ 0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x00000011,0x00000010,0x00050084,0x0000000a,
+ 0x00000013,0x00000011,0x00000012,0x0004007c,0x00000006,0x00000014,0x00000013,0x00050041,
+ 0x0000000f,0x00000016,0x0000000d,0x00000015,0x0004003d,0x0000000a,0x00000017,0x00000016,
+ 0x0004007c,0x00000006,0x00000018,0x00000017,0x00050050,0x00000007,0x00000019,0x00000014,
+ 0x00000018,0x00050041,0x00000021,0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,
+ 0x00000023,0x00000022,0x0007004f,0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,
+ 0x00000003,0x000500b3,0x00000027,0x00000028,0x00000024,0x00000019,0x0004009a,0x00000026,
+ 0x00000029,0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,0x00000029,0x0000002a,
+ 0x0000002b,0x000200f8,0x0000002a,0x000200f9,0x0000009e,0x000200f8,0x0000002b,0x0007004f,
+ 0x00000007,0x0000002f,0x00000023,0x00000023,0x00000000,0x00000001,0x00050080,0x00000007,
+ 0x00000031,0x00000019,0x0000002f,0x00050041,0x00000038,0x00000039,0x0000001f,0x00000037,
+ 0x0004003d,0x00000007,0x0000003a,0x00000039,0x00050082,0x00000007,0x0000003c,0x00000031,
+ 0x0000003a,0x00050041,0x0000003e,0x0000003f,0x0000001f,0x0000003d,0x0004003d,0x0000000a,
+ 0x00000040,0x0000003f,0x000500ab,0x00000026,0x00000041,0x00000040,0x0000000e,0x000300f7,
+ 0x00000043,0x00000000,0x000400fa,0x00000041,0x00000042,0x00000043,0x000200f8,0x00000042,
+ 0x00050051,0x00000006,0x00000046,0x0000003c,0x00000000,0x0004007e,0x00000006,0x00000047,
+ 0x00000046,0x00060052,0x00000007,0x000000a6,0x00000047,0x0000003c,0x00000000,0x000200f9,
+ 0x00000043,0x000200f8,0x00000043,0x000700f5,0x00000007,0x000000af,0x0000003c,0x0000002b,
+ 0x000000a6,0x00000042,0x00050041,0x0000003e,0x0000004a,0x0000001f,0x00000049,0x0004003d,
+ 0x0000000a,0x0000004b,0x0000004a,0x000500ab,0x00000026,0x0000004c,0x0000004b,0x0000000e,
+ 0x000300f7,0x0000004e,0x00000000,0x000400fa,0x0000004c,0x0000004d,0x0000004e,0x000200f8,
+ 0x0000004d,0x00050051,0x00000006,0x00000050,0x000000af,0x00000001,0x0004007e,0x00000006,
+ 0x00000051,0x00000050,0x00060052,0x00000007,0x000000a9,0x00000051,0x000000af,0x00000001,
+ 0x000200f9,0x0000004e,0x000200f8,0x0000004e,0x000700f5,0x00000007,0x000000b3,0x000000af,
+ 0x00000043,0x000000a9,0x0000004d,0x000600a9,0x00000006,0x00000059,0x00000041,0x00000057,
+ 0x00000058,0x000200f9,0x0000005d,0x000200f8,0x0000005d,0x000700f5,0x00000007,0x000000b2,
+ 0x000000b3,0x0000004e,0x000000ae,0x00000060,0x000700f5,0x0000000a,0x000000b1,0x0000000e,
+ 0x0000004e,0x000000b9,0x00000060,0x000700f5,0x00000006,0x000000b0,0x00000037,0x0000004e,
+ 0x0000008a,0x00000060,0x000500b1,0x00000026,0x00000064,0x000000b0,0x00000063,0x000400f6,
+ 0x0000005f,0x00000060,0x00000000,0x000400fa,0x00000064,0x0000005e,0x0000005f,0x000200f8,
+ 0x0000005e,0x00050051,0x00000006,0x00000066,0x000000b2,0x00000000,0x000500af,0x00000026,
+ 0x00000067,0x00000066,0x00000037,0x000300f7,0x00000069,0x00000000,0x000400fa,0x00000067,
+ 0x00000068,0x00000069,0x000200f8,0x00000068,0x00050041,0x0000006c,0x0000006d,0x0000001f,
+ 0x00000063,0x0004003d,0x00000006,0x0000006e,0x0000006d,0x000500b1,0x00000026,0x0000006f,
+ 0x00000066,0x0000006e,0x000200f9,0x00000069,0x000200f8,0x00000069,0x000700f5,0x00000026,
+ 0x00000070,0x00000067,0x0000005e,0x0000006f,0x00000068,0x000300f7,0x00000072,0x00000000,
+ 0x000400fa,0x00000070,0x00000071,0x00000072,0x000200f8,0x00000071,0x0004003d,0x00000074,
+ 0x00000077,0x00000076,0x0007005f,0x00000079,0x0000007a,0x00000077,0x000000b2,0x00000040,
+ 0x00000037,0x00050051,0x0000000a,0x0000007b,0x0000007a,0x00000000,0x000500c7,0x0000000a,
+ 0x0000007e,0x0000007b,0x0000007d,0x00050084,0x00000006,0x00000080,0x000000b0,0x00000049,
+ 0x000500c4,0x0000000a,0x00000081,0x0000007e,0x00000080,0x000500c5,0x0000000a,0x00000083,
+ 0x000000b1,0x00000081,0x000200f9,0x00000072,0x000200f8,0x00000072,0x000700f5,0x0000000a,
+ 0x000000b9,0x000000b1,0x00000069,0x00000083,0x00000071,0x00050080,0x00000006,0x00000087,
+ 0x00000066,0x00000059,0x00060052,0x00000007,0x000000ae,0x00000087,0x000000b2,0x00000000,
+ 0x000200f9,0x00000060,0x000200f8,0x00000060,0x00050080,0x00000006,0x0000008a,0x000000b0,
+ 0x00000058,0x000200f9,0x0000005d,0x000200f8,0x0000005f,0x00050041,0x0000006c,0x00000092,
+ 0x0000001f,0x00000091,0x0004003d,0x00000006,0x00000093,0x00000092,0x0004007c,0x0000000a,
+ 0x00000094,0x00000093,0x00050084,0x0000000a,0x00000095,0x00000017,0x00000094,0x00050080,
+ 0x0000000a,0x00000098,0x00000095,0x00000011,0x00060041,0x0000009a,0x0000009b,0x0000008e,
+ 0x00000037,0x00000098,0x0003003e,0x0000009b,0x000000b1,0x000200f9,0x0000009e,0x000200f8,
+ 0x0000009e,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc
index 2c1d4489b63..c9b94f9d42b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc
@@ -1,136 +1,112 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBlitResolveStencilNoExport_comp_00000003[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a5,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c1,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00060010,0x00000004,
0x00000011,0x00000008,0x00000008,0x00000001,0x00030003,0x00000002,0x000001c2,0x000b0004,
0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,
- 0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,
- 0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00080005,0x0000000d,0x475f6c67,
- 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00060005,0x0000001d,0x68737550,
- 0x736e6f43,0x746e6174,0x00000073,0x00050006,0x0000001d,0x00000000,0x7366666f,0x00007465,
- 0x00050006,0x0000001d,0x00000001,0x65727473,0x00686374,0x00070006,0x0000001d,0x00000002,
- 0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x0000001d,0x00000003,0x4c637273,
- 0x72657961,0x00000000,0x00060006,0x0000001d,0x00000004,0x57637273,0x68746469,0x00000000,
- 0x00060006,0x0000001d,0x00000005,0x74696c62,0x61657241,0x00000000,0x00060006,0x0000001d,
- 0x00000006,0x74736564,0x63746950,0x00000068,0x00050006,0x0000001d,0x00000007,0x70696c66,
- 0x00000058,0x00050006,0x0000001d,0x00000008,0x70696c66,0x00000059,0x00040005,0x0000001f,
- 0x61726170,0x0000736d,0x00060005,0x00000032,0x49637273,0x6567616d,0x726f6f43,0x00007364,
- 0x00040005,0x00000053,0x72694478,0x00000000,0x00050005,0x0000005b,0x5374756f,0x636e6574,
- 0x00736c69,0x00030005,0x0000005c,0x00000069,0x00060005,0x00000073,0x6e657473,0x566c6963,
- 0x65756c61,0x00000000,0x00040005,0x00000076,0x6e657473,0x006c6963,0x00040005,0x00000093,
- 0x74736564,0x00000000,0x00060006,0x00000093,0x00000000,0x74736564,0x61746144,0x00000000,
- 0x00030005,0x00000095,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000001c,0x00050048,
- 0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001d,0x00000001,0x00000023,
- 0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,0x00000010,0x00050048,0x0000001d,
- 0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,0x00000004,0x00000023,0x0000001c,
- 0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,0x00050048,0x0000001d,0x00000006,
- 0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,0x00000023,0x00000034,0x00050048,
- 0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,0x0000001d,0x00000002,0x00040047,
- 0x00000076,0x00000022,0x00000000,0x00040047,0x00000076,0x00000021,0x00000001,0x00040047,
- 0x00000092,0x00000006,0x00000004,0x00050048,0x00000093,0x00000000,0x00000023,0x00000000,
- 0x00030047,0x00000093,0x00000003,0x00040047,0x00000095,0x00000022,0x00000000,0x00040047,
- 0x00000095,0x00000021,0x00000000,0x00040047,0x000000a4,0x0000000b,0x00000019,0x00020013,
- 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
- 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
- 0x00040015,0x0000000a,0x00000020,0x00000000,0x00040017,0x0000000b,0x0000000a,0x00000003,
- 0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,
- 0x0004002b,0x0000000a,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000001,0x0000000a,
- 0x0004002b,0x0000000a,0x00000012,0x00000004,0x0004002b,0x0000000a,0x00000015,0x00000001,
- 0x00030016,0x0000001a,0x00000020,0x00040017,0x0000001b,0x0000001a,0x00000002,0x00040017,
- 0x0000001c,0x00000006,0x00000004,0x000b001e,0x0000001d,0x00000007,0x0000001b,0x0000001b,
- 0x00000006,0x00000006,0x0000001c,0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000001e,
- 0x00000009,0x0000001d,0x0004003b,0x0000001e,0x0000001f,0x00000009,0x0004002b,0x00000006,
- 0x00000020,0x00000005,0x00040020,0x00000021,0x00000009,0x0000001c,0x00020014,0x00000026,
- 0x00040017,0x00000027,0x00000026,0x00000002,0x0004002b,0x00000006,0x00000037,0x00000000,
- 0x00040020,0x00000038,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000003d,0x00000007,
- 0x00040020,0x0000003e,0x00000009,0x0000000a,0x00040020,0x00000044,0x00000007,0x00000006,
- 0x0004002b,0x00000006,0x00000049,0x00000008,0x0004002b,0x00000006,0x00000057,0xffffffff,
- 0x0004002b,0x00000006,0x00000058,0x00000001,0x00040020,0x0000005a,0x00000007,0x0000000a,
- 0x0004002b,0x00000006,0x00000063,0x00000004,0x00040020,0x0000006c,0x00000009,0x00000006,
- 0x00090019,0x00000074,0x0000000a,0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,
- 0x00000000,0x00040020,0x00000075,0x00000000,0x00000074,0x0004003b,0x00000075,0x00000076,
- 0x00000000,0x0004002b,0x00000006,0x00000079,0x00000003,0x00040017,0x0000007c,0x00000006,
- 0x00000003,0x00040017,0x00000080,0x0000000a,0x00000004,0x0004002b,0x0000000a,0x00000084,
- 0x000000ff,0x0003001d,0x00000092,0x0000000a,0x0003001e,0x00000093,0x00000092,0x00040020,
- 0x00000094,0x00000002,0x00000093,0x0004003b,0x00000094,0x00000095,0x00000002,0x0004002b,
- 0x00000006,0x00000098,0x00000006,0x00040020,0x000000a1,0x00000002,0x0000000a,0x0004002b,
- 0x0000000a,0x000000a3,0x00000008,0x0006002c,0x0000000b,0x000000a4,0x000000a3,0x000000a3,
- 0x00000015,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x00000032,0x00000007,
- 0x0004003b,0x00000044,0x00000053,0x00000007,0x0004003b,0x0000005a,0x0000005b,0x00000007,
- 0x0004003b,0x00000044,0x0000005c,0x00000007,0x0004003b,0x0000005a,0x00000073,0x00000007,
- 0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x00000011,
- 0x00000010,0x00050084,0x0000000a,0x00000013,0x00000011,0x00000012,0x0004007c,0x00000006,
- 0x00000014,0x00000013,0x00050041,0x0000000f,0x00000016,0x0000000d,0x00000015,0x0004003d,
- 0x0000000a,0x00000017,0x00000016,0x0004007c,0x00000006,0x00000018,0x00000017,0x00050050,
- 0x00000007,0x00000019,0x00000014,0x00000018,0x0003003e,0x00000009,0x00000019,0x00050041,
- 0x00000021,0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x00000023,0x00000022,
- 0x0007004f,0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,0x00000003,0x0004003d,
- 0x00000007,0x00000025,0x00000009,0x000500b3,0x00000027,0x00000028,0x00000024,0x00000025,
- 0x0004009a,0x00000026,0x00000029,0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,
- 0x00000029,0x0000002a,0x0000002b,0x000200f8,0x0000002a,0x000100fd,0x000200f8,0x0000002b,
- 0x00050041,0x00000021,0x0000002d,0x0000001f,0x00000020,0x0004003d,0x0000001c,0x0000002e,
- 0x0000002d,0x0007004f,0x00000007,0x0000002f,0x0000002e,0x0000002e,0x00000000,0x00000001,
- 0x0004003d,0x00000007,0x00000030,0x00000009,0x00050080,0x00000007,0x00000031,0x00000030,
- 0x0000002f,0x0003003e,0x00000009,0x00000031,0x0004003d,0x00000007,0x00000033,0x00000009,
- 0x00050051,0x00000006,0x00000034,0x00000033,0x00000000,0x00050051,0x00000006,0x00000035,
- 0x00000033,0x00000001,0x00050050,0x00000007,0x00000036,0x00000034,0x00000035,0x0003003e,
- 0x00000032,0x00000036,0x00050041,0x00000038,0x00000039,0x0000001f,0x00000037,0x0004003d,
- 0x00000007,0x0000003a,0x00000039,0x0004003d,0x00000007,0x0000003b,0x00000032,0x00050082,
- 0x00000007,0x0000003c,0x0000003b,0x0000003a,0x0003003e,0x00000032,0x0000003c,0x00050041,
- 0x0000003e,0x0000003f,0x0000001f,0x0000003d,0x0004003d,0x0000000a,0x00000040,0x0000003f,
- 0x000500ab,0x00000026,0x00000041,0x00000040,0x0000000e,0x000300f7,0x00000043,0x00000000,
- 0x000400fa,0x00000041,0x00000042,0x00000043,0x000200f8,0x00000042,0x00050041,0x00000044,
- 0x00000045,0x00000032,0x0000000e,0x0004003d,0x00000006,0x00000046,0x00000045,0x0004007e,
- 0x00000006,0x00000047,0x00000046,0x00050041,0x00000044,0x00000048,0x00000032,0x0000000e,
- 0x0003003e,0x00000048,0x00000047,0x000200f9,0x00000043,0x000200f8,0x00000043,0x00050041,
- 0x0000003e,0x0000004a,0x0000001f,0x00000049,0x0004003d,0x0000000a,0x0000004b,0x0000004a,
- 0x000500ab,0x00000026,0x0000004c,0x0000004b,0x0000000e,0x000300f7,0x0000004e,0x00000000,
- 0x000400fa,0x0000004c,0x0000004d,0x0000004e,0x000200f8,0x0000004d,0x00050041,0x00000044,
- 0x0000004f,0x00000032,0x00000015,0x0004003d,0x00000006,0x00000050,0x0000004f,0x0004007e,
- 0x00000006,0x00000051,0x00000050,0x00050041,0x00000044,0x00000052,0x00000032,0x00000015,
- 0x0003003e,0x00000052,0x00000051,0x000200f9,0x0000004e,0x000200f8,0x0000004e,0x00050041,
- 0x0000003e,0x00000054,0x0000001f,0x0000003d,0x0004003d,0x0000000a,0x00000055,0x00000054,
- 0x000500ab,0x00000026,0x00000056,0x00000055,0x0000000e,0x000600a9,0x00000006,0x00000059,
- 0x00000056,0x00000057,0x00000058,0x0003003e,0x00000053,0x00000059,0x0003003e,0x0000005b,
- 0x0000000e,0x0003003e,0x0000005c,0x00000037,0x000200f9,0x0000005d,0x000200f8,0x0000005d,
- 0x000400f6,0x0000005f,0x00000060,0x00000000,0x000200f9,0x00000061,0x000200f8,0x00000061,
- 0x0004003d,0x00000006,0x00000062,0x0000005c,0x000500b1,0x00000026,0x00000064,0x00000062,
- 0x00000063,0x000400fa,0x00000064,0x0000005e,0x0000005f,0x000200f8,0x0000005e,0x00050041,
- 0x00000044,0x00000065,0x00000032,0x0000000e,0x0004003d,0x00000006,0x00000066,0x00000065,
- 0x000500af,0x00000026,0x00000067,0x00000066,0x00000037,0x000300f7,0x00000069,0x00000000,
- 0x000400fa,0x00000067,0x00000068,0x00000069,0x000200f8,0x00000068,0x00050041,0x00000044,
- 0x0000006a,0x00000032,0x0000000e,0x0004003d,0x00000006,0x0000006b,0x0000006a,0x00050041,
- 0x0000006c,0x0000006d,0x0000001f,0x00000063,0x0004003d,0x00000006,0x0000006e,0x0000006d,
- 0x000500b1,0x00000026,0x0000006f,0x0000006b,0x0000006e,0x000200f9,0x00000069,0x000200f8,
- 0x00000069,0x000700f5,0x00000026,0x00000070,0x00000067,0x0000005e,0x0000006f,0x00000068,
- 0x000300f7,0x00000072,0x00000000,0x000400fa,0x00000070,0x00000071,0x00000072,0x000200f8,
- 0x00000071,0x0004003d,0x00000074,0x00000077,0x00000076,0x0004003d,0x00000007,0x00000078,
- 0x00000032,0x00050041,0x0000006c,0x0000007a,0x0000001f,0x00000079,0x0004003d,0x00000006,
- 0x0000007b,0x0000007a,0x00050051,0x00000006,0x0000007d,0x00000078,0x00000000,0x00050051,
- 0x00000006,0x0000007e,0x00000078,0x00000001,0x00060050,0x0000007c,0x0000007f,0x0000007d,
- 0x0000007e,0x0000007b,0x0007005f,0x00000080,0x00000081,0x00000077,0x0000007f,0x00000040,
- 0x00000037,0x00050051,0x0000000a,0x00000082,0x00000081,0x00000000,0x0003003e,0x00000073,
- 0x00000082,0x0004003d,0x0000000a,0x00000083,0x00000073,0x000500c7,0x0000000a,0x00000085,
- 0x00000083,0x00000084,0x0004003d,0x00000006,0x00000086,0x0000005c,0x00050084,0x00000006,
- 0x00000087,0x00000086,0x00000049,0x000500c4,0x0000000a,0x00000088,0x00000085,0x00000087,
- 0x0004003d,0x0000000a,0x00000089,0x0000005b,0x000500c5,0x0000000a,0x0000008a,0x00000089,
- 0x00000088,0x0003003e,0x0000005b,0x0000008a,0x000200f9,0x00000072,0x000200f8,0x00000072,
- 0x0004003d,0x00000006,0x0000008b,0x00000053,0x00050041,0x00000044,0x0000008c,0x00000032,
- 0x0000000e,0x0004003d,0x00000006,0x0000008d,0x0000008c,0x00050080,0x00000006,0x0000008e,
- 0x0000008d,0x0000008b,0x00050041,0x00000044,0x0000008f,0x00000032,0x0000000e,0x0003003e,
- 0x0000008f,0x0000008e,0x000200f9,0x00000060,0x000200f8,0x00000060,0x0004003d,0x00000006,
- 0x00000090,0x0000005c,0x00050080,0x00000006,0x00000091,0x00000090,0x00000058,0x0003003e,
- 0x0000005c,0x00000091,0x000200f9,0x0000005d,0x000200f8,0x0000005f,0x00050041,0x0000000f,
- 0x00000096,0x0000000d,0x00000015,0x0004003d,0x0000000a,0x00000097,0x00000096,0x00050041,
- 0x0000006c,0x00000099,0x0000001f,0x00000098,0x0004003d,0x00000006,0x0000009a,0x00000099,
- 0x0004007c,0x0000000a,0x0000009b,0x0000009a,0x00050084,0x0000000a,0x0000009c,0x00000097,
- 0x0000009b,0x00050041,0x0000000f,0x0000009d,0x0000000d,0x0000000e,0x0004003d,0x0000000a,
- 0x0000009e,0x0000009d,0x00050080,0x0000000a,0x0000009f,0x0000009c,0x0000009e,0x0004003d,
- 0x0000000a,0x000000a0,0x0000005b,0x00060041,0x000000a1,0x000000a2,0x00000095,0x00000037,
- 0x0000009f,0x0003003e,0x000000a2,0x000000a0,0x000100fd,0x00010038
+ 0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000d,
+ 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00060005,0x0000001d,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00050006,0x0000001d,0x00000000,0x7366666f,
+ 0x00007465,0x00050006,0x0000001d,0x00000001,0x65727473,0x00686374,0x00070006,0x0000001d,
+ 0x00000002,0x53766e69,0x78456372,0x746e6574,0x00000000,0x00060006,0x0000001d,0x00000003,
+ 0x4c637273,0x72657961,0x00000000,0x00060006,0x0000001d,0x00000004,0x57637273,0x68746469,
+ 0x00000000,0x00060006,0x0000001d,0x00000005,0x74696c62,0x61657241,0x00000000,0x00060006,
+ 0x0000001d,0x00000006,0x74736564,0x63746950,0x00000068,0x00050006,0x0000001d,0x00000007,
+ 0x70696c66,0x00000058,0x00050006,0x0000001d,0x00000008,0x70696c66,0x00000059,0x00040005,
+ 0x0000001f,0x61726170,0x0000736d,0x00040005,0x00000076,0x6e657473,0x006c6963,0x00040005,
+ 0x00000093,0x74736564,0x00000000,0x00060006,0x00000093,0x00000000,0x74736564,0x61746144,
+ 0x00000000,0x00030005,0x00000095,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000001c,
+ 0x00050048,0x0000001d,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001d,0x00000001,
+ 0x00000023,0x00000008,0x00050048,0x0000001d,0x00000002,0x00000023,0x00000010,0x00050048,
+ 0x0000001d,0x00000003,0x00000023,0x00000018,0x00050048,0x0000001d,0x00000004,0x00000023,
+ 0x0000001c,0x00050048,0x0000001d,0x00000005,0x00000023,0x00000020,0x00050048,0x0000001d,
+ 0x00000006,0x00000023,0x00000030,0x00050048,0x0000001d,0x00000007,0x00000023,0x00000034,
+ 0x00050048,0x0000001d,0x00000008,0x00000023,0x00000038,0x00030047,0x0000001d,0x00000002,
+ 0x00040047,0x00000076,0x00000022,0x00000000,0x00040047,0x00000076,0x00000021,0x00000001,
+ 0x00040047,0x00000092,0x00000006,0x00000004,0x00050048,0x00000093,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000093,0x00000003,0x00040047,0x00000095,0x00000022,0x00000000,
+ 0x00040047,0x00000095,0x00000021,0x00000000,0x00040047,0x000000a4,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040015,0x0000000a,0x00000020,
+ 0x00000000,0x00040017,0x0000000b,0x0000000a,0x00000003,0x00040020,0x0000000c,0x00000001,
+ 0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x0004002b,0x0000000a,0x0000000e,
+ 0x00000000,0x00040020,0x0000000f,0x00000001,0x0000000a,0x0004002b,0x0000000a,0x00000012,
+ 0x00000004,0x0004002b,0x0000000a,0x00000015,0x00000001,0x00030016,0x0000001a,0x00000020,
+ 0x00040017,0x0000001b,0x0000001a,0x00000002,0x00040017,0x0000001c,0x00000006,0x00000004,
+ 0x000b001e,0x0000001d,0x00000007,0x0000001b,0x0000001b,0x00000006,0x00000006,0x0000001c,
+ 0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000001e,0x00000009,0x0000001d,0x0004003b,
+ 0x0000001e,0x0000001f,0x00000009,0x0004002b,0x00000006,0x00000020,0x00000005,0x00040020,
+ 0x00000021,0x00000009,0x0000001c,0x00020014,0x00000026,0x00040017,0x00000027,0x00000026,
+ 0x00000002,0x0004002b,0x00000006,0x00000037,0x00000000,0x00040020,0x00000038,0x00000009,
+ 0x00000007,0x0004002b,0x00000006,0x0000003d,0x00000007,0x00040020,0x0000003e,0x00000009,
+ 0x0000000a,0x0004002b,0x00000006,0x00000049,0x00000008,0x0004002b,0x00000006,0x00000057,
+ 0xffffffff,0x0004002b,0x00000006,0x00000058,0x00000001,0x0004002b,0x00000006,0x00000063,
+ 0x00000004,0x00040020,0x0000006c,0x00000009,0x00000006,0x00090019,0x00000074,0x0000000a,
+ 0x00000001,0x00000000,0x00000001,0x00000001,0x00000001,0x00000000,0x00040020,0x00000075,
+ 0x00000000,0x00000074,0x0004003b,0x00000075,0x00000076,0x00000000,0x0004002b,0x00000006,
+ 0x00000079,0x00000003,0x00040017,0x0000007c,0x00000006,0x00000003,0x00040017,0x00000080,
+ 0x0000000a,0x00000004,0x0004002b,0x0000000a,0x00000084,0x000000ff,0x0003001d,0x00000092,
+ 0x0000000a,0x0003001e,0x00000093,0x00000092,0x00040020,0x00000094,0x00000002,0x00000093,
+ 0x0004003b,0x00000094,0x00000095,0x00000002,0x0004002b,0x00000006,0x00000098,0x00000006,
+ 0x00040020,0x000000a1,0x00000002,0x0000000a,0x0004002b,0x0000000a,0x000000a3,0x00000008,
+ 0x0006002c,0x0000000b,0x000000a4,0x000000a3,0x000000a3,0x00000015,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000000a5,0x00000000,
+ 0x000300fb,0x0000000e,0x000000a6,0x000200f8,0x000000a6,0x00050041,0x0000000f,0x00000010,
+ 0x0000000d,0x0000000e,0x0004003d,0x0000000a,0x00000011,0x00000010,0x00050084,0x0000000a,
+ 0x00000013,0x00000011,0x00000012,0x0004007c,0x00000006,0x00000014,0x00000013,0x00050041,
+ 0x0000000f,0x00000016,0x0000000d,0x00000015,0x0004003d,0x0000000a,0x00000017,0x00000016,
+ 0x0004007c,0x00000006,0x00000018,0x00000017,0x00050050,0x00000007,0x00000019,0x00000014,
+ 0x00000018,0x00050041,0x00000021,0x00000022,0x0000001f,0x00000020,0x0004003d,0x0000001c,
+ 0x00000023,0x00000022,0x0007004f,0x00000007,0x00000024,0x00000023,0x00000023,0x00000002,
+ 0x00000003,0x000500b3,0x00000027,0x00000028,0x00000024,0x00000019,0x0004009a,0x00000026,
+ 0x00000029,0x00000028,0x000300f7,0x0000002b,0x00000000,0x000400fa,0x00000029,0x0000002a,
+ 0x0000002b,0x000200f8,0x0000002a,0x000200f9,0x000000a5,0x000200f8,0x0000002b,0x0007004f,
+ 0x00000007,0x0000002f,0x00000023,0x00000023,0x00000000,0x00000001,0x00050080,0x00000007,
+ 0x00000031,0x00000019,0x0000002f,0x00050041,0x00000038,0x00000039,0x0000001f,0x00000037,
+ 0x0004003d,0x00000007,0x0000003a,0x00000039,0x00050082,0x00000007,0x0000003c,0x00000031,
+ 0x0000003a,0x00050041,0x0000003e,0x0000003f,0x0000001f,0x0000003d,0x0004003d,0x0000000a,
+ 0x00000040,0x0000003f,0x000500ab,0x00000026,0x00000041,0x00000040,0x0000000e,0x000300f7,
+ 0x00000043,0x00000000,0x000400fa,0x00000041,0x00000042,0x00000043,0x000200f8,0x00000042,
+ 0x00050051,0x00000006,0x00000046,0x0000003c,0x00000000,0x0004007e,0x00000006,0x00000047,
+ 0x00000046,0x00060052,0x00000007,0x000000ad,0x00000047,0x0000003c,0x00000000,0x000200f9,
+ 0x00000043,0x000200f8,0x00000043,0x000700f5,0x00000007,0x000000b6,0x0000003c,0x0000002b,
+ 0x000000ad,0x00000042,0x00050041,0x0000003e,0x0000004a,0x0000001f,0x00000049,0x0004003d,
+ 0x0000000a,0x0000004b,0x0000004a,0x000500ab,0x00000026,0x0000004c,0x0000004b,0x0000000e,
+ 0x000300f7,0x0000004e,0x00000000,0x000400fa,0x0000004c,0x0000004d,0x0000004e,0x000200f8,
+ 0x0000004d,0x00050051,0x00000006,0x00000050,0x000000b6,0x00000001,0x0004007e,0x00000006,
+ 0x00000051,0x00000050,0x00060052,0x00000007,0x000000b0,0x00000051,0x000000b6,0x00000001,
+ 0x000200f9,0x0000004e,0x000200f8,0x0000004e,0x000700f5,0x00000007,0x000000ba,0x000000b6,
+ 0x00000043,0x000000b0,0x0000004d,0x000600a9,0x00000006,0x00000059,0x00000041,0x00000057,
+ 0x00000058,0x000200f9,0x0000005d,0x000200f8,0x0000005d,0x000700f5,0x00000007,0x000000b9,
+ 0x000000ba,0x0000004e,0x000000b5,0x00000060,0x000700f5,0x0000000a,0x000000b8,0x0000000e,
+ 0x0000004e,0x000000c0,0x00000060,0x000700f5,0x00000006,0x000000b7,0x00000037,0x0000004e,
+ 0x00000091,0x00000060,0x000500b1,0x00000026,0x00000064,0x000000b7,0x00000063,0x000400f6,
+ 0x0000005f,0x00000060,0x00000000,0x000400fa,0x00000064,0x0000005e,0x0000005f,0x000200f8,
+ 0x0000005e,0x00050051,0x00000006,0x00000066,0x000000b9,0x00000000,0x000500af,0x00000026,
+ 0x00000067,0x00000066,0x00000037,0x000300f7,0x00000069,0x00000000,0x000400fa,0x00000067,
+ 0x00000068,0x00000069,0x000200f8,0x00000068,0x00050041,0x0000006c,0x0000006d,0x0000001f,
+ 0x00000063,0x0004003d,0x00000006,0x0000006e,0x0000006d,0x000500b1,0x00000026,0x0000006f,
+ 0x00000066,0x0000006e,0x000200f9,0x00000069,0x000200f8,0x00000069,0x000700f5,0x00000026,
+ 0x00000070,0x00000067,0x0000005e,0x0000006f,0x00000068,0x000300f7,0x00000072,0x00000000,
+ 0x000400fa,0x00000070,0x00000071,0x00000072,0x000200f8,0x00000071,0x0004003d,0x00000074,
+ 0x00000077,0x00000076,0x00050041,0x0000006c,0x0000007a,0x0000001f,0x00000079,0x0004003d,
+ 0x00000006,0x0000007b,0x0000007a,0x00050051,0x00000006,0x0000007e,0x000000b9,0x00000001,
+ 0x00060050,0x0000007c,0x0000007f,0x00000066,0x0000007e,0x0000007b,0x0007005f,0x00000080,
+ 0x00000081,0x00000077,0x0000007f,0x00000040,0x00000037,0x00050051,0x0000000a,0x00000082,
+ 0x00000081,0x00000000,0x000500c7,0x0000000a,0x00000085,0x00000082,0x00000084,0x00050084,
+ 0x00000006,0x00000087,0x000000b7,0x00000049,0x000500c4,0x0000000a,0x00000088,0x00000085,
+ 0x00000087,0x000500c5,0x0000000a,0x0000008a,0x000000b8,0x00000088,0x000200f9,0x00000072,
+ 0x000200f8,0x00000072,0x000700f5,0x0000000a,0x000000c0,0x000000b8,0x00000069,0x0000008a,
+ 0x00000071,0x00050080,0x00000006,0x0000008e,0x00000066,0x00000059,0x00060052,0x00000007,
+ 0x000000b5,0x0000008e,0x000000b9,0x00000000,0x000200f9,0x00000060,0x000200f8,0x00000060,
+ 0x00050080,0x00000006,0x00000091,0x000000b7,0x00000058,0x000200f9,0x0000005d,0x000200f8,
+ 0x0000005f,0x00050041,0x0000006c,0x00000099,0x0000001f,0x00000098,0x0004003d,0x00000006,
+ 0x0000009a,0x00000099,0x0004007c,0x0000000a,0x0000009b,0x0000009a,0x00050084,0x0000000a,
+ 0x0000009c,0x00000017,0x0000009b,0x00050080,0x0000000a,0x0000009f,0x0000009c,0x00000011,
+ 0x00060041,0x000000a1,0x000000a2,0x00000095,0x00000037,0x0000009f,0x0003003e,0x000000a2,
+ 0x000000b8,0x000200f9,0x000000a5,0x000200f8,0x000000a5,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc
index 5d1a447b555..a49effbe391 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x0000003d,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x0000003f,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000009,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,
@@ -11,48 +11,38 @@ const uint32_t kBufferUtils_comp_00000000[] = {
0x00007465,0x00050006,0x00000010,0x00000001,0x657a6973,0x00000000,0x00060006,0x00000010,
0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x00000010,0x00000003,0x64646170,
0x00676e69,0x00060006,0x00000010,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,
- 0x00000012,0x61726170,0x0000736d,0x00050005,0x0000001e,0x74736564,0x65646e49,0x00000078,
- 0x00050005,0x00000026,0x49637273,0x7865646e,0x00000000,0x00050005,0x0000002f,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x00000036,0x74736564,0x00000000,0x00040047,0x00000009,
- 0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,
- 0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,0x00000036,
- 0x00000022,0x00000000,0x00040047,0x00000036,0x00000021,0x00000000,0x00030047,0x00000036,
- 0x00000019,0x00040047,0x0000003c,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
- 0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,
- 0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,
- 0x00000001,0x00000006,0x00030016,0x0000000e,0x00000020,0x00040017,0x0000000f,0x0000000e,
- 0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,0x0000000f,
- 0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000009,
- 0x00040015,0x00000013,0x00000020,0x00000001,0x0004002b,0x00000013,0x00000014,0x00000001,
- 0x00040020,0x00000015,0x00000009,0x00000006,0x00020014,0x00000018,0x00040020,0x0000001d,
- 0x00000007,0x00000013,0x0004002b,0x00000013,0x0000001f,0x00000000,0x0004002b,0x00000013,
- 0x00000027,0x00000002,0x00040020,0x0000002e,0x00000007,0x0000000f,0x0004002b,0x00000013,
- 0x00000030,0x00000004,0x00040020,0x00000031,0x00000009,0x0000000f,0x00090019,0x00000034,
- 0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,
- 0x00000035,0x00000000,0x00000034,0x0004003b,0x00000035,0x00000036,0x00000000,0x0004002b,
- 0x00000006,0x0000003a,0x00000040,0x0004002b,0x00000006,0x0000003b,0x00000001,0x0006002c,
- 0x00000007,0x0000003c,0x0000003a,0x0000003b,0x0000003b,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x0000001d,0x0000001e,0x00000007,
- 0x0004003b,0x0000001d,0x00000026,0x00000007,0x0004003b,0x0000002e,0x0000002f,0x00000007,
- 0x00050041,0x0000000b,0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,
- 0x0000000c,0x00050041,0x00000015,0x00000016,0x00000012,0x00000014,0x0004003d,0x00000006,
- 0x00000017,0x00000016,0x000500ae,0x00000018,0x00000019,0x0000000d,0x00000017,0x000300f7,
- 0x0000001b,0x00000000,0x000400fa,0x00000019,0x0000001a,0x0000001b,0x000200f8,0x0000001a,
- 0x000100fd,0x000200f8,0x0000001b,0x00050041,0x00000015,0x00000020,0x00000012,0x0000001f,
- 0x0004003d,0x00000006,0x00000021,0x00000020,0x00050041,0x0000000b,0x00000022,0x00000009,
- 0x0000000a,0x0004003d,0x00000006,0x00000023,0x00000022,0x00050080,0x00000006,0x00000024,
- 0x00000021,0x00000023,0x0004007c,0x00000013,0x00000025,0x00000024,0x0003003e,0x0000001e,
- 0x00000025,0x00050041,0x00000015,0x00000028,0x00000012,0x00000027,0x0004003d,0x00000006,
- 0x00000029,0x00000028,0x00050041,0x0000000b,0x0000002a,0x00000009,0x0000000a,0x0004003d,
- 0x00000006,0x0000002b,0x0000002a,0x00050080,0x00000006,0x0000002c,0x00000029,0x0000002b,
- 0x0004007c,0x00000013,0x0000002d,0x0000002c,0x0003003e,0x00000026,0x0000002d,0x00050041,
+ 0x00000012,0x61726170,0x0000736d,0x00040005,0x00000036,0x74736564,0x00000000,0x00040047,
+ 0x00000009,0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,
+ 0x00000023,0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,
+ 0x00000010,0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,
+ 0x00000036,0x00000022,0x00000000,0x00040047,0x00000036,0x00000021,0x00000000,0x00030047,
+ 0x00000036,0x00000019,0x00040047,0x0000003c,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
+ 0x00000007,0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,
+ 0x00000008,0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,
+ 0x0000000b,0x00000001,0x00000006,0x00030016,0x0000000e,0x00000020,0x00040017,0x0000000f,
+ 0x0000000e,0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,
+ 0x0000000f,0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,
+ 0x00000009,0x00040015,0x00000013,0x00000020,0x00000001,0x0004002b,0x00000013,0x00000014,
+ 0x00000001,0x00040020,0x00000015,0x00000009,0x00000006,0x00020014,0x00000018,0x0004002b,
+ 0x00000013,0x0000001f,0x00000000,0x0004002b,0x00000013,0x00000030,0x00000004,0x00040020,
+ 0x00000031,0x00000009,0x0000000f,0x00090019,0x00000034,0x0000000e,0x00000005,0x00000000,
+ 0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,0x00000035,0x00000000,0x00000034,
+ 0x0004003b,0x00000035,0x00000036,0x00000000,0x0004002b,0x00000006,0x0000003a,0x00000040,
+ 0x0004002b,0x00000006,0x0000003b,0x00000001,0x0006002c,0x00000007,0x0000003c,0x0000003a,
+ 0x0000003b,0x0000003b,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x000300f7,0x0000003d,0x00000000,0x000300fb,0x0000000a,0x0000003e,0x000200f8,
+ 0x0000003e,0x00050041,0x0000000b,0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,
+ 0x0000000d,0x0000000c,0x00050041,0x00000015,0x00000016,0x00000012,0x00000014,0x0004003d,
+ 0x00000006,0x00000017,0x00000016,0x000500ae,0x00000018,0x00000019,0x0000000d,0x00000017,
+ 0x000300f7,0x0000001b,0x00000000,0x000400fa,0x00000019,0x0000001a,0x0000001b,0x000200f8,
+ 0x0000001a,0x000200f9,0x0000003d,0x000200f8,0x0000001b,0x00050041,0x00000015,0x00000020,
+ 0x00000012,0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050080,0x00000006,
+ 0x00000024,0x00000021,0x0000000d,0x0004007c,0x00000013,0x00000025,0x00000024,0x00050041,
0x00000031,0x00000032,0x00000012,0x00000030,0x0004003d,0x0000000f,0x00000033,0x00000032,
- 0x0003003e,0x0000002f,0x00000033,0x0004003d,0x00000034,0x00000037,0x00000036,0x0004003d,
- 0x00000013,0x00000038,0x0000001e,0x0004003d,0x0000000f,0x00000039,0x0000002f,0x00040063,
- 0x00000037,0x00000038,0x00000039,0x000100fd,0x00010038
+ 0x0004003d,0x00000034,0x00000037,0x00000036,0x00040063,0x00000037,0x00000025,0x00000033,
+ 0x000200f9,0x0000003d,0x000200f8,0x0000003d,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc
index efced3e8f72..15e5491f5fb 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc
@@ -1,53 +1,43 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x00000033,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000033,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000015,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,
- 0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00050005,0x00000008,0x74736564,
- 0x65646e49,0x00000078,0x00060005,0x0000000c,0x68737550,0x736e6f43,0x746e6174,0x00000073,
- 0x00060006,0x0000000c,0x00000000,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000000c,
- 0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000c,0x00000002,0x4f637273,0x65736666,
- 0x00000074,0x00050006,0x0000000c,0x00000003,0x64646170,0x00676e69,0x00060006,0x0000000c,
- 0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,0x0000000e,0x61726170,0x0000736d,
- 0x00080005,0x00000015,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,
- 0x00050005,0x0000001c,0x49637273,0x7865646e,0x00000000,0x00050005,0x00000025,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x0000002c,0x74736564,0x00000000,0x00050048,0x0000000c,
- 0x00000000,0x00000023,0x00000000,0x00050048,0x0000000c,0x00000001,0x00000023,0x00000004,
- 0x00050048,0x0000000c,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000c,0x00000003,
- 0x00000023,0x0000000c,0x00050048,0x0000000c,0x00000004,0x00000023,0x00000010,0x00030047,
- 0x0000000c,0x00000002,0x00040047,0x00000015,0x0000000b,0x0000001c,0x00040047,0x0000002c,
- 0x00000022,0x00000000,0x00040047,0x0000002c,0x00000021,0x00000000,0x00030047,0x0000002c,
- 0x00000019,0x00040047,0x00000032,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,
- 0x00000007,0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00030016,0x0000000a,
- 0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x0007001e,0x0000000c,0x00000009,
- 0x00000009,0x00000009,0x00000009,0x0000000b,0x00040020,0x0000000d,0x00000009,0x0000000c,
- 0x0004003b,0x0000000d,0x0000000e,0x00000009,0x0004002b,0x00000006,0x0000000f,0x00000000,
- 0x00040020,0x00000010,0x00000009,0x00000009,0x00040017,0x00000013,0x00000009,0x00000003,
- 0x00040020,0x00000014,0x00000001,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000001,
- 0x0004002b,0x00000009,0x00000016,0x00000000,0x00040020,0x00000017,0x00000001,0x00000009,
- 0x0004002b,0x00000006,0x0000001d,0x00000002,0x00040020,0x00000024,0x00000007,0x0000000b,
- 0x0004002b,0x00000006,0x00000026,0x00000004,0x00040020,0x00000027,0x00000009,0x0000000b,
- 0x00090019,0x0000002a,0x0000000a,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,
- 0x00000001,0x00040020,0x0000002b,0x00000000,0x0000002a,0x0004003b,0x0000002b,0x0000002c,
- 0x00000000,0x0004002b,0x00000009,0x00000030,0x00000040,0x0004002b,0x00000009,0x00000031,
- 0x00000001,0x0006002c,0x00000013,0x00000032,0x00000030,0x00000031,0x00000031,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
- 0x00000008,0x00000007,0x0004003b,0x00000007,0x0000001c,0x00000007,0x0004003b,0x00000024,
- 0x00000025,0x00000007,0x00050041,0x00000010,0x00000011,0x0000000e,0x0000000f,0x0004003d,
- 0x00000009,0x00000012,0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,
- 0x0004003d,0x00000009,0x00000019,0x00000018,0x00050080,0x00000009,0x0000001a,0x00000012,
- 0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e,0x00000008,0x0000001b,
- 0x00050041,0x00000010,0x0000001e,0x0000000e,0x0000001d,0x0004003d,0x00000009,0x0000001f,
- 0x0000001e,0x00050041,0x00000017,0x00000020,0x00000015,0x00000016,0x0004003d,0x00000009,
- 0x00000021,0x00000020,0x00050080,0x00000009,0x00000022,0x0000001f,0x00000021,0x0004007c,
- 0x00000006,0x00000023,0x00000022,0x0003003e,0x0000001c,0x00000023,0x00050041,0x00000027,
- 0x00000028,0x0000000e,0x00000026,0x0004003d,0x0000000b,0x00000029,0x00000028,0x0003003e,
- 0x00000025,0x00000029,0x0004003d,0x0000002a,0x0000002d,0x0000002c,0x0004003d,0x00000006,
- 0x0000002e,0x00000008,0x0004003d,0x0000000b,0x0000002f,0x00000025,0x00040063,0x0000002d,
- 0x0000002e,0x0000002f,0x000100fd,0x00010038
+ 0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000c,0x68737550,
+ 0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000000c,0x00000000,0x74736564,0x7366664f,
+ 0x00007465,0x00050006,0x0000000c,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000c,
+ 0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000c,0x00000003,0x64646170,
+ 0x00676e69,0x00060006,0x0000000c,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,
+ 0x0000000e,0x61726170,0x0000736d,0x00080005,0x00000015,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00040005,0x0000002c,0x74736564,0x00000000,0x00050048,
+ 0x0000000c,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000c,0x00000001,0x00000023,
+ 0x00000004,0x00050048,0x0000000c,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000c,
+ 0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000c,0x00000004,0x00000023,0x00000010,
+ 0x00030047,0x0000000c,0x00000002,0x00040047,0x00000015,0x0000000b,0x0000001c,0x00040047,
+ 0x0000002c,0x00000022,0x00000000,0x00040047,0x0000002c,0x00000021,0x00000000,0x00030047,
+ 0x0000002c,0x00000019,0x00040047,0x00000032,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,
+ 0x00000009,0x00000020,0x00000000,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,
+ 0x0000000a,0x00000004,0x0007001e,0x0000000c,0x00000009,0x00000009,0x00000009,0x00000009,
+ 0x0000000b,0x00040020,0x0000000d,0x00000009,0x0000000c,0x0004003b,0x0000000d,0x0000000e,
+ 0x00000009,0x0004002b,0x00000006,0x0000000f,0x00000000,0x00040020,0x00000010,0x00000009,
+ 0x00000009,0x00040017,0x00000013,0x00000009,0x00000003,0x00040020,0x00000014,0x00000001,
+ 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000001,0x0004002b,0x00000009,0x00000016,
+ 0x00000000,0x00040020,0x00000017,0x00000001,0x00000009,0x0004002b,0x00000006,0x00000026,
+ 0x00000004,0x00040020,0x00000027,0x00000009,0x0000000b,0x00090019,0x0000002a,0x0000000a,
+ 0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,0x0000002b,
+ 0x00000000,0x0000002a,0x0004003b,0x0000002b,0x0000002c,0x00000000,0x0004002b,0x00000009,
+ 0x00000030,0x00000040,0x0004002b,0x00000009,0x00000031,0x00000001,0x0006002c,0x00000013,
+ 0x00000032,0x00000030,0x00000031,0x00000031,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x00050041,0x00000010,0x00000011,0x0000000e,0x0000000f,
+ 0x0004003d,0x00000009,0x00000012,0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,
+ 0x00000016,0x0004003d,0x00000009,0x00000019,0x00000018,0x00050080,0x00000009,0x0000001a,
+ 0x00000012,0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x00050041,0x00000027,
+ 0x00000028,0x0000000e,0x00000026,0x0004003d,0x0000000b,0x00000029,0x00000028,0x0004003d,
+ 0x0000002a,0x0000002d,0x0000002c,0x00040063,0x0000002d,0x0000001b,0x00000029,0x000100fd,
+ 0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc
index 1e1cfaf95c4..4691265af03 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x00000041,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000043,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000009,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
@@ -11,52 +11,45 @@ const uint32_t kBufferUtils_comp_00000002[] = {
0x74736564,0x7366664f,0x00007465,0x00050006,0x00000010,0x00000001,0x657a6973,0x00000000,
0x00060006,0x00000010,0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x00000010,
0x00000003,0x64646170,0x00676e69,0x00060006,0x00000010,0x00000004,0x61656c63,0x6c615672,
- 0x00006575,0x00040005,0x00000012,0x61726170,0x0000736d,0x00050005,0x0000001e,0x74736564,
- 0x65646e49,0x00000078,0x00050005,0x00000026,0x49637273,0x7865646e,0x00000000,0x00050005,
- 0x0000002f,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000033,0x00637273,0x00040005,
- 0x0000003a,0x74736564,0x00000000,0x00040047,0x00000009,0x0000000b,0x0000001c,0x00050048,
- 0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,0x00000010,0x00000001,0x00000023,
- 0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,0x00000008,0x00050048,0x00000010,
- 0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,0x00000004,0x00000023,0x00000010,
- 0x00030047,0x00000010,0x00000002,0x00040047,0x00000033,0x00000022,0x00000000,0x00040047,
- 0x00000033,0x00000021,0x00000001,0x00040047,0x0000003a,0x00000022,0x00000000,0x00040047,
- 0x0000003a,0x00000021,0x00000000,0x00030047,0x0000003a,0x00000019,0x00040047,0x00000040,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000003,0x00040020,
- 0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000001,0x0004002b,
- 0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,0x00000001,0x00000006,0x00030016,
- 0x0000000e,0x00000020,0x00040017,0x0000000f,0x0000000e,0x00000004,0x0007001e,0x00000010,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x0000000f,0x00040020,0x00000011,0x00000009,
- 0x00000010,0x0004003b,0x00000011,0x00000012,0x00000009,0x00040015,0x00000013,0x00000020,
- 0x00000001,0x0004002b,0x00000013,0x00000014,0x00000001,0x00040020,0x00000015,0x00000009,
- 0x00000006,0x00020014,0x00000018,0x00040020,0x0000001d,0x00000007,0x00000013,0x0004002b,
- 0x00000013,0x0000001f,0x00000000,0x0004002b,0x00000013,0x00000027,0x00000002,0x00040020,
- 0x0000002e,0x00000007,0x0000000f,0x00090019,0x00000030,0x0000000e,0x00000005,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000031,0x00000030,0x00040020,
- 0x00000032,0x00000000,0x00000031,0x0004003b,0x00000032,0x00000033,0x00000000,0x00090019,
- 0x00000038,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,
- 0x00040020,0x00000039,0x00000000,0x00000038,0x0004003b,0x00000039,0x0000003a,0x00000000,
- 0x0004002b,0x00000006,0x0000003e,0x00000040,0x0004002b,0x00000006,0x0000003f,0x00000001,
- 0x0006002c,0x00000007,0x00000040,0x0000003e,0x0000003f,0x0000003f,0x00050036,0x00000002,
- 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x0000001d,0x0000001e,
- 0x00000007,0x0004003b,0x0000001d,0x00000026,0x00000007,0x0004003b,0x0000002e,0x0000002f,
- 0x00000007,0x00050041,0x0000000b,0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,
- 0x0000000d,0x0000000c,0x00050041,0x00000015,0x00000016,0x00000012,0x00000014,0x0004003d,
- 0x00000006,0x00000017,0x00000016,0x000500ae,0x00000018,0x00000019,0x0000000d,0x00000017,
- 0x000300f7,0x0000001b,0x00000000,0x000400fa,0x00000019,0x0000001a,0x0000001b,0x000200f8,
- 0x0000001a,0x000100fd,0x000200f8,0x0000001b,0x00050041,0x00000015,0x00000020,0x00000012,
- 0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050041,0x0000000b,0x00000022,
- 0x00000009,0x0000000a,0x0004003d,0x00000006,0x00000023,0x00000022,0x00050080,0x00000006,
- 0x00000024,0x00000021,0x00000023,0x0004007c,0x00000013,0x00000025,0x00000024,0x0003003e,
- 0x0000001e,0x00000025,0x00050041,0x00000015,0x00000028,0x00000012,0x00000027,0x0004003d,
- 0x00000006,0x00000029,0x00000028,0x00050041,0x0000000b,0x0000002a,0x00000009,0x0000000a,
- 0x0004003d,0x00000006,0x0000002b,0x0000002a,0x00050080,0x00000006,0x0000002c,0x00000029,
- 0x0000002b,0x0004007c,0x00000013,0x0000002d,0x0000002c,0x0003003e,0x00000026,0x0000002d,
- 0x0004003d,0x00000031,0x00000034,0x00000033,0x0004003d,0x00000013,0x00000035,0x00000026,
- 0x00040064,0x00000030,0x00000036,0x00000034,0x0005005f,0x0000000f,0x00000037,0x00000036,
- 0x00000035,0x0003003e,0x0000002f,0x00000037,0x0004003d,0x00000038,0x0000003b,0x0000003a,
- 0x0004003d,0x00000013,0x0000003c,0x0000001e,0x0004003d,0x0000000f,0x0000003d,0x0000002f,
- 0x00040063,0x0000003b,0x0000003c,0x0000003d,0x000100fd,0x00010038
+ 0x00006575,0x00040005,0x00000012,0x61726170,0x0000736d,0x00030005,0x00000033,0x00637273,
+ 0x00040005,0x0000003a,0x74736564,0x00000000,0x00040047,0x00000009,0x0000000b,0x0000001c,
+ 0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,0x00000010,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,0x00000004,0x00000023,
+ 0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,0x00000033,0x00000022,0x00000000,
+ 0x00040047,0x00000033,0x00000021,0x00000001,0x00040047,0x0000003a,0x00000022,0x00000000,
+ 0x00040047,0x0000003a,0x00000021,0x00000000,0x00030047,0x0000003a,0x00000019,0x00040047,
+ 0x00000040,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000003,
+ 0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000001,
+ 0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,0x00000001,0x00000006,
+ 0x00030016,0x0000000e,0x00000020,0x00040017,0x0000000f,0x0000000e,0x00000004,0x0007001e,
+ 0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,0x0000000f,0x00040020,0x00000011,
+ 0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000009,0x00040015,0x00000013,
+ 0x00000020,0x00000001,0x0004002b,0x00000013,0x00000014,0x00000001,0x00040020,0x00000015,
+ 0x00000009,0x00000006,0x00020014,0x00000018,0x0004002b,0x00000013,0x0000001f,0x00000000,
+ 0x0004002b,0x00000013,0x00000027,0x00000002,0x00090019,0x00000030,0x0000000e,0x00000005,
+ 0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000031,0x00000030,
+ 0x00040020,0x00000032,0x00000000,0x00000031,0x0004003b,0x00000032,0x00000033,0x00000000,
+ 0x00090019,0x00000038,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,
+ 0x00000001,0x00040020,0x00000039,0x00000000,0x00000038,0x0004003b,0x00000039,0x0000003a,
+ 0x00000000,0x0004002b,0x00000006,0x0000003e,0x00000040,0x0004002b,0x00000006,0x0000003f,
+ 0x00000001,0x0006002c,0x00000007,0x00000040,0x0000003e,0x0000003f,0x0000003f,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x00000041,
+ 0x00000000,0x000300fb,0x0000000a,0x00000042,0x000200f8,0x00000042,0x00050041,0x0000000b,
+ 0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,
+ 0x00000015,0x00000016,0x00000012,0x00000014,0x0004003d,0x00000006,0x00000017,0x00000016,
+ 0x000500ae,0x00000018,0x00000019,0x0000000d,0x00000017,0x000300f7,0x0000001b,0x00000000,
+ 0x000400fa,0x00000019,0x0000001a,0x0000001b,0x000200f8,0x0000001a,0x000200f9,0x00000041,
+ 0x000200f8,0x0000001b,0x00050041,0x00000015,0x00000020,0x00000012,0x0000001f,0x0004003d,
+ 0x00000006,0x00000021,0x00000020,0x00050080,0x00000006,0x00000024,0x00000021,0x0000000d,
+ 0x0004007c,0x00000013,0x00000025,0x00000024,0x00050041,0x00000015,0x00000028,0x00000012,
+ 0x00000027,0x0004003d,0x00000006,0x00000029,0x00000028,0x00050080,0x00000006,0x0000002c,
+ 0x00000029,0x0000000d,0x0004007c,0x00000013,0x0000002d,0x0000002c,0x0004003d,0x00000031,
+ 0x00000034,0x00000033,0x00040064,0x00000030,0x00000036,0x00000034,0x0005005f,0x0000000f,
+ 0x00000037,0x00000036,0x0000002d,0x0004003d,0x00000038,0x0000003b,0x0000003a,0x00040063,
+ 0x0000003b,0x00000025,0x00000037,0x000200f9,0x00000041,0x000200f8,0x00000041,0x000100fd,
+ 0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc
index ee7a6efc4dc..d78d6470122 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc
@@ -1,57 +1,49 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000003[] = {
- 0x07230203,0x00010000,0x00080007,0x00000037,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000037,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000015,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
- 0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00050005,
- 0x00000008,0x74736564,0x65646e49,0x00000078,0x00060005,0x0000000c,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00060006,0x0000000c,0x00000000,0x74736564,0x7366664f,0x00007465,
- 0x00050006,0x0000000c,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000c,0x00000002,
- 0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000c,0x00000003,0x64646170,0x00676e69,
- 0x00060006,0x0000000c,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,0x0000000e,
- 0x61726170,0x0000736d,0x00080005,0x00000015,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x0000001c,0x49637273,0x7865646e,0x00000000,0x00050005,
- 0x00000025,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000029,0x00637273,0x00040005,
- 0x00000030,0x74736564,0x00000000,0x00050048,0x0000000c,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x0000000c,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000c,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x0000000c,0x00000003,0x00000023,0x0000000c,0x00050048,
- 0x0000000c,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000c,0x00000002,0x00040047,
- 0x00000015,0x0000000b,0x0000001c,0x00040047,0x00000029,0x00000022,0x00000000,0x00040047,
- 0x00000029,0x00000021,0x00000001,0x00040047,0x00000030,0x00000022,0x00000000,0x00040047,
- 0x00000030,0x00000021,0x00000000,0x00030047,0x00000030,0x00000019,0x00040047,0x00000036,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,
- 0x00000009,0x00000020,0x00000000,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,
- 0x0000000a,0x00000004,0x0007001e,0x0000000c,0x00000009,0x00000009,0x00000009,0x00000009,
- 0x0000000b,0x00040020,0x0000000d,0x00000009,0x0000000c,0x0004003b,0x0000000d,0x0000000e,
- 0x00000009,0x0004002b,0x00000006,0x0000000f,0x00000000,0x00040020,0x00000010,0x00000009,
- 0x00000009,0x00040017,0x00000013,0x00000009,0x00000003,0x00040020,0x00000014,0x00000001,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000001,0x0004002b,0x00000009,0x00000016,
- 0x00000000,0x00040020,0x00000017,0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001d,
- 0x00000002,0x00040020,0x00000024,0x00000007,0x0000000b,0x00090019,0x00000026,0x0000000a,
- 0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000027,
- 0x00000026,0x00040020,0x00000028,0x00000000,0x00000027,0x0004003b,0x00000028,0x00000029,
- 0x00000000,0x00090019,0x0000002e,0x0000000a,0x00000005,0x00000000,0x00000000,0x00000000,
- 0x00000002,0x00000001,0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,
- 0x00000030,0x00000000,0x0004002b,0x00000009,0x00000034,0x00000040,0x0004002b,0x00000009,
- 0x00000035,0x00000001,0x0006002c,0x00000013,0x00000036,0x00000034,0x00000035,0x00000035,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000007,0x00000008,0x00000007,0x0004003b,0x00000007,0x0000001c,0x00000007,0x0004003b,
- 0x00000024,0x00000025,0x00000007,0x00050041,0x00000010,0x00000011,0x0000000e,0x0000000f,
- 0x0004003d,0x00000009,0x00000012,0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,
- 0x00000016,0x0004003d,0x00000009,0x00000019,0x00000018,0x00050080,0x00000009,0x0000001a,
- 0x00000012,0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e,0x00000008,
- 0x0000001b,0x00050041,0x00000010,0x0000001e,0x0000000e,0x0000001d,0x0004003d,0x00000009,
- 0x0000001f,0x0000001e,0x00050041,0x00000017,0x00000020,0x00000015,0x00000016,0x0004003d,
- 0x00000009,0x00000021,0x00000020,0x00050080,0x00000009,0x00000022,0x0000001f,0x00000021,
- 0x0004007c,0x00000006,0x00000023,0x00000022,0x0003003e,0x0000001c,0x00000023,0x0004003d,
- 0x00000027,0x0000002a,0x00000029,0x0004003d,0x00000006,0x0000002b,0x0000001c,0x00040064,
- 0x00000026,0x0000002c,0x0000002a,0x0005005f,0x0000000b,0x0000002d,0x0000002c,0x0000002b,
- 0x0003003e,0x00000025,0x0000002d,0x0004003d,0x0000002e,0x00000031,0x00000030,0x0004003d,
- 0x00000006,0x00000032,0x00000008,0x0004003d,0x0000000b,0x00000033,0x00000025,0x00040063,
- 0x00000031,0x00000032,0x00000033,0x000100fd,0x00010038
+ 0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,
+ 0x0000000c,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000000c,0x00000000,
+ 0x74736564,0x7366664f,0x00007465,0x00050006,0x0000000c,0x00000001,0x657a6973,0x00000000,
+ 0x00060006,0x0000000c,0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000c,
+ 0x00000003,0x64646170,0x00676e69,0x00060006,0x0000000c,0x00000004,0x61656c63,0x6c615672,
+ 0x00006575,0x00040005,0x0000000e,0x61726170,0x0000736d,0x00080005,0x00000015,0x475f6c67,
+ 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000029,0x00637273,
+ 0x00040005,0x00000030,0x74736564,0x00000000,0x00050048,0x0000000c,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x0000000c,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000c,
+ 0x00000002,0x00000023,0x00000008,0x00050048,0x0000000c,0x00000003,0x00000023,0x0000000c,
+ 0x00050048,0x0000000c,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000c,0x00000002,
+ 0x00040047,0x00000015,0x0000000b,0x0000001c,0x00040047,0x00000029,0x00000022,0x00000000,
+ 0x00040047,0x00000029,0x00000021,0x00000001,0x00040047,0x00000030,0x00000022,0x00000000,
+ 0x00040047,0x00000030,0x00000021,0x00000000,0x00030047,0x00000030,0x00000019,0x00040047,
+ 0x00000036,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,0x00000009,0x00000020,0x00000000,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x0007001e,
+ 0x0000000c,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000b,0x00040020,0x0000000d,
+ 0x00000009,0x0000000c,0x0004003b,0x0000000d,0x0000000e,0x00000009,0x0004002b,0x00000006,
+ 0x0000000f,0x00000000,0x00040020,0x00000010,0x00000009,0x00000009,0x00040017,0x00000013,
+ 0x00000009,0x00000003,0x00040020,0x00000014,0x00000001,0x00000013,0x0004003b,0x00000014,
+ 0x00000015,0x00000001,0x0004002b,0x00000009,0x00000016,0x00000000,0x00040020,0x00000017,
+ 0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001d,0x00000002,0x00090019,0x00000026,
+ 0x0000000a,0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,
+ 0x00000027,0x00000026,0x00040020,0x00000028,0x00000000,0x00000027,0x0004003b,0x00000028,
+ 0x00000029,0x00000000,0x00090019,0x0000002e,0x0000000a,0x00000005,0x00000000,0x00000000,
+ 0x00000000,0x00000002,0x00000001,0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,
+ 0x0000002f,0x00000030,0x00000000,0x0004002b,0x00000009,0x00000034,0x00000040,0x0004002b,
+ 0x00000009,0x00000035,0x00000001,0x0006002c,0x00000013,0x00000036,0x00000034,0x00000035,
+ 0x00000035,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
+ 0x00050041,0x00000010,0x00000011,0x0000000e,0x0000000f,0x0004003d,0x00000009,0x00000012,
+ 0x00000011,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,0x00000009,
+ 0x00000019,0x00000018,0x00050080,0x00000009,0x0000001a,0x00000012,0x00000019,0x0004007c,
+ 0x00000006,0x0000001b,0x0000001a,0x00050041,0x00000010,0x0000001e,0x0000000e,0x0000001d,
+ 0x0004003d,0x00000009,0x0000001f,0x0000001e,0x00050080,0x00000009,0x00000022,0x0000001f,
+ 0x00000019,0x0004007c,0x00000006,0x00000023,0x00000022,0x0004003d,0x00000027,0x0000002a,
+ 0x00000029,0x00040064,0x00000026,0x0000002c,0x0000002a,0x0005005f,0x0000000b,0x0000002d,
+ 0x0000002c,0x00000023,0x0004003d,0x0000002e,0x00000031,0x00000030,0x00040063,0x00000031,
+ 0x0000001b,0x0000002d,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc
index 8844f7fbf19..81874f5df57 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000004[] = {
- 0x07230203,0x00010000,0x00080007,0x0000003c,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x0000003e,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000009,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,
@@ -11,48 +11,38 @@ const uint32_t kBufferUtils_comp_00000004[] = {
0x00007465,0x00050006,0x00000010,0x00000001,0x657a6973,0x00000000,0x00060006,0x00000010,
0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x00000010,0x00000003,0x64646170,
0x00676e69,0x00060006,0x00000010,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,
- 0x00000012,0x61726170,0x0000736d,0x00050005,0x0000001d,0x74736564,0x65646e49,0x00000078,
- 0x00050005,0x00000025,0x49637273,0x7865646e,0x00000000,0x00050005,0x0000002e,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x00000035,0x74736564,0x00000000,0x00040047,0x00000009,
- 0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,
- 0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,0x00000035,
- 0x00000022,0x00000000,0x00040047,0x00000035,0x00000021,0x00000000,0x00030047,0x00000035,
- 0x00000019,0x00040047,0x0000003b,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
- 0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,
- 0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,
- 0x00000001,0x00000006,0x00040015,0x0000000e,0x00000020,0x00000001,0x00040017,0x0000000f,
- 0x0000000e,0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x0000000f,0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,
- 0x00000009,0x0004002b,0x0000000e,0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,
- 0x00000006,0x00020014,0x00000017,0x00040020,0x0000001c,0x00000007,0x0000000e,0x0004002b,
- 0x0000000e,0x0000001e,0x00000000,0x0004002b,0x0000000e,0x00000026,0x00000002,0x00040020,
- 0x0000002d,0x00000007,0x0000000f,0x0004002b,0x0000000e,0x0000002f,0x00000004,0x00040020,
- 0x00000030,0x00000009,0x0000000f,0x00090019,0x00000033,0x0000000e,0x00000005,0x00000000,
- 0x00000000,0x00000000,0x00000002,0x00000015,0x00040020,0x00000034,0x00000000,0x00000033,
- 0x0004003b,0x00000034,0x00000035,0x00000000,0x0004002b,0x00000006,0x00000039,0x00000040,
- 0x0004002b,0x00000006,0x0000003a,0x00000001,0x0006002c,0x00000007,0x0000003b,0x00000039,
- 0x0000003a,0x0000003a,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x0000001c,0x0000001d,0x00000007,0x0004003b,0x0000001c,0x00000025,
- 0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x00050041,0x0000000b,0x0000000c,
- 0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,0x00000014,
- 0x00000015,0x00000012,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x000500ae,
- 0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,0x000400fa,
- 0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000100fd,0x000200f8,0x0000001a,
- 0x00050041,0x00000014,0x0000001f,0x00000012,0x0000001e,0x0004003d,0x00000006,0x00000020,
- 0x0000001f,0x00050041,0x0000000b,0x00000021,0x00000009,0x0000000a,0x0004003d,0x00000006,
- 0x00000022,0x00000021,0x00050080,0x00000006,0x00000023,0x00000020,0x00000022,0x0004007c,
- 0x0000000e,0x00000024,0x00000023,0x0003003e,0x0000001d,0x00000024,0x00050041,0x00000014,
- 0x00000027,0x00000012,0x00000026,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050041,
- 0x0000000b,0x00000029,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000002a,0x00000029,
- 0x00050080,0x00000006,0x0000002b,0x00000028,0x0000002a,0x0004007c,0x0000000e,0x0000002c,
- 0x0000002b,0x0003003e,0x00000025,0x0000002c,0x00050041,0x00000030,0x00000031,0x00000012,
- 0x0000002f,0x0004003d,0x0000000f,0x00000032,0x00000031,0x0003003e,0x0000002e,0x00000032,
- 0x0004003d,0x00000033,0x00000036,0x00000035,0x0004003d,0x0000000e,0x00000037,0x0000001d,
- 0x0004003d,0x0000000f,0x00000038,0x0000002e,0x00040063,0x00000036,0x00000037,0x00000038,
- 0x000100fd,0x00010038
+ 0x00000012,0x61726170,0x0000736d,0x00040005,0x00000035,0x74736564,0x00000000,0x00040047,
+ 0x00000009,0x0000000b,0x0000001c,0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x00000010,0x00000001,0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,
+ 0x00000023,0x00000008,0x00050048,0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,
+ 0x00000010,0x00000004,0x00000023,0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,
+ 0x00000035,0x00000022,0x00000000,0x00040047,0x00000035,0x00000021,0x00000000,0x00030047,
+ 0x00000035,0x00000019,0x00040047,0x0000003b,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
+ 0x00000007,0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,
+ 0x00000008,0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,
+ 0x0000000b,0x00000001,0x00000006,0x00040015,0x0000000e,0x00000020,0x00000001,0x00040017,
+ 0x0000000f,0x0000000e,0x00000004,0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,
+ 0x00000006,0x0000000f,0x00040020,0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,
+ 0x00000012,0x00000009,0x0004002b,0x0000000e,0x00000013,0x00000001,0x00040020,0x00000014,
+ 0x00000009,0x00000006,0x00020014,0x00000017,0x0004002b,0x0000000e,0x0000001e,0x00000000,
+ 0x0004002b,0x0000000e,0x0000002f,0x00000004,0x00040020,0x00000030,0x00000009,0x0000000f,
+ 0x00090019,0x00000033,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,
+ 0x00000015,0x00040020,0x00000034,0x00000000,0x00000033,0x0004003b,0x00000034,0x00000035,
+ 0x00000000,0x0004002b,0x00000006,0x00000039,0x00000040,0x0004002b,0x00000006,0x0000003a,
+ 0x00000001,0x0006002c,0x00000007,0x0000003b,0x00000039,0x0000003a,0x0000003a,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x0000003c,
+ 0x00000000,0x000300fb,0x0000000a,0x0000003d,0x000200f8,0x0000003d,0x00050041,0x0000000b,
+ 0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,
+ 0x00000014,0x00000015,0x00000012,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,
+ 0x000500ae,0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,
+ 0x000400fa,0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000200f9,0x0000003c,
+ 0x000200f8,0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000012,0x0000001e,0x0004003d,
+ 0x00000006,0x00000020,0x0000001f,0x00050080,0x00000006,0x00000023,0x00000020,0x0000000d,
+ 0x0004007c,0x0000000e,0x00000024,0x00000023,0x00050041,0x00000030,0x00000031,0x00000012,
+ 0x0000002f,0x0004003d,0x0000000f,0x00000032,0x00000031,0x0004003d,0x00000033,0x00000036,
+ 0x00000035,0x00040063,0x00000036,0x00000024,0x00000032,0x000200f9,0x0000003c,0x000200f8,
+ 0x0000003c,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc
index 5726a880e84..fc1e489f8a2 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc
@@ -1,53 +1,42 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000005[] = {
- 0x07230203,0x00010000,0x00080007,0x00000032,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000032,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000014,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,
- 0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00050005,0x00000008,0x74736564,
- 0x65646e49,0x00000078,0x00060005,0x0000000b,0x68737550,0x736e6f43,0x746e6174,0x00000073,
- 0x00060006,0x0000000b,0x00000000,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000000b,
- 0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000b,0x00000002,0x4f637273,0x65736666,
- 0x00000074,0x00050006,0x0000000b,0x00000003,0x64646170,0x00676e69,0x00060006,0x0000000b,
- 0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,0x0000000d,0x61726170,0x0000736d,
- 0x00080005,0x00000014,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,
- 0x00050005,0x0000001b,0x49637273,0x7865646e,0x00000000,0x00050005,0x00000024,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x0000002b,0x74736564,0x00000000,0x00050048,0x0000000b,
- 0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,
- 0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,
- 0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,
- 0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,0x0000002b,
- 0x00000022,0x00000000,0x00040047,0x0000002b,0x00000021,0x00000000,0x00030047,0x0000002b,
- 0x00000019,0x00040047,0x00000031,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,
- 0x00000007,0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,
- 0x00000006,0x00000004,0x0007001e,0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,
- 0x0000000a,0x00040020,0x0000000c,0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000009,0x0004002b,0x00000006,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,
- 0x00000009,0x00040017,0x00000012,0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,
- 0x00000012,0x0004003b,0x00000013,0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,
- 0x00000000,0x00040020,0x00000016,0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001c,
- 0x00000002,0x00040020,0x00000023,0x00000007,0x0000000a,0x0004002b,0x00000006,0x00000025,
- 0x00000004,0x00040020,0x00000026,0x00000009,0x0000000a,0x00090019,0x00000029,0x00000006,
- 0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000015,0x00040020,0x0000002a,
- 0x00000000,0x00000029,0x0004003b,0x0000002a,0x0000002b,0x00000000,0x0004002b,0x00000009,
- 0x0000002f,0x00000040,0x0004002b,0x00000009,0x00000030,0x00000001,0x0006002c,0x00000012,
- 0x00000031,0x0000002f,0x00000030,0x00000030,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b,
- 0x00000007,0x0000001b,0x00000007,0x0004003b,0x00000023,0x00000024,0x00000007,0x00050041,
- 0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,0x00000010,
- 0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000018,
- 0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,0x00000006,
- 0x0000001a,0x00000019,0x0003003e,0x00000008,0x0000001a,0x00050041,0x0000000f,0x0000001d,
- 0x0000000d,0x0000001c,0x0004003d,0x00000009,0x0000001e,0x0000001d,0x00050041,0x00000016,
- 0x0000001f,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000020,0x0000001f,0x00050080,
- 0x00000009,0x00000021,0x0000001e,0x00000020,0x0004007c,0x00000006,0x00000022,0x00000021,
- 0x0003003e,0x0000001b,0x00000022,0x00050041,0x00000026,0x00000027,0x0000000d,0x00000025,
- 0x0004003d,0x0000000a,0x00000028,0x00000027,0x0003003e,0x00000024,0x00000028,0x0004003d,
- 0x00000029,0x0000002c,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x00000008,0x0004003d,
- 0x0000000a,0x0000002e,0x00000024,0x00040063,0x0000002c,0x0000002d,0x0000002e,0x000100fd,
- 0x00010038
+ 0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000b,0x68737550,
+ 0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000000b,0x00000000,0x74736564,0x7366664f,
+ 0x00007465,0x00050006,0x0000000b,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000b,
+ 0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000b,0x00000003,0x64646170,
+ 0x00676e69,0x00060006,0x0000000b,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,
+ 0x0000000d,0x61726170,0x0000736d,0x00080005,0x00000014,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00040005,0x0000002b,0x74736564,0x00000000,0x00050048,
+ 0x0000000b,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,
+ 0x00000004,0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,
+ 0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,
+ 0x00030047,0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,
+ 0x0000002b,0x00000022,0x00000000,0x00040047,0x0000002b,0x00000021,0x00000000,0x00030047,
+ 0x0000002b,0x00000019,0x00040047,0x00000031,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,
+ 0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000006,0x00000004,0x0007001e,
+ 0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,
+ 0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,
+ 0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,
+ 0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,
+ 0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,
+ 0x00000001,0x00000009,0x0004002b,0x00000006,0x00000025,0x00000004,0x00040020,0x00000026,
+ 0x00000009,0x0000000a,0x00090019,0x00000029,0x00000006,0x00000005,0x00000000,0x00000000,
+ 0x00000000,0x00000002,0x00000015,0x00040020,0x0000002a,0x00000000,0x00000029,0x0004003b,
+ 0x0000002a,0x0000002b,0x00000000,0x0004002b,0x00000009,0x0000002f,0x00000040,0x0004002b,
+ 0x00000009,0x00000030,0x00000001,0x0006002c,0x00000012,0x00000031,0x0000002f,0x00000030,
+ 0x00000030,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
+ 0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,
+ 0x00000010,0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,
+ 0x00000018,0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,
+ 0x00000006,0x0000001a,0x00000019,0x00050041,0x00000026,0x00000027,0x0000000d,0x00000025,
+ 0x0004003d,0x0000000a,0x00000028,0x00000027,0x0004003d,0x00000029,0x0000002c,0x0000002b,
+ 0x00040063,0x0000002c,0x0000001a,0x00000028,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc
index 7329a50c716..2481de0beb1 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000006[] = {
- 0x07230203,0x00010000,0x00080007,0x00000040,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000042,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000009,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
@@ -11,52 +11,44 @@ const uint32_t kBufferUtils_comp_00000006[] = {
0x74736564,0x7366664f,0x00007465,0x00050006,0x00000010,0x00000001,0x657a6973,0x00000000,
0x00060006,0x00000010,0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x00000010,
0x00000003,0x64646170,0x00676e69,0x00060006,0x00000010,0x00000004,0x61656c63,0x6c615672,
- 0x00006575,0x00040005,0x00000012,0x61726170,0x0000736d,0x00050005,0x0000001d,0x74736564,
- 0x65646e49,0x00000078,0x00050005,0x00000025,0x49637273,0x7865646e,0x00000000,0x00050005,
- 0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000032,0x00637273,0x00040005,
- 0x00000039,0x74736564,0x00000000,0x00040047,0x00000009,0x0000000b,0x0000001c,0x00050048,
- 0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,0x00000010,0x00000001,0x00000023,
- 0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,0x00000008,0x00050048,0x00000010,
- 0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,0x00000004,0x00000023,0x00000010,
- 0x00030047,0x00000010,0x00000002,0x00040047,0x00000032,0x00000022,0x00000000,0x00040047,
- 0x00000032,0x00000021,0x00000001,0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,
- 0x00000039,0x00000021,0x00000000,0x00030047,0x00000039,0x00000019,0x00040047,0x0000003f,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000003,0x00040020,
- 0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000001,0x0004002b,
- 0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,0x00000001,0x00000006,0x00040015,
- 0x0000000e,0x00000020,0x00000001,0x00040017,0x0000000f,0x0000000e,0x00000004,0x0007001e,
- 0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,0x0000000f,0x00040020,0x00000011,
- 0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000009,0x0004002b,0x0000000e,
- 0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,0x00000006,0x00020014,0x00000017,
- 0x00040020,0x0000001c,0x00000007,0x0000000e,0x0004002b,0x0000000e,0x0000001e,0x00000000,
- 0x0004002b,0x0000000e,0x00000026,0x00000002,0x00040020,0x0000002d,0x00000007,0x0000000f,
- 0x00090019,0x0000002f,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,
- 0x00000000,0x0003001b,0x00000030,0x0000002f,0x00040020,0x00000031,0x00000000,0x00000030,
- 0x0004003b,0x00000031,0x00000032,0x00000000,0x00090019,0x00000037,0x0000000e,0x00000005,
- 0x00000000,0x00000000,0x00000000,0x00000002,0x00000015,0x00040020,0x00000038,0x00000000,
- 0x00000037,0x0004003b,0x00000038,0x00000039,0x00000000,0x0004002b,0x00000006,0x0000003d,
- 0x00000040,0x0004002b,0x00000006,0x0000003e,0x00000001,0x0006002c,0x00000007,0x0000003f,
- 0x0000003d,0x0000003e,0x0000003e,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
- 0x000200f8,0x00000005,0x0004003b,0x0000001c,0x0000001d,0x00000007,0x0004003b,0x0000001c,
- 0x00000025,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x00050041,0x0000000b,
- 0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,
- 0x00000014,0x00000015,0x00000012,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,
- 0x000500ae,0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,
- 0x000400fa,0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000100fd,0x000200f8,
- 0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000012,0x0000001e,0x0004003d,0x00000006,
- 0x00000020,0x0000001f,0x00050041,0x0000000b,0x00000021,0x00000009,0x0000000a,0x0004003d,
- 0x00000006,0x00000022,0x00000021,0x00050080,0x00000006,0x00000023,0x00000020,0x00000022,
- 0x0004007c,0x0000000e,0x00000024,0x00000023,0x0003003e,0x0000001d,0x00000024,0x00050041,
- 0x00000014,0x00000027,0x00000012,0x00000026,0x0004003d,0x00000006,0x00000028,0x00000027,
- 0x00050041,0x0000000b,0x00000029,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000002a,
- 0x00000029,0x00050080,0x00000006,0x0000002b,0x00000028,0x0000002a,0x0004007c,0x0000000e,
- 0x0000002c,0x0000002b,0x0003003e,0x00000025,0x0000002c,0x0004003d,0x00000030,0x00000033,
- 0x00000032,0x0004003d,0x0000000e,0x00000034,0x00000025,0x00040064,0x0000002f,0x00000035,
- 0x00000033,0x0005005f,0x0000000f,0x00000036,0x00000035,0x00000034,0x0003003e,0x0000002e,
- 0x00000036,0x0004003d,0x00000037,0x0000003a,0x00000039,0x0004003d,0x0000000e,0x0000003b,
- 0x0000001d,0x0004003d,0x0000000f,0x0000003c,0x0000002e,0x00040063,0x0000003a,0x0000003b,
- 0x0000003c,0x000100fd,0x00010038
+ 0x00006575,0x00040005,0x00000012,0x61726170,0x0000736d,0x00030005,0x00000032,0x00637273,
+ 0x00040005,0x00000039,0x74736564,0x00000000,0x00040047,0x00000009,0x0000000b,0x0000001c,
+ 0x00050048,0x00000010,0x00000000,0x00000023,0x00000000,0x00050048,0x00000010,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x00000010,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x00000010,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000010,0x00000004,0x00000023,
+ 0x00000010,0x00030047,0x00000010,0x00000002,0x00040047,0x00000032,0x00000022,0x00000000,
+ 0x00040047,0x00000032,0x00000021,0x00000001,0x00040047,0x00000039,0x00000022,0x00000000,
+ 0x00040047,0x00000039,0x00000021,0x00000000,0x00030047,0x00000039,0x00000019,0x00040047,
+ 0x0000003f,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000003,
+ 0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000001,
+ 0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,0x00000001,0x00000006,
+ 0x00040015,0x0000000e,0x00000020,0x00000001,0x00040017,0x0000000f,0x0000000e,0x00000004,
+ 0x0007001e,0x00000010,0x00000006,0x00000006,0x00000006,0x00000006,0x0000000f,0x00040020,
+ 0x00000011,0x00000009,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000009,0x0004002b,
+ 0x0000000e,0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,0x00000006,0x00020014,
+ 0x00000017,0x0004002b,0x0000000e,0x0000001e,0x00000000,0x0004002b,0x0000000e,0x00000026,
+ 0x00000002,0x00090019,0x0000002f,0x0000000e,0x00000005,0x00000000,0x00000000,0x00000000,
+ 0x00000001,0x00000000,0x0003001b,0x00000030,0x0000002f,0x00040020,0x00000031,0x00000000,
+ 0x00000030,0x0004003b,0x00000031,0x00000032,0x00000000,0x00090019,0x00000037,0x0000000e,
+ 0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000015,0x00040020,0x00000038,
+ 0x00000000,0x00000037,0x0004003b,0x00000038,0x00000039,0x00000000,0x0004002b,0x00000006,
+ 0x0000003d,0x00000040,0x0004002b,0x00000006,0x0000003e,0x00000001,0x0006002c,0x00000007,
+ 0x0000003f,0x0000003d,0x0000003e,0x0000003e,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x000300f7,0x00000040,0x00000000,0x000300fb,0x0000000a,
+ 0x00000041,0x000200f8,0x00000041,0x00050041,0x0000000b,0x0000000c,0x00000009,0x0000000a,
+ 0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,0x00000014,0x00000015,0x00000012,
+ 0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x000500ae,0x00000017,0x00000018,
+ 0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,0x000400fa,0x00000018,0x00000019,
+ 0x0000001a,0x000200f8,0x00000019,0x000200f9,0x00000040,0x000200f8,0x0000001a,0x00050041,
+ 0x00000014,0x0000001f,0x00000012,0x0000001e,0x0004003d,0x00000006,0x00000020,0x0000001f,
+ 0x00050080,0x00000006,0x00000023,0x00000020,0x0000000d,0x0004007c,0x0000000e,0x00000024,
+ 0x00000023,0x00050041,0x00000014,0x00000027,0x00000012,0x00000026,0x0004003d,0x00000006,
+ 0x00000028,0x00000027,0x00050080,0x00000006,0x0000002b,0x00000028,0x0000000d,0x0004007c,
+ 0x0000000e,0x0000002c,0x0000002b,0x0004003d,0x00000030,0x00000033,0x00000032,0x00040064,
+ 0x0000002f,0x00000035,0x00000033,0x0005005f,0x0000000f,0x00000036,0x00000035,0x0000002c,
+ 0x0004003d,0x00000037,0x0000003a,0x00000039,0x00040063,0x0000003a,0x00000024,0x00000036,
+ 0x000200f9,0x00000040,0x000200f8,0x00000040,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc
index aebf293d75d..31ce6afd7c2 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc
@@ -1,57 +1,49 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000007[] = {
- 0x07230203,0x00010000,0x00080007,0x00000036,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000036,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000014,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
- 0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00050005,
- 0x00000008,0x74736564,0x65646e49,0x00000078,0x00060005,0x0000000b,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00060006,0x0000000b,0x00000000,0x74736564,0x7366664f,0x00007465,
- 0x00050006,0x0000000b,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000b,0x00000002,
- 0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000b,0x00000003,0x64646170,0x00676e69,
- 0x00060006,0x0000000b,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,0x0000000d,
- 0x61726170,0x0000736d,0x00080005,0x00000014,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x0000001b,0x49637273,0x7865646e,0x00000000,0x00050005,
- 0x00000024,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000028,0x00637273,0x00040005,
- 0x0000002f,0x74736564,0x00000000,0x00050048,0x0000000b,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000b,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,0x00000023,0x0000000c,0x00050048,
- 0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000b,0x00000002,0x00040047,
- 0x00000014,0x0000000b,0x0000001c,0x00040047,0x00000028,0x00000022,0x00000000,0x00040047,
- 0x00000028,0x00000021,0x00000001,0x00040047,0x0000002f,0x00000022,0x00000000,0x00040047,
- 0x0000002f,0x00000021,0x00000000,0x00030047,0x0000002f,0x00000019,0x00040047,0x00000035,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,
- 0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000006,0x00000004,0x0007001e,
- 0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,
- 0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,
- 0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,
- 0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,
- 0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,
- 0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001c,0x00000002,0x00040020,0x00000023,
- 0x00000007,0x0000000a,0x00090019,0x00000025,0x00000006,0x00000005,0x00000000,0x00000000,
- 0x00000000,0x00000001,0x00000000,0x0003001b,0x00000026,0x00000025,0x00040020,0x00000027,
- 0x00000000,0x00000026,0x0004003b,0x00000027,0x00000028,0x00000000,0x00090019,0x0000002d,
- 0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000015,0x00040020,
- 0x0000002e,0x00000000,0x0000002d,0x0004003b,0x0000002e,0x0000002f,0x00000000,0x0004002b,
- 0x00000009,0x00000033,0x00000040,0x0004002b,0x00000009,0x00000034,0x00000001,0x0006002c,
- 0x00000012,0x00000035,0x00000033,0x00000034,0x00000034,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,
- 0x0004003b,0x00000007,0x0000001b,0x00000007,0x0004003b,0x00000023,0x00000024,0x00000007,
- 0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,
- 0x00000010,0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,
- 0x00000018,0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,
- 0x00000006,0x0000001a,0x00000019,0x0003003e,0x00000008,0x0000001a,0x00050041,0x0000000f,
- 0x0000001d,0x0000000d,0x0000001c,0x0004003d,0x00000009,0x0000001e,0x0000001d,0x00050041,
- 0x00000016,0x0000001f,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000020,0x0000001f,
- 0x00050080,0x00000009,0x00000021,0x0000001e,0x00000020,0x0004007c,0x00000006,0x00000022,
- 0x00000021,0x0003003e,0x0000001b,0x00000022,0x0004003d,0x00000026,0x00000029,0x00000028,
- 0x0004003d,0x00000006,0x0000002a,0x0000001b,0x00040064,0x00000025,0x0000002b,0x00000029,
- 0x0005005f,0x0000000a,0x0000002c,0x0000002b,0x0000002a,0x0003003e,0x00000024,0x0000002c,
- 0x0004003d,0x0000002d,0x00000030,0x0000002f,0x0004003d,0x00000006,0x00000031,0x00000008,
- 0x0004003d,0x0000000a,0x00000032,0x00000024,0x00040063,0x00000030,0x00000031,0x00000032,
- 0x000100fd,0x00010038
+ 0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,
+ 0x0000000b,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000000b,0x00000000,
+ 0x74736564,0x7366664f,0x00007465,0x00050006,0x0000000b,0x00000001,0x657a6973,0x00000000,
+ 0x00060006,0x0000000b,0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000b,
+ 0x00000003,0x64646170,0x00676e69,0x00060006,0x0000000b,0x00000004,0x61656c63,0x6c615672,
+ 0x00006575,0x00040005,0x0000000d,0x61726170,0x0000736d,0x00080005,0x00000014,0x475f6c67,
+ 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000028,0x00637273,
+ 0x00040005,0x0000002f,0x74736564,0x00000000,0x00050048,0x0000000b,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000b,
+ 0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,0x00000023,0x0000000c,
+ 0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000b,0x00000002,
+ 0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,0x00000028,0x00000022,0x00000000,
+ 0x00040047,0x00000028,0x00000021,0x00000001,0x00040047,0x0000002f,0x00000022,0x00000000,
+ 0x00040047,0x0000002f,0x00000021,0x00000000,0x00030047,0x0000002f,0x00000019,0x00040047,
+ 0x00000035,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,0x00000009,0x00000020,0x00000000,
+ 0x00040017,0x0000000a,0x00000006,0x00000004,0x0007001e,0x0000000b,0x00000009,0x00000009,
+ 0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,0x00000009,0x0000000b,0x0004003b,
+ 0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,0x0000000e,0x00000000,0x00040020,
+ 0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,0x00000009,0x00000003,0x00040020,
+ 0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,0x00000014,0x00000001,0x0004002b,
+ 0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,0x00000001,0x00000009,0x0004002b,
+ 0x00000006,0x0000001c,0x00000002,0x00090019,0x00000025,0x00000006,0x00000005,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000026,0x00000025,0x00040020,
+ 0x00000027,0x00000000,0x00000026,0x0004003b,0x00000027,0x00000028,0x00000000,0x00090019,
+ 0x0000002d,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x00000015,
+ 0x00040020,0x0000002e,0x00000000,0x0000002d,0x0004003b,0x0000002e,0x0000002f,0x00000000,
+ 0x0004002b,0x00000009,0x00000033,0x00000040,0x0004002b,0x00000009,0x00000034,0x00000001,
+ 0x0006002c,0x00000012,0x00000035,0x00000033,0x00000034,0x00000034,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x00050041,0x0000000f,0x00000010,
+ 0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,0x00000010,0x00050041,0x00000016,
+ 0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000018,0x00000017,0x00050080,
+ 0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,0x00000006,0x0000001a,0x00000019,
+ 0x00050041,0x0000000f,0x0000001d,0x0000000d,0x0000001c,0x0004003d,0x00000009,0x0000001e,
+ 0x0000001d,0x00050080,0x00000009,0x00000021,0x0000001e,0x00000018,0x0004007c,0x00000006,
+ 0x00000022,0x00000021,0x0004003d,0x00000026,0x00000029,0x00000028,0x00040064,0x00000025,
+ 0x0000002b,0x00000029,0x0005005f,0x0000000a,0x0000002c,0x0000002b,0x00000022,0x0004003d,
+ 0x0000002d,0x00000030,0x0000002f,0x00040063,0x00000030,0x0000001a,0x0000002c,0x000100fd,
+ 0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc
index 847209d3a85..43bad2069cf 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000008[] = {
- 0x07230203,0x00010000,0x00080007,0x0000003c,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x0000003e,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000009,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,
@@ -11,48 +11,38 @@ const uint32_t kBufferUtils_comp_00000008[] = {
0x00007465,0x00050006,0x0000000f,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000f,
0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000f,0x00000003,0x64646170,
0x00676e69,0x00060006,0x0000000f,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,
- 0x00000011,0x61726170,0x0000736d,0x00050005,0x0000001d,0x74736564,0x65646e49,0x00000078,
- 0x00050005,0x00000025,0x49637273,0x7865646e,0x00000000,0x00050005,0x0000002e,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x00000035,0x74736564,0x00000000,0x00040047,0x00000009,
- 0x0000000b,0x0000001c,0x00050048,0x0000000f,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x0000000f,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000f,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x0000000f,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000f,
- 0x00000004,0x00000023,0x00000010,0x00030047,0x0000000f,0x00000002,0x00040047,0x00000035,
- 0x00000022,0x00000000,0x00040047,0x00000035,0x00000021,0x00000000,0x00030047,0x00000035,
- 0x00000019,0x00040047,0x0000003b,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
- 0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,
- 0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,
- 0x00000001,0x00000006,0x00040017,0x0000000e,0x00000006,0x00000004,0x0007001e,0x0000000f,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x0000000e,0x00040020,0x00000010,0x00000009,
- 0x0000000f,0x0004003b,0x00000010,0x00000011,0x00000009,0x00040015,0x00000012,0x00000020,
- 0x00000001,0x0004002b,0x00000012,0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,
- 0x00000006,0x00020014,0x00000017,0x00040020,0x0000001c,0x00000007,0x00000012,0x0004002b,
- 0x00000012,0x0000001e,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000002,0x00040020,
- 0x0000002d,0x00000007,0x0000000e,0x0004002b,0x00000012,0x0000002f,0x00000004,0x00040020,
- 0x00000030,0x00000009,0x0000000e,0x00090019,0x00000033,0x00000006,0x00000005,0x00000000,
- 0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x00000034,0x00000000,0x00000033,
- 0x0004003b,0x00000034,0x00000035,0x00000000,0x0004002b,0x00000006,0x00000039,0x00000040,
- 0x0004002b,0x00000006,0x0000003a,0x00000001,0x0006002c,0x00000007,0x0000003b,0x00000039,
- 0x0000003a,0x0000003a,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x0000001c,0x0000001d,0x00000007,0x0004003b,0x0000001c,0x00000025,
- 0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x00050041,0x0000000b,0x0000000c,
- 0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,0x00000014,
- 0x00000015,0x00000011,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x000500ae,
- 0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,0x000400fa,
- 0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000100fd,0x000200f8,0x0000001a,
- 0x00050041,0x00000014,0x0000001f,0x00000011,0x0000001e,0x0004003d,0x00000006,0x00000020,
- 0x0000001f,0x00050041,0x0000000b,0x00000021,0x00000009,0x0000000a,0x0004003d,0x00000006,
- 0x00000022,0x00000021,0x00050080,0x00000006,0x00000023,0x00000020,0x00000022,0x0004007c,
- 0x00000012,0x00000024,0x00000023,0x0003003e,0x0000001d,0x00000024,0x00050041,0x00000014,
- 0x00000027,0x00000011,0x00000026,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050041,
- 0x0000000b,0x00000029,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000002a,0x00000029,
- 0x00050080,0x00000006,0x0000002b,0x00000028,0x0000002a,0x0004007c,0x00000012,0x0000002c,
- 0x0000002b,0x0003003e,0x00000025,0x0000002c,0x00050041,0x00000030,0x00000031,0x00000011,
- 0x0000002f,0x0004003d,0x0000000e,0x00000032,0x00000031,0x0003003e,0x0000002e,0x00000032,
- 0x0004003d,0x00000033,0x00000036,0x00000035,0x0004003d,0x00000012,0x00000037,0x0000001d,
- 0x0004003d,0x0000000e,0x00000038,0x0000002e,0x00040063,0x00000036,0x00000037,0x00000038,
- 0x000100fd,0x00010038
+ 0x00000011,0x61726170,0x0000736d,0x00040005,0x00000035,0x74736564,0x00000000,0x00040047,
+ 0x00000009,0x0000000b,0x0000001c,0x00050048,0x0000000f,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000000f,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000f,0x00000002,
+ 0x00000023,0x00000008,0x00050048,0x0000000f,0x00000003,0x00000023,0x0000000c,0x00050048,
+ 0x0000000f,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000f,0x00000002,0x00040047,
+ 0x00000035,0x00000022,0x00000000,0x00040047,0x00000035,0x00000021,0x00000000,0x00030047,
+ 0x00000035,0x00000019,0x00040047,0x0000003b,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
+ 0x00000007,0x00000006,0x00000003,0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,
+ 0x00000008,0x00000009,0x00000001,0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,
+ 0x0000000b,0x00000001,0x00000006,0x00040017,0x0000000e,0x00000006,0x00000004,0x0007001e,
+ 0x0000000f,0x00000006,0x00000006,0x00000006,0x00000006,0x0000000e,0x00040020,0x00000010,
+ 0x00000009,0x0000000f,0x0004003b,0x00000010,0x00000011,0x00000009,0x00040015,0x00000012,
+ 0x00000020,0x00000001,0x0004002b,0x00000012,0x00000013,0x00000001,0x00040020,0x00000014,
+ 0x00000009,0x00000006,0x00020014,0x00000017,0x0004002b,0x00000012,0x0000001e,0x00000000,
+ 0x0004002b,0x00000012,0x0000002f,0x00000004,0x00040020,0x00000030,0x00000009,0x0000000e,
+ 0x00090019,0x00000033,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,
+ 0x0000001e,0x00040020,0x00000034,0x00000000,0x00000033,0x0004003b,0x00000034,0x00000035,
+ 0x00000000,0x0004002b,0x00000006,0x00000039,0x00000040,0x0004002b,0x00000006,0x0000003a,
+ 0x00000001,0x0006002c,0x00000007,0x0000003b,0x00000039,0x0000003a,0x0000003a,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x0000003c,
+ 0x00000000,0x000300fb,0x0000000a,0x0000003d,0x000200f8,0x0000003d,0x00050041,0x0000000b,
+ 0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,
+ 0x00000014,0x00000015,0x00000011,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,
+ 0x000500ae,0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,
+ 0x000400fa,0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000200f9,0x0000003c,
+ 0x000200f8,0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000011,0x0000001e,0x0004003d,
+ 0x00000006,0x00000020,0x0000001f,0x00050080,0x00000006,0x00000023,0x00000020,0x0000000d,
+ 0x0004007c,0x00000012,0x00000024,0x00000023,0x00050041,0x00000030,0x00000031,0x00000011,
+ 0x0000002f,0x0004003d,0x0000000e,0x00000032,0x00000031,0x0004003d,0x00000033,0x00000036,
+ 0x00000035,0x00040063,0x00000036,0x00000024,0x00000032,0x000200f9,0x0000003c,0x000200f8,
+ 0x0000003c,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc
index ba7e8dde4e9..e855fc06a1e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc
@@ -1,53 +1,42 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_00000009[] = {
- 0x07230203,0x00010000,0x00080007,0x00000032,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000032,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,
0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000014,
0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,
- 0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00050005,0x00000008,0x74736564,
- 0x65646e49,0x00000078,0x00060005,0x0000000b,0x68737550,0x736e6f43,0x746e6174,0x00000073,
- 0x00060006,0x0000000b,0x00000000,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000000b,
- 0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000b,0x00000002,0x4f637273,0x65736666,
- 0x00000074,0x00050006,0x0000000b,0x00000003,0x64646170,0x00676e69,0x00060006,0x0000000b,
- 0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,0x0000000d,0x61726170,0x0000736d,
- 0x00080005,0x00000014,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,
- 0x00050005,0x0000001b,0x49637273,0x7865646e,0x00000000,0x00050005,0x00000024,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x0000002b,0x74736564,0x00000000,0x00050048,0x0000000b,
- 0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,
- 0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,
- 0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,
- 0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,0x0000002b,
- 0x00000022,0x00000000,0x00040047,0x0000002b,0x00000021,0x00000000,0x00030047,0x0000002b,
- 0x00000019,0x00040047,0x00000031,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,
- 0x00000007,0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,
- 0x00000009,0x00000004,0x0007001e,0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,
- 0x0000000a,0x00040020,0x0000000c,0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000009,0x0004002b,0x00000006,0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,
- 0x00000009,0x00040017,0x00000012,0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,
- 0x00000012,0x0004003b,0x00000013,0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,
- 0x00000000,0x00040020,0x00000016,0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001c,
- 0x00000002,0x00040020,0x00000023,0x00000007,0x0000000a,0x0004002b,0x00000006,0x00000025,
- 0x00000004,0x00040020,0x00000026,0x00000009,0x0000000a,0x00090019,0x00000029,0x00000009,
- 0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x0000002a,
- 0x00000000,0x00000029,0x0004003b,0x0000002a,0x0000002b,0x00000000,0x0004002b,0x00000009,
- 0x0000002f,0x00000040,0x0004002b,0x00000009,0x00000030,0x00000001,0x0006002c,0x00000012,
- 0x00000031,0x0000002f,0x00000030,0x00000030,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b,
- 0x00000007,0x0000001b,0x00000007,0x0004003b,0x00000023,0x00000024,0x00000007,0x00050041,
- 0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,0x00000010,
- 0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000018,
- 0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,0x00000006,
- 0x0000001a,0x00000019,0x0003003e,0x00000008,0x0000001a,0x00050041,0x0000000f,0x0000001d,
- 0x0000000d,0x0000001c,0x0004003d,0x00000009,0x0000001e,0x0000001d,0x00050041,0x00000016,
- 0x0000001f,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000020,0x0000001f,0x00050080,
- 0x00000009,0x00000021,0x0000001e,0x00000020,0x0004007c,0x00000006,0x00000022,0x00000021,
- 0x0003003e,0x0000001b,0x00000022,0x00050041,0x00000026,0x00000027,0x0000000d,0x00000025,
- 0x0004003d,0x0000000a,0x00000028,0x00000027,0x0003003e,0x00000024,0x00000028,0x0004003d,
- 0x00000029,0x0000002c,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x00000008,0x0004003d,
- 0x0000000a,0x0000002e,0x00000024,0x00040063,0x0000002c,0x0000002d,0x0000002e,0x000100fd,
- 0x00010038
+ 0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000b,0x68737550,
+ 0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000000b,0x00000000,0x74736564,0x7366664f,
+ 0x00007465,0x00050006,0x0000000b,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000b,
+ 0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000b,0x00000003,0x64646170,
+ 0x00676e69,0x00060006,0x0000000b,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,
+ 0x0000000d,0x61726170,0x0000736d,0x00080005,0x00000014,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00040005,0x0000002b,0x74736564,0x00000000,0x00050048,
+ 0x0000000b,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,
+ 0x00000004,0x00050048,0x0000000b,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,
+ 0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,
+ 0x00030047,0x0000000b,0x00000002,0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,
+ 0x0000002b,0x00000022,0x00000000,0x00040047,0x0000002b,0x00000021,0x00000000,0x00030047,
+ 0x0000002b,0x00000019,0x00040047,0x00000031,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,
+ 0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000004,0x0007001e,
+ 0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,
+ 0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,
+ 0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,
+ 0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,
+ 0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,
+ 0x00000001,0x00000009,0x0004002b,0x00000006,0x00000025,0x00000004,0x00040020,0x00000026,
+ 0x00000009,0x0000000a,0x00090019,0x00000029,0x00000009,0x00000005,0x00000000,0x00000000,
+ 0x00000000,0x00000002,0x0000001e,0x00040020,0x0000002a,0x00000000,0x00000029,0x0004003b,
+ 0x0000002a,0x0000002b,0x00000000,0x0004002b,0x00000009,0x0000002f,0x00000040,0x0004002b,
+ 0x00000009,0x00000030,0x00000001,0x0006002c,0x00000012,0x00000031,0x0000002f,0x00000030,
+ 0x00000030,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
+ 0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,
+ 0x00000010,0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,
+ 0x00000018,0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,
+ 0x00000006,0x0000001a,0x00000019,0x00050041,0x00000026,0x00000027,0x0000000d,0x00000025,
+ 0x0004003d,0x0000000a,0x00000028,0x00000027,0x0004003d,0x00000029,0x0000002c,0x0000002b,
+ 0x00040063,0x0000002c,0x0000001a,0x00000028,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc
index 79430255032..7a4631b9e6b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_0000000A[] = {
- 0x07230203,0x00010000,0x00080007,0x00000040,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000042,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000009,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
@@ -11,52 +11,44 @@ const uint32_t kBufferUtils_comp_0000000A[] = {
0x74736564,0x7366664f,0x00007465,0x00050006,0x0000000f,0x00000001,0x657a6973,0x00000000,
0x00060006,0x0000000f,0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000f,
0x00000003,0x64646170,0x00676e69,0x00060006,0x0000000f,0x00000004,0x61656c63,0x6c615672,
- 0x00006575,0x00040005,0x00000011,0x61726170,0x0000736d,0x00050005,0x0000001d,0x74736564,
- 0x65646e49,0x00000078,0x00050005,0x00000025,0x49637273,0x7865646e,0x00000000,0x00050005,
- 0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000032,0x00637273,0x00040005,
- 0x00000039,0x74736564,0x00000000,0x00040047,0x00000009,0x0000000b,0x0000001c,0x00050048,
- 0x0000000f,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000f,0x00000001,0x00000023,
- 0x00000004,0x00050048,0x0000000f,0x00000002,0x00000023,0x00000008,0x00050048,0x0000000f,
- 0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000f,0x00000004,0x00000023,0x00000010,
- 0x00030047,0x0000000f,0x00000002,0x00040047,0x00000032,0x00000022,0x00000000,0x00040047,
- 0x00000032,0x00000021,0x00000001,0x00040047,0x00000039,0x00000022,0x00000000,0x00040047,
- 0x00000039,0x00000021,0x00000000,0x00030047,0x00000039,0x00000019,0x00040047,0x0000003f,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000003,0x00040020,
- 0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000001,0x0004002b,
- 0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,0x00000001,0x00000006,0x00040017,
- 0x0000000e,0x00000006,0x00000004,0x0007001e,0x0000000f,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x0000000e,0x00040020,0x00000010,0x00000009,0x0000000f,0x0004003b,0x00000010,
- 0x00000011,0x00000009,0x00040015,0x00000012,0x00000020,0x00000001,0x0004002b,0x00000012,
- 0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,0x00000006,0x00020014,0x00000017,
- 0x00040020,0x0000001c,0x00000007,0x00000012,0x0004002b,0x00000012,0x0000001e,0x00000000,
- 0x0004002b,0x00000012,0x00000026,0x00000002,0x00040020,0x0000002d,0x00000007,0x0000000e,
- 0x00090019,0x0000002f,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,0x00000001,
- 0x00000000,0x0003001b,0x00000030,0x0000002f,0x00040020,0x00000031,0x00000000,0x00000030,
- 0x0004003b,0x00000031,0x00000032,0x00000000,0x00090019,0x00000037,0x00000006,0x00000005,
- 0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x00000038,0x00000000,
- 0x00000037,0x0004003b,0x00000038,0x00000039,0x00000000,0x0004002b,0x00000006,0x0000003d,
- 0x00000040,0x0004002b,0x00000006,0x0000003e,0x00000001,0x0006002c,0x00000007,0x0000003f,
- 0x0000003d,0x0000003e,0x0000003e,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
- 0x000200f8,0x00000005,0x0004003b,0x0000001c,0x0000001d,0x00000007,0x0004003b,0x0000001c,
- 0x00000025,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x00050041,0x0000000b,
- 0x0000000c,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,
- 0x00000014,0x00000015,0x00000011,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,
- 0x000500ae,0x00000017,0x00000018,0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,
- 0x000400fa,0x00000018,0x00000019,0x0000001a,0x000200f8,0x00000019,0x000100fd,0x000200f8,
- 0x0000001a,0x00050041,0x00000014,0x0000001f,0x00000011,0x0000001e,0x0004003d,0x00000006,
- 0x00000020,0x0000001f,0x00050041,0x0000000b,0x00000021,0x00000009,0x0000000a,0x0004003d,
- 0x00000006,0x00000022,0x00000021,0x00050080,0x00000006,0x00000023,0x00000020,0x00000022,
- 0x0004007c,0x00000012,0x00000024,0x00000023,0x0003003e,0x0000001d,0x00000024,0x00050041,
- 0x00000014,0x00000027,0x00000011,0x00000026,0x0004003d,0x00000006,0x00000028,0x00000027,
- 0x00050041,0x0000000b,0x00000029,0x00000009,0x0000000a,0x0004003d,0x00000006,0x0000002a,
- 0x00000029,0x00050080,0x00000006,0x0000002b,0x00000028,0x0000002a,0x0004007c,0x00000012,
- 0x0000002c,0x0000002b,0x0003003e,0x00000025,0x0000002c,0x0004003d,0x00000030,0x00000033,
- 0x00000032,0x0004003d,0x00000012,0x00000034,0x00000025,0x00040064,0x0000002f,0x00000035,
- 0x00000033,0x0005005f,0x0000000e,0x00000036,0x00000035,0x00000034,0x0003003e,0x0000002e,
- 0x00000036,0x0004003d,0x00000037,0x0000003a,0x00000039,0x0004003d,0x00000012,0x0000003b,
- 0x0000001d,0x0004003d,0x0000000e,0x0000003c,0x0000002e,0x00040063,0x0000003a,0x0000003b,
- 0x0000003c,0x000100fd,0x00010038
+ 0x00006575,0x00040005,0x00000011,0x61726170,0x0000736d,0x00030005,0x00000032,0x00637273,
+ 0x00040005,0x00000039,0x74736564,0x00000000,0x00040047,0x00000009,0x0000000b,0x0000001c,
+ 0x00050048,0x0000000f,0x00000000,0x00000023,0x00000000,0x00050048,0x0000000f,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x0000000f,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x0000000f,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000000f,0x00000004,0x00000023,
+ 0x00000010,0x00030047,0x0000000f,0x00000002,0x00040047,0x00000032,0x00000022,0x00000000,
+ 0x00040047,0x00000032,0x00000021,0x00000001,0x00040047,0x00000039,0x00000022,0x00000000,
+ 0x00040047,0x00000039,0x00000021,0x00000000,0x00030047,0x00000039,0x00000019,0x00040047,
+ 0x0000003f,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000003,
+ 0x00040020,0x00000008,0x00000001,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000001,
+ 0x0004002b,0x00000006,0x0000000a,0x00000000,0x00040020,0x0000000b,0x00000001,0x00000006,
+ 0x00040017,0x0000000e,0x00000006,0x00000004,0x0007001e,0x0000000f,0x00000006,0x00000006,
+ 0x00000006,0x00000006,0x0000000e,0x00040020,0x00000010,0x00000009,0x0000000f,0x0004003b,
+ 0x00000010,0x00000011,0x00000009,0x00040015,0x00000012,0x00000020,0x00000001,0x0004002b,
+ 0x00000012,0x00000013,0x00000001,0x00040020,0x00000014,0x00000009,0x00000006,0x00020014,
+ 0x00000017,0x0004002b,0x00000012,0x0000001e,0x00000000,0x0004002b,0x00000012,0x00000026,
+ 0x00000002,0x00090019,0x0000002f,0x00000006,0x00000005,0x00000000,0x00000000,0x00000000,
+ 0x00000001,0x00000000,0x0003001b,0x00000030,0x0000002f,0x00040020,0x00000031,0x00000000,
+ 0x00000030,0x0004003b,0x00000031,0x00000032,0x00000000,0x00090019,0x00000037,0x00000006,
+ 0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x00000038,
+ 0x00000000,0x00000037,0x0004003b,0x00000038,0x00000039,0x00000000,0x0004002b,0x00000006,
+ 0x0000003d,0x00000040,0x0004002b,0x00000006,0x0000003e,0x00000001,0x0006002c,0x00000007,
+ 0x0000003f,0x0000003d,0x0000003e,0x0000003e,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x000300f7,0x00000040,0x00000000,0x000300fb,0x0000000a,
+ 0x00000041,0x000200f8,0x00000041,0x00050041,0x0000000b,0x0000000c,0x00000009,0x0000000a,
+ 0x0004003d,0x00000006,0x0000000d,0x0000000c,0x00050041,0x00000014,0x00000015,0x00000011,
+ 0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x000500ae,0x00000017,0x00000018,
+ 0x0000000d,0x00000016,0x000300f7,0x0000001a,0x00000000,0x000400fa,0x00000018,0x00000019,
+ 0x0000001a,0x000200f8,0x00000019,0x000200f9,0x00000040,0x000200f8,0x0000001a,0x00050041,
+ 0x00000014,0x0000001f,0x00000011,0x0000001e,0x0004003d,0x00000006,0x00000020,0x0000001f,
+ 0x00050080,0x00000006,0x00000023,0x00000020,0x0000000d,0x0004007c,0x00000012,0x00000024,
+ 0x00000023,0x00050041,0x00000014,0x00000027,0x00000011,0x00000026,0x0004003d,0x00000006,
+ 0x00000028,0x00000027,0x00050080,0x00000006,0x0000002b,0x00000028,0x0000000d,0x0004007c,
+ 0x00000012,0x0000002c,0x0000002b,0x0004003d,0x00000030,0x00000033,0x00000032,0x00040064,
+ 0x0000002f,0x00000035,0x00000033,0x0005005f,0x0000000e,0x00000036,0x00000035,0x0000002c,
+ 0x0004003d,0x00000037,0x0000003a,0x00000039,0x00040063,0x0000003a,0x00000024,0x00000036,
+ 0x000200f9,0x00000040,0x000200f8,0x00000040,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc
index 455e1598c74..881d1a70535 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc
@@ -1,57 +1,49 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kBufferUtils_comp_0000000B[] = {
- 0x07230203,0x00010000,0x00080007,0x00000036,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010000,0x0008000a,0x00000036,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000002e,0x00020011,0x0000002f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000014,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,
- 0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00050005,
- 0x00000008,0x74736564,0x65646e49,0x00000078,0x00060005,0x0000000b,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00060006,0x0000000b,0x00000000,0x74736564,0x7366664f,0x00007465,
- 0x00050006,0x0000000b,0x00000001,0x657a6973,0x00000000,0x00060006,0x0000000b,0x00000002,
- 0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000b,0x00000003,0x64646170,0x00676e69,
- 0x00060006,0x0000000b,0x00000004,0x61656c63,0x6c615672,0x00006575,0x00040005,0x0000000d,
- 0x61726170,0x0000736d,0x00080005,0x00000014,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x0000001b,0x49637273,0x7865646e,0x00000000,0x00050005,
- 0x00000024,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000028,0x00637273,0x00040005,
- 0x0000002f,0x74736564,0x00000000,0x00050048,0x0000000b,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000b,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,0x00000023,0x0000000c,0x00050048,
- 0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000b,0x00000002,0x00040047,
- 0x00000014,0x0000000b,0x0000001c,0x00040047,0x00000028,0x00000022,0x00000000,0x00040047,
- 0x00000028,0x00000021,0x00000001,0x00040047,0x0000002f,0x00000022,0x00000000,0x00040047,
- 0x0000002f,0x00000021,0x00000000,0x00030047,0x0000002f,0x00000019,0x00040047,0x00000035,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,
- 0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000004,0x0007001e,
- 0x0000000b,0x00000009,0x00000009,0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,
- 0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,
- 0x0000000e,0x00000000,0x00040020,0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,
- 0x00000009,0x00000003,0x00040020,0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,
- 0x00000014,0x00000001,0x0004002b,0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,
- 0x00000001,0x00000009,0x0004002b,0x00000006,0x0000001c,0x00000002,0x00040020,0x00000023,
- 0x00000007,0x0000000a,0x00090019,0x00000025,0x00000009,0x00000005,0x00000000,0x00000000,
- 0x00000000,0x00000001,0x00000000,0x0003001b,0x00000026,0x00000025,0x00040020,0x00000027,
- 0x00000000,0x00000026,0x0004003b,0x00000027,0x00000028,0x00000000,0x00090019,0x0000002d,
- 0x00000009,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,
- 0x0000002e,0x00000000,0x0000002d,0x0004003b,0x0000002e,0x0000002f,0x00000000,0x0004002b,
- 0x00000009,0x00000033,0x00000040,0x0004002b,0x00000009,0x00000034,0x00000001,0x0006002c,
- 0x00000012,0x00000035,0x00000033,0x00000034,0x00000034,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,
- 0x0004003b,0x00000007,0x0000001b,0x00000007,0x0004003b,0x00000023,0x00000024,0x00000007,
- 0x00050041,0x0000000f,0x00000010,0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,
- 0x00000010,0x00050041,0x00000016,0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,
- 0x00000018,0x00000017,0x00050080,0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,
- 0x00000006,0x0000001a,0x00000019,0x0003003e,0x00000008,0x0000001a,0x00050041,0x0000000f,
- 0x0000001d,0x0000000d,0x0000001c,0x0004003d,0x00000009,0x0000001e,0x0000001d,0x00050041,
- 0x00000016,0x0000001f,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000020,0x0000001f,
- 0x00050080,0x00000009,0x00000021,0x0000001e,0x00000020,0x0004007c,0x00000006,0x00000022,
- 0x00000021,0x0003003e,0x0000001b,0x00000022,0x0004003d,0x00000026,0x00000029,0x00000028,
- 0x0004003d,0x00000006,0x0000002a,0x0000001b,0x00040064,0x00000025,0x0000002b,0x00000029,
- 0x0005005f,0x0000000a,0x0000002c,0x0000002b,0x0000002a,0x0003003e,0x00000024,0x0000002c,
- 0x0004003d,0x0000002d,0x00000030,0x0000002f,0x0004003d,0x00000006,0x00000031,0x00000008,
- 0x0004003d,0x0000000a,0x00000032,0x00000024,0x00040063,0x00000030,0x00000031,0x00000032,
- 0x000100fd,0x00010038
+ 0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,
+ 0x0000000b,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000000b,0x00000000,
+ 0x74736564,0x7366664f,0x00007465,0x00050006,0x0000000b,0x00000001,0x657a6973,0x00000000,
+ 0x00060006,0x0000000b,0x00000002,0x4f637273,0x65736666,0x00000074,0x00050006,0x0000000b,
+ 0x00000003,0x64646170,0x00676e69,0x00060006,0x0000000b,0x00000004,0x61656c63,0x6c615672,
+ 0x00006575,0x00040005,0x0000000d,0x61726170,0x0000736d,0x00080005,0x00000014,0x475f6c67,
+ 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000028,0x00637273,
+ 0x00040005,0x0000002f,0x74736564,0x00000000,0x00050048,0x0000000b,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000b,
+ 0x00000002,0x00000023,0x00000008,0x00050048,0x0000000b,0x00000003,0x00000023,0x0000000c,
+ 0x00050048,0x0000000b,0x00000004,0x00000023,0x00000010,0x00030047,0x0000000b,0x00000002,
+ 0x00040047,0x00000014,0x0000000b,0x0000001c,0x00040047,0x00000028,0x00000022,0x00000000,
+ 0x00040047,0x00000028,0x00000021,0x00000001,0x00040047,0x0000002f,0x00000022,0x00000000,
+ 0x00040047,0x0000002f,0x00000021,0x00000000,0x00030047,0x0000002f,0x00000019,0x00040047,
+ 0x00000035,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000001,0x00040015,0x00000009,0x00000020,0x00000000,
+ 0x00040017,0x0000000a,0x00000009,0x00000004,0x0007001e,0x0000000b,0x00000009,0x00000009,
+ 0x00000009,0x00000009,0x0000000a,0x00040020,0x0000000c,0x00000009,0x0000000b,0x0004003b,
+ 0x0000000c,0x0000000d,0x00000009,0x0004002b,0x00000006,0x0000000e,0x00000000,0x00040020,
+ 0x0000000f,0x00000009,0x00000009,0x00040017,0x00000012,0x00000009,0x00000003,0x00040020,
+ 0x00000013,0x00000001,0x00000012,0x0004003b,0x00000013,0x00000014,0x00000001,0x0004002b,
+ 0x00000009,0x00000015,0x00000000,0x00040020,0x00000016,0x00000001,0x00000009,0x0004002b,
+ 0x00000006,0x0000001c,0x00000002,0x00090019,0x00000025,0x00000009,0x00000005,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000026,0x00000025,0x00040020,
+ 0x00000027,0x00000000,0x00000026,0x0004003b,0x00000027,0x00000028,0x00000000,0x00090019,
+ 0x0000002d,0x00000009,0x00000005,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,
+ 0x00040020,0x0000002e,0x00000000,0x0000002d,0x0004003b,0x0000002e,0x0000002f,0x00000000,
+ 0x0004002b,0x00000009,0x00000033,0x00000040,0x0004002b,0x00000009,0x00000034,0x00000001,
+ 0x0006002c,0x00000012,0x00000035,0x00000033,0x00000034,0x00000034,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x00050041,0x0000000f,0x00000010,
+ 0x0000000d,0x0000000e,0x0004003d,0x00000009,0x00000011,0x00000010,0x00050041,0x00000016,
+ 0x00000017,0x00000014,0x00000015,0x0004003d,0x00000009,0x00000018,0x00000017,0x00050080,
+ 0x00000009,0x00000019,0x00000011,0x00000018,0x0004007c,0x00000006,0x0000001a,0x00000019,
+ 0x00050041,0x0000000f,0x0000001d,0x0000000d,0x0000001c,0x0004003d,0x00000009,0x0000001e,
+ 0x0000001d,0x00050080,0x00000009,0x00000021,0x0000001e,0x00000018,0x0004007c,0x00000006,
+ 0x00000022,0x00000021,0x0004003d,0x00000026,0x00000029,0x00000028,0x00040064,0x00000025,
+ 0x0000002b,0x00000029,0x0005005f,0x0000000a,0x0000002c,0x0000002b,0x00000022,0x0004003d,
+ 0x0000002d,0x00000030,0x0000002f,0x00040063,0x00000030,0x0000001a,0x0000002c,0x000100fd,
+ 0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc
index 87ddc4cc6f4..ecdcf54901a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc
@@ -1,123 +1,73 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndex_comp_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x00000089,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000cb,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000048,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000a,0x6c6c7550,0x65646e49,0x31752878,
- 0x0000003b,0x00040005,0x00000009,0x65646e69,0x00000078,0x00090005,0x00000010,0x6b636150,
- 0x65646e49,0x6c615678,0x75286575,0x31753b31,0x3b31753b,0x00000000,0x00050005,0x0000000d,
- 0x56637273,0x65756c61,0x00000000,0x00050005,0x0000000e,0x65646e69,0x646e4978,0x00007865,
- 0x00050005,0x0000000f,0x56747364,0x65756c61,0x00000000,0x00050005,0x00000012,0x49637273,
- 0x7865646e,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,
- 0x00070006,0x00000014,0x00000000,0x49637273,0x7865646e,0x7366664f,0x00007465,0x00090006,
- 0x00000014,0x00000001,0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,0x00000034,
- 0x00060006,0x00000014,0x00000002,0x4978616d,0x7865646e,0x00000000,0x00060006,0x00000014,
- 0x00000003,0x6461705f,0x676e6964,0x00000000,0x00030005,0x00000016,0x00000000,0x00050005,
- 0x0000001d,0x42637273,0x6b636f6c,0x00000000,0x00030005,0x0000001f,0x00637273,0x00060006,
- 0x0000001f,0x00000000,0x49637273,0x7865646e,0x00667542,0x00030005,0x00000021,0x00000000,
- 0x00060005,0x00000028,0x43637273,0x6f706d6f,0x746e656e,0x00000000,0x00040005,0x0000002c,
- 0x756c6176,0x00000065,0x00050005,0x0000003e,0x73726966,0x646e4974,0x00007865,0x00050005,
- 0x00000040,0x49646e65,0x7865646e,0x00000000,0x00040005,0x00000045,0x65646e69,0x00000078,
- 0x00080005,0x00000048,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,
- 0x00050005,0x00000058,0x56747364,0x65756c61,0x00000000,0x00050005,0x0000005e,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x0000005f,0x61726170,0x0000006d,0x00040005,0x00000062,
- 0x61726170,0x0000006d,0x00040005,0x00000064,0x61726170,0x0000006d,0x00040005,0x00000065,
- 0x61726170,0x0000006d,0x00050005,0x00000070,0x56637273,0x65756c61,0x00000000,0x00040005,
- 0x00000073,0x61726170,0x0000006d,0x00040005,0x00000075,0x61726170,0x0000006d,0x00040005,
- 0x00000077,0x61726170,0x0000006d,0x00040005,0x00000078,0x61726170,0x0000006d,0x00030005,
- 0x0000007d,0x00747364,0x00060006,0x0000007d,0x00000000,0x49747364,0x7865646e,0x00667542,
- 0x00030005,0x0000007f,0x00000000,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x00000014,0x00000001,0x00000023,0x00000004,0x00050048,0x00000014,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x00000014,0x00000003,0x00000023,0x0000000c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x0000001e,0x00000006,0x00000004,0x00040048,0x0000001f,
- 0x00000000,0x00000018,0x00050048,0x0000001f,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x0000001f,0x00000003,0x00040047,0x00000021,0x00000022,0x00000000,0x00040047,0x00000021,
- 0x00000021,0x00000001,0x00040047,0x00000048,0x0000000b,0x0000001c,0x00040047,0x0000007c,
- 0x00000006,0x00000004,0x00050048,0x0000007d,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x0000007d,0x00000003,0x00040047,0x0000007f,0x00000022,0x00000000,0x00040047,0x0000007f,
- 0x00000021,0x00000000,0x00040047,0x00000088,0x0000000b,0x00000019,0x00020013,0x00000002,
- 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,
- 0x00000007,0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x00060021,
- 0x0000000c,0x00000002,0x00000007,0x00000007,0x00000007,0x0006001e,0x00000014,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,
- 0x00000015,0x00000016,0x00000009,0x00040015,0x00000017,0x00000020,0x00000001,0x0004002b,
- 0x00000017,0x00000018,0x00000000,0x00040020,0x00000019,0x00000009,0x00000006,0x0003001d,
- 0x0000001e,0x00000006,0x0003001e,0x0000001f,0x0000001e,0x00040020,0x00000020,0x00000002,
- 0x0000001f,0x0004003b,0x00000020,0x00000021,0x00000002,0x0004002b,0x00000017,0x00000023,
- 0x00000002,0x00040020,0x00000025,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000002a,
- 0x00000003,0x0004002b,0x00000017,0x0000002f,0x00000003,0x0004002b,0x00000006,0x00000032,
- 0x000000ff,0x0004002b,0x00000017,0x00000039,0x00000004,0x0004002b,0x00000006,0x0000003f,
- 0x00000000,0x00040017,0x00000046,0x00000006,0x00000003,0x00040020,0x00000047,0x00000001,
- 0x00000046,0x0004003b,0x00000047,0x00000048,0x00000001,0x00040020,0x00000049,0x00000001,
- 0x00000006,0x0004002b,0x00000017,0x0000004d,0x00000001,0x00020014,0x00000053,0x0004002b,
- 0x00000006,0x0000006a,0x00000001,0x0003001d,0x0000007c,0x00000006,0x0003001e,0x0000007d,
- 0x0000007c,0x00040020,0x0000007e,0x00000002,0x0000007d,0x0004003b,0x0000007e,0x0000007f,
- 0x00000002,0x0004002b,0x00000006,0x00000087,0x00000040,0x0006002c,0x00000046,0x00000088,
- 0x00000087,0x0000006a,0x0000006a,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
- 0x000200f8,0x00000005,0x0004003b,0x00000007,0x0000003e,0x00000007,0x0004003b,0x00000007,
- 0x00000040,0x00000007,0x0004003b,0x00000007,0x00000045,0x00000007,0x0004003b,0x00000007,
- 0x00000058,0x00000007,0x0004003b,0x00000007,0x0000005e,0x00000007,0x0004003b,0x00000007,
- 0x0000005f,0x00000007,0x0004003b,0x00000007,0x00000062,0x00000007,0x0004003b,0x00000007,
- 0x00000064,0x00000007,0x0004003b,0x00000007,0x00000065,0x00000007,0x0004003b,0x00000007,
- 0x00000070,0x00000007,0x0004003b,0x00000007,0x00000073,0x00000007,0x0004003b,0x00000007,
- 0x00000075,0x00000007,0x0004003b,0x00000007,0x00000077,0x00000007,0x0004003b,0x00000007,
- 0x00000078,0x00000007,0x0003003e,0x0000003e,0x0000003f,0x0004003d,0x00000006,0x00000041,
- 0x0000003e,0x00050041,0x00000019,0x00000042,0x00000016,0x00000023,0x0004003d,0x00000006,
- 0x00000043,0x00000042,0x00050080,0x00000006,0x00000044,0x00000041,0x00000043,0x0003003e,
- 0x00000040,0x00000044,0x00050041,0x00000049,0x0000004a,0x00000048,0x0000003f,0x0004003d,
- 0x00000006,0x0000004b,0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000003e,0x000500c2,
- 0x00000006,0x0000004e,0x0000004c,0x0000004d,0x00050080,0x00000006,0x0000004f,0x0000004b,
- 0x0000004e,0x000500c4,0x00000006,0x00000050,0x0000004f,0x0000004d,0x0003003e,0x00000045,
- 0x00000050,0x0004003d,0x00000006,0x00000051,0x00000045,0x0004003d,0x00000006,0x00000052,
- 0x00000040,0x000500ae,0x00000053,0x00000054,0x00000051,0x00000052,0x000300f7,0x00000056,
- 0x00000000,0x000400fa,0x00000054,0x00000055,0x00000056,0x000200f8,0x00000055,0x000100fd,
- 0x000200f8,0x00000056,0x0003003e,0x00000058,0x0000003f,0x0004003d,0x00000006,0x00000059,
- 0x00000045,0x0004003d,0x00000006,0x0000005a,0x0000003e,0x000500ae,0x00000053,0x0000005b,
- 0x00000059,0x0000005a,0x000300f7,0x0000005d,0x00000000,0x000400fa,0x0000005b,0x0000005c,
- 0x0000005d,0x000200f8,0x0000005c,0x0004003d,0x00000006,0x00000060,0x00000045,0x0003003e,
- 0x0000005f,0x00000060,0x00050039,0x00000006,0x00000061,0x0000000a,0x0000005f,0x0003003e,
- 0x0000005e,0x00000061,0x0004003d,0x00000006,0x00000063,0x0000005e,0x0003003e,0x00000062,
- 0x00000063,0x0003003e,0x00000064,0x0000003f,0x0004003d,0x00000006,0x00000066,0x00000058,
- 0x0003003e,0x00000065,0x00000066,0x00070039,0x00000002,0x00000067,0x00000010,0x00000062,
- 0x00000064,0x00000065,0x0004003d,0x00000006,0x00000068,0x00000065,0x0003003e,0x00000058,
- 0x00000068,0x000200f9,0x0000005d,0x000200f8,0x0000005d,0x0004003d,0x00000006,0x00000069,
- 0x00000045,0x00050080,0x00000006,0x0000006b,0x00000069,0x0000006a,0x0004003d,0x00000006,
- 0x0000006c,0x00000040,0x000500b0,0x00000053,0x0000006d,0x0000006b,0x0000006c,0x000300f7,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,
+ 0x00000073,0x00070006,0x00000014,0x00000000,0x49637273,0x7865646e,0x7366664f,0x00007465,
+ 0x00090006,0x00000014,0x00000001,0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,
+ 0x00000034,0x00060006,0x00000014,0x00000002,0x4978616d,0x7865646e,0x00000000,0x00060006,
+ 0x00000014,0x00000003,0x6461705f,0x676e6964,0x00000000,0x00030005,0x00000016,0x00000000,
+ 0x00030005,0x0000001f,0x00637273,0x00060006,0x0000001f,0x00000000,0x49637273,0x7865646e,
+ 0x00667542,0x00030005,0x00000021,0x00000000,0x00080005,0x00000048,0x475f6c67,0x61626f6c,
+ 0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x0000007d,0x00747364,0x00060006,
+ 0x0000007d,0x00000000,0x49747364,0x7865646e,0x00667542,0x00030005,0x0000007f,0x00000000,
+ 0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x00000014,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000003,0x00000023,0x0000000c,0x00030047,0x00000014,0x00000002,0x00040047,
+ 0x0000001e,0x00000006,0x00000004,0x00040048,0x0000001f,0x00000000,0x00000018,0x00050048,
+ 0x0000001f,0x00000000,0x00000023,0x00000000,0x00030047,0x0000001f,0x00000003,0x00040047,
+ 0x00000021,0x00000022,0x00000000,0x00040047,0x00000021,0x00000021,0x00000001,0x00040047,
+ 0x00000048,0x0000000b,0x0000001c,0x00040047,0x0000007c,0x00000006,0x00000004,0x00050048,
+ 0x0000007d,0x00000000,0x00000023,0x00000000,0x00030047,0x0000007d,0x00000003,0x00040047,
+ 0x0000007f,0x00000022,0x00000000,0x00040047,0x0000007f,0x00000021,0x00000000,0x00040047,
+ 0x00000088,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x0006001e,0x00000014,0x00000006,0x00000006,
+ 0x00000006,0x00000006,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,
+ 0x00000016,0x00000009,0x00040015,0x00000017,0x00000020,0x00000001,0x0004002b,0x00000017,
+ 0x00000018,0x00000000,0x00040020,0x00000019,0x00000009,0x00000006,0x0003001d,0x0000001e,
+ 0x00000006,0x0003001e,0x0000001f,0x0000001e,0x00040020,0x00000020,0x00000002,0x0000001f,
+ 0x0004003b,0x00000020,0x00000021,0x00000002,0x0004002b,0x00000017,0x00000023,0x00000002,
+ 0x00040020,0x00000025,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000003,
+ 0x0004002b,0x00000017,0x0000002f,0x00000003,0x0004002b,0x00000006,0x00000032,0x000000ff,
+ 0x0004002b,0x00000006,0x0000003f,0x00000000,0x00040017,0x00000046,0x00000006,0x00000003,
+ 0x00040020,0x00000047,0x00000001,0x00000046,0x0004003b,0x00000047,0x00000048,0x00000001,
+ 0x00040020,0x00000049,0x00000001,0x00000006,0x0004002b,0x00000017,0x0000004d,0x00000001,
+ 0x00020014,0x00000053,0x0004002b,0x00000006,0x0000006a,0x00000001,0x0003001d,0x0000007c,
+ 0x00000006,0x0003001e,0x0000007d,0x0000007c,0x00040020,0x0000007e,0x00000002,0x0000007d,
+ 0x0004003b,0x0000007e,0x0000007f,0x00000002,0x0004002b,0x00000006,0x00000087,0x00000040,
+ 0x0006002c,0x00000046,0x00000088,0x00000087,0x0000006a,0x0000006a,0x0004002b,0x00000006,
+ 0x000000c9,0x00000010,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x000300f7,0x00000089,0x00000000,0x000300fb,0x0000003f,0x0000008a,0x000200f8,
+ 0x0000008a,0x00050041,0x00000019,0x00000042,0x00000016,0x00000023,0x0004003d,0x00000006,
+ 0x00000043,0x00000042,0x00050041,0x00000049,0x0000004a,0x00000048,0x0000003f,0x0004003d,
+ 0x00000006,0x0000004b,0x0000004a,0x000500c4,0x00000006,0x00000050,0x0000004b,0x0000004d,
+ 0x000500ae,0x00000053,0x00000054,0x00000050,0x00000043,0x000300f7,0x00000056,0x00000000,
+ 0x000400fa,0x00000054,0x00000055,0x00000056,0x000200f8,0x00000055,0x000200f9,0x00000089,
+ 0x000200f8,0x00000056,0x00050041,0x00000019,0x00000096,0x00000016,0x00000018,0x0004003d,
+ 0x00000006,0x00000097,0x00000096,0x00050080,0x00000006,0x00000098,0x00000050,0x00000097,
+ 0x000500c2,0x00000006,0x0000009a,0x00000098,0x00000023,0x00060041,0x00000025,0x0000009b,
+ 0x00000021,0x00000018,0x0000009a,0x0004003d,0x00000006,0x0000009c,0x0000009b,0x000500c7,
+ 0x00000006,0x0000009e,0x00000098,0x0000002a,0x000500c4,0x00000006,0x000000a1,0x0000009e,
+ 0x0000002f,0x000500c2,0x00000006,0x000000a2,0x0000009c,0x000000a1,0x000500c7,0x00000006,
+ 0x000000a3,0x000000a2,0x00000032,0x000500c4,0x00000006,0x000000a9,0x000000a3,0x0000003f,
+ 0x000500c5,0x00000006,0x000000ab,0x0000003f,0x000000a9,0x00050080,0x00000006,0x0000006b,
+ 0x00000050,0x0000006a,0x000500b0,0x00000053,0x0000006d,0x0000006b,0x00000043,0x000300f7,
0x0000006f,0x00000000,0x000400fa,0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,
- 0x0004003d,0x00000006,0x00000071,0x00000045,0x00050080,0x00000006,0x00000072,0x00000071,
- 0x0000006a,0x0003003e,0x00000073,0x00000072,0x00050039,0x00000006,0x00000074,0x0000000a,
- 0x00000073,0x0003003e,0x00000070,0x00000074,0x0004003d,0x00000006,0x00000076,0x00000070,
- 0x0003003e,0x00000075,0x00000076,0x0003003e,0x00000077,0x0000006a,0x0004003d,0x00000006,
- 0x00000079,0x00000058,0x0003003e,0x00000078,0x00000079,0x00070039,0x00000002,0x0000007a,
- 0x00000010,0x00000075,0x00000077,0x00000078,0x0004003d,0x00000006,0x0000007b,0x00000078,
- 0x0003003e,0x00000058,0x0000007b,0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x00050041,
- 0x00000019,0x00000080,0x00000016,0x0000004d,0x0004003d,0x00000006,0x00000081,0x00000080,
- 0x00050041,0x00000049,0x00000082,0x00000048,0x0000003f,0x0004003d,0x00000006,0x00000083,
- 0x00000082,0x00050080,0x00000006,0x00000084,0x00000081,0x00000083,0x0004003d,0x00000006,
- 0x00000085,0x00000058,0x00060041,0x00000025,0x00000086,0x0000007f,0x00000018,0x00000084,
- 0x0003003e,0x00000086,0x00000085,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,
- 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003b,
- 0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007,0x0000001d,0x00000007,0x0004003b,
- 0x00000007,0x00000028,0x00000007,0x0004003b,0x00000007,0x0000002c,0x00000007,0x0004003d,
- 0x00000006,0x00000013,0x00000009,0x00050041,0x00000019,0x0000001a,0x00000016,0x00000018,
- 0x0004003d,0x00000006,0x0000001b,0x0000001a,0x00050080,0x00000006,0x0000001c,0x00000013,
- 0x0000001b,0x0003003e,0x00000012,0x0000001c,0x0004003d,0x00000006,0x00000022,0x00000012,
- 0x000500c2,0x00000006,0x00000024,0x00000022,0x00000023,0x00060041,0x00000025,0x00000026,
- 0x00000021,0x00000018,0x00000024,0x0004003d,0x00000006,0x00000027,0x00000026,0x0003003e,
- 0x0000001d,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012,0x000500c7,0x00000006,
- 0x0000002b,0x00000029,0x0000002a,0x0003003e,0x00000028,0x0000002b,0x0004003d,0x00000006,
- 0x0000002d,0x0000001d,0x0004003d,0x00000006,0x0000002e,0x00000028,0x000500c4,0x00000006,
- 0x00000030,0x0000002e,0x0000002f,0x000500c2,0x00000006,0x00000031,0x0000002d,0x00000030,
- 0x000500c7,0x00000006,0x00000033,0x00000031,0x00000032,0x0003003e,0x0000002c,0x00000033,
- 0x0004003d,0x00000006,0x00000034,0x0000002c,0x000200fe,0x00000034,0x00010038,0x00050036,
- 0x00000002,0x00000010,0x00000000,0x0000000c,0x00030037,0x00000007,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x00030037,0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003d,
- 0x00000006,0x00000037,0x0000000d,0x0004003d,0x00000006,0x00000038,0x0000000e,0x000500c4,
- 0x00000006,0x0000003a,0x00000038,0x00000039,0x000500c4,0x00000006,0x0000003b,0x00000037,
- 0x0000003a,0x0004003d,0x00000006,0x0000003c,0x0000000f,0x000500c5,0x00000006,0x0000003d,
- 0x0000003c,0x0000003b,0x0003003e,0x0000000f,0x0000003d,0x000100fd,0x00010038
+ 0x00050080,0x00000006,0x000000b5,0x0000006b,0x00000097,0x000500c2,0x00000006,0x000000b7,
+ 0x000000b5,0x00000023,0x00060041,0x00000025,0x000000b8,0x00000021,0x00000018,0x000000b7,
+ 0x0004003d,0x00000006,0x000000b9,0x000000b8,0x000500c7,0x00000006,0x000000bb,0x000000b5,
+ 0x0000002a,0x000500c4,0x00000006,0x000000be,0x000000bb,0x0000002f,0x000500c2,0x00000006,
+ 0x000000bf,0x000000b9,0x000000be,0x000500c7,0x00000006,0x000000c0,0x000000bf,0x00000032,
+ 0x000500c4,0x00000006,0x000000c6,0x000000c0,0x000000c9,0x000500c5,0x00000006,0x000000c8,
+ 0x000000ab,0x000000c6,0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x000700f5,0x00000006,
+ 0x000000ca,0x000000ab,0x00000056,0x000000c8,0x0000006e,0x00050041,0x00000019,0x00000080,
+ 0x00000016,0x0000004d,0x0004003d,0x00000006,0x00000081,0x00000080,0x00050080,0x00000006,
+ 0x00000084,0x00000081,0x0000004b,0x00060041,0x00000025,0x00000086,0x0000007f,0x00000018,
+ 0x00000084,0x0003003e,0x00000086,0x000000ca,0x000200f9,0x00000089,0x000200f8,0x00000089,
+ 0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc
index 7ce1c995a0a..25dbc6f2966 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc
@@ -1,127 +1,77 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndex_comp_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x0000008e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000de,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000004e,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000a,0x6c6c7550,0x65646e49,0x31752878,
- 0x0000003b,0x00040005,0x00000009,0x65646e69,0x00000078,0x00090005,0x00000010,0x6b636150,
- 0x65646e49,0x6c615678,0x75286575,0x31753b31,0x3b31753b,0x00000000,0x00050005,0x0000000d,
- 0x56637273,0x65756c61,0x00000000,0x00050005,0x0000000e,0x65646e69,0x646e4978,0x00007865,
- 0x00050005,0x0000000f,0x56747364,0x65756c61,0x00000000,0x00050005,0x00000012,0x49637273,
- 0x7865646e,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,0x00000073,
- 0x00070006,0x00000014,0x00000000,0x49637273,0x7865646e,0x7366664f,0x00007465,0x00090006,
- 0x00000014,0x00000001,0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,0x00000034,
- 0x00060006,0x00000014,0x00000002,0x4978616d,0x7865646e,0x00000000,0x00060006,0x00000014,
- 0x00000003,0x6461705f,0x676e6964,0x00000000,0x00030005,0x00000016,0x00000000,0x00050005,
- 0x0000001d,0x42637273,0x6b636f6c,0x00000000,0x00030005,0x0000001f,0x00637273,0x00060006,
- 0x0000001f,0x00000000,0x49637273,0x7865646e,0x00667542,0x00030005,0x00000021,0x00000000,
- 0x00060005,0x00000028,0x43637273,0x6f706d6f,0x746e656e,0x00000000,0x00040005,0x0000002c,
- 0x756c6176,0x00000065,0x00050005,0x00000044,0x73726966,0x646e4974,0x00007865,0x00050005,
- 0x00000046,0x49646e65,0x7865646e,0x00000000,0x00040005,0x0000004b,0x65646e69,0x00000078,
- 0x00080005,0x0000004e,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,
- 0x00050005,0x0000005d,0x56747364,0x65756c61,0x00000000,0x00050005,0x00000063,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x00000064,0x61726170,0x0000006d,0x00040005,0x00000067,
- 0x61726170,0x0000006d,0x00040005,0x00000069,0x61726170,0x0000006d,0x00040005,0x0000006a,
- 0x61726170,0x0000006d,0x00050005,0x00000075,0x56637273,0x65756c61,0x00000000,0x00040005,
- 0x00000078,0x61726170,0x0000006d,0x00040005,0x0000007a,0x61726170,0x0000006d,0x00040005,
- 0x0000007c,0x61726170,0x0000006d,0x00040005,0x0000007d,0x61726170,0x0000006d,0x00030005,
- 0x00000082,0x00747364,0x00060006,0x00000082,0x00000000,0x49747364,0x7865646e,0x00667542,
- 0x00030005,0x00000084,0x00000000,0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x00000014,0x00000001,0x00000023,0x00000004,0x00050048,0x00000014,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x00000014,0x00000003,0x00000023,0x0000000c,0x00030047,
- 0x00000014,0x00000002,0x00040047,0x0000001e,0x00000006,0x00000004,0x00040048,0x0000001f,
- 0x00000000,0x00000018,0x00050048,0x0000001f,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x0000001f,0x00000003,0x00040047,0x00000021,0x00000022,0x00000000,0x00040047,0x00000021,
- 0x00000021,0x00000001,0x00040047,0x0000004e,0x0000000b,0x0000001c,0x00040047,0x00000081,
- 0x00000006,0x00000004,0x00050048,0x00000082,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x00000082,0x00000003,0x00040047,0x00000084,0x00000022,0x00000000,0x00040047,0x00000084,
- 0x00000021,0x00000000,0x00040047,0x0000008d,0x0000000b,0x00000019,0x00020013,0x00000002,
- 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,
- 0x00000007,0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x00060021,
- 0x0000000c,0x00000002,0x00000007,0x00000007,0x00000007,0x0006001e,0x00000014,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,
- 0x00000015,0x00000016,0x00000009,0x00040015,0x00000017,0x00000020,0x00000001,0x0004002b,
- 0x00000017,0x00000018,0x00000000,0x00040020,0x00000019,0x00000009,0x00000006,0x0003001d,
- 0x0000001e,0x00000006,0x0003001e,0x0000001f,0x0000001e,0x00040020,0x00000020,0x00000002,
- 0x0000001f,0x0004003b,0x00000020,0x00000021,0x00000002,0x0004002b,0x00000017,0x00000023,
- 0x00000002,0x00040020,0x00000025,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000002a,
- 0x00000003,0x0004002b,0x00000017,0x0000002f,0x00000003,0x0004002b,0x00000006,0x00000032,
- 0x000000ff,0x00020014,0x00000035,0x0004002b,0x00000006,0x00000039,0x0000ffff,0x0004002b,
- 0x00000017,0x0000003f,0x00000004,0x0004002b,0x00000006,0x00000045,0x00000000,0x00040017,
- 0x0000004c,0x00000006,0x00000003,0x00040020,0x0000004d,0x00000001,0x0000004c,0x0004003b,
- 0x0000004d,0x0000004e,0x00000001,0x00040020,0x0000004f,0x00000001,0x00000006,0x0004002b,
- 0x00000017,0x00000053,0x00000001,0x0004002b,0x00000006,0x0000006f,0x00000001,0x0003001d,
- 0x00000081,0x00000006,0x0003001e,0x00000082,0x00000081,0x00040020,0x00000083,0x00000002,
- 0x00000082,0x0004003b,0x00000083,0x00000084,0x00000002,0x0004002b,0x00000006,0x0000008c,
- 0x00000040,0x0006002c,0x0000004c,0x0000008d,0x0000008c,0x0000006f,0x0000006f,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
- 0x00000044,0x00000007,0x0004003b,0x00000007,0x00000046,0x00000007,0x0004003b,0x00000007,
- 0x0000004b,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,
- 0x00000063,0x00000007,0x0004003b,0x00000007,0x00000064,0x00000007,0x0004003b,0x00000007,
- 0x00000067,0x00000007,0x0004003b,0x00000007,0x00000069,0x00000007,0x0004003b,0x00000007,
- 0x0000006a,0x00000007,0x0004003b,0x00000007,0x00000075,0x00000007,0x0004003b,0x00000007,
- 0x00000078,0x00000007,0x0004003b,0x00000007,0x0000007a,0x00000007,0x0004003b,0x00000007,
- 0x0000007c,0x00000007,0x0004003b,0x00000007,0x0000007d,0x00000007,0x0003003e,0x00000044,
- 0x00000045,0x0004003d,0x00000006,0x00000047,0x00000044,0x00050041,0x00000019,0x00000048,
- 0x00000016,0x00000023,0x0004003d,0x00000006,0x00000049,0x00000048,0x00050080,0x00000006,
- 0x0000004a,0x00000047,0x00000049,0x0003003e,0x00000046,0x0000004a,0x00050041,0x0000004f,
- 0x00000050,0x0000004e,0x00000045,0x0004003d,0x00000006,0x00000051,0x00000050,0x0004003d,
- 0x00000006,0x00000052,0x00000044,0x000500c2,0x00000006,0x00000054,0x00000052,0x00000053,
- 0x00050080,0x00000006,0x00000055,0x00000051,0x00000054,0x000500c4,0x00000006,0x00000056,
- 0x00000055,0x00000053,0x0003003e,0x0000004b,0x00000056,0x0004003d,0x00000006,0x00000057,
- 0x0000004b,0x0004003d,0x00000006,0x00000058,0x00000046,0x000500ae,0x00000035,0x00000059,
- 0x00000057,0x00000058,0x000300f7,0x0000005b,0x00000000,0x000400fa,0x00000059,0x0000005a,
- 0x0000005b,0x000200f8,0x0000005a,0x000100fd,0x000200f8,0x0000005b,0x0003003e,0x0000005d,
- 0x00000045,0x0004003d,0x00000006,0x0000005e,0x0000004b,0x0004003d,0x00000006,0x0000005f,
- 0x00000044,0x000500ae,0x00000035,0x00000060,0x0000005e,0x0000005f,0x000300f7,0x00000062,
- 0x00000000,0x000400fa,0x00000060,0x00000061,0x00000062,0x000200f8,0x00000061,0x0004003d,
- 0x00000006,0x00000065,0x0000004b,0x0003003e,0x00000064,0x00000065,0x00050039,0x00000006,
- 0x00000066,0x0000000a,0x00000064,0x0003003e,0x00000063,0x00000066,0x0004003d,0x00000006,
- 0x00000068,0x00000063,0x0003003e,0x00000067,0x00000068,0x0003003e,0x00000069,0x00000045,
- 0x0004003d,0x00000006,0x0000006b,0x0000005d,0x0003003e,0x0000006a,0x0000006b,0x00070039,
- 0x00000002,0x0000006c,0x00000010,0x00000067,0x00000069,0x0000006a,0x0004003d,0x00000006,
- 0x0000006d,0x0000006a,0x0003003e,0x0000005d,0x0000006d,0x000200f9,0x00000062,0x000200f8,
- 0x00000062,0x0004003d,0x00000006,0x0000006e,0x0000004b,0x00050080,0x00000006,0x00000070,
- 0x0000006e,0x0000006f,0x0004003d,0x00000006,0x00000071,0x00000046,0x000500b0,0x00000035,
- 0x00000072,0x00000070,0x00000071,0x000300f7,0x00000074,0x00000000,0x000400fa,0x00000072,
- 0x00000073,0x00000074,0x000200f8,0x00000073,0x0004003d,0x00000006,0x00000076,0x0000004b,
- 0x00050080,0x00000006,0x00000077,0x00000076,0x0000006f,0x0003003e,0x00000078,0x00000077,
- 0x00050039,0x00000006,0x00000079,0x0000000a,0x00000078,0x0003003e,0x00000075,0x00000079,
- 0x0004003d,0x00000006,0x0000007b,0x00000075,0x0003003e,0x0000007a,0x0000007b,0x0003003e,
- 0x0000007c,0x0000006f,0x0004003d,0x00000006,0x0000007e,0x0000005d,0x0003003e,0x0000007d,
- 0x0000007e,0x00070039,0x00000002,0x0000007f,0x00000010,0x0000007a,0x0000007c,0x0000007d,
- 0x0004003d,0x00000006,0x00000080,0x0000007d,0x0003003e,0x0000005d,0x00000080,0x000200f9,
- 0x00000074,0x000200f8,0x00000074,0x00050041,0x00000019,0x00000085,0x00000016,0x00000053,
- 0x0004003d,0x00000006,0x00000086,0x00000085,0x00050041,0x0000004f,0x00000087,0x0000004e,
- 0x00000045,0x0004003d,0x00000006,0x00000088,0x00000087,0x00050080,0x00000006,0x00000089,
- 0x00000086,0x00000088,0x0004003d,0x00000006,0x0000008a,0x0000005d,0x00060041,0x00000025,
- 0x0000008b,0x00000084,0x00000018,0x00000089,0x0003003e,0x0000008b,0x0000008a,0x000100fd,
- 0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,
- 0x00000009,0x000200f8,0x0000000b,0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b,
- 0x00000007,0x0000001d,0x00000007,0x0004003b,0x00000007,0x00000028,0x00000007,0x0004003b,
- 0x00000007,0x0000002c,0x00000007,0x0004003d,0x00000006,0x00000013,0x00000009,0x00050041,
- 0x00000019,0x0000001a,0x00000016,0x00000018,0x0004003d,0x00000006,0x0000001b,0x0000001a,
- 0x00050080,0x00000006,0x0000001c,0x00000013,0x0000001b,0x0003003e,0x00000012,0x0000001c,
- 0x0004003d,0x00000006,0x00000022,0x00000012,0x000500c2,0x00000006,0x00000024,0x00000022,
- 0x00000023,0x00060041,0x00000025,0x00000026,0x00000021,0x00000018,0x00000024,0x0004003d,
- 0x00000006,0x00000027,0x00000026,0x0003003e,0x0000001d,0x00000027,0x0004003d,0x00000006,
- 0x00000029,0x00000012,0x000500c7,0x00000006,0x0000002b,0x00000029,0x0000002a,0x0003003e,
- 0x00000028,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000001d,0x0004003d,0x00000006,
- 0x0000002e,0x00000028,0x000500c4,0x00000006,0x00000030,0x0000002e,0x0000002f,0x000500c2,
- 0x00000006,0x00000031,0x0000002d,0x00000030,0x000500c7,0x00000006,0x00000033,0x00000031,
- 0x00000032,0x0003003e,0x0000002c,0x00000033,0x0004003d,0x00000006,0x00000034,0x0000002c,
- 0x000500aa,0x00000035,0x00000036,0x00000034,0x00000032,0x000300f7,0x00000038,0x00000000,
- 0x000400fa,0x00000036,0x00000037,0x00000038,0x000200f8,0x00000037,0x0003003e,0x0000002c,
- 0x00000039,0x000200f9,0x00000038,0x000200f8,0x00000038,0x0004003d,0x00000006,0x0000003a,
- 0x0000002c,0x000200fe,0x0000003a,0x00010038,0x00050036,0x00000002,0x00000010,0x00000000,
- 0x0000000c,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x00030037,
- 0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003d,0x00000006,0x0000003d,0x0000000d,
- 0x0004003d,0x00000006,0x0000003e,0x0000000e,0x000500c4,0x00000006,0x00000040,0x0000003e,
- 0x0000003f,0x000500c4,0x00000006,0x00000041,0x0000003d,0x00000040,0x0004003d,0x00000006,
- 0x00000042,0x0000000f,0x000500c5,0x00000006,0x00000043,0x00000042,0x00000041,0x0003003e,
- 0x0000000f,0x00000043,0x000100fd,0x00010038
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x00000014,0x68737550,0x736e6f43,0x746e6174,
+ 0x00000073,0x00070006,0x00000014,0x00000000,0x49637273,0x7865646e,0x7366664f,0x00007465,
+ 0x00090006,0x00000014,0x00000001,0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,
+ 0x00000034,0x00060006,0x00000014,0x00000002,0x4978616d,0x7865646e,0x00000000,0x00060006,
+ 0x00000014,0x00000003,0x6461705f,0x676e6964,0x00000000,0x00030005,0x00000016,0x00000000,
+ 0x00030005,0x0000001f,0x00637273,0x00060006,0x0000001f,0x00000000,0x49637273,0x7865646e,
+ 0x00667542,0x00030005,0x00000021,0x00000000,0x00080005,0x0000004e,0x475f6c67,0x61626f6c,
+ 0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000082,0x00747364,0x00060006,
+ 0x00000082,0x00000000,0x49747364,0x7865646e,0x00667542,0x00030005,0x00000084,0x00000000,
+ 0x00050048,0x00000014,0x00000000,0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x00000014,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x00000014,0x00000003,0x00000023,0x0000000c,0x00030047,0x00000014,0x00000002,0x00040047,
+ 0x0000001e,0x00000006,0x00000004,0x00040048,0x0000001f,0x00000000,0x00000018,0x00050048,
+ 0x0000001f,0x00000000,0x00000023,0x00000000,0x00030047,0x0000001f,0x00000003,0x00040047,
+ 0x00000021,0x00000022,0x00000000,0x00040047,0x00000021,0x00000021,0x00000001,0x00040047,
+ 0x0000004e,0x0000000b,0x0000001c,0x00040047,0x00000081,0x00000006,0x00000004,0x00050048,
+ 0x00000082,0x00000000,0x00000023,0x00000000,0x00030047,0x00000082,0x00000003,0x00040047,
+ 0x00000084,0x00000022,0x00000000,0x00040047,0x00000084,0x00000021,0x00000000,0x00040047,
+ 0x0000008d,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x0006001e,0x00000014,0x00000006,0x00000006,
+ 0x00000006,0x00000006,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,
+ 0x00000016,0x00000009,0x00040015,0x00000017,0x00000020,0x00000001,0x0004002b,0x00000017,
+ 0x00000018,0x00000000,0x00040020,0x00000019,0x00000009,0x00000006,0x0003001d,0x0000001e,
+ 0x00000006,0x0003001e,0x0000001f,0x0000001e,0x00040020,0x00000020,0x00000002,0x0000001f,
+ 0x0004003b,0x00000020,0x00000021,0x00000002,0x0004002b,0x00000017,0x00000023,0x00000002,
+ 0x00040020,0x00000025,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000003,
+ 0x0004002b,0x00000017,0x0000002f,0x00000003,0x0004002b,0x00000006,0x00000032,0x000000ff,
+ 0x00020014,0x00000035,0x0004002b,0x00000006,0x00000039,0x0000ffff,0x0004002b,0x00000006,
+ 0x00000045,0x00000000,0x00040017,0x0000004c,0x00000006,0x00000003,0x00040020,0x0000004d,
+ 0x00000001,0x0000004c,0x0004003b,0x0000004d,0x0000004e,0x00000001,0x00040020,0x0000004f,
+ 0x00000001,0x00000006,0x0004002b,0x00000017,0x00000053,0x00000001,0x0004002b,0x00000006,
+ 0x0000006f,0x00000001,0x0003001d,0x00000081,0x00000006,0x0003001e,0x00000082,0x00000081,
+ 0x00040020,0x00000083,0x00000002,0x00000082,0x0004003b,0x00000083,0x00000084,0x00000002,
+ 0x0004002b,0x00000006,0x0000008c,0x00000040,0x0006002c,0x0000004c,0x0000008d,0x0000008c,
+ 0x0000006f,0x0000006f,0x0004002b,0x00000006,0x000000d6,0x00000010,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x0000008e,0x00000000,
+ 0x000300fb,0x00000045,0x0000008f,0x000200f8,0x0000008f,0x00050041,0x00000019,0x00000048,
+ 0x00000016,0x00000023,0x0004003d,0x00000006,0x00000049,0x00000048,0x00050041,0x0000004f,
+ 0x00000050,0x0000004e,0x00000045,0x0004003d,0x00000006,0x00000051,0x00000050,0x000500c4,
+ 0x00000006,0x00000056,0x00000051,0x00000053,0x000500ae,0x00000035,0x00000059,0x00000056,
+ 0x00000049,0x000300f7,0x0000005b,0x00000000,0x000400fa,0x00000059,0x0000005a,0x0000005b,
+ 0x000200f8,0x0000005a,0x000200f9,0x0000008e,0x000200f8,0x0000005b,0x00050041,0x00000019,
+ 0x0000009b,0x00000016,0x00000018,0x0004003d,0x00000006,0x0000009c,0x0000009b,0x00050080,
+ 0x00000006,0x0000009d,0x00000056,0x0000009c,0x000500c2,0x00000006,0x0000009f,0x0000009d,
+ 0x00000023,0x00060041,0x00000025,0x000000a0,0x00000021,0x00000018,0x0000009f,0x0004003d,
+ 0x00000006,0x000000a1,0x000000a0,0x000500c7,0x00000006,0x000000a3,0x0000009d,0x0000002a,
+ 0x000500c4,0x00000006,0x000000a6,0x000000a3,0x0000002f,0x000500c2,0x00000006,0x000000a7,
+ 0x000000a1,0x000000a6,0x000500c7,0x00000006,0x000000a8,0x000000a7,0x00000032,0x000500aa,
+ 0x00000035,0x000000aa,0x000000a8,0x00000032,0x000200f9,0x000000ac,0x000200f8,0x000000ac,
+ 0x000600a9,0x00000006,0x000000dc,0x000000aa,0x00000039,0x000000a8,0x000500c4,0x00000006,
+ 0x000000b2,0x000000dc,0x00000045,0x000500c5,0x00000006,0x000000b4,0x00000045,0x000000b2,
+ 0x00050080,0x00000006,0x00000070,0x00000056,0x0000006f,0x000500b0,0x00000035,0x00000072,
+ 0x00000070,0x00000049,0x000300f7,0x00000074,0x00000000,0x000400fa,0x00000072,0x00000073,
+ 0x00000074,0x000200f8,0x00000073,0x00050080,0x00000006,0x000000be,0x00000070,0x0000009c,
+ 0x000500c2,0x00000006,0x000000c0,0x000000be,0x00000023,0x00060041,0x00000025,0x000000c1,
+ 0x00000021,0x00000018,0x000000c0,0x0004003d,0x00000006,0x000000c2,0x000000c1,0x000500c7,
+ 0x00000006,0x000000c4,0x000000be,0x0000002a,0x000500c4,0x00000006,0x000000c7,0x000000c4,
+ 0x0000002f,0x000500c2,0x00000006,0x000000c8,0x000000c2,0x000000c7,0x000500c7,0x00000006,
+ 0x000000c9,0x000000c8,0x00000032,0x000500aa,0x00000035,0x000000cb,0x000000c9,0x00000032,
+ 0x000200f9,0x000000cd,0x000200f8,0x000000cd,0x000600a9,0x00000006,0x000000dd,0x000000cb,
+ 0x00000039,0x000000c9,0x000500c4,0x00000006,0x000000d3,0x000000dd,0x000000d6,0x000500c5,
+ 0x00000006,0x000000d5,0x000000b4,0x000000d3,0x000200f9,0x00000074,0x000200f8,0x00000074,
+ 0x000700f5,0x00000006,0x000000db,0x000000b4,0x000000ac,0x000000d5,0x000000cd,0x00050041,
+ 0x00000019,0x00000085,0x00000016,0x00000053,0x0004003d,0x00000006,0x00000086,0x00000085,
+ 0x00050080,0x00000006,0x00000089,0x00000086,0x00000051,0x00060041,0x00000025,0x0000008b,
+ 0x00000084,0x00000018,0x00000089,0x0003003e,0x0000008b,0x000000db,0x000200f9,0x0000008e,
+ 0x000200f8,0x0000008e,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc
index 42cd990ea54..5c375ee9df6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc
@@ -1,36 +1,21 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndex_comp_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x000000c1,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000fe,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000052,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000a,0x6c6c7550,0x65646e49,0x31752878,
- 0x0000003b,0x00040005,0x00000009,0x65646e69,0x00000078,0x00090005,0x00000010,0x6b636150,
- 0x65646e49,0x6c615678,0x75286575,0x31753b31,0x3b31753b,0x00000000,0x00050005,0x0000000d,
- 0x56637273,0x65756c61,0x00000000,0x00050005,0x0000000e,0x65646e69,0x646e4978,0x00007865,
- 0x00050005,0x0000000f,0x56747364,0x65756c61,0x00000000,0x00050005,0x00000012,0x49637273,
- 0x7865646e,0x00000000,0x00050005,0x00000014,0x42637273,0x6b636f6c,0x00000000,0x00030005,
- 0x00000016,0x00637273,0x00060006,0x00000016,0x00000000,0x49637273,0x7865646e,0x00667542,
- 0x00030005,0x00000018,0x00000000,0x00060005,0x00000021,0x43637273,0x6f706d6f,0x746e656e,
- 0x00000000,0x00040005,0x00000025,0x756c6176,0x00000065,0x00050005,0x00000037,0x65646e69,
- 0x756f4378,0x0000746e,0x00050005,0x00000039,0x49637273,0x7269646e,0x00746365,0x00070006,
- 0x00000039,0x00000000,0x49637273,0x7269646e,0x42746365,0x00006675,0x00030005,0x0000003b,
- 0x00000000,0x00060005,0x0000003c,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00090006,
- 0x0000003c,0x00000000,0x49637273,0x7269646e,0x4f746365,0x65736666,0x76694474,0x00000034,
- 0x00090006,0x0000003c,0x00000001,0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,
- 0x00000034,0x00060006,0x0000003c,0x00000002,0x4978616d,0x7865646e,0x00000000,0x000a0006,
- 0x0000003c,0x00000003,0x49747364,0x7269646e,0x42746365,0x664f6675,0x74657366,0x34766944,
- 0x00000000,0x00030005,0x0000003e,0x00000000,0x00050005,0x00000044,0x73726966,0x646e4974,
- 0x00007865,0x00050005,0x0000004b,0x49646e65,0x7865646e,0x00000000,0x00040005,0x0000004f,
- 0x65646e69,0x00000078,0x00080005,0x00000052,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x00000063,0x56747364,0x65756c61,0x00000000,0x00050005,
- 0x00000069,0x56637273,0x65756c61,0x00000000,0x00040005,0x0000006a,0x61726170,0x0000006d,
- 0x00040005,0x0000006d,0x61726170,0x0000006d,0x00040005,0x0000006f,0x61726170,0x0000006d,
- 0x00040005,0x00000070,0x61726170,0x0000006d,0x00050005,0x0000007b,0x56637273,0x65756c61,
- 0x00000000,0x00040005,0x0000007e,0x61726170,0x0000006d,0x00040005,0x00000080,0x61726170,
- 0x0000006d,0x00040005,0x00000082,0x61726170,0x0000006d,0x00040005,0x00000083,0x61726170,
- 0x0000006d,0x00030005,0x00000088,0x00747364,0x00060006,0x00000088,0x00000000,0x49747364,
+ 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000016,0x00637273,0x00060006,0x00000016,
+ 0x00000000,0x49637273,0x7865646e,0x00667542,0x00030005,0x00000018,0x00000000,0x00050005,
+ 0x00000039,0x49637273,0x7269646e,0x00746365,0x00070006,0x00000039,0x00000000,0x49637273,
+ 0x7269646e,0x42746365,0x00006675,0x00030005,0x0000003b,0x00000000,0x00060005,0x0000003c,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00090006,0x0000003c,0x00000000,0x49637273,
+ 0x7269646e,0x4f746365,0x65736666,0x76694474,0x00000034,0x00090006,0x0000003c,0x00000001,
+ 0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,0x00000034,0x00060006,0x0000003c,
+ 0x00000002,0x4978616d,0x7865646e,0x00000000,0x000a0006,0x0000003c,0x00000003,0x49747364,
+ 0x7269646e,0x42746365,0x664f6675,0x74657366,0x34766944,0x00000000,0x00030005,0x0000003e,
+ 0x00000000,0x00080005,0x00000052,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,
+ 0x00000044,0x00030005,0x00000088,0x00747364,0x00060006,0x00000088,0x00000000,0x49747364,
0x7865646e,0x00667542,0x00030005,0x0000008a,0x00000000,0x00050005,0x00000098,0x49747364,
0x7269646e,0x00746365,0x00070006,0x00000098,0x00000000,0x49747364,0x7269646e,0x42746365,
0x00006675,0x00030005,0x0000009a,0x00000000,0x00040047,0x00000015,0x00000006,0x00000004,
@@ -49,121 +34,76 @@ const uint32_t kConvertIndex_comp_00000002[] = {
0x00000098,0x00000000,0x00000023,0x00000000,0x00030047,0x00000098,0x00000003,0x00040047,
0x0000009a,0x00000022,0x00000000,0x00040047,0x0000009a,0x00000021,0x00000003,0x00040047,
0x000000c0,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,
- 0x00040021,0x00000008,0x00000006,0x00000007,0x00060021,0x0000000c,0x00000002,0x00000007,
- 0x00000007,0x00000007,0x0003001d,0x00000015,0x00000006,0x0003001e,0x00000016,0x00000015,
- 0x00040020,0x00000017,0x00000002,0x00000016,0x0004003b,0x00000017,0x00000018,0x00000002,
- 0x00040015,0x00000019,0x00000020,0x00000001,0x0004002b,0x00000019,0x0000001a,0x00000000,
- 0x0004002b,0x00000019,0x0000001c,0x00000002,0x00040020,0x0000001e,0x00000002,0x00000006,
- 0x0004002b,0x00000006,0x00000023,0x00000003,0x0004002b,0x00000019,0x00000028,0x00000003,
- 0x0004002b,0x00000006,0x0000002b,0x000000ff,0x0004002b,0x00000019,0x00000032,0x00000004,
- 0x0003001d,0x00000038,0x00000006,0x0003001e,0x00000039,0x00000038,0x00040020,0x0000003a,
- 0x00000002,0x00000039,0x0004003b,0x0000003a,0x0000003b,0x00000002,0x0006001e,0x0000003c,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000003d,0x00000009,0x0000003c,
- 0x0004003b,0x0000003d,0x0000003e,0x00000009,0x00040020,0x0000003f,0x00000009,0x00000006,
- 0x0004002b,0x00000006,0x00000047,0x00000002,0x00040017,0x00000050,0x00000006,0x00000003,
- 0x00040020,0x00000051,0x00000001,0x00000050,0x0004003b,0x00000051,0x00000052,0x00000001,
- 0x0004002b,0x00000006,0x00000053,0x00000000,0x00040020,0x00000054,0x00000001,0x00000006,
- 0x0004002b,0x00000019,0x00000058,0x00000001,0x00020014,0x0000005e,0x0004002b,0x00000006,
- 0x00000075,0x00000001,0x0003001d,0x00000087,0x00000006,0x0003001e,0x00000088,0x00000087,
- 0x00040020,0x00000089,0x00000002,0x00000088,0x0004003b,0x00000089,0x0000008a,0x00000002,
- 0x0003001d,0x00000097,0x00000006,0x0003001e,0x00000098,0x00000097,0x00040020,0x00000099,
- 0x00000002,0x00000098,0x0004003b,0x00000099,0x0000009a,0x00000002,0x0004002b,0x00000006,
- 0x000000bc,0x00000004,0x0004002b,0x00000006,0x000000bf,0x00000040,0x0006002c,0x00000050,
- 0x000000c0,0x000000bf,0x00000075,0x00000075,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000037,0x00000007,0x0004003b,
- 0x00000007,0x00000044,0x00000007,0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003b,
- 0x00000007,0x0000004f,0x00000007,0x0004003b,0x00000007,0x00000063,0x00000007,0x0004003b,
- 0x00000007,0x00000069,0x00000007,0x0004003b,0x00000007,0x0000006a,0x00000007,0x0004003b,
- 0x00000007,0x0000006d,0x00000007,0x0004003b,0x00000007,0x0000006f,0x00000007,0x0004003b,
- 0x00000007,0x00000070,0x00000007,0x0004003b,0x00000007,0x0000007b,0x00000007,0x0004003b,
- 0x00000007,0x0000007e,0x00000007,0x0004003b,0x00000007,0x00000080,0x00000007,0x0004003b,
- 0x00000007,0x00000082,0x00000007,0x0004003b,0x00000007,0x00000083,0x00000007,0x00050041,
- 0x0000003f,0x00000040,0x0000003e,0x0000001a,0x0004003d,0x00000006,0x00000041,0x00000040,
- 0x00060041,0x0000001e,0x00000042,0x0000003b,0x0000001a,0x00000041,0x0004003d,0x00000006,
- 0x00000043,0x00000042,0x0003003e,0x00000037,0x00000043,0x00050041,0x0000003f,0x00000045,
- 0x0000003e,0x0000001a,0x0004003d,0x00000006,0x00000046,0x00000045,0x00050080,0x00000006,
- 0x00000048,0x00000046,0x00000047,0x00060041,0x0000001e,0x00000049,0x0000003b,0x0000001a,
- 0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x0003003e,0x00000044,0x0000004a,
- 0x0004003d,0x00000006,0x0000004c,0x00000044,0x0004003d,0x00000006,0x0000004d,0x00000037,
- 0x00050080,0x00000006,0x0000004e,0x0000004c,0x0000004d,0x0003003e,0x0000004b,0x0000004e,
- 0x00050041,0x00000054,0x00000055,0x00000052,0x00000053,0x0004003d,0x00000006,0x00000056,
- 0x00000055,0x0004003d,0x00000006,0x00000057,0x00000044,0x000500c2,0x00000006,0x00000059,
- 0x00000057,0x00000058,0x00050080,0x00000006,0x0000005a,0x00000056,0x00000059,0x000500c4,
- 0x00000006,0x0000005b,0x0000005a,0x00000058,0x0003003e,0x0000004f,0x0000005b,0x0004003d,
- 0x00000006,0x0000005c,0x0000004f,0x0004003d,0x00000006,0x0000005d,0x0000004b,0x000500ae,
- 0x0000005e,0x0000005f,0x0000005c,0x0000005d,0x000300f7,0x00000061,0x00000000,0x000400fa,
- 0x0000005f,0x00000060,0x00000061,0x000200f8,0x00000060,0x000100fd,0x000200f8,0x00000061,
- 0x0003003e,0x00000063,0x00000053,0x0004003d,0x00000006,0x00000064,0x0000004f,0x0004003d,
- 0x00000006,0x00000065,0x00000044,0x000500ae,0x0000005e,0x00000066,0x00000064,0x00000065,
- 0x000300f7,0x00000068,0x00000000,0x000400fa,0x00000066,0x00000067,0x00000068,0x000200f8,
- 0x00000067,0x0004003d,0x00000006,0x0000006b,0x0000004f,0x0003003e,0x0000006a,0x0000006b,
- 0x00050039,0x00000006,0x0000006c,0x0000000a,0x0000006a,0x0003003e,0x00000069,0x0000006c,
- 0x0004003d,0x00000006,0x0000006e,0x00000069,0x0003003e,0x0000006d,0x0000006e,0x0003003e,
- 0x0000006f,0x00000053,0x0004003d,0x00000006,0x00000071,0x00000063,0x0003003e,0x00000070,
- 0x00000071,0x00070039,0x00000002,0x00000072,0x00000010,0x0000006d,0x0000006f,0x00000070,
- 0x0004003d,0x00000006,0x00000073,0x00000070,0x0003003e,0x00000063,0x00000073,0x000200f9,
- 0x00000068,0x000200f8,0x00000068,0x0004003d,0x00000006,0x00000074,0x0000004f,0x00050080,
- 0x00000006,0x00000076,0x00000074,0x00000075,0x0004003d,0x00000006,0x00000077,0x0000004b,
- 0x000500b0,0x0000005e,0x00000078,0x00000076,0x00000077,0x000300f7,0x0000007a,0x00000000,
- 0x000400fa,0x00000078,0x00000079,0x0000007a,0x000200f8,0x00000079,0x0004003d,0x00000006,
- 0x0000007c,0x0000004f,0x00050080,0x00000006,0x0000007d,0x0000007c,0x00000075,0x0003003e,
- 0x0000007e,0x0000007d,0x00050039,0x00000006,0x0000007f,0x0000000a,0x0000007e,0x0003003e,
- 0x0000007b,0x0000007f,0x0004003d,0x00000006,0x00000081,0x0000007b,0x0003003e,0x00000080,
- 0x00000081,0x0003003e,0x00000082,0x00000075,0x0004003d,0x00000006,0x00000084,0x00000063,
- 0x0003003e,0x00000083,0x00000084,0x00070039,0x00000002,0x00000085,0x00000010,0x00000080,
- 0x00000082,0x00000083,0x0004003d,0x00000006,0x00000086,0x00000083,0x0003003e,0x00000063,
- 0x00000086,0x000200f9,0x0000007a,0x000200f8,0x0000007a,0x00050041,0x0000003f,0x0000008b,
- 0x0000003e,0x00000058,0x0004003d,0x00000006,0x0000008c,0x0000008b,0x00050041,0x00000054,
- 0x0000008d,0x00000052,0x00000053,0x0004003d,0x00000006,0x0000008e,0x0000008d,0x00050080,
- 0x00000006,0x0000008f,0x0000008c,0x0000008e,0x0004003d,0x00000006,0x00000090,0x00000063,
- 0x00060041,0x0000001e,0x00000091,0x0000008a,0x0000001a,0x0000008f,0x0003003e,0x00000091,
- 0x00000090,0x00050041,0x00000054,0x00000092,0x00000052,0x00000053,0x0004003d,0x00000006,
- 0x00000093,0x00000092,0x000500aa,0x0000005e,0x00000094,0x00000093,0x00000053,0x000300f7,
- 0x00000096,0x00000000,0x000400fa,0x00000094,0x00000095,0x00000096,0x000200f8,0x00000095,
- 0x00050041,0x0000003f,0x0000009b,0x0000003e,0x00000028,0x0004003d,0x00000006,0x0000009c,
- 0x0000009b,0x00050041,0x0000003f,0x0000009d,0x0000003e,0x0000001a,0x0004003d,0x00000006,
- 0x0000009e,0x0000009d,0x00060041,0x0000001e,0x0000009f,0x0000003b,0x0000001a,0x0000009e,
- 0x0004003d,0x00000006,0x000000a0,0x0000009f,0x00060041,0x0000001e,0x000000a1,0x0000009a,
- 0x0000001a,0x0000009c,0x0003003e,0x000000a1,0x000000a0,0x00050041,0x0000003f,0x000000a2,
- 0x0000003e,0x00000028,0x0004003d,0x00000006,0x000000a3,0x000000a2,0x00050080,0x00000006,
- 0x000000a4,0x000000a3,0x00000075,0x00050041,0x0000003f,0x000000a5,0x0000003e,0x0000001a,
- 0x0004003d,0x00000006,0x000000a6,0x000000a5,0x00050080,0x00000006,0x000000a7,0x000000a6,
- 0x00000075,0x00060041,0x0000001e,0x000000a8,0x0000003b,0x0000001a,0x000000a7,0x0004003d,
- 0x00000006,0x000000a9,0x000000a8,0x00060041,0x0000001e,0x000000aa,0x0000009a,0x0000001a,
- 0x000000a4,0x0003003e,0x000000aa,0x000000a9,0x00050041,0x0000003f,0x000000ab,0x0000003e,
- 0x00000028,0x0004003d,0x00000006,0x000000ac,0x000000ab,0x00050080,0x00000006,0x000000ad,
- 0x000000ac,0x00000047,0x0004003d,0x00000006,0x000000ae,0x00000044,0x000500c7,0x00000006,
- 0x000000af,0x000000ae,0x00000075,0x00060041,0x0000001e,0x000000b0,0x0000009a,0x0000001a,
- 0x000000ad,0x0003003e,0x000000b0,0x000000af,0x00050041,0x0000003f,0x000000b1,0x0000003e,
- 0x00000028,0x0004003d,0x00000006,0x000000b2,0x000000b1,0x00050080,0x00000006,0x000000b3,
- 0x000000b2,0x00000023,0x00050041,0x0000003f,0x000000b4,0x0000003e,0x0000001a,0x0004003d,
- 0x00000006,0x000000b5,0x000000b4,0x00050080,0x00000006,0x000000b6,0x000000b5,0x00000023,
- 0x00060041,0x0000001e,0x000000b7,0x0000003b,0x0000001a,0x000000b6,0x0004003d,0x00000006,
- 0x000000b8,0x000000b7,0x00060041,0x0000001e,0x000000b9,0x0000009a,0x0000001a,0x000000b3,
- 0x0003003e,0x000000b9,0x000000b8,0x00050041,0x0000003f,0x000000ba,0x0000003e,0x00000028,
- 0x0004003d,0x00000006,0x000000bb,0x000000ba,0x00050080,0x00000006,0x000000bd,0x000000bb,
- 0x000000bc,0x00060041,0x0000001e,0x000000be,0x0000009a,0x0000001a,0x000000bd,0x0003003e,
- 0x000000be,0x00000053,0x000200f9,0x00000096,0x000200f8,0x00000096,0x000100fd,0x00010038,
- 0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
- 0x000200f8,0x0000000b,0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007,
- 0x00000014,0x00000007,0x0004003b,0x00000007,0x00000021,0x00000007,0x0004003b,0x00000007,
- 0x00000025,0x00000007,0x0004003d,0x00000006,0x00000013,0x00000009,0x0003003e,0x00000012,
- 0x00000013,0x0004003d,0x00000006,0x0000001b,0x00000012,0x000500c2,0x00000006,0x0000001d,
- 0x0000001b,0x0000001c,0x00060041,0x0000001e,0x0000001f,0x00000018,0x0000001a,0x0000001d,
- 0x0004003d,0x00000006,0x00000020,0x0000001f,0x0003003e,0x00000014,0x00000020,0x0004003d,
- 0x00000006,0x00000022,0x00000012,0x000500c7,0x00000006,0x00000024,0x00000022,0x00000023,
- 0x0003003e,0x00000021,0x00000024,0x0004003d,0x00000006,0x00000026,0x00000014,0x0004003d,
- 0x00000006,0x00000027,0x00000021,0x000500c4,0x00000006,0x00000029,0x00000027,0x00000028,
- 0x000500c2,0x00000006,0x0000002a,0x00000026,0x00000029,0x000500c7,0x00000006,0x0000002c,
- 0x0000002a,0x0000002b,0x0003003e,0x00000025,0x0000002c,0x0004003d,0x00000006,0x0000002d,
- 0x00000025,0x000200fe,0x0000002d,0x00010038,0x00050036,0x00000002,0x00000010,0x00000000,
- 0x0000000c,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x00030037,
- 0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003d,0x00000006,0x00000030,0x0000000d,
- 0x0004003d,0x00000006,0x00000031,0x0000000e,0x000500c4,0x00000006,0x00000033,0x00000031,
- 0x00000032,0x000500c4,0x00000006,0x00000034,0x00000030,0x00000033,0x0004003d,0x00000006,
- 0x00000035,0x0000000f,0x000500c5,0x00000006,0x00000036,0x00000035,0x00000034,0x0003003e,
- 0x0000000f,0x00000036,0x000100fd,0x00010038
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x0003001d,0x00000015,0x00000006,0x0003001e,
+ 0x00000016,0x00000015,0x00040020,0x00000017,0x00000002,0x00000016,0x0004003b,0x00000017,
+ 0x00000018,0x00000002,0x00040015,0x00000019,0x00000020,0x00000001,0x0004002b,0x00000019,
+ 0x0000001a,0x00000000,0x0004002b,0x00000019,0x0000001c,0x00000002,0x00040020,0x0000001e,
+ 0x00000002,0x00000006,0x0004002b,0x00000006,0x00000023,0x00000003,0x0004002b,0x00000019,
+ 0x00000028,0x00000003,0x0004002b,0x00000006,0x0000002b,0x000000ff,0x0003001d,0x00000038,
+ 0x00000006,0x0003001e,0x00000039,0x00000038,0x00040020,0x0000003a,0x00000002,0x00000039,
+ 0x0004003b,0x0000003a,0x0000003b,0x00000002,0x0006001e,0x0000003c,0x00000006,0x00000006,
+ 0x00000006,0x00000006,0x00040020,0x0000003d,0x00000009,0x0000003c,0x0004003b,0x0000003d,
+ 0x0000003e,0x00000009,0x00040020,0x0000003f,0x00000009,0x00000006,0x0004002b,0x00000006,
+ 0x00000047,0x00000002,0x00040017,0x00000050,0x00000006,0x00000003,0x00040020,0x00000051,
+ 0x00000001,0x00000050,0x0004003b,0x00000051,0x00000052,0x00000001,0x0004002b,0x00000006,
+ 0x00000053,0x00000000,0x00040020,0x00000054,0x00000001,0x00000006,0x0004002b,0x00000019,
+ 0x00000058,0x00000001,0x00020014,0x0000005e,0x0004002b,0x00000006,0x00000075,0x00000001,
+ 0x0003001d,0x00000087,0x00000006,0x0003001e,0x00000088,0x00000087,0x00040020,0x00000089,
+ 0x00000002,0x00000088,0x0004003b,0x00000089,0x0000008a,0x00000002,0x0003001d,0x00000097,
+ 0x00000006,0x0003001e,0x00000098,0x00000097,0x00040020,0x00000099,0x00000002,0x00000098,
+ 0x0004003b,0x00000099,0x0000009a,0x00000002,0x0004002b,0x00000006,0x000000bc,0x00000004,
+ 0x0004002b,0x00000006,0x000000bf,0x00000040,0x0006002c,0x00000050,0x000000c0,0x000000bf,
+ 0x00000075,0x00000075,0x0004002b,0x00000006,0x000000fb,0x00000010,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000000c1,0x00000000,
+ 0x000300fb,0x00000053,0x000000c2,0x000200f8,0x000000c2,0x00050041,0x0000003f,0x00000040,
+ 0x0000003e,0x0000001a,0x0004003d,0x00000006,0x00000041,0x00000040,0x00060041,0x0000001e,
+ 0x00000042,0x0000003b,0x0000001a,0x00000041,0x0004003d,0x00000006,0x00000043,0x00000042,
+ 0x00050080,0x00000006,0x00000048,0x00000041,0x00000047,0x00060041,0x0000001e,0x00000049,
+ 0x0000003b,0x0000001a,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050080,
+ 0x00000006,0x0000004e,0x0000004a,0x00000043,0x00050041,0x00000054,0x00000055,0x00000052,
+ 0x00000053,0x0004003d,0x00000006,0x00000056,0x00000055,0x000500c2,0x00000006,0x00000059,
+ 0x0000004a,0x00000058,0x00050080,0x00000006,0x0000005a,0x00000056,0x00000059,0x000500c4,
+ 0x00000006,0x0000005b,0x0000005a,0x00000058,0x000500ae,0x0000005e,0x0000005f,0x0000005b,
+ 0x0000004e,0x000300f7,0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x00000061,
+ 0x000200f8,0x00000060,0x000200f9,0x000000c1,0x000200f8,0x00000061,0x000500ae,0x0000005e,
+ 0x00000066,0x0000005b,0x0000004a,0x000300f7,0x00000068,0x00000000,0x000400fa,0x00000066,
+ 0x00000067,0x00000068,0x000200f8,0x00000067,0x000500c2,0x00000006,0x000000cf,0x0000005b,
+ 0x0000001c,0x00060041,0x0000001e,0x000000d0,0x00000018,0x0000001a,0x000000cf,0x0004003d,
+ 0x00000006,0x000000d1,0x000000d0,0x000500c7,0x00000006,0x000000d3,0x0000005b,0x00000023,
+ 0x000500c4,0x00000006,0x000000d6,0x000000d3,0x00000028,0x000500c2,0x00000006,0x000000d7,
+ 0x000000d1,0x000000d6,0x000500c7,0x00000006,0x000000d8,0x000000d7,0x0000002b,0x000500c4,
+ 0x00000006,0x000000de,0x000000d8,0x00000053,0x000500c5,0x00000006,0x000000e0,0x00000053,
+ 0x000000de,0x000200f9,0x00000068,0x000200f8,0x00000068,0x000700f5,0x00000006,0x000000fc,
+ 0x00000053,0x00000061,0x000000e0,0x00000067,0x00050080,0x00000006,0x00000076,0x0000005b,
+ 0x00000075,0x000500b0,0x0000005e,0x00000078,0x00000076,0x0000004e,0x000300f7,0x0000007a,
+ 0x00000000,0x000400fa,0x00000078,0x00000079,0x0000007a,0x000200f8,0x00000079,0x000500c2,
+ 0x00000006,0x000000e9,0x00000076,0x0000001c,0x00060041,0x0000001e,0x000000ea,0x00000018,
+ 0x0000001a,0x000000e9,0x0004003d,0x00000006,0x000000eb,0x000000ea,0x000500c7,0x00000006,
+ 0x000000ed,0x00000076,0x00000023,0x000500c4,0x00000006,0x000000f0,0x000000ed,0x00000028,
+ 0x000500c2,0x00000006,0x000000f1,0x000000eb,0x000000f0,0x000500c7,0x00000006,0x000000f2,
+ 0x000000f1,0x0000002b,0x000500c4,0x00000006,0x000000f8,0x000000f2,0x000000fb,0x000500c5,
+ 0x00000006,0x000000fa,0x000000fc,0x000000f8,0x000200f9,0x0000007a,0x000200f8,0x0000007a,
+ 0x000700f5,0x00000006,0x000000fd,0x000000fc,0x00000068,0x000000fa,0x00000079,0x00050041,
+ 0x0000003f,0x0000008b,0x0000003e,0x00000058,0x0004003d,0x00000006,0x0000008c,0x0000008b,
+ 0x00050080,0x00000006,0x0000008f,0x0000008c,0x00000056,0x00060041,0x0000001e,0x00000091,
+ 0x0000008a,0x0000001a,0x0000008f,0x0003003e,0x00000091,0x000000fd,0x000500aa,0x0000005e,
+ 0x00000094,0x00000056,0x00000053,0x000300f7,0x00000096,0x00000000,0x000400fa,0x00000094,
+ 0x00000095,0x00000096,0x000200f8,0x00000095,0x00050041,0x0000003f,0x0000009b,0x0000003e,
+ 0x00000028,0x0004003d,0x00000006,0x0000009c,0x0000009b,0x0004003d,0x00000006,0x000000a0,
+ 0x00000042,0x00060041,0x0000001e,0x000000a1,0x0000009a,0x0000001a,0x0000009c,0x0003003e,
+ 0x000000a1,0x000000a0,0x00050080,0x00000006,0x000000a4,0x0000009c,0x00000075,0x00050080,
+ 0x00000006,0x000000a7,0x00000041,0x00000075,0x00060041,0x0000001e,0x000000a8,0x0000003b,
+ 0x0000001a,0x000000a7,0x0004003d,0x00000006,0x000000a9,0x000000a8,0x00060041,0x0000001e,
+ 0x000000aa,0x0000009a,0x0000001a,0x000000a4,0x0003003e,0x000000aa,0x000000a9,0x00050080,
+ 0x00000006,0x000000ad,0x0000009c,0x00000047,0x000500c7,0x00000006,0x000000af,0x0000004a,
+ 0x00000075,0x00060041,0x0000001e,0x000000b0,0x0000009a,0x0000001a,0x000000ad,0x0003003e,
+ 0x000000b0,0x000000af,0x00050080,0x00000006,0x000000b3,0x0000009c,0x00000023,0x00050080,
+ 0x00000006,0x000000b6,0x00000041,0x00000023,0x00060041,0x0000001e,0x000000b7,0x0000003b,
+ 0x0000001a,0x000000b6,0x0004003d,0x00000006,0x000000b8,0x000000b7,0x00060041,0x0000001e,
+ 0x000000b9,0x0000009a,0x0000001a,0x000000b3,0x0003003e,0x000000b9,0x000000b8,0x00050080,
+ 0x00000006,0x000000bd,0x0000009c,0x000000bc,0x00060041,0x0000001e,0x000000be,0x0000009a,
+ 0x0000001a,0x000000bd,0x0003003e,0x000000be,0x00000053,0x000200f9,0x00000096,0x000200f8,
+ 0x00000096,0x000200f9,0x000000c1,0x000200f8,0x000000c1,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc
index c2d9907d0c4..6b6bad59807 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc
@@ -1,36 +1,21 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndex_comp_00000003[] = {
- 0x07230203,0x00010000,0x00080007,0x000000c6,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000111,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000058,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000a,0x6c6c7550,0x65646e49,0x31752878,
- 0x0000003b,0x00040005,0x00000009,0x65646e69,0x00000078,0x00090005,0x00000010,0x6b636150,
- 0x65646e49,0x6c615678,0x75286575,0x31753b31,0x3b31753b,0x00000000,0x00050005,0x0000000d,
- 0x56637273,0x65756c61,0x00000000,0x00050005,0x0000000e,0x65646e69,0x646e4978,0x00007865,
- 0x00050005,0x0000000f,0x56747364,0x65756c61,0x00000000,0x00050005,0x00000012,0x49637273,
- 0x7865646e,0x00000000,0x00050005,0x00000014,0x42637273,0x6b636f6c,0x00000000,0x00030005,
- 0x00000016,0x00637273,0x00060006,0x00000016,0x00000000,0x49637273,0x7865646e,0x00667542,
- 0x00030005,0x00000018,0x00000000,0x00060005,0x00000021,0x43637273,0x6f706d6f,0x746e656e,
- 0x00000000,0x00040005,0x00000025,0x756c6176,0x00000065,0x00050005,0x0000003d,0x65646e69,
- 0x756f4378,0x0000746e,0x00050005,0x0000003f,0x49637273,0x7269646e,0x00746365,0x00070006,
- 0x0000003f,0x00000000,0x49637273,0x7269646e,0x42746365,0x00006675,0x00030005,0x00000041,
- 0x00000000,0x00060005,0x00000042,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00090006,
- 0x00000042,0x00000000,0x49637273,0x7269646e,0x4f746365,0x65736666,0x76694474,0x00000034,
- 0x00090006,0x00000042,0x00000001,0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,
- 0x00000034,0x00060006,0x00000042,0x00000002,0x4978616d,0x7865646e,0x00000000,0x000a0006,
- 0x00000042,0x00000003,0x49747364,0x7269646e,0x42746365,0x664f6675,0x74657366,0x34766944,
- 0x00000000,0x00030005,0x00000044,0x00000000,0x00050005,0x0000004a,0x73726966,0x646e4974,
- 0x00007865,0x00050005,0x00000051,0x49646e65,0x7865646e,0x00000000,0x00040005,0x00000055,
- 0x65646e69,0x00000078,0x00080005,0x00000058,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x00000068,0x56747364,0x65756c61,0x00000000,0x00050005,
- 0x0000006e,0x56637273,0x65756c61,0x00000000,0x00040005,0x0000006f,0x61726170,0x0000006d,
- 0x00040005,0x00000072,0x61726170,0x0000006d,0x00040005,0x00000074,0x61726170,0x0000006d,
- 0x00040005,0x00000075,0x61726170,0x0000006d,0x00050005,0x00000080,0x56637273,0x65756c61,
- 0x00000000,0x00040005,0x00000083,0x61726170,0x0000006d,0x00040005,0x00000085,0x61726170,
- 0x0000006d,0x00040005,0x00000087,0x61726170,0x0000006d,0x00040005,0x00000088,0x61726170,
- 0x0000006d,0x00030005,0x0000008d,0x00747364,0x00060006,0x0000008d,0x00000000,0x49747364,
+ 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000016,0x00637273,0x00060006,0x00000016,
+ 0x00000000,0x49637273,0x7865646e,0x00667542,0x00030005,0x00000018,0x00000000,0x00050005,
+ 0x0000003f,0x49637273,0x7269646e,0x00746365,0x00070006,0x0000003f,0x00000000,0x49637273,
+ 0x7269646e,0x42746365,0x00006675,0x00030005,0x00000041,0x00000000,0x00060005,0x00000042,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00090006,0x00000042,0x00000000,0x49637273,
+ 0x7269646e,0x4f746365,0x65736666,0x76694474,0x00000034,0x00090006,0x00000042,0x00000001,
+ 0x49747364,0x7865646e,0x4f667542,0x65736666,0x76694474,0x00000034,0x00060006,0x00000042,
+ 0x00000002,0x4978616d,0x7865646e,0x00000000,0x000a0006,0x00000042,0x00000003,0x49747364,
+ 0x7269646e,0x42746365,0x664f6675,0x74657366,0x34766944,0x00000000,0x00030005,0x00000044,
+ 0x00000000,0x00080005,0x00000058,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,
+ 0x00000044,0x00030005,0x0000008d,0x00747364,0x00060006,0x0000008d,0x00000000,0x49747364,
0x7865646e,0x00667542,0x00030005,0x0000008f,0x00000000,0x00050005,0x0000009d,0x49747364,
0x7269646e,0x00746365,0x00070006,0x0000009d,0x00000000,0x49747364,0x7269646e,0x42746365,
0x00006675,0x00030005,0x0000009f,0x00000000,0x00040047,0x00000015,0x00000006,0x00000004,
@@ -49,124 +34,80 @@ const uint32_t kConvertIndex_comp_00000003[] = {
0x0000009d,0x00000000,0x00000023,0x00000000,0x00030047,0x0000009d,0x00000003,0x00040047,
0x0000009f,0x00000022,0x00000000,0x00040047,0x0000009f,0x00000021,0x00000003,0x00040047,
0x000000c5,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,
- 0x00040021,0x00000008,0x00000006,0x00000007,0x00060021,0x0000000c,0x00000002,0x00000007,
- 0x00000007,0x00000007,0x0003001d,0x00000015,0x00000006,0x0003001e,0x00000016,0x00000015,
- 0x00040020,0x00000017,0x00000002,0x00000016,0x0004003b,0x00000017,0x00000018,0x00000002,
- 0x00040015,0x00000019,0x00000020,0x00000001,0x0004002b,0x00000019,0x0000001a,0x00000000,
- 0x0004002b,0x00000019,0x0000001c,0x00000002,0x00040020,0x0000001e,0x00000002,0x00000006,
- 0x0004002b,0x00000006,0x00000023,0x00000003,0x0004002b,0x00000019,0x00000028,0x00000003,
- 0x0004002b,0x00000006,0x0000002b,0x000000ff,0x00020014,0x0000002e,0x0004002b,0x00000006,
- 0x00000032,0x0000ffff,0x0004002b,0x00000019,0x00000038,0x00000004,0x0003001d,0x0000003e,
- 0x00000006,0x0003001e,0x0000003f,0x0000003e,0x00040020,0x00000040,0x00000002,0x0000003f,
- 0x0004003b,0x00000040,0x00000041,0x00000002,0x0006001e,0x00000042,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00040020,0x00000043,0x00000009,0x00000042,0x0004003b,0x00000043,
- 0x00000044,0x00000009,0x00040020,0x00000045,0x00000009,0x00000006,0x0004002b,0x00000006,
- 0x0000004d,0x00000002,0x00040017,0x00000056,0x00000006,0x00000003,0x00040020,0x00000057,
- 0x00000001,0x00000056,0x0004003b,0x00000057,0x00000058,0x00000001,0x0004002b,0x00000006,
- 0x00000059,0x00000000,0x00040020,0x0000005a,0x00000001,0x00000006,0x0004002b,0x00000019,
- 0x0000005e,0x00000001,0x0004002b,0x00000006,0x0000007a,0x00000001,0x0003001d,0x0000008c,
- 0x00000006,0x0003001e,0x0000008d,0x0000008c,0x00040020,0x0000008e,0x00000002,0x0000008d,
- 0x0004003b,0x0000008e,0x0000008f,0x00000002,0x0003001d,0x0000009c,0x00000006,0x0003001e,
- 0x0000009d,0x0000009c,0x00040020,0x0000009e,0x00000002,0x0000009d,0x0004003b,0x0000009e,
- 0x0000009f,0x00000002,0x0004002b,0x00000006,0x000000c1,0x00000004,0x0004002b,0x00000006,
- 0x000000c4,0x00000040,0x0006002c,0x00000056,0x000000c5,0x000000c4,0x0000007a,0x0000007a,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000007,0x0000003d,0x00000007,0x0004003b,0x00000007,0x0000004a,0x00000007,0x0004003b,
- 0x00000007,0x00000051,0x00000007,0x0004003b,0x00000007,0x00000055,0x00000007,0x0004003b,
- 0x00000007,0x00000068,0x00000007,0x0004003b,0x00000007,0x0000006e,0x00000007,0x0004003b,
- 0x00000007,0x0000006f,0x00000007,0x0004003b,0x00000007,0x00000072,0x00000007,0x0004003b,
- 0x00000007,0x00000074,0x00000007,0x0004003b,0x00000007,0x00000075,0x00000007,0x0004003b,
- 0x00000007,0x00000080,0x00000007,0x0004003b,0x00000007,0x00000083,0x00000007,0x0004003b,
- 0x00000007,0x00000085,0x00000007,0x0004003b,0x00000007,0x00000087,0x00000007,0x0004003b,
- 0x00000007,0x00000088,0x00000007,0x00050041,0x00000045,0x00000046,0x00000044,0x0000001a,
- 0x0004003d,0x00000006,0x00000047,0x00000046,0x00060041,0x0000001e,0x00000048,0x00000041,
- 0x0000001a,0x00000047,0x0004003d,0x00000006,0x00000049,0x00000048,0x0003003e,0x0000003d,
- 0x00000049,0x00050041,0x00000045,0x0000004b,0x00000044,0x0000001a,0x0004003d,0x00000006,
- 0x0000004c,0x0000004b,0x00050080,0x00000006,0x0000004e,0x0000004c,0x0000004d,0x00060041,
- 0x0000001e,0x0000004f,0x00000041,0x0000001a,0x0000004e,0x0004003d,0x00000006,0x00000050,
- 0x0000004f,0x0003003e,0x0000004a,0x00000050,0x0004003d,0x00000006,0x00000052,0x0000004a,
- 0x0004003d,0x00000006,0x00000053,0x0000003d,0x00050080,0x00000006,0x00000054,0x00000052,
- 0x00000053,0x0003003e,0x00000051,0x00000054,0x00050041,0x0000005a,0x0000005b,0x00000058,
- 0x00000059,0x0004003d,0x00000006,0x0000005c,0x0000005b,0x0004003d,0x00000006,0x0000005d,
- 0x0000004a,0x000500c2,0x00000006,0x0000005f,0x0000005d,0x0000005e,0x00050080,0x00000006,
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x0003001d,0x00000015,0x00000006,0x0003001e,
+ 0x00000016,0x00000015,0x00040020,0x00000017,0x00000002,0x00000016,0x0004003b,0x00000017,
+ 0x00000018,0x00000002,0x00040015,0x00000019,0x00000020,0x00000001,0x0004002b,0x00000019,
+ 0x0000001a,0x00000000,0x0004002b,0x00000019,0x0000001c,0x00000002,0x00040020,0x0000001e,
+ 0x00000002,0x00000006,0x0004002b,0x00000006,0x00000023,0x00000003,0x0004002b,0x00000019,
+ 0x00000028,0x00000003,0x0004002b,0x00000006,0x0000002b,0x000000ff,0x00020014,0x0000002e,
+ 0x0004002b,0x00000006,0x00000032,0x0000ffff,0x0003001d,0x0000003e,0x00000006,0x0003001e,
+ 0x0000003f,0x0000003e,0x00040020,0x00000040,0x00000002,0x0000003f,0x0004003b,0x00000040,
+ 0x00000041,0x00000002,0x0006001e,0x00000042,0x00000006,0x00000006,0x00000006,0x00000006,
+ 0x00040020,0x00000043,0x00000009,0x00000042,0x0004003b,0x00000043,0x00000044,0x00000009,
+ 0x00040020,0x00000045,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000004d,0x00000002,
+ 0x00040017,0x00000056,0x00000006,0x00000003,0x00040020,0x00000057,0x00000001,0x00000056,
+ 0x0004003b,0x00000057,0x00000058,0x00000001,0x0004002b,0x00000006,0x00000059,0x00000000,
+ 0x00040020,0x0000005a,0x00000001,0x00000006,0x0004002b,0x00000019,0x0000005e,0x00000001,
+ 0x0004002b,0x00000006,0x0000007a,0x00000001,0x0003001d,0x0000008c,0x00000006,0x0003001e,
+ 0x0000008d,0x0000008c,0x00040020,0x0000008e,0x00000002,0x0000008d,0x0004003b,0x0000008e,
+ 0x0000008f,0x00000002,0x0003001d,0x0000009c,0x00000006,0x0003001e,0x0000009d,0x0000009c,
+ 0x00040020,0x0000009e,0x00000002,0x0000009d,0x0004003b,0x0000009e,0x0000009f,0x00000002,
+ 0x0004002b,0x00000006,0x000000c1,0x00000004,0x0004002b,0x00000006,0x000000c4,0x00000040,
+ 0x0006002c,0x00000056,0x000000c5,0x000000c4,0x0000007a,0x0000007a,0x0004002b,0x00000006,
+ 0x00000108,0x00000010,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x000300f7,0x000000c6,0x00000000,0x000300fb,0x00000059,0x000000c7,0x000200f8,
+ 0x000000c7,0x00050041,0x00000045,0x00000046,0x00000044,0x0000001a,0x0004003d,0x00000006,
+ 0x00000047,0x00000046,0x00060041,0x0000001e,0x00000048,0x00000041,0x0000001a,0x00000047,
+ 0x0004003d,0x00000006,0x00000049,0x00000048,0x00050080,0x00000006,0x0000004e,0x00000047,
+ 0x0000004d,0x00060041,0x0000001e,0x0000004f,0x00000041,0x0000001a,0x0000004e,0x0004003d,
+ 0x00000006,0x00000050,0x0000004f,0x00050080,0x00000006,0x00000054,0x00000050,0x00000049,
+ 0x00050041,0x0000005a,0x0000005b,0x00000058,0x00000059,0x0004003d,0x00000006,0x0000005c,
+ 0x0000005b,0x000500c2,0x00000006,0x0000005f,0x00000050,0x0000005e,0x00050080,0x00000006,
0x00000060,0x0000005c,0x0000005f,0x000500c4,0x00000006,0x00000061,0x00000060,0x0000005e,
- 0x0003003e,0x00000055,0x00000061,0x0004003d,0x00000006,0x00000062,0x00000055,0x0004003d,
- 0x00000006,0x00000063,0x00000051,0x000500ae,0x0000002e,0x00000064,0x00000062,0x00000063,
- 0x000300f7,0x00000066,0x00000000,0x000400fa,0x00000064,0x00000065,0x00000066,0x000200f8,
- 0x00000065,0x000100fd,0x000200f8,0x00000066,0x0003003e,0x00000068,0x00000059,0x0004003d,
- 0x00000006,0x00000069,0x00000055,0x0004003d,0x00000006,0x0000006a,0x0000004a,0x000500ae,
- 0x0000002e,0x0000006b,0x00000069,0x0000006a,0x000300f7,0x0000006d,0x00000000,0x000400fa,
- 0x0000006b,0x0000006c,0x0000006d,0x000200f8,0x0000006c,0x0004003d,0x00000006,0x00000070,
- 0x00000055,0x0003003e,0x0000006f,0x00000070,0x00050039,0x00000006,0x00000071,0x0000000a,
- 0x0000006f,0x0003003e,0x0000006e,0x00000071,0x0004003d,0x00000006,0x00000073,0x0000006e,
- 0x0003003e,0x00000072,0x00000073,0x0003003e,0x00000074,0x00000059,0x0004003d,0x00000006,
- 0x00000076,0x00000068,0x0003003e,0x00000075,0x00000076,0x00070039,0x00000002,0x00000077,
- 0x00000010,0x00000072,0x00000074,0x00000075,0x0004003d,0x00000006,0x00000078,0x00000075,
- 0x0003003e,0x00000068,0x00000078,0x000200f9,0x0000006d,0x000200f8,0x0000006d,0x0004003d,
- 0x00000006,0x00000079,0x00000055,0x00050080,0x00000006,0x0000007b,0x00000079,0x0000007a,
- 0x0004003d,0x00000006,0x0000007c,0x00000051,0x000500b0,0x0000002e,0x0000007d,0x0000007b,
- 0x0000007c,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007d,0x0000007e,0x0000007f,
- 0x000200f8,0x0000007e,0x0004003d,0x00000006,0x00000081,0x00000055,0x00050080,0x00000006,
- 0x00000082,0x00000081,0x0000007a,0x0003003e,0x00000083,0x00000082,0x00050039,0x00000006,
- 0x00000084,0x0000000a,0x00000083,0x0003003e,0x00000080,0x00000084,0x0004003d,0x00000006,
- 0x00000086,0x00000080,0x0003003e,0x00000085,0x00000086,0x0003003e,0x00000087,0x0000007a,
- 0x0004003d,0x00000006,0x00000089,0x00000068,0x0003003e,0x00000088,0x00000089,0x00070039,
- 0x00000002,0x0000008a,0x00000010,0x00000085,0x00000087,0x00000088,0x0004003d,0x00000006,
- 0x0000008b,0x00000088,0x0003003e,0x00000068,0x0000008b,0x000200f9,0x0000007f,0x000200f8,
- 0x0000007f,0x00050041,0x00000045,0x00000090,0x00000044,0x0000005e,0x0004003d,0x00000006,
- 0x00000091,0x00000090,0x00050041,0x0000005a,0x00000092,0x00000058,0x00000059,0x0004003d,
- 0x00000006,0x00000093,0x00000092,0x00050080,0x00000006,0x00000094,0x00000091,0x00000093,
- 0x0004003d,0x00000006,0x00000095,0x00000068,0x00060041,0x0000001e,0x00000096,0x0000008f,
- 0x0000001a,0x00000094,0x0003003e,0x00000096,0x00000095,0x00050041,0x0000005a,0x00000097,
- 0x00000058,0x00000059,0x0004003d,0x00000006,0x00000098,0x00000097,0x000500aa,0x0000002e,
- 0x00000099,0x00000098,0x00000059,0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,
- 0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x00050041,0x00000045,0x000000a0,0x00000044,
- 0x00000028,0x0004003d,0x00000006,0x000000a1,0x000000a0,0x00050041,0x00000045,0x000000a2,
- 0x00000044,0x0000001a,0x0004003d,0x00000006,0x000000a3,0x000000a2,0x00060041,0x0000001e,
- 0x000000a4,0x00000041,0x0000001a,0x000000a3,0x0004003d,0x00000006,0x000000a5,0x000000a4,
- 0x00060041,0x0000001e,0x000000a6,0x0000009f,0x0000001a,0x000000a1,0x0003003e,0x000000a6,
- 0x000000a5,0x00050041,0x00000045,0x000000a7,0x00000044,0x00000028,0x0004003d,0x00000006,
- 0x000000a8,0x000000a7,0x00050080,0x00000006,0x000000a9,0x000000a8,0x0000007a,0x00050041,
- 0x00000045,0x000000aa,0x00000044,0x0000001a,0x0004003d,0x00000006,0x000000ab,0x000000aa,
- 0x00050080,0x00000006,0x000000ac,0x000000ab,0x0000007a,0x00060041,0x0000001e,0x000000ad,
- 0x00000041,0x0000001a,0x000000ac,0x0004003d,0x00000006,0x000000ae,0x000000ad,0x00060041,
- 0x0000001e,0x000000af,0x0000009f,0x0000001a,0x000000a9,0x0003003e,0x000000af,0x000000ae,
- 0x00050041,0x00000045,0x000000b0,0x00000044,0x00000028,0x0004003d,0x00000006,0x000000b1,
- 0x000000b0,0x00050080,0x00000006,0x000000b2,0x000000b1,0x0000004d,0x0004003d,0x00000006,
- 0x000000b3,0x0000004a,0x000500c7,0x00000006,0x000000b4,0x000000b3,0x0000007a,0x00060041,
- 0x0000001e,0x000000b5,0x0000009f,0x0000001a,0x000000b2,0x0003003e,0x000000b5,0x000000b4,
- 0x00050041,0x00000045,0x000000b6,0x00000044,0x00000028,0x0004003d,0x00000006,0x000000b7,
- 0x000000b6,0x00050080,0x00000006,0x000000b8,0x000000b7,0x00000023,0x00050041,0x00000045,
- 0x000000b9,0x00000044,0x0000001a,0x0004003d,0x00000006,0x000000ba,0x000000b9,0x00050080,
- 0x00000006,0x000000bb,0x000000ba,0x00000023,0x00060041,0x0000001e,0x000000bc,0x00000041,
- 0x0000001a,0x000000bb,0x0004003d,0x00000006,0x000000bd,0x000000bc,0x00060041,0x0000001e,
- 0x000000be,0x0000009f,0x0000001a,0x000000b8,0x0003003e,0x000000be,0x000000bd,0x00050041,
- 0x00000045,0x000000bf,0x00000044,0x00000028,0x0004003d,0x00000006,0x000000c0,0x000000bf,
- 0x00050080,0x00000006,0x000000c2,0x000000c0,0x000000c1,0x00060041,0x0000001e,0x000000c3,
- 0x0000009f,0x0000001a,0x000000c2,0x0003003e,0x000000c3,0x00000059,0x000200f9,0x0000009b,
- 0x000200f8,0x0000009b,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,
- 0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003b,0x00000007,
- 0x00000012,0x00000007,0x0004003b,0x00000007,0x00000014,0x00000007,0x0004003b,0x00000007,
- 0x00000021,0x00000007,0x0004003b,0x00000007,0x00000025,0x00000007,0x0004003d,0x00000006,
- 0x00000013,0x00000009,0x0003003e,0x00000012,0x00000013,0x0004003d,0x00000006,0x0000001b,
- 0x00000012,0x000500c2,0x00000006,0x0000001d,0x0000001b,0x0000001c,0x00060041,0x0000001e,
- 0x0000001f,0x00000018,0x0000001a,0x0000001d,0x0004003d,0x00000006,0x00000020,0x0000001f,
- 0x0003003e,0x00000014,0x00000020,0x0004003d,0x00000006,0x00000022,0x00000012,0x000500c7,
- 0x00000006,0x00000024,0x00000022,0x00000023,0x0003003e,0x00000021,0x00000024,0x0004003d,
- 0x00000006,0x00000026,0x00000014,0x0004003d,0x00000006,0x00000027,0x00000021,0x000500c4,
- 0x00000006,0x00000029,0x00000027,0x00000028,0x000500c2,0x00000006,0x0000002a,0x00000026,
- 0x00000029,0x000500c7,0x00000006,0x0000002c,0x0000002a,0x0000002b,0x0003003e,0x00000025,
- 0x0000002c,0x0004003d,0x00000006,0x0000002d,0x00000025,0x000500aa,0x0000002e,0x0000002f,
- 0x0000002d,0x0000002b,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030,
- 0x00000031,0x000200f8,0x00000030,0x0003003e,0x00000025,0x00000032,0x000200f9,0x00000031,
- 0x000200f8,0x00000031,0x0004003d,0x00000006,0x00000033,0x00000025,0x000200fe,0x00000033,
- 0x00010038,0x00050036,0x00000002,0x00000010,0x00000000,0x0000000c,0x00030037,0x00000007,
- 0x0000000d,0x00030037,0x00000007,0x0000000e,0x00030037,0x00000007,0x0000000f,0x000200f8,
- 0x00000011,0x0004003d,0x00000006,0x00000036,0x0000000d,0x0004003d,0x00000006,0x00000037,
- 0x0000000e,0x000500c4,0x00000006,0x00000039,0x00000037,0x00000038,0x000500c4,0x00000006,
- 0x0000003a,0x00000036,0x00000039,0x0004003d,0x00000006,0x0000003b,0x0000000f,0x000500c5,
- 0x00000006,0x0000003c,0x0000003b,0x0000003a,0x0003003e,0x0000000f,0x0000003c,0x000100fd,
+ 0x000500ae,0x0000002e,0x00000064,0x00000061,0x00000054,0x000300f7,0x00000066,0x00000000,
+ 0x000400fa,0x00000064,0x00000065,0x00000066,0x000200f8,0x00000065,0x000200f9,0x000000c6,
+ 0x000200f8,0x00000066,0x000500ae,0x0000002e,0x0000006b,0x00000061,0x00000050,0x000300f7,
+ 0x0000006d,0x00000000,0x000400fa,0x0000006b,0x0000006c,0x0000006d,0x000200f8,0x0000006c,
+ 0x000500c2,0x00000006,0x000000d4,0x00000061,0x0000001c,0x00060041,0x0000001e,0x000000d5,
+ 0x00000018,0x0000001a,0x000000d4,0x0004003d,0x00000006,0x000000d6,0x000000d5,0x000500c7,
+ 0x00000006,0x000000d8,0x00000061,0x00000023,0x000500c4,0x00000006,0x000000db,0x000000d8,
+ 0x00000028,0x000500c2,0x00000006,0x000000dc,0x000000d6,0x000000db,0x000500c7,0x00000006,
+ 0x000000dd,0x000000dc,0x0000002b,0x000500aa,0x0000002e,0x000000df,0x000000dd,0x0000002b,
+ 0x000200f9,0x000000e1,0x000200f8,0x000000e1,0x000600a9,0x00000006,0x0000010f,0x000000df,
+ 0x00000032,0x000000dd,0x000500c4,0x00000006,0x000000e7,0x0000010f,0x00000059,0x000500c5,
+ 0x00000006,0x000000e9,0x00000059,0x000000e7,0x000200f9,0x0000006d,0x000200f8,0x0000006d,
+ 0x000700f5,0x00000006,0x0000010d,0x00000059,0x00000066,0x000000e9,0x000000e1,0x00050080,
+ 0x00000006,0x0000007b,0x00000061,0x0000007a,0x000500b0,0x0000002e,0x0000007d,0x0000007b,
+ 0x00000054,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007d,0x0000007e,0x0000007f,
+ 0x000200f8,0x0000007e,0x000500c2,0x00000006,0x000000f2,0x0000007b,0x0000001c,0x00060041,
+ 0x0000001e,0x000000f3,0x00000018,0x0000001a,0x000000f2,0x0004003d,0x00000006,0x000000f4,
+ 0x000000f3,0x000500c7,0x00000006,0x000000f6,0x0000007b,0x00000023,0x000500c4,0x00000006,
+ 0x000000f9,0x000000f6,0x00000028,0x000500c2,0x00000006,0x000000fa,0x000000f4,0x000000f9,
+ 0x000500c7,0x00000006,0x000000fb,0x000000fa,0x0000002b,0x000500aa,0x0000002e,0x000000fd,
+ 0x000000fb,0x0000002b,0x000200f9,0x000000ff,0x000200f8,0x000000ff,0x000600a9,0x00000006,
+ 0x00000110,0x000000fd,0x00000032,0x000000fb,0x000500c4,0x00000006,0x00000105,0x00000110,
+ 0x00000108,0x000500c5,0x00000006,0x00000107,0x0000010d,0x00000105,0x000200f9,0x0000007f,
+ 0x000200f8,0x0000007f,0x000700f5,0x00000006,0x0000010e,0x0000010d,0x0000006d,0x00000107,
+ 0x000000ff,0x00050041,0x00000045,0x00000090,0x00000044,0x0000005e,0x0004003d,0x00000006,
+ 0x00000091,0x00000090,0x00050080,0x00000006,0x00000094,0x00000091,0x0000005c,0x00060041,
+ 0x0000001e,0x00000096,0x0000008f,0x0000001a,0x00000094,0x0003003e,0x00000096,0x0000010e,
+ 0x000500aa,0x0000002e,0x00000099,0x0000005c,0x00000059,0x000300f7,0x0000009b,0x00000000,
+ 0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x00050041,0x00000045,
+ 0x000000a0,0x00000044,0x00000028,0x0004003d,0x00000006,0x000000a1,0x000000a0,0x0004003d,
+ 0x00000006,0x000000a5,0x00000048,0x00060041,0x0000001e,0x000000a6,0x0000009f,0x0000001a,
+ 0x000000a1,0x0003003e,0x000000a6,0x000000a5,0x00050080,0x00000006,0x000000a9,0x000000a1,
+ 0x0000007a,0x00050080,0x00000006,0x000000ac,0x00000047,0x0000007a,0x00060041,0x0000001e,
+ 0x000000ad,0x00000041,0x0000001a,0x000000ac,0x0004003d,0x00000006,0x000000ae,0x000000ad,
+ 0x00060041,0x0000001e,0x000000af,0x0000009f,0x0000001a,0x000000a9,0x0003003e,0x000000af,
+ 0x000000ae,0x00050080,0x00000006,0x000000b2,0x000000a1,0x0000004d,0x000500c7,0x00000006,
+ 0x000000b4,0x00000050,0x0000007a,0x00060041,0x0000001e,0x000000b5,0x0000009f,0x0000001a,
+ 0x000000b2,0x0003003e,0x000000b5,0x000000b4,0x00050080,0x00000006,0x000000b8,0x000000a1,
+ 0x00000023,0x00050080,0x00000006,0x000000bb,0x00000047,0x00000023,0x00060041,0x0000001e,
+ 0x000000bc,0x00000041,0x0000001a,0x000000bb,0x0004003d,0x00000006,0x000000bd,0x000000bc,
+ 0x00060041,0x0000001e,0x000000be,0x0000009f,0x0000001a,0x000000b8,0x0003003e,0x000000be,
+ 0x000000bd,0x00050080,0x00000006,0x000000c2,0x000000a1,0x000000c1,0x00060041,0x0000001e,
+ 0x000000c3,0x0000009f,0x0000001a,0x000000c2,0x0003003e,0x000000c3,0x00000059,0x000200f9,
+ 0x0000009b,0x000200f8,0x0000009b,0x000200f9,0x000000c6,0x000200f8,0x000000c6,0x000100fd,
0x00010038
};
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc
index 13604b3559a..2e4ef69f976 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc
@@ -1,201 +1,152 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndexIndirectLineLoop_comp_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x000000eb,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000190,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000068,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x49746547,0x7865646e,0x756c6156,
- 0x31752865,0x0000003b,0x00040005,0x00000009,0x65646e69,0x00000078,0x00080005,0x0000000f,
- 0x49747550,0x7865646e,0x756c6156,0x31752865,0x3b31753b,0x00000000,0x00040005,0x0000000d,
- 0x65646e69,0x00000078,0x00040005,0x0000000e,0x756c6176,0x00000065,0x00050005,0x00000011,
- 0x42637273,0x6b636f6c,0x00000000,0x00030005,0x00000013,0x00637273,0x00050006,0x00000013,
- 0x00000000,0x44637273,0x00617461,0x00030005,0x00000015,0x00000000,0x00050005,0x0000001e,
- 0x53637273,0x74666968,0x00000000,0x00040005,0x00000024,0x756c6176,0x00000065,0x00050005,
- 0x0000002d,0x49747364,0x7865646e,0x00000000,0x00060005,0x0000002e,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00070006,0x0000002e,0x00000000,0x4f646d63,0x65736666,0x76694474,
- 0x00000034,0x00080006,0x0000002e,0x00000001,0x43747364,0x664f646d,0x74657366,0x34766944,
- 0x00000000,0x00070006,0x0000002e,0x00000002,0x4f747364,0x65736666,0x76694474,0x00000034,
- 0x00080006,0x0000002e,0x00000003,0x65527369,0x72617473,0x616e4574,0x64656c62,0x00000000,
- 0x00030005,0x00000030,0x00000000,0x00050005,0x00000037,0x42637273,0x6b636f6c,0x00000000,
- 0x00030005,0x00000039,0x00747364,0x00050006,0x00000039,0x00000000,0x44747364,0x00617461,
- 0x00030005,0x0000003b,0x00000000,0x00050005,0x0000003f,0x53637273,0x74666968,0x00000000,
- 0x00050005,0x00000052,0x65646e69,0x756f4378,0x0000746e,0x00030005,0x00000054,0x00646d63,
- 0x00050006,0x00000054,0x00000000,0x44646d63,0x00617461,0x00030005,0x00000056,0x00000000,
- 0x00050005,0x0000005b,0x73726966,0x646e4974,0x00007865,0x00050005,0x00000062,0x49646e65,
- 0x7865646e,0x00000000,0x00080005,0x00000068,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00060005,0x00000073,0x6b726f77,0x43676e69,0x746e756f,0x00000000,
- 0x00040005,0x00000074,0x49637273,0x00007864,0x00070005,0x00000076,0x69646e69,0x52736563,
- 0x69616d65,0x676e696e,0x00000000,0x00050005,0x00000078,0x656e696c,0x657a6953,0x00000000,
- 0x00060005,0x00000079,0x73726966,0x646e4974,0x61567865,0x0065756c,0x00060005,0x00000081,
- 0x74736572,0x56747261,0x65756c61,0x00000000,0x00050005,0x00000082,0x65646e69,0x6c615678,
- 0x00006575,0x00040005,0x00000086,0x61726170,0x0000006d,0x00040005,0x0000009e,0x61726170,
- 0x0000006d,0x00040005,0x0000009f,0x61726170,0x0000006d,0x00040005,0x000000a8,0x61726170,
- 0x0000006d,0x00040005,0x000000a9,0x61726170,0x0000006d,0x00040005,0x000000ad,0x61726170,
- 0x0000006d,0x00040005,0x000000af,0x61726170,0x0000006d,0x00040005,0x000000ba,0x61726170,
- 0x0000006d,0x00040005,0x000000bc,0x61726170,0x0000006d,0x00040005,0x000000c2,0x43747364,
- 0x0000646d,0x00060006,0x000000c2,0x00000000,0x43747364,0x6144646d,0x00006174,0x00030005,
- 0x000000c4,0x00000000,0x00040047,0x00000012,0x00000006,0x00000004,0x00040048,0x00000013,
- 0x00000000,0x00000018,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x00000013,0x00000003,0x00040047,0x00000015,0x00000022,0x00000000,0x00040047,0x00000015,
- 0x00000021,0x00000001,0x00050048,0x0000002e,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x0000002e,0x00000001,0x00000023,0x00000004,0x00050048,0x0000002e,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x0000002e,0x00000003,0x00000023,0x0000000c,0x00030047,0x0000002e,
- 0x00000002,0x00040047,0x00000038,0x00000006,0x00000004,0x00050048,0x00000039,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000039,0x00000003,0x00040047,0x0000003b,0x00000022,
- 0x00000000,0x00040047,0x0000003b,0x00000021,0x00000000,0x00040047,0x00000053,0x00000006,
- 0x00000004,0x00040048,0x00000054,0x00000000,0x00000018,0x00050048,0x00000054,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000054,0x00000003,0x00040047,0x00000056,0x00000022,
- 0x00000000,0x00040047,0x00000056,0x00000021,0x00000002,0x00040047,0x00000068,0x0000000b,
- 0x0000001c,0x00040047,0x000000c1,0x00000006,0x00000004,0x00050048,0x000000c2,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x000000c2,0x00000003,0x00040047,0x000000c4,0x00000022,
- 0x00000000,0x00040047,0x000000c4,0x00000021,0x00000003,0x00040047,0x000000ea,0x0000000b,
- 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00040021,0x00000008,
- 0x00000006,0x00000007,0x00050021,0x0000000c,0x00000002,0x00000007,0x00000007,0x0003001d,
- 0x00000012,0x00000006,0x0003001e,0x00000013,0x00000012,0x00040020,0x00000014,0x00000002,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000002,0x00040015,0x00000016,0x00000020,
- 0x00000001,0x0004002b,0x00000016,0x00000017,0x00000000,0x0004002b,0x00000016,0x00000019,
- 0x00000002,0x00040020,0x0000001b,0x00000002,0x00000006,0x0004002b,0x00000006,0x00000020,
- 0x00000003,0x0004002b,0x00000016,0x00000022,0x00000003,0x0004002b,0x00000006,0x00000028,
- 0x000000ff,0x0006001e,0x0000002e,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
- 0x0000002f,0x00000009,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000009,0x00040020,
- 0x00000031,0x00000009,0x00000006,0x0003001d,0x00000038,0x00000006,0x0003001e,0x00000039,
- 0x00000038,0x00040020,0x0000003a,0x00000002,0x00000039,0x0004003b,0x0000003a,0x0000003b,
- 0x00000002,0x0004002b,0x00000016,0x00000043,0x000000ff,0x0003001d,0x00000053,0x00000006,
- 0x0003001e,0x00000054,0x00000053,0x00040020,0x00000055,0x00000002,0x00000054,0x0004003b,
- 0x00000055,0x00000056,0x00000002,0x0004002b,0x00000006,0x0000005e,0x00000002,0x00040017,
- 0x00000066,0x00000006,0x00000003,0x00040020,0x00000067,0x00000001,0x00000066,0x0004003b,
- 0x00000067,0x00000068,0x00000001,0x0004002b,0x00000006,0x00000069,0x00000000,0x00040020,
- 0x0000006a,0x00000001,0x00000006,0x0004002b,0x00000006,0x0000006d,0x00000001,0x00020014,
- 0x0000006e,0x0004002b,0x00000016,0x00000084,0x00000001,0x0003001d,0x000000c1,0x00000006,
- 0x0003001e,0x000000c2,0x000000c1,0x00040020,0x000000c3,0x00000002,0x000000c2,0x0004003b,
- 0x000000c3,0x000000c4,0x00000002,0x0004002b,0x00000006,0x000000e1,0x00000004,0x0004002b,
- 0x00000006,0x000000e9,0x00000040,0x0006002c,0x00000066,0x000000ea,0x000000e9,0x0000006d,
- 0x0000006d,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000007,0x00000052,0x00000007,0x0004003b,0x00000007,0x0000005b,0x00000007,
- 0x0004003b,0x00000007,0x00000062,0x00000007,0x0004003b,0x00000007,0x00000073,0x00000007,
- 0x0004003b,0x00000007,0x00000074,0x00000007,0x0004003b,0x00000007,0x00000076,0x00000007,
- 0x0004003b,0x00000007,0x00000078,0x00000007,0x0004003b,0x00000007,0x00000079,0x00000007,
- 0x0004003b,0x00000007,0x00000081,0x00000007,0x0004003b,0x00000007,0x00000082,0x00000007,
- 0x0004003b,0x00000007,0x00000086,0x00000007,0x0004003b,0x00000007,0x0000009e,0x00000007,
- 0x0004003b,0x00000007,0x0000009f,0x00000007,0x0004003b,0x00000007,0x000000a8,0x00000007,
- 0x0004003b,0x00000007,0x000000a9,0x00000007,0x0004003b,0x00000007,0x000000ad,0x00000007,
- 0x0004003b,0x00000007,0x000000af,0x00000007,0x0004003b,0x00000007,0x000000ba,0x00000007,
- 0x0004003b,0x00000007,0x000000bc,0x00000007,0x00050041,0x00000031,0x00000057,0x00000030,
- 0x00000017,0x0004003d,0x00000006,0x00000058,0x00000057,0x00060041,0x0000001b,0x00000059,
- 0x00000056,0x00000017,0x00000058,0x0004003d,0x00000006,0x0000005a,0x00000059,0x0003003e,
- 0x00000052,0x0000005a,0x00050041,0x00000031,0x0000005c,0x00000030,0x00000017,0x0004003d,
- 0x00000006,0x0000005d,0x0000005c,0x00050080,0x00000006,0x0000005f,0x0000005d,0x0000005e,
- 0x00060041,0x0000001b,0x00000060,0x00000056,0x00000017,0x0000005f,0x0004003d,0x00000006,
- 0x00000061,0x00000060,0x0003003e,0x0000005b,0x00000061,0x0004003d,0x00000006,0x00000063,
- 0x0000005b,0x0004003d,0x00000006,0x00000064,0x00000052,0x00050080,0x00000006,0x00000065,
- 0x00000063,0x00000064,0x0003003e,0x00000062,0x00000065,0x00050041,0x0000006a,0x0000006b,
- 0x00000068,0x00000069,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500ae,0x0000006e,
- 0x0000006f,0x0000006c,0x0000006d,0x000300f7,0x00000071,0x00000000,0x000400fa,0x0000006f,
- 0x00000070,0x00000071,0x000200f8,0x00000070,0x000100fd,0x000200f8,0x00000071,0x0003003e,
- 0x00000073,0x00000069,0x0004003d,0x00000006,0x00000075,0x0000005b,0x0003003e,0x00000074,
- 0x00000075,0x0004003d,0x00000006,0x00000077,0x00000052,0x0003003e,0x00000076,0x00000077,
- 0x0003003e,0x00000078,0x00000069,0x0003003e,0x00000079,0x00000069,0x000200f9,0x0000007a,
- 0x000200f8,0x0000007a,0x000400f6,0x0000007c,0x0000007d,0x00000000,0x000200f9,0x0000007e,
- 0x000200f8,0x0000007e,0x0004003d,0x00000006,0x0000007f,0x00000076,0x000500ac,0x0000006e,
- 0x00000080,0x0000007f,0x00000069,0x000400fa,0x00000080,0x0000007b,0x0000007c,0x000200f8,
- 0x0000007b,0x0003003e,0x00000081,0x00000028,0x0004003d,0x00000006,0x00000083,0x00000074,
- 0x00050080,0x00000006,0x00000085,0x00000083,0x00000084,0x0003003e,0x00000074,0x00000085,
- 0x0003003e,0x00000086,0x00000083,0x00050039,0x00000006,0x00000087,0x0000000a,0x00000086,
- 0x0003003e,0x00000082,0x00000087,0x0004003d,0x00000006,0x00000088,0x00000078,0x000500aa,
- 0x0000006e,0x00000089,0x00000088,0x00000069,0x000300f7,0x0000008b,0x00000000,0x000400fa,
- 0x00000089,0x0000008a,0x0000008b,0x000200f8,0x0000008a,0x0004003d,0x00000006,0x0000008c,
- 0x00000082,0x0003003e,0x00000079,0x0000008c,0x000200f9,0x0000008b,0x000200f8,0x0000008b,
- 0x0004003d,0x00000006,0x0000008d,0x00000076,0x00050082,0x00000006,0x0000008e,0x0000008d,
- 0x00000084,0x0003003e,0x00000076,0x0000008e,0x00050041,0x00000031,0x0000008f,0x00000030,
- 0x00000022,0x0004003d,0x00000006,0x00000090,0x0000008f,0x000500aa,0x0000006e,0x00000091,
- 0x00000090,0x0000006d,0x0004003d,0x00000006,0x00000092,0x00000082,0x0004003d,0x00000006,
- 0x00000093,0x00000081,0x000500aa,0x0000006e,0x00000094,0x00000092,0x00000093,0x000500a7,
- 0x0000006e,0x00000095,0x00000091,0x00000094,0x000300f7,0x00000097,0x00000000,0x000400fa,
- 0x00000095,0x00000096,0x000000ac,0x000200f8,0x00000096,0x0004003d,0x00000006,0x00000098,
- 0x00000078,0x000500ac,0x0000006e,0x00000099,0x00000098,0x0000006d,0x000300f7,0x0000009b,
- 0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x0004003d,
- 0x00000006,0x0000009c,0x00000073,0x00050080,0x00000006,0x0000009d,0x0000009c,0x00000084,
- 0x0003003e,0x00000073,0x0000009d,0x0003003e,0x0000009e,0x0000009c,0x0004003d,0x00000006,
- 0x000000a0,0x00000079,0x0003003e,0x0000009f,0x000000a0,0x00060039,0x00000002,0x000000a1,
- 0x0000000f,0x0000009e,0x0000009f,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x0004003d,
- 0x00000006,0x000000a2,0x00000078,0x000500ac,0x0000006e,0x000000a3,0x000000a2,0x00000069,
- 0x000300f7,0x000000a5,0x00000000,0x000400fa,0x000000a3,0x000000a4,0x000000a5,0x000200f8,
- 0x000000a4,0x0004003d,0x00000006,0x000000a6,0x00000073,0x00050080,0x00000006,0x000000a7,
- 0x000000a6,0x00000084,0x0003003e,0x00000073,0x000000a7,0x0003003e,0x000000a8,0x000000a6,
- 0x0004003d,0x00000006,0x000000aa,0x00000081,0x0003003e,0x000000a9,0x000000aa,0x00060039,
- 0x00000002,0x000000ab,0x0000000f,0x000000a8,0x000000a9,0x000200f9,0x000000a5,0x000200f8,
- 0x000000a5,0x0003003e,0x00000078,0x00000069,0x000200f9,0x00000097,0x000200f8,0x000000ac,
- 0x0004003d,0x00000006,0x000000ae,0x00000073,0x0003003e,0x000000ad,0x000000ae,0x0004003d,
- 0x00000006,0x000000b0,0x00000082,0x0003003e,0x000000af,0x000000b0,0x00060039,0x00000002,
- 0x000000b1,0x0000000f,0x000000ad,0x000000af,0x0004003d,0x00000006,0x000000b2,0x00000073,
- 0x00050080,0x00000006,0x000000b3,0x000000b2,0x00000084,0x0003003e,0x00000073,0x000000b3,
- 0x0004003d,0x00000006,0x000000b4,0x00000078,0x00050080,0x00000006,0x000000b5,0x000000b4,
- 0x00000084,0x0003003e,0x00000078,0x000000b5,0x000200f9,0x00000097,0x000200f8,0x00000097,
- 0x000200f9,0x0000007d,0x000200f8,0x0000007d,0x000200f9,0x0000007a,0x000200f8,0x0000007c,
- 0x0004003d,0x00000006,0x000000b6,0x00000078,0x000500ac,0x0000006e,0x000000b7,0x000000b6,
- 0x0000006d,0x000300f7,0x000000b9,0x00000000,0x000400fa,0x000000b7,0x000000b8,0x000000b9,
- 0x000200f8,0x000000b8,0x0004003d,0x00000006,0x000000bb,0x00000073,0x0003003e,0x000000ba,
- 0x000000bb,0x0004003d,0x00000006,0x000000bd,0x00000079,0x0003003e,0x000000bc,0x000000bd,
- 0x00060039,0x00000002,0x000000be,0x0000000f,0x000000ba,0x000000bc,0x0004003d,0x00000006,
- 0x000000bf,0x00000073,0x00050080,0x00000006,0x000000c0,0x000000bf,0x00000084,0x0003003e,
- 0x00000073,0x000000c0,0x000200f9,0x000000b9,0x000200f8,0x000000b9,0x00050041,0x00000031,
- 0x000000c5,0x00000030,0x00000084,0x0004003d,0x00000006,0x000000c6,0x000000c5,0x0004003d,
- 0x00000006,0x000000c7,0x00000073,0x00060041,0x0000001b,0x000000c8,0x000000c4,0x00000017,
- 0x000000c6,0x0003003e,0x000000c8,0x000000c7,0x00050041,0x00000031,0x000000c9,0x00000030,
- 0x00000084,0x0004003d,0x00000006,0x000000ca,0x000000c9,0x00050080,0x00000006,0x000000cb,
- 0x000000ca,0x0000006d,0x00050041,0x00000031,0x000000cc,0x00000030,0x00000017,0x0004003d,
- 0x00000006,0x000000cd,0x000000cc,0x00050080,0x00000006,0x000000ce,0x000000cd,0x0000006d,
- 0x00060041,0x0000001b,0x000000cf,0x00000056,0x00000017,0x000000ce,0x0004003d,0x00000006,
- 0x000000d0,0x000000cf,0x00060041,0x0000001b,0x000000d1,0x000000c4,0x00000017,0x000000cb,
- 0x0003003e,0x000000d1,0x000000d0,0x00050041,0x00000031,0x000000d2,0x00000030,0x00000084,
- 0x0004003d,0x00000006,0x000000d3,0x000000d2,0x00050080,0x00000006,0x000000d4,0x000000d3,
- 0x0000005e,0x00060041,0x0000001b,0x000000d5,0x000000c4,0x00000017,0x000000d4,0x0003003e,
- 0x000000d5,0x00000069,0x00050041,0x00000031,0x000000d6,0x00000030,0x00000084,0x0004003d,
- 0x00000006,0x000000d7,0x000000d6,0x00050080,0x00000006,0x000000d8,0x000000d7,0x00000020,
- 0x00050041,0x00000031,0x000000d9,0x00000030,0x00000017,0x0004003d,0x00000006,0x000000da,
- 0x000000d9,0x00050080,0x00000006,0x000000db,0x000000da,0x00000020,0x00060041,0x0000001b,
- 0x000000dc,0x00000056,0x00000017,0x000000db,0x0004003d,0x00000006,0x000000dd,0x000000dc,
- 0x00060041,0x0000001b,0x000000de,0x000000c4,0x00000017,0x000000d8,0x0003003e,0x000000de,
- 0x000000dd,0x00050041,0x00000031,0x000000df,0x00000030,0x00000084,0x0004003d,0x00000006,
- 0x000000e0,0x000000df,0x00050080,0x00000006,0x000000e2,0x000000e0,0x000000e1,0x00050041,
- 0x00000031,0x000000e3,0x00000030,0x00000017,0x0004003d,0x00000006,0x000000e4,0x000000e3,
- 0x00050080,0x00000006,0x000000e5,0x000000e4,0x000000e1,0x00060041,0x0000001b,0x000000e6,
- 0x00000056,0x00000017,0x000000e5,0x0004003d,0x00000006,0x000000e7,0x000000e6,0x00060041,
- 0x0000001b,0x000000e8,0x000000c4,0x00000017,0x000000e2,0x0003003e,0x000000e8,0x000000e7,
- 0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,0x00030037,
- 0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003b,0x00000007,0x00000011,0x00000007,
- 0x0004003b,0x00000007,0x0000001e,0x00000007,0x0004003b,0x00000007,0x00000024,0x00000007,
- 0x0004003d,0x00000006,0x00000018,0x00000009,0x000500c2,0x00000006,0x0000001a,0x00000018,
- 0x00000019,0x00060041,0x0000001b,0x0000001c,0x00000015,0x00000017,0x0000001a,0x0004003d,
- 0x00000006,0x0000001d,0x0000001c,0x0003003e,0x00000011,0x0000001d,0x0004003d,0x00000006,
- 0x0000001f,0x00000009,0x000500c7,0x00000006,0x00000021,0x0000001f,0x00000020,0x000500c4,
- 0x00000006,0x00000023,0x00000021,0x00000022,0x0003003e,0x0000001e,0x00000023,0x0004003d,
- 0x00000006,0x00000025,0x00000011,0x0004003d,0x00000006,0x00000026,0x0000001e,0x000500c2,
- 0x00000006,0x00000027,0x00000025,0x00000026,0x000500c7,0x00000006,0x00000029,0x00000027,
- 0x00000028,0x0003003e,0x00000024,0x00000029,0x0004003d,0x00000006,0x0000002a,0x00000024,
- 0x000200fe,0x0000002a,0x00010038,0x00050036,0x00000002,0x0000000f,0x00000000,0x0000000c,
- 0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,
- 0x0004003b,0x00000007,0x0000002d,0x00000007,0x0004003b,0x00000007,0x00000037,0x00000007,
- 0x0004003b,0x00000007,0x0000003f,0x00000007,0x00050041,0x00000031,0x00000032,0x00000030,
- 0x00000019,0x0004003d,0x00000006,0x00000033,0x00000032,0x0004003d,0x00000006,0x00000034,
- 0x0000000d,0x000500c2,0x00000006,0x00000035,0x00000034,0x00000019,0x00050080,0x00000006,
- 0x00000036,0x00000033,0x00000035,0x0003003e,0x0000002d,0x00000036,0x0004003d,0x00000006,
- 0x0000003c,0x0000002d,0x00060041,0x0000001b,0x0000003d,0x0000003b,0x00000017,0x0000003c,
- 0x0004003d,0x00000006,0x0000003e,0x0000003d,0x0003003e,0x00000037,0x0000003e,0x0004003d,
- 0x00000006,0x00000040,0x0000000d,0x000500c7,0x00000006,0x00000041,0x00000040,0x00000020,
- 0x000500c4,0x00000006,0x00000042,0x00000041,0x00000022,0x0003003e,0x0000003f,0x00000042,
- 0x0004003d,0x00000006,0x00000044,0x0000003f,0x000500c4,0x00000016,0x00000045,0x00000043,
- 0x00000044,0x000400c8,0x00000016,0x00000046,0x00000045,0x0004007c,0x00000006,0x00000047,
- 0x00000046,0x0004003d,0x00000006,0x00000048,0x00000037,0x000500c7,0x00000006,0x00000049,
- 0x00000048,0x00000047,0x0003003e,0x00000037,0x00000049,0x0004003d,0x00000006,0x0000004a,
- 0x0000000e,0x0004003d,0x00000006,0x0000004b,0x0000003f,0x000500c4,0x00000006,0x0000004c,
- 0x0000004a,0x0000004b,0x0004003d,0x00000006,0x0000004d,0x00000037,0x000500c5,0x00000006,
- 0x0000004e,0x0000004d,0x0000004c,0x0003003e,0x00000037,0x0000004e,0x0004003d,0x00000006,
- 0x0000004f,0x0000002d,0x0004003d,0x00000006,0x00000050,0x00000037,0x00060041,0x0000001b,
- 0x00000051,0x0000003b,0x00000017,0x0000004f,0x0003003e,0x00000051,0x00000050,0x000100fd,
- 0x00010038
+ 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000013,0x00637273,0x00050006,0x00000013,
+ 0x00000000,0x44637273,0x00617461,0x00030005,0x00000015,0x00000000,0x00060005,0x0000002e,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00070006,0x0000002e,0x00000000,0x4f646d63,
+ 0x65736666,0x76694474,0x00000034,0x00080006,0x0000002e,0x00000001,0x43747364,0x664f646d,
+ 0x74657366,0x34766944,0x00000000,0x00070006,0x0000002e,0x00000002,0x4f747364,0x65736666,
+ 0x76694474,0x00000034,0x00080006,0x0000002e,0x00000003,0x65527369,0x72617473,0x616e4574,
+ 0x64656c62,0x00000000,0x00030005,0x00000030,0x00000000,0x00030005,0x00000039,0x00747364,
+ 0x00050006,0x00000039,0x00000000,0x44747364,0x00617461,0x00030005,0x0000003b,0x00000000,
+ 0x00030005,0x00000054,0x00646d63,0x00050006,0x00000054,0x00000000,0x44646d63,0x00617461,
+ 0x00030005,0x00000056,0x00000000,0x00080005,0x00000068,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00040005,0x000000c2,0x43747364,0x0000646d,0x00060006,
+ 0x000000c2,0x00000000,0x43747364,0x6144646d,0x00006174,0x00030005,0x000000c4,0x00000000,
+ 0x00040047,0x00000012,0x00000006,0x00000004,0x00040048,0x00000013,0x00000000,0x00000018,
+ 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00030047,0x00000013,0x00000003,
+ 0x00040047,0x00000015,0x00000022,0x00000000,0x00040047,0x00000015,0x00000021,0x00000001,
+ 0x00050048,0x0000002e,0x00000000,0x00000023,0x00000000,0x00050048,0x0000002e,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x0000002e,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x0000002e,0x00000003,0x00000023,0x0000000c,0x00030047,0x0000002e,0x00000002,0x00040047,
+ 0x00000038,0x00000006,0x00000004,0x00050048,0x00000039,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x00000039,0x00000003,0x00040047,0x0000003b,0x00000022,0x00000000,0x00040047,
+ 0x0000003b,0x00000021,0x00000000,0x00040047,0x00000053,0x00000006,0x00000004,0x00040048,
+ 0x00000054,0x00000000,0x00000018,0x00050048,0x00000054,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x00000054,0x00000003,0x00040047,0x00000056,0x00000022,0x00000000,0x00040047,
+ 0x00000056,0x00000021,0x00000002,0x00040047,0x00000068,0x0000000b,0x0000001c,0x00040047,
+ 0x000000c1,0x00000006,0x00000004,0x00050048,0x000000c2,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x000000c2,0x00000003,0x00040047,0x000000c4,0x00000022,0x00000000,0x00040047,
+ 0x000000c4,0x00000021,0x00000003,0x00040047,0x000000ea,0x0000000b,0x00000019,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
+ 0x0003001d,0x00000012,0x00000006,0x0003001e,0x00000013,0x00000012,0x00040020,0x00000014,
+ 0x00000002,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000002,0x00040015,0x00000016,
+ 0x00000020,0x00000001,0x0004002b,0x00000016,0x00000017,0x00000000,0x0004002b,0x00000016,
+ 0x00000019,0x00000002,0x00040020,0x0000001b,0x00000002,0x00000006,0x0004002b,0x00000006,
+ 0x00000020,0x00000003,0x0004002b,0x00000016,0x00000022,0x00000003,0x0004002b,0x00000006,
+ 0x00000028,0x000000ff,0x0006001e,0x0000002e,0x00000006,0x00000006,0x00000006,0x00000006,
+ 0x00040020,0x0000002f,0x00000009,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000009,
+ 0x00040020,0x00000031,0x00000009,0x00000006,0x0003001d,0x00000038,0x00000006,0x0003001e,
+ 0x00000039,0x00000038,0x00040020,0x0000003a,0x00000002,0x00000039,0x0004003b,0x0000003a,
+ 0x0000003b,0x00000002,0x0004002b,0x00000016,0x00000043,0x000000ff,0x0003001d,0x00000053,
+ 0x00000006,0x0003001e,0x00000054,0x00000053,0x00040020,0x00000055,0x00000002,0x00000054,
+ 0x0004003b,0x00000055,0x00000056,0x00000002,0x0004002b,0x00000006,0x0000005e,0x00000002,
+ 0x00040017,0x00000066,0x00000006,0x00000003,0x00040020,0x00000067,0x00000001,0x00000066,
+ 0x0004003b,0x00000067,0x00000068,0x00000001,0x0004002b,0x00000006,0x00000069,0x00000000,
+ 0x00040020,0x0000006a,0x00000001,0x00000006,0x0004002b,0x00000006,0x0000006d,0x00000001,
+ 0x00020014,0x0000006e,0x0004002b,0x00000016,0x00000084,0x00000001,0x0003001d,0x000000c1,
+ 0x00000006,0x0003001e,0x000000c2,0x000000c1,0x00040020,0x000000c3,0x00000002,0x000000c2,
+ 0x0004003b,0x000000c3,0x000000c4,0x00000002,0x0004002b,0x00000006,0x000000e1,0x00000004,
+ 0x0004002b,0x00000006,0x000000e9,0x00000040,0x0006002c,0x00000066,0x000000ea,0x000000e9,
+ 0x0000006d,0x0000006d,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x000300f7,0x000000eb,0x00000000,0x000300fb,0x00000069,0x000000ec,0x000200f8,
+ 0x000000ec,0x00050041,0x00000031,0x00000057,0x00000030,0x00000017,0x0004003d,0x00000006,
+ 0x00000058,0x00000057,0x00060041,0x0000001b,0x00000059,0x00000056,0x00000017,0x00000058,
+ 0x0004003d,0x00000006,0x0000005a,0x00000059,0x00050080,0x00000006,0x0000005f,0x00000058,
+ 0x0000005e,0x00060041,0x0000001b,0x00000060,0x00000056,0x00000017,0x0000005f,0x0004003d,
+ 0x00000006,0x00000061,0x00000060,0x00050041,0x0000006a,0x0000006b,0x00000068,0x00000069,
+ 0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500ae,0x0000006e,0x0000006f,0x0000006c,
+ 0x0000006d,0x000300f7,0x00000071,0x00000000,0x000400fa,0x0000006f,0x00000070,0x00000071,
+ 0x000200f8,0x00000070,0x000200f9,0x000000eb,0x000200f8,0x00000071,0x000200f9,0x0000007a,
+ 0x000200f8,0x0000007a,0x000700f5,0x00000006,0x0000017b,0x00000061,0x00000071,0x00000085,
+ 0x0000007d,0x000700f5,0x00000006,0x00000179,0x00000069,0x00000071,0x0000018f,0x0000007d,
+ 0x000700f5,0x00000006,0x00000178,0x00000069,0x00000071,0x00000186,0x0000007d,0x000700f5,
+ 0x00000006,0x00000177,0x00000069,0x00000071,0x00000185,0x0000007d,0x000700f5,0x00000006,
+ 0x00000176,0x0000005a,0x00000071,0x0000008e,0x0000007d,0x000500ac,0x0000006e,0x00000080,
+ 0x00000176,0x00000069,0x000400f6,0x0000007c,0x0000007d,0x00000000,0x000400fa,0x00000080,
+ 0x0000007b,0x0000007c,0x000200f8,0x0000007b,0x00050080,0x00000006,0x00000085,0x0000017b,
+ 0x00000084,0x000500c2,0x00000006,0x000000f7,0x0000017b,0x00000019,0x00060041,0x0000001b,
+ 0x000000f8,0x00000015,0x00000017,0x000000f7,0x0004003d,0x00000006,0x000000f9,0x000000f8,
+ 0x000500c7,0x00000006,0x000000fb,0x0000017b,0x00000020,0x000500c4,0x00000006,0x000000fc,
+ 0x000000fb,0x00000022,0x000500c2,0x00000006,0x000000ff,0x000000f9,0x000000fc,0x000500c7,
+ 0x00000006,0x00000100,0x000000ff,0x00000028,0x000500aa,0x0000006e,0x00000089,0x00000177,
+ 0x00000069,0x000200f9,0x0000008b,0x000200f8,0x0000008b,0x000600a9,0x00000006,0x0000018f,
+ 0x00000089,0x00000100,0x00000179,0x00050082,0x00000006,0x0000008e,0x00000176,0x00000084,
+ 0x00050041,0x00000031,0x0000008f,0x00000030,0x00000022,0x0004003d,0x00000006,0x00000090,
+ 0x0000008f,0x000500aa,0x0000006e,0x00000091,0x00000090,0x0000006d,0x000500aa,0x0000006e,
+ 0x00000094,0x00000100,0x00000028,0x000500a7,0x0000006e,0x00000095,0x00000091,0x00000094,
+ 0x000300f7,0x00000097,0x00000000,0x000400fa,0x00000095,0x00000096,0x000000ac,0x000200f8,
+ 0x00000096,0x000500ac,0x0000006e,0x00000099,0x00000177,0x0000006d,0x000300f7,0x0000009b,
+ 0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x00050080,
+ 0x00000006,0x0000009d,0x00000178,0x00000084,0x00050041,0x00000031,0x00000106,0x00000030,
+ 0x00000019,0x0004003d,0x00000006,0x00000107,0x00000106,0x000500c2,0x00000006,0x00000109,
+ 0x00000178,0x00000019,0x00050080,0x00000006,0x0000010a,0x00000107,0x00000109,0x00060041,
+ 0x0000001b,0x0000010c,0x0000003b,0x00000017,0x0000010a,0x0004003d,0x00000006,0x0000010d,
+ 0x0000010c,0x000500c7,0x00000006,0x0000010f,0x00000178,0x00000020,0x000500c4,0x00000006,
+ 0x00000110,0x0000010f,0x00000022,0x000500c4,0x00000016,0x00000112,0x00000043,0x00000110,
+ 0x000400c8,0x00000016,0x00000113,0x00000112,0x0004007c,0x00000006,0x00000114,0x00000113,
+ 0x000500c7,0x00000006,0x00000116,0x0000010d,0x00000114,0x000500c4,0x00000006,0x00000119,
+ 0x0000018f,0x00000110,0x000500c5,0x00000006,0x0000011b,0x00000116,0x00000119,0x0003003e,
+ 0x0000010c,0x0000011b,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x000700f5,0x00000006,
+ 0x00000181,0x00000178,0x00000096,0x0000009d,0x0000009a,0x000500ac,0x0000006e,0x000000a3,
+ 0x00000177,0x00000069,0x000300f7,0x000000a5,0x00000000,0x000400fa,0x000000a3,0x000000a4,
+ 0x000000a5,0x000200f8,0x000000a4,0x00050080,0x00000006,0x000000a7,0x00000181,0x00000084,
+ 0x00050041,0x00000031,0x00000123,0x00000030,0x00000019,0x0004003d,0x00000006,0x00000124,
+ 0x00000123,0x000500c2,0x00000006,0x00000126,0x00000181,0x00000019,0x00050080,0x00000006,
+ 0x00000127,0x00000124,0x00000126,0x00060041,0x0000001b,0x00000129,0x0000003b,0x00000017,
+ 0x00000127,0x0004003d,0x00000006,0x0000012a,0x00000129,0x000500c7,0x00000006,0x0000012c,
+ 0x00000181,0x00000020,0x000500c4,0x00000006,0x0000012d,0x0000012c,0x00000022,0x000500c4,
+ 0x00000016,0x0000012f,0x00000043,0x0000012d,0x000400c8,0x00000016,0x00000130,0x0000012f,
+ 0x0004007c,0x00000006,0x00000131,0x00000130,0x000500c7,0x00000006,0x00000133,0x0000012a,
+ 0x00000131,0x000500c4,0x00000006,0x00000136,0x00000028,0x0000012d,0x000500c5,0x00000006,
+ 0x00000138,0x00000133,0x00000136,0x0003003e,0x00000129,0x00000138,0x000200f9,0x000000a5,
+ 0x000200f8,0x000000a5,0x000700f5,0x00000006,0x00000187,0x00000181,0x0000009b,0x000000a7,
+ 0x000000a4,0x000200f9,0x00000097,0x000200f8,0x000000ac,0x00050041,0x00000031,0x00000140,
+ 0x00000030,0x00000019,0x0004003d,0x00000006,0x00000141,0x00000140,0x000500c2,0x00000006,
+ 0x00000143,0x00000178,0x00000019,0x00050080,0x00000006,0x00000144,0x00000141,0x00000143,
+ 0x00060041,0x0000001b,0x00000146,0x0000003b,0x00000017,0x00000144,0x0004003d,0x00000006,
+ 0x00000147,0x00000146,0x000500c7,0x00000006,0x00000149,0x00000178,0x00000020,0x000500c4,
+ 0x00000006,0x0000014a,0x00000149,0x00000022,0x000500c4,0x00000016,0x0000014c,0x00000043,
+ 0x0000014a,0x000400c8,0x00000016,0x0000014d,0x0000014c,0x0004007c,0x00000006,0x0000014e,
+ 0x0000014d,0x000500c7,0x00000006,0x00000150,0x00000147,0x0000014e,0x000500c4,0x00000006,
+ 0x00000153,0x00000100,0x0000014a,0x000500c5,0x00000006,0x00000155,0x00000150,0x00000153,
+ 0x0003003e,0x00000146,0x00000155,0x00050080,0x00000006,0x000000b3,0x00000178,0x00000084,
+ 0x00050080,0x00000006,0x000000b5,0x00000177,0x00000084,0x000200f9,0x00000097,0x000200f8,
+ 0x00000097,0x000700f5,0x00000006,0x00000186,0x00000187,0x000000a5,0x000000b3,0x000000ac,
+ 0x000700f5,0x00000006,0x00000185,0x00000069,0x000000a5,0x000000b5,0x000000ac,0x000200f9,
+ 0x0000007d,0x000200f8,0x0000007d,0x000200f9,0x0000007a,0x000200f8,0x0000007c,0x000500ac,
+ 0x0000006e,0x000000b7,0x00000177,0x0000006d,0x000300f7,0x000000b9,0x00000000,0x000400fa,
+ 0x000000b7,0x000000b8,0x000000b9,0x000200f8,0x000000b8,0x00050041,0x00000031,0x0000015d,
+ 0x00000030,0x00000019,0x0004003d,0x00000006,0x0000015e,0x0000015d,0x000500c2,0x00000006,
+ 0x00000160,0x00000178,0x00000019,0x00050080,0x00000006,0x00000161,0x0000015e,0x00000160,
+ 0x00060041,0x0000001b,0x00000163,0x0000003b,0x00000017,0x00000161,0x0004003d,0x00000006,
+ 0x00000164,0x00000163,0x000500c7,0x00000006,0x00000166,0x00000178,0x00000020,0x000500c4,
+ 0x00000006,0x00000167,0x00000166,0x00000022,0x000500c4,0x00000016,0x00000169,0x00000043,
+ 0x00000167,0x000400c8,0x00000016,0x0000016a,0x00000169,0x0004007c,0x00000006,0x0000016b,
+ 0x0000016a,0x000500c7,0x00000006,0x0000016d,0x00000164,0x0000016b,0x000500c4,0x00000006,
+ 0x00000170,0x00000179,0x00000167,0x000500c5,0x00000006,0x00000172,0x0000016d,0x00000170,
+ 0x0003003e,0x00000163,0x00000172,0x00050080,0x00000006,0x000000c0,0x00000178,0x00000084,
+ 0x000200f9,0x000000b9,0x000200f8,0x000000b9,0x000700f5,0x00000006,0x0000017a,0x00000178,
+ 0x0000007c,0x000000c0,0x000000b8,0x00050041,0x00000031,0x000000c5,0x00000030,0x00000084,
+ 0x0004003d,0x00000006,0x000000c6,0x000000c5,0x00060041,0x0000001b,0x000000c8,0x000000c4,
+ 0x00000017,0x000000c6,0x0003003e,0x000000c8,0x0000017a,0x00050080,0x00000006,0x000000cb,
+ 0x000000c6,0x0000006d,0x00050080,0x00000006,0x000000ce,0x00000058,0x0000006d,0x00060041,
+ 0x0000001b,0x000000cf,0x00000056,0x00000017,0x000000ce,0x0004003d,0x00000006,0x000000d0,
+ 0x000000cf,0x00060041,0x0000001b,0x000000d1,0x000000c4,0x00000017,0x000000cb,0x0003003e,
+ 0x000000d1,0x000000d0,0x00050080,0x00000006,0x000000d4,0x000000c6,0x0000005e,0x00060041,
+ 0x0000001b,0x000000d5,0x000000c4,0x00000017,0x000000d4,0x0003003e,0x000000d5,0x00000069,
+ 0x00050080,0x00000006,0x000000d8,0x000000c6,0x00000020,0x00050080,0x00000006,0x000000db,
+ 0x00000058,0x00000020,0x00060041,0x0000001b,0x000000dc,0x00000056,0x00000017,0x000000db,
+ 0x0004003d,0x00000006,0x000000dd,0x000000dc,0x00060041,0x0000001b,0x000000de,0x000000c4,
+ 0x00000017,0x000000d8,0x0003003e,0x000000de,0x000000dd,0x00050080,0x00000006,0x000000e2,
+ 0x000000c6,0x000000e1,0x00050080,0x00000006,0x000000e5,0x00000058,0x000000e1,0x00060041,
+ 0x0000001b,0x000000e6,0x00000056,0x00000017,0x000000e5,0x0004003d,0x00000006,0x000000e7,
+ 0x000000e6,0x00060041,0x0000001b,0x000000e8,0x000000c4,0x00000017,0x000000e2,0x0003003e,
+ 0x000000e8,0x000000e7,0x000200f9,0x000000eb,0x000200f8,0x000000eb,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc
index e75ff41faad..e42b90f6fdd 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc
@@ -1,201 +1,153 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndexIndirectLineLoop_comp_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x000000ec,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000191,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000069,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x49746547,0x7865646e,0x756c6156,
- 0x31752865,0x0000003b,0x00040005,0x00000009,0x65646e69,0x00000078,0x00080005,0x0000000f,
- 0x49747550,0x7865646e,0x756c6156,0x31752865,0x3b31753b,0x00000000,0x00040005,0x0000000d,
- 0x65646e69,0x00000078,0x00040005,0x0000000e,0x756c6176,0x00000065,0x00050005,0x00000011,
- 0x42637273,0x6b636f6c,0x00000000,0x00030005,0x00000013,0x00637273,0x00050006,0x00000013,
- 0x00000000,0x44637273,0x00617461,0x00030005,0x00000015,0x00000000,0x00050005,0x0000001e,
- 0x53637273,0x74666968,0x00000000,0x00040005,0x00000024,0x756c6176,0x00000065,0x00050005,
- 0x0000002d,0x49747364,0x7865646e,0x00000000,0x00060005,0x0000002e,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00070006,0x0000002e,0x00000000,0x4f646d63,0x65736666,0x76694474,
- 0x00000034,0x00080006,0x0000002e,0x00000001,0x43747364,0x664f646d,0x74657366,0x34766944,
- 0x00000000,0x00070006,0x0000002e,0x00000002,0x4f747364,0x65736666,0x76694474,0x00000034,
- 0x00080006,0x0000002e,0x00000003,0x65527369,0x72617473,0x616e4574,0x64656c62,0x00000000,
- 0x00030005,0x00000030,0x00000000,0x00050005,0x00000038,0x42637273,0x6b636f6c,0x00000000,
- 0x00030005,0x0000003a,0x00747364,0x00050006,0x0000003a,0x00000000,0x44747364,0x00617461,
- 0x00030005,0x0000003c,0x00000000,0x00050005,0x00000040,0x53637273,0x74666968,0x00000000,
- 0x00050005,0x00000053,0x65646e69,0x756f4378,0x0000746e,0x00030005,0x00000055,0x00646d63,
- 0x00050006,0x00000055,0x00000000,0x44646d63,0x00617461,0x00030005,0x00000057,0x00000000,
- 0x00050005,0x0000005c,0x73726966,0x646e4974,0x00007865,0x00050005,0x00000063,0x49646e65,
- 0x7865646e,0x00000000,0x00080005,0x00000069,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00060005,0x00000073,0x6b726f77,0x43676e69,0x746e756f,0x00000000,
- 0x00040005,0x00000074,0x49637273,0x00007864,0x00070005,0x00000076,0x69646e69,0x52736563,
- 0x69616d65,0x676e696e,0x00000000,0x00050005,0x00000078,0x656e696c,0x657a6953,0x00000000,
- 0x00060005,0x00000079,0x73726966,0x646e4974,0x61567865,0x0065756c,0x00060005,0x00000081,
- 0x74736572,0x56747261,0x65756c61,0x00000000,0x00050005,0x00000082,0x65646e69,0x6c615678,
- 0x00006575,0x00040005,0x00000085,0x61726170,0x0000006d,0x00040005,0x0000009e,0x61726170,
- 0x0000006d,0x00040005,0x0000009f,0x61726170,0x0000006d,0x00040005,0x000000a8,0x61726170,
- 0x0000006d,0x00040005,0x000000a9,0x61726170,0x0000006d,0x00040005,0x000000ad,0x61726170,
- 0x0000006d,0x00040005,0x000000af,0x61726170,0x0000006d,0x00040005,0x000000ba,0x61726170,
- 0x0000006d,0x00040005,0x000000bc,0x61726170,0x0000006d,0x00040005,0x000000c2,0x43747364,
- 0x0000646d,0x00060006,0x000000c2,0x00000000,0x43747364,0x6144646d,0x00006174,0x00030005,
- 0x000000c4,0x00000000,0x00040047,0x00000012,0x00000006,0x00000004,0x00040048,0x00000013,
- 0x00000000,0x00000018,0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x00000013,0x00000003,0x00040047,0x00000015,0x00000022,0x00000000,0x00040047,0x00000015,
- 0x00000021,0x00000001,0x00050048,0x0000002e,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x0000002e,0x00000001,0x00000023,0x00000004,0x00050048,0x0000002e,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x0000002e,0x00000003,0x00000023,0x0000000c,0x00030047,0x0000002e,
- 0x00000002,0x00040047,0x00000039,0x00000006,0x00000004,0x00050048,0x0000003a,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x0000003a,0x00000003,0x00040047,0x0000003c,0x00000022,
- 0x00000000,0x00040047,0x0000003c,0x00000021,0x00000000,0x00040047,0x00000054,0x00000006,
- 0x00000004,0x00040048,0x00000055,0x00000000,0x00000018,0x00050048,0x00000055,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000055,0x00000003,0x00040047,0x00000057,0x00000022,
- 0x00000000,0x00040047,0x00000057,0x00000021,0x00000002,0x00040047,0x00000069,0x0000000b,
- 0x0000001c,0x00040047,0x000000c1,0x00000006,0x00000004,0x00050048,0x000000c2,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x000000c2,0x00000003,0x00040047,0x000000c4,0x00000022,
- 0x00000000,0x00040047,0x000000c4,0x00000021,0x00000003,0x00040047,0x000000eb,0x0000000b,
- 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00040021,0x00000008,
- 0x00000006,0x00000007,0x00050021,0x0000000c,0x00000002,0x00000007,0x00000007,0x0003001d,
- 0x00000012,0x00000006,0x0003001e,0x00000013,0x00000012,0x00040020,0x00000014,0x00000002,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000002,0x00040015,0x00000016,0x00000020,
- 0x00000001,0x0004002b,0x00000016,0x00000017,0x00000000,0x0004002b,0x00000016,0x00000019,
- 0x00000001,0x00040020,0x0000001b,0x00000002,0x00000006,0x0004002b,0x00000006,0x00000020,
- 0x00000001,0x0004002b,0x00000016,0x00000022,0x00000004,0x0004002b,0x00000006,0x00000028,
- 0x0000ffff,0x0006001e,0x0000002e,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
- 0x0000002f,0x00000009,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000009,0x0004002b,
- 0x00000016,0x00000031,0x00000002,0x00040020,0x00000032,0x00000009,0x00000006,0x0003001d,
- 0x00000039,0x00000006,0x0003001e,0x0000003a,0x00000039,0x00040020,0x0000003b,0x00000002,
- 0x0000003a,0x0004003b,0x0000003b,0x0000003c,0x00000002,0x0004002b,0x00000016,0x00000044,
- 0x0000ffff,0x0003001d,0x00000054,0x00000006,0x0003001e,0x00000055,0x00000054,0x00040020,
- 0x00000056,0x00000002,0x00000055,0x0004003b,0x00000056,0x00000057,0x00000002,0x0004002b,
- 0x00000006,0x0000005f,0x00000002,0x00040017,0x00000067,0x00000006,0x00000003,0x00040020,
- 0x00000068,0x00000001,0x00000067,0x0004003b,0x00000068,0x00000069,0x00000001,0x0004002b,
- 0x00000006,0x0000006a,0x00000000,0x00040020,0x0000006b,0x00000001,0x00000006,0x00020014,
- 0x0000006e,0x0004002b,0x00000016,0x0000008e,0x00000003,0x0003001d,0x000000c1,0x00000006,
- 0x0003001e,0x000000c2,0x000000c1,0x00040020,0x000000c3,0x00000002,0x000000c2,0x0004003b,
- 0x000000c3,0x000000c4,0x00000002,0x0004002b,0x00000006,0x000000d8,0x00000003,0x0004002b,
- 0x00000006,0x000000e2,0x00000004,0x0004002b,0x00000006,0x000000ea,0x00000040,0x0006002c,
- 0x00000067,0x000000eb,0x000000ea,0x00000020,0x00000020,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000053,0x00000007,
- 0x0004003b,0x00000007,0x0000005c,0x00000007,0x0004003b,0x00000007,0x00000063,0x00000007,
- 0x0004003b,0x00000007,0x00000073,0x00000007,0x0004003b,0x00000007,0x00000074,0x00000007,
- 0x0004003b,0x00000007,0x00000076,0x00000007,0x0004003b,0x00000007,0x00000078,0x00000007,
- 0x0004003b,0x00000007,0x00000079,0x00000007,0x0004003b,0x00000007,0x00000081,0x00000007,
- 0x0004003b,0x00000007,0x00000082,0x00000007,0x0004003b,0x00000007,0x00000085,0x00000007,
- 0x0004003b,0x00000007,0x0000009e,0x00000007,0x0004003b,0x00000007,0x0000009f,0x00000007,
- 0x0004003b,0x00000007,0x000000a8,0x00000007,0x0004003b,0x00000007,0x000000a9,0x00000007,
- 0x0004003b,0x00000007,0x000000ad,0x00000007,0x0004003b,0x00000007,0x000000af,0x00000007,
- 0x0004003b,0x00000007,0x000000ba,0x00000007,0x0004003b,0x00000007,0x000000bc,0x00000007,
- 0x00050041,0x00000032,0x00000058,0x00000030,0x00000017,0x0004003d,0x00000006,0x00000059,
- 0x00000058,0x00060041,0x0000001b,0x0000005a,0x00000057,0x00000017,0x00000059,0x0004003d,
- 0x00000006,0x0000005b,0x0000005a,0x0003003e,0x00000053,0x0000005b,0x00050041,0x00000032,
- 0x0000005d,0x00000030,0x00000017,0x0004003d,0x00000006,0x0000005e,0x0000005d,0x00050080,
- 0x00000006,0x00000060,0x0000005e,0x0000005f,0x00060041,0x0000001b,0x00000061,0x00000057,
- 0x00000017,0x00000060,0x0004003d,0x00000006,0x00000062,0x00000061,0x0003003e,0x0000005c,
- 0x00000062,0x0004003d,0x00000006,0x00000064,0x0000005c,0x0004003d,0x00000006,0x00000065,
- 0x00000053,0x00050080,0x00000006,0x00000066,0x00000064,0x00000065,0x0003003e,0x00000063,
- 0x00000066,0x00050041,0x0000006b,0x0000006c,0x00000069,0x0000006a,0x0004003d,0x00000006,
- 0x0000006d,0x0000006c,0x000500ae,0x0000006e,0x0000006f,0x0000006d,0x00000020,0x000300f7,
- 0x00000071,0x00000000,0x000400fa,0x0000006f,0x00000070,0x00000071,0x000200f8,0x00000070,
- 0x000100fd,0x000200f8,0x00000071,0x0003003e,0x00000073,0x0000006a,0x0004003d,0x00000006,
- 0x00000075,0x0000005c,0x0003003e,0x00000074,0x00000075,0x0004003d,0x00000006,0x00000077,
- 0x00000053,0x0003003e,0x00000076,0x00000077,0x0003003e,0x00000078,0x0000006a,0x0003003e,
- 0x00000079,0x0000006a,0x000200f9,0x0000007a,0x000200f8,0x0000007a,0x000400f6,0x0000007c,
- 0x0000007d,0x00000000,0x000200f9,0x0000007e,0x000200f8,0x0000007e,0x0004003d,0x00000006,
- 0x0000007f,0x00000076,0x000500ac,0x0000006e,0x00000080,0x0000007f,0x0000006a,0x000400fa,
- 0x00000080,0x0000007b,0x0000007c,0x000200f8,0x0000007b,0x0003003e,0x00000081,0x00000028,
- 0x0004003d,0x00000006,0x00000083,0x00000074,0x00050080,0x00000006,0x00000084,0x00000083,
- 0x00000019,0x0003003e,0x00000074,0x00000084,0x0003003e,0x00000085,0x00000083,0x00050039,
- 0x00000006,0x00000086,0x0000000a,0x00000085,0x0003003e,0x00000082,0x00000086,0x0004003d,
- 0x00000006,0x00000087,0x00000078,0x000500aa,0x0000006e,0x00000088,0x00000087,0x0000006a,
- 0x000300f7,0x0000008a,0x00000000,0x000400fa,0x00000088,0x00000089,0x0000008a,0x000200f8,
- 0x00000089,0x0004003d,0x00000006,0x0000008b,0x00000082,0x0003003e,0x00000079,0x0000008b,
- 0x000200f9,0x0000008a,0x000200f8,0x0000008a,0x0004003d,0x00000006,0x0000008c,0x00000076,
- 0x00050082,0x00000006,0x0000008d,0x0000008c,0x00000019,0x0003003e,0x00000076,0x0000008d,
- 0x00050041,0x00000032,0x0000008f,0x00000030,0x0000008e,0x0004003d,0x00000006,0x00000090,
- 0x0000008f,0x000500aa,0x0000006e,0x00000091,0x00000090,0x00000020,0x0004003d,0x00000006,
- 0x00000092,0x00000082,0x0004003d,0x00000006,0x00000093,0x00000081,0x000500aa,0x0000006e,
- 0x00000094,0x00000092,0x00000093,0x000500a7,0x0000006e,0x00000095,0x00000091,0x00000094,
- 0x000300f7,0x00000097,0x00000000,0x000400fa,0x00000095,0x00000096,0x000000ac,0x000200f8,
- 0x00000096,0x0004003d,0x00000006,0x00000098,0x00000078,0x000500ac,0x0000006e,0x00000099,
- 0x00000098,0x00000020,0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,
- 0x0000009b,0x000200f8,0x0000009a,0x0004003d,0x00000006,0x0000009c,0x00000073,0x00050080,
- 0x00000006,0x0000009d,0x0000009c,0x00000019,0x0003003e,0x00000073,0x0000009d,0x0003003e,
- 0x0000009e,0x0000009c,0x0004003d,0x00000006,0x000000a0,0x00000079,0x0003003e,0x0000009f,
- 0x000000a0,0x00060039,0x00000002,0x000000a1,0x0000000f,0x0000009e,0x0000009f,0x000200f9,
- 0x0000009b,0x000200f8,0x0000009b,0x0004003d,0x00000006,0x000000a2,0x00000078,0x000500ac,
- 0x0000006e,0x000000a3,0x000000a2,0x0000006a,0x000300f7,0x000000a5,0x00000000,0x000400fa,
- 0x000000a3,0x000000a4,0x000000a5,0x000200f8,0x000000a4,0x0004003d,0x00000006,0x000000a6,
- 0x00000073,0x00050080,0x00000006,0x000000a7,0x000000a6,0x00000019,0x0003003e,0x00000073,
- 0x000000a7,0x0003003e,0x000000a8,0x000000a6,0x0004003d,0x00000006,0x000000aa,0x00000081,
- 0x0003003e,0x000000a9,0x000000aa,0x00060039,0x00000002,0x000000ab,0x0000000f,0x000000a8,
- 0x000000a9,0x000200f9,0x000000a5,0x000200f8,0x000000a5,0x0003003e,0x00000078,0x0000006a,
- 0x000200f9,0x00000097,0x000200f8,0x000000ac,0x0004003d,0x00000006,0x000000ae,0x00000073,
- 0x0003003e,0x000000ad,0x000000ae,0x0004003d,0x00000006,0x000000b0,0x00000082,0x0003003e,
- 0x000000af,0x000000b0,0x00060039,0x00000002,0x000000b1,0x0000000f,0x000000ad,0x000000af,
- 0x0004003d,0x00000006,0x000000b2,0x00000073,0x00050080,0x00000006,0x000000b3,0x000000b2,
- 0x00000019,0x0003003e,0x00000073,0x000000b3,0x0004003d,0x00000006,0x000000b4,0x00000078,
- 0x00050080,0x00000006,0x000000b5,0x000000b4,0x00000019,0x0003003e,0x00000078,0x000000b5,
- 0x000200f9,0x00000097,0x000200f8,0x00000097,0x000200f9,0x0000007d,0x000200f8,0x0000007d,
- 0x000200f9,0x0000007a,0x000200f8,0x0000007c,0x0004003d,0x00000006,0x000000b6,0x00000078,
- 0x000500ac,0x0000006e,0x000000b7,0x000000b6,0x00000020,0x000300f7,0x000000b9,0x00000000,
- 0x000400fa,0x000000b7,0x000000b8,0x000000b9,0x000200f8,0x000000b8,0x0004003d,0x00000006,
- 0x000000bb,0x00000073,0x0003003e,0x000000ba,0x000000bb,0x0004003d,0x00000006,0x000000bd,
- 0x00000079,0x0003003e,0x000000bc,0x000000bd,0x00060039,0x00000002,0x000000be,0x0000000f,
- 0x000000ba,0x000000bc,0x0004003d,0x00000006,0x000000bf,0x00000073,0x00050080,0x00000006,
- 0x000000c0,0x000000bf,0x00000019,0x0003003e,0x00000073,0x000000c0,0x000200f9,0x000000b9,
- 0x000200f8,0x000000b9,0x00050041,0x00000032,0x000000c5,0x00000030,0x00000019,0x0004003d,
- 0x00000006,0x000000c6,0x000000c5,0x0004003d,0x00000006,0x000000c7,0x00000073,0x00060041,
- 0x0000001b,0x000000c8,0x000000c4,0x00000017,0x000000c6,0x0003003e,0x000000c8,0x000000c7,
- 0x00050041,0x00000032,0x000000c9,0x00000030,0x00000019,0x0004003d,0x00000006,0x000000ca,
- 0x000000c9,0x00050080,0x00000006,0x000000cb,0x000000ca,0x00000020,0x00050041,0x00000032,
- 0x000000cc,0x00000030,0x00000017,0x0004003d,0x00000006,0x000000cd,0x000000cc,0x00050080,
- 0x00000006,0x000000ce,0x000000cd,0x00000020,0x00060041,0x0000001b,0x000000cf,0x00000057,
- 0x00000017,0x000000ce,0x0004003d,0x00000006,0x000000d0,0x000000cf,0x00060041,0x0000001b,
- 0x000000d1,0x000000c4,0x00000017,0x000000cb,0x0003003e,0x000000d1,0x000000d0,0x00050041,
- 0x00000032,0x000000d2,0x00000030,0x00000019,0x0004003d,0x00000006,0x000000d3,0x000000d2,
- 0x00050080,0x00000006,0x000000d4,0x000000d3,0x0000005f,0x00060041,0x0000001b,0x000000d5,
- 0x000000c4,0x00000017,0x000000d4,0x0003003e,0x000000d5,0x0000006a,0x00050041,0x00000032,
- 0x000000d6,0x00000030,0x00000019,0x0004003d,0x00000006,0x000000d7,0x000000d6,0x00050080,
- 0x00000006,0x000000d9,0x000000d7,0x000000d8,0x00050041,0x00000032,0x000000da,0x00000030,
- 0x00000017,0x0004003d,0x00000006,0x000000db,0x000000da,0x00050080,0x00000006,0x000000dc,
- 0x000000db,0x000000d8,0x00060041,0x0000001b,0x000000dd,0x00000057,0x00000017,0x000000dc,
- 0x0004003d,0x00000006,0x000000de,0x000000dd,0x00060041,0x0000001b,0x000000df,0x000000c4,
- 0x00000017,0x000000d9,0x0003003e,0x000000df,0x000000de,0x00050041,0x00000032,0x000000e0,
- 0x00000030,0x00000019,0x0004003d,0x00000006,0x000000e1,0x000000e0,0x00050080,0x00000006,
- 0x000000e3,0x000000e1,0x000000e2,0x00050041,0x00000032,0x000000e4,0x00000030,0x00000017,
- 0x0004003d,0x00000006,0x000000e5,0x000000e4,0x00050080,0x00000006,0x000000e6,0x000000e5,
- 0x000000e2,0x00060041,0x0000001b,0x000000e7,0x00000057,0x00000017,0x000000e6,0x0004003d,
- 0x00000006,0x000000e8,0x000000e7,0x00060041,0x0000001b,0x000000e9,0x000000c4,0x00000017,
- 0x000000e3,0x0003003e,0x000000e9,0x000000e8,0x000100fd,0x00010038,0x00050036,0x00000006,
- 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
- 0x0004003b,0x00000007,0x00000011,0x00000007,0x0004003b,0x00000007,0x0000001e,0x00000007,
- 0x0004003b,0x00000007,0x00000024,0x00000007,0x0004003d,0x00000006,0x00000018,0x00000009,
- 0x000500c2,0x00000006,0x0000001a,0x00000018,0x00000019,0x00060041,0x0000001b,0x0000001c,
- 0x00000015,0x00000017,0x0000001a,0x0004003d,0x00000006,0x0000001d,0x0000001c,0x0003003e,
- 0x00000011,0x0000001d,0x0004003d,0x00000006,0x0000001f,0x00000009,0x000500c7,0x00000006,
- 0x00000021,0x0000001f,0x00000020,0x000500c4,0x00000006,0x00000023,0x00000021,0x00000022,
- 0x0003003e,0x0000001e,0x00000023,0x0004003d,0x00000006,0x00000025,0x00000011,0x0004003d,
- 0x00000006,0x00000026,0x0000001e,0x000500c2,0x00000006,0x00000027,0x00000025,0x00000026,
- 0x000500c7,0x00000006,0x00000029,0x00000027,0x00000028,0x0003003e,0x00000024,0x00000029,
- 0x0004003d,0x00000006,0x0000002a,0x00000024,0x000200fe,0x0000002a,0x00010038,0x00050036,
- 0x00000002,0x0000000f,0x00000000,0x0000000c,0x00030037,0x00000007,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,0x0000002d,0x00000007,
- 0x0004003b,0x00000007,0x00000038,0x00000007,0x0004003b,0x00000007,0x00000040,0x00000007,
- 0x00050041,0x00000032,0x00000033,0x00000030,0x00000031,0x0004003d,0x00000006,0x00000034,
- 0x00000033,0x0004003d,0x00000006,0x00000035,0x0000000d,0x000500c2,0x00000006,0x00000036,
- 0x00000035,0x00000019,0x00050080,0x00000006,0x00000037,0x00000034,0x00000036,0x0003003e,
- 0x0000002d,0x00000037,0x0004003d,0x00000006,0x0000003d,0x0000002d,0x00060041,0x0000001b,
- 0x0000003e,0x0000003c,0x00000017,0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000003e,
- 0x0003003e,0x00000038,0x0000003f,0x0004003d,0x00000006,0x00000041,0x0000000d,0x000500c7,
- 0x00000006,0x00000042,0x00000041,0x00000020,0x000500c4,0x00000006,0x00000043,0x00000042,
- 0x00000022,0x0003003e,0x00000040,0x00000043,0x0004003d,0x00000006,0x00000045,0x00000040,
- 0x000500c4,0x00000016,0x00000046,0x00000044,0x00000045,0x000400c8,0x00000016,0x00000047,
- 0x00000046,0x0004007c,0x00000006,0x00000048,0x00000047,0x0004003d,0x00000006,0x00000049,
- 0x00000038,0x000500c7,0x00000006,0x0000004a,0x00000049,0x00000048,0x0003003e,0x00000038,
- 0x0000004a,0x0004003d,0x00000006,0x0000004b,0x0000000e,0x0004003d,0x00000006,0x0000004c,
- 0x00000040,0x000500c4,0x00000006,0x0000004d,0x0000004b,0x0000004c,0x0004003d,0x00000006,
- 0x0000004e,0x00000038,0x000500c5,0x00000006,0x0000004f,0x0000004e,0x0000004d,0x0003003e,
- 0x00000038,0x0000004f,0x0004003d,0x00000006,0x00000050,0x0000002d,0x0004003d,0x00000006,
- 0x00000051,0x00000038,0x00060041,0x0000001b,0x00000052,0x0000003c,0x00000017,0x00000050,
- 0x0003003e,0x00000052,0x00000051,0x000100fd,0x00010038
+ 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000013,0x00637273,0x00050006,0x00000013,
+ 0x00000000,0x44637273,0x00617461,0x00030005,0x00000015,0x00000000,0x00060005,0x0000002e,
+ 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00070006,0x0000002e,0x00000000,0x4f646d63,
+ 0x65736666,0x76694474,0x00000034,0x00080006,0x0000002e,0x00000001,0x43747364,0x664f646d,
+ 0x74657366,0x34766944,0x00000000,0x00070006,0x0000002e,0x00000002,0x4f747364,0x65736666,
+ 0x76694474,0x00000034,0x00080006,0x0000002e,0x00000003,0x65527369,0x72617473,0x616e4574,
+ 0x64656c62,0x00000000,0x00030005,0x00000030,0x00000000,0x00030005,0x0000003a,0x00747364,
+ 0x00050006,0x0000003a,0x00000000,0x44747364,0x00617461,0x00030005,0x0000003c,0x00000000,
+ 0x00030005,0x00000055,0x00646d63,0x00050006,0x00000055,0x00000000,0x44646d63,0x00617461,
+ 0x00030005,0x00000057,0x00000000,0x00080005,0x00000069,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00040005,0x000000c2,0x43747364,0x0000646d,0x00060006,
+ 0x000000c2,0x00000000,0x43747364,0x6144646d,0x00006174,0x00030005,0x000000c4,0x00000000,
+ 0x00040047,0x00000012,0x00000006,0x00000004,0x00040048,0x00000013,0x00000000,0x00000018,
+ 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00030047,0x00000013,0x00000003,
+ 0x00040047,0x00000015,0x00000022,0x00000000,0x00040047,0x00000015,0x00000021,0x00000001,
+ 0x00050048,0x0000002e,0x00000000,0x00000023,0x00000000,0x00050048,0x0000002e,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x0000002e,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x0000002e,0x00000003,0x00000023,0x0000000c,0x00030047,0x0000002e,0x00000002,0x00040047,
+ 0x00000039,0x00000006,0x00000004,0x00050048,0x0000003a,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x0000003a,0x00000003,0x00040047,0x0000003c,0x00000022,0x00000000,0x00040047,
+ 0x0000003c,0x00000021,0x00000000,0x00040047,0x00000054,0x00000006,0x00000004,0x00040048,
+ 0x00000055,0x00000000,0x00000018,0x00050048,0x00000055,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x00000055,0x00000003,0x00040047,0x00000057,0x00000022,0x00000000,0x00040047,
+ 0x00000057,0x00000021,0x00000002,0x00040047,0x00000069,0x0000000b,0x0000001c,0x00040047,
+ 0x000000c1,0x00000006,0x00000004,0x00050048,0x000000c2,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x000000c2,0x00000003,0x00040047,0x000000c4,0x00000022,0x00000000,0x00040047,
+ 0x000000c4,0x00000021,0x00000003,0x00040047,0x000000eb,0x0000000b,0x00000019,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
+ 0x0003001d,0x00000012,0x00000006,0x0003001e,0x00000013,0x00000012,0x00040020,0x00000014,
+ 0x00000002,0x00000013,0x0004003b,0x00000014,0x00000015,0x00000002,0x00040015,0x00000016,
+ 0x00000020,0x00000001,0x0004002b,0x00000016,0x00000017,0x00000000,0x0004002b,0x00000016,
+ 0x00000019,0x00000001,0x00040020,0x0000001b,0x00000002,0x00000006,0x0004002b,0x00000006,
+ 0x00000020,0x00000001,0x0004002b,0x00000016,0x00000022,0x00000004,0x0004002b,0x00000006,
+ 0x00000028,0x0000ffff,0x0006001e,0x0000002e,0x00000006,0x00000006,0x00000006,0x00000006,
+ 0x00040020,0x0000002f,0x00000009,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000009,
+ 0x0004002b,0x00000016,0x00000031,0x00000002,0x00040020,0x00000032,0x00000009,0x00000006,
+ 0x0003001d,0x00000039,0x00000006,0x0003001e,0x0000003a,0x00000039,0x00040020,0x0000003b,
+ 0x00000002,0x0000003a,0x0004003b,0x0000003b,0x0000003c,0x00000002,0x0004002b,0x00000016,
+ 0x00000044,0x0000ffff,0x0003001d,0x00000054,0x00000006,0x0003001e,0x00000055,0x00000054,
+ 0x00040020,0x00000056,0x00000002,0x00000055,0x0004003b,0x00000056,0x00000057,0x00000002,
+ 0x0004002b,0x00000006,0x0000005f,0x00000002,0x00040017,0x00000067,0x00000006,0x00000003,
+ 0x00040020,0x00000068,0x00000001,0x00000067,0x0004003b,0x00000068,0x00000069,0x00000001,
+ 0x0004002b,0x00000006,0x0000006a,0x00000000,0x00040020,0x0000006b,0x00000001,0x00000006,
+ 0x00020014,0x0000006e,0x0004002b,0x00000016,0x0000008e,0x00000003,0x0003001d,0x000000c1,
+ 0x00000006,0x0003001e,0x000000c2,0x000000c1,0x00040020,0x000000c3,0x00000002,0x000000c2,
+ 0x0004003b,0x000000c3,0x000000c4,0x00000002,0x0004002b,0x00000006,0x000000d8,0x00000003,
+ 0x0004002b,0x00000006,0x000000e2,0x00000004,0x0004002b,0x00000006,0x000000ea,0x00000040,
+ 0x0006002c,0x00000067,0x000000eb,0x000000ea,0x00000020,0x00000020,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000000ec,0x00000000,
+ 0x000300fb,0x0000006a,0x000000ed,0x000200f8,0x000000ed,0x00050041,0x00000032,0x00000058,
+ 0x00000030,0x00000017,0x0004003d,0x00000006,0x00000059,0x00000058,0x00060041,0x0000001b,
+ 0x0000005a,0x00000057,0x00000017,0x00000059,0x0004003d,0x00000006,0x0000005b,0x0000005a,
+ 0x00050080,0x00000006,0x00000060,0x00000059,0x0000005f,0x00060041,0x0000001b,0x00000061,
+ 0x00000057,0x00000017,0x00000060,0x0004003d,0x00000006,0x00000062,0x00000061,0x00050041,
+ 0x0000006b,0x0000006c,0x00000069,0x0000006a,0x0004003d,0x00000006,0x0000006d,0x0000006c,
+ 0x000500ae,0x0000006e,0x0000006f,0x0000006d,0x00000020,0x000300f7,0x00000071,0x00000000,
+ 0x000400fa,0x0000006f,0x00000070,0x00000071,0x000200f8,0x00000070,0x000200f9,0x000000ec,
+ 0x000200f8,0x00000071,0x000200f9,0x0000007a,0x000200f8,0x0000007a,0x000700f5,0x00000006,
+ 0x0000017c,0x00000062,0x00000071,0x00000084,0x0000007d,0x000700f5,0x00000006,0x0000017a,
+ 0x0000006a,0x00000071,0x00000190,0x0000007d,0x000700f5,0x00000006,0x00000179,0x0000006a,
+ 0x00000071,0x00000187,0x0000007d,0x000700f5,0x00000006,0x00000178,0x0000006a,0x00000071,
+ 0x00000186,0x0000007d,0x000700f5,0x00000006,0x00000177,0x0000005b,0x00000071,0x0000008d,
+ 0x0000007d,0x000500ac,0x0000006e,0x00000080,0x00000177,0x0000006a,0x000400f6,0x0000007c,
+ 0x0000007d,0x00000000,0x000400fa,0x00000080,0x0000007b,0x0000007c,0x000200f8,0x0000007b,
+ 0x00050080,0x00000006,0x00000084,0x0000017c,0x00000019,0x000500c2,0x00000006,0x000000f8,
+ 0x0000017c,0x00000019,0x00060041,0x0000001b,0x000000f9,0x00000015,0x00000017,0x000000f8,
+ 0x0004003d,0x00000006,0x000000fa,0x000000f9,0x000500c7,0x00000006,0x000000fc,0x0000017c,
+ 0x00000020,0x000500c4,0x00000006,0x000000fd,0x000000fc,0x00000022,0x000500c2,0x00000006,
+ 0x00000100,0x000000fa,0x000000fd,0x000500c7,0x00000006,0x00000101,0x00000100,0x00000028,
+ 0x000500aa,0x0000006e,0x00000088,0x00000178,0x0000006a,0x000200f9,0x0000008a,0x000200f8,
+ 0x0000008a,0x000600a9,0x00000006,0x00000190,0x00000088,0x00000101,0x0000017a,0x00050082,
+ 0x00000006,0x0000008d,0x00000177,0x00000019,0x00050041,0x00000032,0x0000008f,0x00000030,
+ 0x0000008e,0x0004003d,0x00000006,0x00000090,0x0000008f,0x000500aa,0x0000006e,0x00000091,
+ 0x00000090,0x00000020,0x000500aa,0x0000006e,0x00000094,0x00000101,0x00000028,0x000500a7,
+ 0x0000006e,0x00000095,0x00000091,0x00000094,0x000300f7,0x00000097,0x00000000,0x000400fa,
+ 0x00000095,0x00000096,0x000000ac,0x000200f8,0x00000096,0x000500ac,0x0000006e,0x00000099,
+ 0x00000178,0x00000020,0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,
+ 0x0000009b,0x000200f8,0x0000009a,0x00050080,0x00000006,0x0000009d,0x00000179,0x00000019,
+ 0x00050041,0x00000032,0x00000107,0x00000030,0x00000031,0x0004003d,0x00000006,0x00000108,
+ 0x00000107,0x000500c2,0x00000006,0x0000010a,0x00000179,0x00000019,0x00050080,0x00000006,
+ 0x0000010b,0x00000108,0x0000010a,0x00060041,0x0000001b,0x0000010d,0x0000003c,0x00000017,
+ 0x0000010b,0x0004003d,0x00000006,0x0000010e,0x0000010d,0x000500c7,0x00000006,0x00000110,
+ 0x00000179,0x00000020,0x000500c4,0x00000006,0x00000111,0x00000110,0x00000022,0x000500c4,
+ 0x00000016,0x00000113,0x00000044,0x00000111,0x000400c8,0x00000016,0x00000114,0x00000113,
+ 0x0004007c,0x00000006,0x00000115,0x00000114,0x000500c7,0x00000006,0x00000117,0x0000010e,
+ 0x00000115,0x000500c4,0x00000006,0x0000011a,0x00000190,0x00000111,0x000500c5,0x00000006,
+ 0x0000011c,0x00000117,0x0000011a,0x0003003e,0x0000010d,0x0000011c,0x000200f9,0x0000009b,
+ 0x000200f8,0x0000009b,0x000700f5,0x00000006,0x00000182,0x00000179,0x00000096,0x0000009d,
+ 0x0000009a,0x000500ac,0x0000006e,0x000000a3,0x00000178,0x0000006a,0x000300f7,0x000000a5,
+ 0x00000000,0x000400fa,0x000000a3,0x000000a4,0x000000a5,0x000200f8,0x000000a4,0x00050080,
+ 0x00000006,0x000000a7,0x00000182,0x00000019,0x00050041,0x00000032,0x00000124,0x00000030,
+ 0x00000031,0x0004003d,0x00000006,0x00000125,0x00000124,0x000500c2,0x00000006,0x00000127,
+ 0x00000182,0x00000019,0x00050080,0x00000006,0x00000128,0x00000125,0x00000127,0x00060041,
+ 0x0000001b,0x0000012a,0x0000003c,0x00000017,0x00000128,0x0004003d,0x00000006,0x0000012b,
+ 0x0000012a,0x000500c7,0x00000006,0x0000012d,0x00000182,0x00000020,0x000500c4,0x00000006,
+ 0x0000012e,0x0000012d,0x00000022,0x000500c4,0x00000016,0x00000130,0x00000044,0x0000012e,
+ 0x000400c8,0x00000016,0x00000131,0x00000130,0x0004007c,0x00000006,0x00000132,0x00000131,
+ 0x000500c7,0x00000006,0x00000134,0x0000012b,0x00000132,0x000500c4,0x00000006,0x00000137,
+ 0x00000028,0x0000012e,0x000500c5,0x00000006,0x00000139,0x00000134,0x00000137,0x0003003e,
+ 0x0000012a,0x00000139,0x000200f9,0x000000a5,0x000200f8,0x000000a5,0x000700f5,0x00000006,
+ 0x00000188,0x00000182,0x0000009b,0x000000a7,0x000000a4,0x000200f9,0x00000097,0x000200f8,
+ 0x000000ac,0x00050041,0x00000032,0x00000141,0x00000030,0x00000031,0x0004003d,0x00000006,
+ 0x00000142,0x00000141,0x000500c2,0x00000006,0x00000144,0x00000179,0x00000019,0x00050080,
+ 0x00000006,0x00000145,0x00000142,0x00000144,0x00060041,0x0000001b,0x00000147,0x0000003c,
+ 0x00000017,0x00000145,0x0004003d,0x00000006,0x00000148,0x00000147,0x000500c7,0x00000006,
+ 0x0000014a,0x00000179,0x00000020,0x000500c4,0x00000006,0x0000014b,0x0000014a,0x00000022,
+ 0x000500c4,0x00000016,0x0000014d,0x00000044,0x0000014b,0x000400c8,0x00000016,0x0000014e,
+ 0x0000014d,0x0004007c,0x00000006,0x0000014f,0x0000014e,0x000500c7,0x00000006,0x00000151,
+ 0x00000148,0x0000014f,0x000500c4,0x00000006,0x00000154,0x00000101,0x0000014b,0x000500c5,
+ 0x00000006,0x00000156,0x00000151,0x00000154,0x0003003e,0x00000147,0x00000156,0x00050080,
+ 0x00000006,0x000000b3,0x00000179,0x00000019,0x00050080,0x00000006,0x000000b5,0x00000178,
+ 0x00000019,0x000200f9,0x00000097,0x000200f8,0x00000097,0x000700f5,0x00000006,0x00000187,
+ 0x00000188,0x000000a5,0x000000b3,0x000000ac,0x000700f5,0x00000006,0x00000186,0x0000006a,
+ 0x000000a5,0x000000b5,0x000000ac,0x000200f9,0x0000007d,0x000200f8,0x0000007d,0x000200f9,
+ 0x0000007a,0x000200f8,0x0000007c,0x000500ac,0x0000006e,0x000000b7,0x00000178,0x00000020,
+ 0x000300f7,0x000000b9,0x00000000,0x000400fa,0x000000b7,0x000000b8,0x000000b9,0x000200f8,
+ 0x000000b8,0x00050041,0x00000032,0x0000015e,0x00000030,0x00000031,0x0004003d,0x00000006,
+ 0x0000015f,0x0000015e,0x000500c2,0x00000006,0x00000161,0x00000179,0x00000019,0x00050080,
+ 0x00000006,0x00000162,0x0000015f,0x00000161,0x00060041,0x0000001b,0x00000164,0x0000003c,
+ 0x00000017,0x00000162,0x0004003d,0x00000006,0x00000165,0x00000164,0x000500c7,0x00000006,
+ 0x00000167,0x00000179,0x00000020,0x000500c4,0x00000006,0x00000168,0x00000167,0x00000022,
+ 0x000500c4,0x00000016,0x0000016a,0x00000044,0x00000168,0x000400c8,0x00000016,0x0000016b,
+ 0x0000016a,0x0004007c,0x00000006,0x0000016c,0x0000016b,0x000500c7,0x00000006,0x0000016e,
+ 0x00000165,0x0000016c,0x000500c4,0x00000006,0x00000171,0x0000017a,0x00000168,0x000500c5,
+ 0x00000006,0x00000173,0x0000016e,0x00000171,0x0003003e,0x00000164,0x00000173,0x00050080,
+ 0x00000006,0x000000c0,0x00000179,0x00000019,0x000200f9,0x000000b9,0x000200f8,0x000000b9,
+ 0x000700f5,0x00000006,0x0000017b,0x00000179,0x0000007c,0x000000c0,0x000000b8,0x00050041,
+ 0x00000032,0x000000c5,0x00000030,0x00000019,0x0004003d,0x00000006,0x000000c6,0x000000c5,
+ 0x00060041,0x0000001b,0x000000c8,0x000000c4,0x00000017,0x000000c6,0x0003003e,0x000000c8,
+ 0x0000017b,0x00050080,0x00000006,0x000000cb,0x000000c6,0x00000020,0x00050080,0x00000006,
+ 0x000000ce,0x00000059,0x00000020,0x00060041,0x0000001b,0x000000cf,0x00000057,0x00000017,
+ 0x000000ce,0x0004003d,0x00000006,0x000000d0,0x000000cf,0x00060041,0x0000001b,0x000000d1,
+ 0x000000c4,0x00000017,0x000000cb,0x0003003e,0x000000d1,0x000000d0,0x00050080,0x00000006,
+ 0x000000d4,0x000000c6,0x0000005f,0x00060041,0x0000001b,0x000000d5,0x000000c4,0x00000017,
+ 0x000000d4,0x0003003e,0x000000d5,0x0000006a,0x00050080,0x00000006,0x000000d9,0x000000c6,
+ 0x000000d8,0x00050080,0x00000006,0x000000dc,0x00000059,0x000000d8,0x00060041,0x0000001b,
+ 0x000000dd,0x00000057,0x00000017,0x000000dc,0x0004003d,0x00000006,0x000000de,0x000000dd,
+ 0x00060041,0x0000001b,0x000000df,0x000000c4,0x00000017,0x000000d9,0x0003003e,0x000000df,
+ 0x000000de,0x00050080,0x00000006,0x000000e3,0x000000c6,0x000000e2,0x00050080,0x00000006,
+ 0x000000e6,0x00000059,0x000000e2,0x00060041,0x0000001b,0x000000e7,0x00000057,0x00000017,
+ 0x000000e6,0x0004003d,0x00000006,0x000000e8,0x000000e7,0x00060041,0x0000001b,0x000000e9,
+ 0x000000c4,0x00000017,0x000000e3,0x0003003e,0x000000e9,0x000000e8,0x000200f9,0x000000ec,
+ 0x000200f8,0x000000ec,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc
index d42e2e8328e..cda00f78165 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc
@@ -1,175 +1,125 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndexIndirectLineLoop_comp_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x000000c8,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000109,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000042,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x49746547,0x7865646e,0x756c6156,
- 0x31752865,0x0000003b,0x00040005,0x00000009,0x65646e69,0x00000078,0x00080005,0x0000000f,
- 0x49747550,0x7865646e,0x756c6156,0x31752865,0x3b31753b,0x00000000,0x00040005,0x0000000d,
- 0x65646e69,0x00000078,0x00040005,0x0000000e,0x756c6176,0x00000065,0x00030005,0x00000012,
- 0x00637273,0x00050006,0x00000012,0x00000000,0x44637273,0x00617461,0x00030005,0x00000014,
- 0x00000000,0x00030005,0x0000001e,0x00747364,0x00050006,0x0000001e,0x00000000,0x44747364,
- 0x00617461,0x00030005,0x00000020,0x00000000,0x00060005,0x00000021,0x68737550,0x736e6f43,
- 0x746e6174,0x00000073,0x00070006,0x00000021,0x00000000,0x4f646d63,0x65736666,0x76694474,
- 0x00000034,0x00080006,0x00000021,0x00000001,0x43747364,0x664f646d,0x74657366,0x34766944,
- 0x00000000,0x00070006,0x00000021,0x00000002,0x4f747364,0x65736666,0x76694474,0x00000034,
- 0x00080006,0x00000021,0x00000003,0x65527369,0x72617473,0x616e4574,0x64656c62,0x00000000,
- 0x00030005,0x00000023,0x00000000,0x00050005,0x0000002c,0x65646e69,0x756f4378,0x0000746e,
+ 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000012,0x00637273,0x00050006,0x00000012,
+ 0x00000000,0x44637273,0x00617461,0x00030005,0x00000014,0x00000000,0x00030005,0x0000001e,
+ 0x00747364,0x00050006,0x0000001e,0x00000000,0x44747364,0x00617461,0x00030005,0x00000020,
+ 0x00000000,0x00060005,0x00000021,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00070006,
+ 0x00000021,0x00000000,0x4f646d63,0x65736666,0x76694474,0x00000034,0x00080006,0x00000021,
+ 0x00000001,0x43747364,0x664f646d,0x74657366,0x34766944,0x00000000,0x00070006,0x00000021,
+ 0x00000002,0x4f747364,0x65736666,0x76694474,0x00000034,0x00080006,0x00000021,0x00000003,
+ 0x65527369,0x72617473,0x616e4574,0x64656c62,0x00000000,0x00030005,0x00000023,0x00000000,
0x00030005,0x0000002e,0x00646d63,0x00050006,0x0000002e,0x00000000,0x44646d63,0x00617461,
- 0x00030005,0x00000030,0x00000000,0x00050005,0x00000035,0x73726966,0x646e4974,0x00007865,
- 0x00050005,0x0000003c,0x49646e65,0x7865646e,0x00000000,0x00080005,0x00000042,0x475f6c67,
- 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00060005,0x0000004d,0x6b726f77,
- 0x43676e69,0x746e756f,0x00000000,0x00040005,0x0000004e,0x49637273,0x00007864,0x00070005,
- 0x00000050,0x69646e69,0x52736563,0x69616d65,0x676e696e,0x00000000,0x00050005,0x00000052,
- 0x656e696c,0x657a6953,0x00000000,0x00060005,0x00000053,0x73726966,0x646e4974,0x61567865,
- 0x0065756c,0x00060005,0x0000005b,0x74736572,0x56747261,0x65756c61,0x00000000,0x00050005,
- 0x0000005d,0x65646e69,0x6c615678,0x00006575,0x00040005,0x00000061,0x61726170,0x0000006d,
- 0x00040005,0x0000007a,0x61726170,0x0000006d,0x00040005,0x0000007b,0x61726170,0x0000006d,
- 0x00040005,0x00000084,0x61726170,0x0000006d,0x00040005,0x00000085,0x61726170,0x0000006d,
- 0x00040005,0x00000089,0x61726170,0x0000006d,0x00040005,0x0000008b,0x61726170,0x0000006d,
- 0x00040005,0x00000096,0x61726170,0x0000006d,0x00040005,0x00000098,0x61726170,0x0000006d,
- 0x00040005,0x0000009e,0x43747364,0x0000646d,0x00060006,0x0000009e,0x00000000,0x43747364,
- 0x6144646d,0x00006174,0x00030005,0x000000a0,0x00000000,0x00040047,0x00000011,0x00000006,
- 0x00000004,0x00040048,0x00000012,0x00000000,0x00000018,0x00050048,0x00000012,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000012,0x00000003,0x00040047,0x00000014,0x00000022,
- 0x00000000,0x00040047,0x00000014,0x00000021,0x00000001,0x00040047,0x0000001d,0x00000006,
- 0x00000004,0x00050048,0x0000001e,0x00000000,0x00000023,0x00000000,0x00030047,0x0000001e,
- 0x00000003,0x00040047,0x00000020,0x00000022,0x00000000,0x00040047,0x00000020,0x00000021,
- 0x00000000,0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,
- 0x00000001,0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,
- 0x00050048,0x00000021,0x00000003,0x00000023,0x0000000c,0x00030047,0x00000021,0x00000002,
- 0x00040047,0x0000002d,0x00000006,0x00000004,0x00040048,0x0000002e,0x00000000,0x00000018,
- 0x00050048,0x0000002e,0x00000000,0x00000023,0x00000000,0x00030047,0x0000002e,0x00000003,
- 0x00040047,0x00000030,0x00000022,0x00000000,0x00040047,0x00000030,0x00000021,0x00000002,
- 0x00040047,0x00000042,0x0000000b,0x0000001c,0x00040047,0x0000009d,0x00000006,0x00000004,
- 0x00050048,0x0000009e,0x00000000,0x00000023,0x00000000,0x00030047,0x0000009e,0x00000003,
- 0x00040047,0x000000a0,0x00000022,0x00000000,0x00040047,0x000000a0,0x00000021,0x00000003,
- 0x00040047,0x000000c7,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,
- 0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x00050021,0x0000000c,0x00000002,
- 0x00000007,0x00000007,0x0003001d,0x00000011,0x00000006,0x0003001e,0x00000012,0x00000011,
- 0x00040020,0x00000013,0x00000002,0x00000012,0x0004003b,0x00000013,0x00000014,0x00000002,
- 0x00040015,0x00000015,0x00000020,0x00000001,0x0004002b,0x00000015,0x00000016,0x00000000,
- 0x00040020,0x00000018,0x00000002,0x00000006,0x0003001d,0x0000001d,0x00000006,0x0003001e,
- 0x0000001e,0x0000001d,0x00040020,0x0000001f,0x00000002,0x0000001e,0x0004003b,0x0000001f,
- 0x00000020,0x00000002,0x0006001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00040020,0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,
- 0x0004002b,0x00000015,0x00000024,0x00000002,0x00040020,0x00000025,0x00000009,0x00000006,
- 0x0003001d,0x0000002d,0x00000006,0x0003001e,0x0000002e,0x0000002d,0x00040020,0x0000002f,
- 0x00000002,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000002,0x0004002b,0x00000006,
- 0x00000038,0x00000002,0x00040017,0x00000040,0x00000006,0x00000003,0x00040020,0x00000041,
- 0x00000001,0x00000040,0x0004003b,0x00000041,0x00000042,0x00000001,0x0004002b,0x00000006,
- 0x00000043,0x00000000,0x00040020,0x00000044,0x00000001,0x00000006,0x0004002b,0x00000006,
- 0x00000047,0x00000001,0x00020014,0x00000048,0x0004002b,0x00000006,0x0000005c,0xffffffff,
- 0x0004002b,0x00000015,0x0000005f,0x00000001,0x0004002b,0x00000015,0x0000006a,0x00000003,
- 0x0003001d,0x0000009d,0x00000006,0x0003001e,0x0000009e,0x0000009d,0x00040020,0x0000009f,
- 0x00000002,0x0000009e,0x0004003b,0x0000009f,0x000000a0,0x00000002,0x0004002b,0x00000006,
- 0x000000b4,0x00000003,0x0004002b,0x00000006,0x000000be,0x00000004,0x0004002b,0x00000006,
- 0x000000c6,0x00000040,0x0006002c,0x00000040,0x000000c7,0x000000c6,0x00000047,0x00000047,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000007,0x0000002c,0x00000007,0x0004003b,0x00000007,0x00000035,0x00000007,0x0004003b,
- 0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004d,0x00000007,0x0004003b,
- 0x00000007,0x0000004e,0x00000007,0x0004003b,0x00000007,0x00000050,0x00000007,0x0004003b,
- 0x00000007,0x00000052,0x00000007,0x0004003b,0x00000007,0x00000053,0x00000007,0x0004003b,
- 0x00000007,0x0000005b,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,
- 0x00000007,0x00000061,0x00000007,0x0004003b,0x00000007,0x0000007a,0x00000007,0x0004003b,
- 0x00000007,0x0000007b,0x00000007,0x0004003b,0x00000007,0x00000084,0x00000007,0x0004003b,
- 0x00000007,0x00000085,0x00000007,0x0004003b,0x00000007,0x00000089,0x00000007,0x0004003b,
- 0x00000007,0x0000008b,0x00000007,0x0004003b,0x00000007,0x00000096,0x00000007,0x0004003b,
- 0x00000007,0x00000098,0x00000007,0x00050041,0x00000025,0x00000031,0x00000023,0x00000016,
- 0x0004003d,0x00000006,0x00000032,0x00000031,0x00060041,0x00000018,0x00000033,0x00000030,
- 0x00000016,0x00000032,0x0004003d,0x00000006,0x00000034,0x00000033,0x0003003e,0x0000002c,
- 0x00000034,0x00050041,0x00000025,0x00000036,0x00000023,0x00000016,0x0004003d,0x00000006,
- 0x00000037,0x00000036,0x00050080,0x00000006,0x00000039,0x00000037,0x00000038,0x00060041,
- 0x00000018,0x0000003a,0x00000030,0x00000016,0x00000039,0x0004003d,0x00000006,0x0000003b,
- 0x0000003a,0x0003003e,0x00000035,0x0000003b,0x0004003d,0x00000006,0x0000003d,0x00000035,
- 0x0004003d,0x00000006,0x0000003e,0x0000002c,0x00050080,0x00000006,0x0000003f,0x0000003d,
- 0x0000003e,0x0003003e,0x0000003c,0x0000003f,0x00050041,0x00000044,0x00000045,0x00000042,
- 0x00000043,0x0004003d,0x00000006,0x00000046,0x00000045,0x000500ae,0x00000048,0x00000049,
- 0x00000046,0x00000047,0x000300f7,0x0000004b,0x00000000,0x000400fa,0x00000049,0x0000004a,
- 0x0000004b,0x000200f8,0x0000004a,0x000100fd,0x000200f8,0x0000004b,0x0003003e,0x0000004d,
- 0x00000043,0x0004003d,0x00000006,0x0000004f,0x00000035,0x0003003e,0x0000004e,0x0000004f,
- 0x0004003d,0x00000006,0x00000051,0x0000002c,0x0003003e,0x00000050,0x00000051,0x0003003e,
- 0x00000052,0x00000043,0x0003003e,0x00000053,0x00000043,0x000200f9,0x00000054,0x000200f8,
- 0x00000054,0x000400f6,0x00000056,0x00000057,0x00000000,0x000200f9,0x00000058,0x000200f8,
- 0x00000058,0x0004003d,0x00000006,0x00000059,0x00000050,0x000500ac,0x00000048,0x0000005a,
- 0x00000059,0x00000043,0x000400fa,0x0000005a,0x00000055,0x00000056,0x000200f8,0x00000055,
- 0x0003003e,0x0000005b,0x0000005c,0x0004003d,0x00000006,0x0000005e,0x0000004e,0x00050080,
- 0x00000006,0x00000060,0x0000005e,0x0000005f,0x0003003e,0x0000004e,0x00000060,0x0003003e,
- 0x00000061,0x0000005e,0x00050039,0x00000006,0x00000062,0x0000000a,0x00000061,0x0003003e,
- 0x0000005d,0x00000062,0x0004003d,0x00000006,0x00000063,0x00000052,0x000500aa,0x00000048,
- 0x00000064,0x00000063,0x00000043,0x000300f7,0x00000066,0x00000000,0x000400fa,0x00000064,
- 0x00000065,0x00000066,0x000200f8,0x00000065,0x0004003d,0x00000006,0x00000067,0x0000005d,
- 0x0003003e,0x00000053,0x00000067,0x000200f9,0x00000066,0x000200f8,0x00000066,0x0004003d,
- 0x00000006,0x00000068,0x00000050,0x00050082,0x00000006,0x00000069,0x00000068,0x0000005f,
- 0x0003003e,0x00000050,0x00000069,0x00050041,0x00000025,0x0000006b,0x00000023,0x0000006a,
+ 0x00030005,0x00000030,0x00000000,0x00080005,0x00000042,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00040005,0x0000009e,0x43747364,0x0000646d,0x00060006,
+ 0x0000009e,0x00000000,0x43747364,0x6144646d,0x00006174,0x00030005,0x000000a0,0x00000000,
+ 0x00040047,0x00000011,0x00000006,0x00000004,0x00040048,0x00000012,0x00000000,0x00000018,
+ 0x00050048,0x00000012,0x00000000,0x00000023,0x00000000,0x00030047,0x00000012,0x00000003,
+ 0x00040047,0x00000014,0x00000022,0x00000000,0x00040047,0x00000014,0x00000021,0x00000001,
+ 0x00040047,0x0000001d,0x00000006,0x00000004,0x00050048,0x0000001e,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x0000001e,0x00000003,0x00040047,0x00000020,0x00000022,0x00000000,
+ 0x00040047,0x00000020,0x00000021,0x00000000,0x00050048,0x00000021,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000021,0x00000001,0x00000023,0x00000004,0x00050048,0x00000021,
+ 0x00000002,0x00000023,0x00000008,0x00050048,0x00000021,0x00000003,0x00000023,0x0000000c,
+ 0x00030047,0x00000021,0x00000002,0x00040047,0x0000002d,0x00000006,0x00000004,0x00040048,
+ 0x0000002e,0x00000000,0x00000018,0x00050048,0x0000002e,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x0000002e,0x00000003,0x00040047,0x00000030,0x00000022,0x00000000,0x00040047,
+ 0x00000030,0x00000021,0x00000002,0x00040047,0x00000042,0x0000000b,0x0000001c,0x00040047,
+ 0x0000009d,0x00000006,0x00000004,0x00050048,0x0000009e,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x0000009e,0x00000003,0x00040047,0x000000a0,0x00000022,0x00000000,0x00040047,
+ 0x000000a0,0x00000021,0x00000003,0x00040047,0x000000c7,0x0000000b,0x00000019,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
+ 0x0003001d,0x00000011,0x00000006,0x0003001e,0x00000012,0x00000011,0x00040020,0x00000013,
+ 0x00000002,0x00000012,0x0004003b,0x00000013,0x00000014,0x00000002,0x00040015,0x00000015,
+ 0x00000020,0x00000001,0x0004002b,0x00000015,0x00000016,0x00000000,0x00040020,0x00000018,
+ 0x00000002,0x00000006,0x0003001d,0x0000001d,0x00000006,0x0003001e,0x0000001e,0x0000001d,
+ 0x00040020,0x0000001f,0x00000002,0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000002,
+ 0x0006001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000022,
+ 0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x0004002b,0x00000015,
+ 0x00000024,0x00000002,0x00040020,0x00000025,0x00000009,0x00000006,0x0003001d,0x0000002d,
+ 0x00000006,0x0003001e,0x0000002e,0x0000002d,0x00040020,0x0000002f,0x00000002,0x0000002e,
+ 0x0004003b,0x0000002f,0x00000030,0x00000002,0x0004002b,0x00000006,0x00000038,0x00000002,
+ 0x00040017,0x00000040,0x00000006,0x00000003,0x00040020,0x00000041,0x00000001,0x00000040,
+ 0x0004003b,0x00000041,0x00000042,0x00000001,0x0004002b,0x00000006,0x00000043,0x00000000,
+ 0x00040020,0x00000044,0x00000001,0x00000006,0x0004002b,0x00000006,0x00000047,0x00000001,
+ 0x00020014,0x00000048,0x0004002b,0x00000006,0x0000005c,0xffffffff,0x0004002b,0x00000015,
+ 0x0000005f,0x00000001,0x0004002b,0x00000015,0x0000006a,0x00000003,0x0003001d,0x0000009d,
+ 0x00000006,0x0003001e,0x0000009e,0x0000009d,0x00040020,0x0000009f,0x00000002,0x0000009e,
+ 0x0004003b,0x0000009f,0x000000a0,0x00000002,0x0004002b,0x00000006,0x000000b4,0x00000003,
+ 0x0004002b,0x00000006,0x000000be,0x00000004,0x0004002b,0x00000006,0x000000c6,0x00000040,
+ 0x0006002c,0x00000040,0x000000c7,0x000000c6,0x00000047,0x00000047,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000000c8,0x00000000,
+ 0x000300fb,0x00000043,0x000000c9,0x000200f8,0x000000c9,0x00050041,0x00000025,0x00000031,
+ 0x00000023,0x00000016,0x0004003d,0x00000006,0x00000032,0x00000031,0x00060041,0x00000018,
+ 0x00000033,0x00000030,0x00000016,0x00000032,0x0004003d,0x00000006,0x00000034,0x00000033,
+ 0x00050080,0x00000006,0x00000039,0x00000032,0x00000038,0x00060041,0x00000018,0x0000003a,
+ 0x00000030,0x00000016,0x00000039,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050041,
+ 0x00000044,0x00000045,0x00000042,0x00000043,0x0004003d,0x00000006,0x00000046,0x00000045,
+ 0x000500ae,0x00000048,0x00000049,0x00000046,0x00000047,0x000300f7,0x0000004b,0x00000000,
+ 0x000400fa,0x00000049,0x0000004a,0x0000004b,0x000200f8,0x0000004a,0x000200f9,0x000000c8,
+ 0x000200f8,0x0000004b,0x000200f9,0x00000054,0x000200f8,0x00000054,0x000700f5,0x00000006,
+ 0x000000f4,0x0000003b,0x0000004b,0x00000060,0x00000057,0x000700f5,0x00000006,0x000000f2,
+ 0x00000043,0x0000004b,0x00000108,0x00000057,0x000700f5,0x00000006,0x000000f1,0x00000043,
+ 0x0000004b,0x000000ff,0x00000057,0x000700f5,0x00000006,0x000000f0,0x00000043,0x0000004b,
+ 0x000000fe,0x00000057,0x000700f5,0x00000006,0x000000ef,0x00000034,0x0000004b,0x00000069,
+ 0x00000057,0x000500ac,0x00000048,0x0000005a,0x000000ef,0x00000043,0x000400f6,0x00000056,
+ 0x00000057,0x00000000,0x000400fa,0x0000005a,0x00000055,0x00000056,0x000200f8,0x00000055,
+ 0x00050080,0x00000006,0x00000060,0x000000f4,0x0000005f,0x00060041,0x00000018,0x000000d1,
+ 0x00000014,0x00000016,0x000000f4,0x0004003d,0x00000006,0x000000d2,0x000000d1,0x000500aa,
+ 0x00000048,0x00000064,0x000000f0,0x00000043,0x000200f9,0x00000066,0x000200f8,0x00000066,
+ 0x000600a9,0x00000006,0x00000108,0x00000064,0x000000d2,0x000000f2,0x00050082,0x00000006,
+ 0x00000069,0x000000ef,0x0000005f,0x00050041,0x00000025,0x0000006b,0x00000023,0x0000006a,
0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500aa,0x00000048,0x0000006d,0x0000006c,
- 0x00000047,0x0004003d,0x00000006,0x0000006e,0x0000005d,0x0004003d,0x00000006,0x0000006f,
- 0x0000005b,0x000500aa,0x00000048,0x00000070,0x0000006e,0x0000006f,0x000500a7,0x00000048,
+ 0x00000047,0x000500aa,0x00000048,0x00000070,0x000000d2,0x0000005c,0x000500a7,0x00000048,
0x00000071,0x0000006d,0x00000070,0x000300f7,0x00000073,0x00000000,0x000400fa,0x00000071,
- 0x00000072,0x00000088,0x000200f8,0x00000072,0x0004003d,0x00000006,0x00000074,0x00000052,
- 0x000500ac,0x00000048,0x00000075,0x00000074,0x00000047,0x000300f7,0x00000077,0x00000000,
- 0x000400fa,0x00000075,0x00000076,0x00000077,0x000200f8,0x00000076,0x0004003d,0x00000006,
- 0x00000078,0x0000004d,0x00050080,0x00000006,0x00000079,0x00000078,0x0000005f,0x0003003e,
- 0x0000004d,0x00000079,0x0003003e,0x0000007a,0x00000078,0x0004003d,0x00000006,0x0000007c,
- 0x00000053,0x0003003e,0x0000007b,0x0000007c,0x00060039,0x00000002,0x0000007d,0x0000000f,
- 0x0000007a,0x0000007b,0x000200f9,0x00000077,0x000200f8,0x00000077,0x0004003d,0x00000006,
- 0x0000007e,0x00000052,0x000500ac,0x00000048,0x0000007f,0x0000007e,0x00000043,0x000300f7,
- 0x00000081,0x00000000,0x000400fa,0x0000007f,0x00000080,0x00000081,0x000200f8,0x00000080,
- 0x0004003d,0x00000006,0x00000082,0x0000004d,0x00050080,0x00000006,0x00000083,0x00000082,
- 0x0000005f,0x0003003e,0x0000004d,0x00000083,0x0003003e,0x00000084,0x00000082,0x0004003d,
- 0x00000006,0x00000086,0x0000005b,0x0003003e,0x00000085,0x00000086,0x00060039,0x00000002,
- 0x00000087,0x0000000f,0x00000084,0x00000085,0x000200f9,0x00000081,0x000200f8,0x00000081,
- 0x0003003e,0x00000052,0x00000043,0x000200f9,0x00000073,0x000200f8,0x00000088,0x0004003d,
- 0x00000006,0x0000008a,0x0000004d,0x0003003e,0x00000089,0x0000008a,0x0004003d,0x00000006,
- 0x0000008c,0x0000005d,0x0003003e,0x0000008b,0x0000008c,0x00060039,0x00000002,0x0000008d,
- 0x0000000f,0x00000089,0x0000008b,0x0004003d,0x00000006,0x0000008e,0x0000004d,0x00050080,
- 0x00000006,0x0000008f,0x0000008e,0x0000005f,0x0003003e,0x0000004d,0x0000008f,0x0004003d,
- 0x00000006,0x00000090,0x00000052,0x00050080,0x00000006,0x00000091,0x00000090,0x0000005f,
- 0x0003003e,0x00000052,0x00000091,0x000200f9,0x00000073,0x000200f8,0x00000073,0x000200f9,
- 0x00000057,0x000200f8,0x00000057,0x000200f9,0x00000054,0x000200f8,0x00000056,0x0004003d,
- 0x00000006,0x00000092,0x00000052,0x000500ac,0x00000048,0x00000093,0x00000092,0x00000047,
- 0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,0x00000095,0x000200f8,
- 0x00000094,0x0004003d,0x00000006,0x00000097,0x0000004d,0x0003003e,0x00000096,0x00000097,
- 0x0004003d,0x00000006,0x00000099,0x00000053,0x0003003e,0x00000098,0x00000099,0x00060039,
- 0x00000002,0x0000009a,0x0000000f,0x00000096,0x00000098,0x0004003d,0x00000006,0x0000009b,
- 0x0000004d,0x00050080,0x00000006,0x0000009c,0x0000009b,0x0000005f,0x0003003e,0x0000004d,
- 0x0000009c,0x000200f9,0x00000095,0x000200f8,0x00000095,0x00050041,0x00000025,0x000000a1,
- 0x00000023,0x0000005f,0x0004003d,0x00000006,0x000000a2,0x000000a1,0x0004003d,0x00000006,
- 0x000000a3,0x0000004d,0x00060041,0x00000018,0x000000a4,0x000000a0,0x00000016,0x000000a2,
- 0x0003003e,0x000000a4,0x000000a3,0x00050041,0x00000025,0x000000a5,0x00000023,0x0000005f,
- 0x0004003d,0x00000006,0x000000a6,0x000000a5,0x00050080,0x00000006,0x000000a7,0x000000a6,
- 0x00000047,0x00050041,0x00000025,0x000000a8,0x00000023,0x00000016,0x0004003d,0x00000006,
- 0x000000a9,0x000000a8,0x00050080,0x00000006,0x000000aa,0x000000a9,0x00000047,0x00060041,
- 0x00000018,0x000000ab,0x00000030,0x00000016,0x000000aa,0x0004003d,0x00000006,0x000000ac,
- 0x000000ab,0x00060041,0x00000018,0x000000ad,0x000000a0,0x00000016,0x000000a7,0x0003003e,
- 0x000000ad,0x000000ac,0x00050041,0x00000025,0x000000ae,0x00000023,0x0000005f,0x0004003d,
- 0x00000006,0x000000af,0x000000ae,0x00050080,0x00000006,0x000000b0,0x000000af,0x00000038,
- 0x00060041,0x00000018,0x000000b1,0x000000a0,0x00000016,0x000000b0,0x0003003e,0x000000b1,
- 0x00000043,0x00050041,0x00000025,0x000000b2,0x00000023,0x0000005f,0x0004003d,0x00000006,
- 0x000000b3,0x000000b2,0x00050080,0x00000006,0x000000b5,0x000000b3,0x000000b4,0x00050041,
- 0x00000025,0x000000b6,0x00000023,0x00000016,0x0004003d,0x00000006,0x000000b7,0x000000b6,
- 0x00050080,0x00000006,0x000000b8,0x000000b7,0x000000b4,0x00060041,0x00000018,0x000000b9,
- 0x00000030,0x00000016,0x000000b8,0x0004003d,0x00000006,0x000000ba,0x000000b9,0x00060041,
- 0x00000018,0x000000bb,0x000000a0,0x00000016,0x000000b5,0x0003003e,0x000000bb,0x000000ba,
- 0x00050041,0x00000025,0x000000bc,0x00000023,0x0000005f,0x0004003d,0x00000006,0x000000bd,
- 0x000000bc,0x00050080,0x00000006,0x000000bf,0x000000bd,0x000000be,0x00050041,0x00000025,
- 0x000000c0,0x00000023,0x00000016,0x0004003d,0x00000006,0x000000c1,0x000000c0,0x00050080,
- 0x00000006,0x000000c2,0x000000c1,0x000000be,0x00060041,0x00000018,0x000000c3,0x00000030,
- 0x00000016,0x000000c2,0x0004003d,0x00000006,0x000000c4,0x000000c3,0x00060041,0x00000018,
- 0x000000c5,0x000000a0,0x00000016,0x000000bf,0x0003003e,0x000000c5,0x000000c4,0x000100fd,
- 0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,
- 0x00000009,0x000200f8,0x0000000b,0x0004003d,0x00000006,0x00000017,0x00000009,0x00060041,
- 0x00000018,0x00000019,0x00000014,0x00000016,0x00000017,0x0004003d,0x00000006,0x0000001a,
- 0x00000019,0x000200fe,0x0000001a,0x00010038,0x00050036,0x00000002,0x0000000f,0x00000000,
- 0x0000000c,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,
- 0x00000010,0x00050041,0x00000025,0x00000026,0x00000023,0x00000024,0x0004003d,0x00000006,
- 0x00000027,0x00000026,0x0004003d,0x00000006,0x00000028,0x0000000d,0x00050080,0x00000006,
- 0x00000029,0x00000027,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000e,0x00060041,
- 0x00000018,0x0000002b,0x00000020,0x00000016,0x00000029,0x0003003e,0x0000002b,0x0000002a,
- 0x000100fd,0x00010038
+ 0x00000072,0x00000088,0x000200f8,0x00000072,0x000500ac,0x00000048,0x00000075,0x000000f0,
+ 0x00000047,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,
+ 0x000200f8,0x00000076,0x00050080,0x00000006,0x00000079,0x000000f1,0x0000005f,0x00050041,
+ 0x00000025,0x000000d4,0x00000023,0x00000024,0x0004003d,0x00000006,0x000000d5,0x000000d4,
+ 0x00050080,0x00000006,0x000000d7,0x000000d5,0x000000f1,0x00060041,0x00000018,0x000000d9,
+ 0x00000020,0x00000016,0x000000d7,0x0003003e,0x000000d9,0x00000108,0x000200f9,0x00000077,
+ 0x000200f8,0x00000077,0x000700f5,0x00000006,0x000000fa,0x000000f1,0x00000072,0x00000079,
+ 0x00000076,0x000500ac,0x00000048,0x0000007f,0x000000f0,0x00000043,0x000300f7,0x00000081,
+ 0x00000000,0x000400fa,0x0000007f,0x00000080,0x00000081,0x000200f8,0x00000080,0x00050080,
+ 0x00000006,0x00000083,0x000000fa,0x0000005f,0x00050041,0x00000025,0x000000db,0x00000023,
+ 0x00000024,0x0004003d,0x00000006,0x000000dc,0x000000db,0x00050080,0x00000006,0x000000de,
+ 0x000000dc,0x000000fa,0x00060041,0x00000018,0x000000e0,0x00000020,0x00000016,0x000000de,
+ 0x0003003e,0x000000e0,0x0000005c,0x000200f9,0x00000081,0x000200f8,0x00000081,0x000700f5,
+ 0x00000006,0x00000100,0x000000fa,0x00000077,0x00000083,0x00000080,0x000200f9,0x00000073,
+ 0x000200f8,0x00000088,0x00050041,0x00000025,0x000000e2,0x00000023,0x00000024,0x0004003d,
+ 0x00000006,0x000000e3,0x000000e2,0x00050080,0x00000006,0x000000e5,0x000000e3,0x000000f1,
+ 0x00060041,0x00000018,0x000000e7,0x00000020,0x00000016,0x000000e5,0x0003003e,0x000000e7,
+ 0x000000d2,0x00050080,0x00000006,0x0000008f,0x000000f1,0x0000005f,0x00050080,0x00000006,
+ 0x00000091,0x000000f0,0x0000005f,0x000200f9,0x00000073,0x000200f8,0x00000073,0x000700f5,
+ 0x00000006,0x000000ff,0x00000100,0x00000081,0x0000008f,0x00000088,0x000700f5,0x00000006,
+ 0x000000fe,0x00000043,0x00000081,0x00000091,0x00000088,0x000200f9,0x00000057,0x000200f8,
+ 0x00000057,0x000200f9,0x00000054,0x000200f8,0x00000056,0x000500ac,0x00000048,0x00000093,
+ 0x000000f0,0x00000047,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,
+ 0x00000095,0x000200f8,0x00000094,0x00050041,0x00000025,0x000000e9,0x00000023,0x00000024,
+ 0x0004003d,0x00000006,0x000000ea,0x000000e9,0x00050080,0x00000006,0x000000ec,0x000000ea,
+ 0x000000f1,0x00060041,0x00000018,0x000000ee,0x00000020,0x00000016,0x000000ec,0x0003003e,
+ 0x000000ee,0x000000f2,0x00050080,0x00000006,0x0000009c,0x000000f1,0x0000005f,0x000200f9,
+ 0x00000095,0x000200f8,0x00000095,0x000700f5,0x00000006,0x000000f3,0x000000f1,0x00000056,
+ 0x0000009c,0x00000094,0x00050041,0x00000025,0x000000a1,0x00000023,0x0000005f,0x0004003d,
+ 0x00000006,0x000000a2,0x000000a1,0x00060041,0x00000018,0x000000a4,0x000000a0,0x00000016,
+ 0x000000a2,0x0003003e,0x000000a4,0x000000f3,0x00050080,0x00000006,0x000000a7,0x000000a2,
+ 0x00000047,0x00050080,0x00000006,0x000000aa,0x00000032,0x00000047,0x00060041,0x00000018,
+ 0x000000ab,0x00000030,0x00000016,0x000000aa,0x0004003d,0x00000006,0x000000ac,0x000000ab,
+ 0x00060041,0x00000018,0x000000ad,0x000000a0,0x00000016,0x000000a7,0x0003003e,0x000000ad,
+ 0x000000ac,0x00050080,0x00000006,0x000000b0,0x000000a2,0x00000038,0x00060041,0x00000018,
+ 0x000000b1,0x000000a0,0x00000016,0x000000b0,0x0003003e,0x000000b1,0x00000043,0x00050080,
+ 0x00000006,0x000000b5,0x000000a2,0x000000b4,0x00050080,0x00000006,0x000000b8,0x00000032,
+ 0x000000b4,0x00060041,0x00000018,0x000000b9,0x00000030,0x00000016,0x000000b8,0x0004003d,
+ 0x00000006,0x000000ba,0x000000b9,0x00060041,0x00000018,0x000000bb,0x000000a0,0x00000016,
+ 0x000000b5,0x0003003e,0x000000bb,0x000000ba,0x00050080,0x00000006,0x000000bf,0x000000a2,
+ 0x000000be,0x00050080,0x00000006,0x000000c2,0x00000032,0x000000be,0x00060041,0x00000018,
+ 0x000000c3,0x00000030,0x00000016,0x000000c2,0x0004003d,0x00000006,0x000000c4,0x000000c3,
+ 0x00060041,0x00000018,0x000000c5,0x000000a0,0x00000016,0x000000bf,0x0003003e,0x000000c5,
+ 0x000000c4,0x000200f9,0x000000c8,0x000200f8,0x000000c8,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc
index 52b6abd9c0c..1ec39e92bdc 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc
@@ -1,105 +1,88 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertIndirectLineLoop_comp_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x00000077,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000080,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000021,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x00050005,0x00000008,0x74726576,0x6f437865,0x00746e75,
- 0x00060005,0x0000000a,0x49637273,0x7269646e,0x42746365,0x00006675,0x00060006,0x0000000a,
- 0x00000000,0x69646e69,0x74636572,0x00667542,0x00030005,0x0000000c,0x00000000,0x00060005,
- 0x0000000f,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x000a0006,0x0000000f,0x00000000,
- 0x69646e69,0x74636572,0x66667542,0x664f7265,0x74657366,0x34766944,0x00000000,0x000a0006,
- 0x0000000f,0x00000001,0x65646e69,0x646e4978,0x63657269,0x66754274,0x7366664f,0x69447465,
- 0x00003476,0x00080006,0x0000000f,0x00000002,0x44747364,0x4f617461,0x65736666,0x76694474,
- 0x00000034,0x00030005,0x00000011,0x00000000,0x00050005,0x00000018,0x73726966,0x72655674,
- 0x00786574,0x00080005,0x00000021,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,
- 0x00000044,0x00030005,0x0000002c,0x00000069,0x00050005,0x00000036,0x49747364,0x7865646e,
- 0x00667542,0x00050006,0x00000036,0x00000000,0x44747364,0x00617461,0x00030005,0x00000038,
- 0x00000000,0x00060005,0x00000052,0x49747364,0x7269646e,0x42746365,0x00006675,0x00080006,
- 0x00000052,0x00000000,0x65646e69,0x646e4978,0x63657269,0x66754274,0x00000000,0x00030005,
- 0x00000054,0x00000000,0x00040047,0x00000009,0x00000006,0x00000004,0x00040048,0x0000000a,
- 0x00000000,0x00000018,0x00050048,0x0000000a,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x0000000a,0x00000003,0x00040047,0x0000000c,0x00000022,0x00000000,0x00040047,0x0000000c,
- 0x00000021,0x00000000,0x00050048,0x0000000f,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x0000000f,0x00000001,0x00000023,0x00000004,0x00050048,0x0000000f,0x00000002,0x00000023,
- 0x00000008,0x00030047,0x0000000f,0x00000002,0x00040047,0x00000021,0x0000000b,0x0000001c,
- 0x00040047,0x00000035,0x00000006,0x00000004,0x00050048,0x00000036,0x00000000,0x00000023,
- 0x00000000,0x00030047,0x00000036,0x00000003,0x00040047,0x00000038,0x00000022,0x00000000,
- 0x00040047,0x00000038,0x00000021,0x00000002,0x00040047,0x00000051,0x00000006,0x00000004,
- 0x00050048,0x00000052,0x00000000,0x00000023,0x00000000,0x00030047,0x00000052,0x00000003,
- 0x00040047,0x00000054,0x00000022,0x00000000,0x00040047,0x00000054,0x00000021,0x00000001,
- 0x00040047,0x00000076,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,
- 0x00000006,0x0003001d,0x00000009,0x00000006,0x0003001e,0x0000000a,0x00000009,0x00040020,
- 0x0000000b,0x00000002,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000002,0x00040015,
- 0x0000000d,0x00000020,0x00000001,0x0004002b,0x0000000d,0x0000000e,0x00000000,0x0005001e,
- 0x0000000f,0x00000006,0x00000006,0x00000006,0x00040020,0x00000010,0x00000009,0x0000000f,
- 0x0004003b,0x00000010,0x00000011,0x00000009,0x00040020,0x00000012,0x00000009,0x00000006,
- 0x00040020,0x00000015,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000001b,0x00000002,
- 0x00040017,0x0000001f,0x00000006,0x00000003,0x00040020,0x00000020,0x00000001,0x0000001f,
- 0x0004003b,0x00000020,0x00000021,0x00000001,0x0004002b,0x00000006,0x00000022,0x00000000,
- 0x00040020,0x00000023,0x00000001,0x00000006,0x0004002b,0x00000006,0x00000026,0x00000001,
- 0x00020014,0x00000027,0x0003001d,0x00000035,0x00000006,0x0003001e,0x00000036,0x00000035,
- 0x00040020,0x00000037,0x00000002,0x00000036,0x0004003b,0x00000037,0x00000038,0x00000002,
- 0x0004002b,0x0000000d,0x00000039,0x00000002,0x0004002b,0x0000000d,0x00000043,0x00000001,
- 0x0003001d,0x00000051,0x00000006,0x0003001e,0x00000052,0x00000051,0x00040020,0x00000053,
- 0x00000002,0x00000052,0x0004003b,0x00000053,0x00000054,0x00000002,0x0004002b,0x00000006,
- 0x00000068,0x00000003,0x0004002b,0x00000006,0x0000006d,0x00000004,0x0004002b,0x00000006,
- 0x00000075,0x00000040,0x0006002c,0x0000001f,0x00000076,0x00000075,0x00000026,0x00000026,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000007,0x00000008,0x00000007,0x0004003b,0x00000007,0x00000018,0x00000007,0x0004003b,
- 0x00000007,0x0000002c,0x00000007,0x00050041,0x00000012,0x00000013,0x00000011,0x0000000e,
- 0x0004003d,0x00000006,0x00000014,0x00000013,0x00060041,0x00000015,0x00000016,0x0000000c,
- 0x0000000e,0x00000014,0x0004003d,0x00000006,0x00000017,0x00000016,0x0003003e,0x00000008,
- 0x00000017,0x00050041,0x00000012,0x00000019,0x00000011,0x0000000e,0x0004003d,0x00000006,
- 0x0000001a,0x00000019,0x00050080,0x00000006,0x0000001c,0x0000001a,0x0000001b,0x00060041,
- 0x00000015,0x0000001d,0x0000000c,0x0000000e,0x0000001c,0x0004003d,0x00000006,0x0000001e,
- 0x0000001d,0x0003003e,0x00000018,0x0000001e,0x00050041,0x00000023,0x00000024,0x00000021,
- 0x00000022,0x0004003d,0x00000006,0x00000025,0x00000024,0x000500ae,0x00000027,0x00000028,
- 0x00000025,0x00000026,0x000300f7,0x0000002a,0x00000000,0x000400fa,0x00000028,0x00000029,
- 0x0000002a,0x000200f8,0x00000029,0x000100fd,0x000200f8,0x0000002a,0x0003003e,0x0000002c,
- 0x00000022,0x000200f9,0x0000002d,0x000200f8,0x0000002d,0x000400f6,0x0000002f,0x00000030,
- 0x00000000,0x000200f9,0x00000031,0x000200f8,0x00000031,0x0004003d,0x00000006,0x00000032,
- 0x0000002c,0x0004003d,0x00000006,0x00000033,0x00000008,0x000500b0,0x00000027,0x00000034,
- 0x00000032,0x00000033,0x000400fa,0x00000034,0x0000002e,0x0000002f,0x000200f8,0x0000002e,
- 0x00050041,0x00000012,0x0000003a,0x00000011,0x00000039,0x0004003d,0x00000006,0x0000003b,
- 0x0000003a,0x0004003d,0x00000006,0x0000003c,0x0000002c,0x00050080,0x00000006,0x0000003d,
- 0x0000003b,0x0000003c,0x0004003d,0x00000006,0x0000003e,0x00000018,0x0004003d,0x00000006,
- 0x0000003f,0x0000002c,0x00050080,0x00000006,0x00000040,0x0000003e,0x0000003f,0x00060041,
- 0x00000015,0x00000041,0x00000038,0x0000000e,0x0000003d,0x0003003e,0x00000041,0x00000040,
- 0x000200f9,0x00000030,0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000042,0x0000002c,
- 0x00050080,0x00000006,0x00000044,0x00000042,0x00000043,0x0003003e,0x0000002c,0x00000044,
- 0x000200f9,0x0000002d,0x000200f8,0x0000002f,0x0004003d,0x00000006,0x00000045,0x00000008,
- 0x000500ac,0x00000027,0x00000046,0x00000045,0x00000026,0x000300f7,0x00000048,0x00000000,
- 0x000400fa,0x00000046,0x00000047,0x00000048,0x000200f8,0x00000047,0x00050041,0x00000012,
- 0x00000049,0x00000011,0x00000039,0x0004003d,0x00000006,0x0000004a,0x00000049,0x0004003d,
- 0x00000006,0x0000004b,0x00000008,0x00050080,0x00000006,0x0000004c,0x0000004a,0x0000004b,
- 0x0004003d,0x00000006,0x0000004d,0x00000018,0x00060041,0x00000015,0x0000004e,0x00000038,
- 0x0000000e,0x0000004c,0x0003003e,0x0000004e,0x0000004d,0x0004003d,0x00000006,0x0000004f,
- 0x00000008,0x00050080,0x00000006,0x00000050,0x0000004f,0x00000043,0x0003003e,0x00000008,
- 0x00000050,0x000200f9,0x00000048,0x000200f8,0x00000048,0x00050041,0x00000012,0x00000055,
- 0x00000011,0x00000043,0x0004003d,0x00000006,0x00000056,0x00000055,0x0004003d,0x00000006,
- 0x00000057,0x00000008,0x00060041,0x00000015,0x00000058,0x00000054,0x0000000e,0x00000056,
- 0x0003003e,0x00000058,0x00000057,0x00050041,0x00000012,0x00000059,0x00000011,0x00000043,
- 0x0004003d,0x00000006,0x0000005a,0x00000059,0x00050080,0x00000006,0x0000005b,0x0000005a,
- 0x00000026,0x00050041,0x00000012,0x0000005c,0x00000011,0x0000000e,0x0004003d,0x00000006,
- 0x0000005d,0x0000005c,0x00050080,0x00000006,0x0000005e,0x0000005d,0x00000026,0x00060041,
- 0x00000015,0x0000005f,0x0000000c,0x0000000e,0x0000005e,0x0004003d,0x00000006,0x00000060,
- 0x0000005f,0x00060041,0x00000015,0x00000061,0x00000054,0x0000000e,0x0000005b,0x0003003e,
- 0x00000061,0x00000060,0x00050041,0x00000012,0x00000062,0x00000011,0x00000043,0x0004003d,
- 0x00000006,0x00000063,0x00000062,0x00050080,0x00000006,0x00000064,0x00000063,0x0000001b,
- 0x00060041,0x00000015,0x00000065,0x00000054,0x0000000e,0x00000064,0x0003003e,0x00000065,
- 0x00000022,0x00050041,0x00000012,0x00000066,0x00000011,0x00000043,0x0004003d,0x00000006,
- 0x00000067,0x00000066,0x00050080,0x00000006,0x00000069,0x00000067,0x00000068,0x00060041,
- 0x00000015,0x0000006a,0x00000054,0x0000000e,0x00000069,0x0003003e,0x0000006a,0x00000022,
- 0x00050041,0x00000012,0x0000006b,0x00000011,0x00000043,0x0004003d,0x00000006,0x0000006c,
- 0x0000006b,0x00050080,0x00000006,0x0000006e,0x0000006c,0x0000006d,0x00050041,0x00000012,
- 0x0000006f,0x00000011,0x0000000e,0x0004003d,0x00000006,0x00000070,0x0000006f,0x00050080,
- 0x00000006,0x00000071,0x00000070,0x00000068,0x00060041,0x00000015,0x00000072,0x0000000c,
+ 0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000a,0x49637273,0x7269646e,0x42746365,
+ 0x00006675,0x00060006,0x0000000a,0x00000000,0x69646e69,0x74636572,0x00667542,0x00030005,
+ 0x0000000c,0x00000000,0x00060005,0x0000000f,0x68737550,0x736e6f43,0x746e6174,0x00000073,
+ 0x000a0006,0x0000000f,0x00000000,0x69646e69,0x74636572,0x66667542,0x664f7265,0x74657366,
+ 0x34766944,0x00000000,0x000a0006,0x0000000f,0x00000001,0x65646e69,0x646e4978,0x63657269,
+ 0x66754274,0x7366664f,0x69447465,0x00003476,0x00080006,0x0000000f,0x00000002,0x44747364,
+ 0x4f617461,0x65736666,0x76694474,0x00000034,0x00030005,0x00000011,0x00000000,0x00080005,
+ 0x00000021,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
+ 0x00000036,0x49747364,0x7865646e,0x00667542,0x00050006,0x00000036,0x00000000,0x44747364,
+ 0x00617461,0x00030005,0x00000038,0x00000000,0x00060005,0x00000052,0x49747364,0x7269646e,
+ 0x42746365,0x00006675,0x00080006,0x00000052,0x00000000,0x65646e69,0x646e4978,0x63657269,
+ 0x66754274,0x00000000,0x00030005,0x00000054,0x00000000,0x00040047,0x00000009,0x00000006,
+ 0x00000004,0x00040048,0x0000000a,0x00000000,0x00000018,0x00050048,0x0000000a,0x00000000,
+ 0x00000023,0x00000000,0x00030047,0x0000000a,0x00000003,0x00040047,0x0000000c,0x00000022,
+ 0x00000000,0x00040047,0x0000000c,0x00000021,0x00000000,0x00050048,0x0000000f,0x00000000,
+ 0x00000023,0x00000000,0x00050048,0x0000000f,0x00000001,0x00000023,0x00000004,0x00050048,
+ 0x0000000f,0x00000002,0x00000023,0x00000008,0x00030047,0x0000000f,0x00000002,0x00040047,
+ 0x00000021,0x0000000b,0x0000001c,0x00040047,0x00000035,0x00000006,0x00000004,0x00050048,
+ 0x00000036,0x00000000,0x00000023,0x00000000,0x00030047,0x00000036,0x00000003,0x00040047,
+ 0x00000038,0x00000022,0x00000000,0x00040047,0x00000038,0x00000021,0x00000002,0x00040047,
+ 0x00000051,0x00000006,0x00000004,0x00050048,0x00000052,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x00000052,0x00000003,0x00040047,0x00000054,0x00000022,0x00000000,0x00040047,
+ 0x00000054,0x00000021,0x00000001,0x00040047,0x00000076,0x0000000b,0x00000019,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
+ 0x0003001d,0x00000009,0x00000006,0x0003001e,0x0000000a,0x00000009,0x00040020,0x0000000b,
+ 0x00000002,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000002,0x00040015,0x0000000d,
+ 0x00000020,0x00000001,0x0004002b,0x0000000d,0x0000000e,0x00000000,0x0005001e,0x0000000f,
+ 0x00000006,0x00000006,0x00000006,0x00040020,0x00000010,0x00000009,0x0000000f,0x0004003b,
+ 0x00000010,0x00000011,0x00000009,0x00040020,0x00000012,0x00000009,0x00000006,0x00040020,
+ 0x00000015,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000001b,0x00000002,0x00040017,
+ 0x0000001f,0x00000006,0x00000003,0x00040020,0x00000020,0x00000001,0x0000001f,0x0004003b,
+ 0x00000020,0x00000021,0x00000001,0x0004002b,0x00000006,0x00000022,0x00000000,0x00040020,
+ 0x00000023,0x00000001,0x00000006,0x0004002b,0x00000006,0x00000026,0x00000001,0x00020014,
+ 0x00000027,0x0003001d,0x00000035,0x00000006,0x0003001e,0x00000036,0x00000035,0x00040020,
+ 0x00000037,0x00000002,0x00000036,0x0004003b,0x00000037,0x00000038,0x00000002,0x0004002b,
+ 0x0000000d,0x00000039,0x00000002,0x0004002b,0x0000000d,0x00000043,0x00000001,0x0003001d,
+ 0x00000051,0x00000006,0x0003001e,0x00000052,0x00000051,0x00040020,0x00000053,0x00000002,
+ 0x00000052,0x0004003b,0x00000053,0x00000054,0x00000002,0x0004002b,0x00000006,0x00000068,
+ 0x00000003,0x0004002b,0x00000006,0x0000006d,0x00000004,0x0004002b,0x00000006,0x00000075,
+ 0x00000040,0x0006002c,0x0000001f,0x00000076,0x00000075,0x00000026,0x00000026,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x00000077,
+ 0x00000000,0x000300fb,0x00000022,0x00000078,0x000200f8,0x00000078,0x00050041,0x00000012,
+ 0x00000013,0x00000011,0x0000000e,0x0004003d,0x00000006,0x00000014,0x00000013,0x00060041,
+ 0x00000015,0x00000016,0x0000000c,0x0000000e,0x00000014,0x0004003d,0x00000006,0x00000017,
+ 0x00000016,0x00050080,0x00000006,0x0000001c,0x00000014,0x0000001b,0x00060041,0x00000015,
+ 0x0000001d,0x0000000c,0x0000000e,0x0000001c,0x0004003d,0x00000006,0x0000001e,0x0000001d,
+ 0x00050041,0x00000023,0x00000024,0x00000021,0x00000022,0x0004003d,0x00000006,0x00000025,
+ 0x00000024,0x000500ae,0x00000027,0x00000028,0x00000025,0x00000026,0x000300f7,0x0000002a,
+ 0x00000000,0x000400fa,0x00000028,0x00000029,0x0000002a,0x000200f8,0x00000029,0x000200f9,
+ 0x00000077,0x000200f8,0x0000002a,0x000200f9,0x0000002d,0x000200f8,0x0000002d,0x000700f5,
+ 0x00000006,0x0000007d,0x00000022,0x0000002a,0x00000044,0x0000002e,0x000500b0,0x00000027,
+ 0x00000034,0x0000007d,0x00000017,0x000400f6,0x0000002f,0x0000002e,0x00000000,0x000400fa,
+ 0x00000034,0x0000002e,0x0000002f,0x000200f8,0x0000002e,0x00050041,0x00000012,0x0000003a,
+ 0x00000011,0x00000039,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050080,0x00000006,
+ 0x0000003d,0x0000003b,0x0000007d,0x00050080,0x00000006,0x00000040,0x0000001e,0x0000007d,
+ 0x00060041,0x00000015,0x00000041,0x00000038,0x0000000e,0x0000003d,0x0003003e,0x00000041,
+ 0x00000040,0x00050080,0x00000006,0x00000044,0x0000007d,0x00000043,0x000200f9,0x0000002d,
+ 0x000200f8,0x0000002f,0x000500ac,0x00000027,0x00000046,0x00000017,0x00000026,0x000300f7,
+ 0x00000048,0x00000000,0x000400fa,0x00000046,0x00000047,0x00000048,0x000200f8,0x00000047,
+ 0x00050041,0x00000012,0x00000049,0x00000011,0x00000039,0x0004003d,0x00000006,0x0000004a,
+ 0x00000049,0x00050080,0x00000006,0x0000004c,0x0000004a,0x00000017,0x00060041,0x00000015,
+ 0x0000004e,0x00000038,0x0000000e,0x0000004c,0x0003003e,0x0000004e,0x0000001e,0x00050080,
+ 0x00000006,0x00000050,0x00000017,0x00000043,0x000200f9,0x00000048,0x000200f8,0x00000048,
+ 0x000700f5,0x00000006,0x0000007f,0x00000017,0x0000002f,0x00000050,0x00000047,0x00050041,
+ 0x00000012,0x00000055,0x00000011,0x00000043,0x0004003d,0x00000006,0x00000056,0x00000055,
+ 0x00060041,0x00000015,0x00000058,0x00000054,0x0000000e,0x00000056,0x0003003e,0x00000058,
+ 0x0000007f,0x00050080,0x00000006,0x0000005b,0x00000056,0x00000026,0x00050080,0x00000006,
+ 0x0000005e,0x00000014,0x00000026,0x00060041,0x00000015,0x0000005f,0x0000000c,0x0000000e,
+ 0x0000005e,0x0004003d,0x00000006,0x00000060,0x0000005f,0x00060041,0x00000015,0x00000061,
+ 0x00000054,0x0000000e,0x0000005b,0x0003003e,0x00000061,0x00000060,0x00050080,0x00000006,
+ 0x00000064,0x00000056,0x0000001b,0x00060041,0x00000015,0x00000065,0x00000054,0x0000000e,
+ 0x00000064,0x0003003e,0x00000065,0x00000022,0x00050080,0x00000006,0x00000069,0x00000056,
+ 0x00000068,0x00060041,0x00000015,0x0000006a,0x00000054,0x0000000e,0x00000069,0x0003003e,
+ 0x0000006a,0x00000022,0x00050080,0x00000006,0x0000006e,0x00000056,0x0000006d,0x00050080,
+ 0x00000006,0x00000071,0x00000014,0x00000068,0x00060041,0x00000015,0x00000072,0x0000000c,
0x0000000e,0x00000071,0x0004003d,0x00000006,0x00000073,0x00000072,0x00060041,0x00000015,
- 0x00000074,0x00000054,0x0000000e,0x0000006e,0x0003003e,0x00000074,0x00000073,0x000100fd,
- 0x00010038
+ 0x00000074,0x00000054,0x0000000e,0x0000006e,0x0003003e,0x00000074,0x00000073,0x000200f9,
+ 0x00000077,0x000200f8,0x00000077,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc
index 694e6ba9bc9..8ab8f0c50e0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x00000149,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000170,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000106,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000012d,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -27,237 +27,266 @@ const uint32_t kConvertVertex_comp_00000000[] = {
0x00040006,0x00000029,0x00000006,0x00007353,0x00040006,0x00000029,0x00000007,0x00007345,
0x00040006,0x00000029,0x00000008,0x0000644e,0x00040006,0x00000029,0x00000009,0x00006442,
0x00040006,0x00000029,0x0000000a,0x00006453,0x00040006,0x00000029,0x0000000b,0x00006445,
- 0x00040005,0x0000002b,0x61726170,0x0000736d,0x00040005,0x0000004e,0x66696873,0x00000074,
- 0x00040005,0x00000057,0x74726576,0x00007865,0x00050005,0x0000005d,0x706d6f63,0x6e656e6f,
- 0x00000074,0x00040005,0x00000070,0x7366666f,0x00007465,0x00040005,0x00000071,0x61726170,
- 0x0000006d,0x00040005,0x00000073,0x61726170,0x0000006d,0x00040005,0x00000076,0x636f6c62,
- 0x0000006b,0x00030005,0x00000078,0x00637273,0x00050006,0x00000078,0x00000000,0x44637273,
- 0x00617461,0x00030005,0x0000007a,0x00000000,0x00050005,0x00000080,0x66696873,0x74694274,
- 0x00000073,0x00040005,0x00000081,0x61726170,0x0000006d,0x00040005,0x00000083,0x61726170,
- 0x0000006d,0x00050005,0x00000087,0x756c6176,0x74694265,0x00000073,0x00050005,0x0000008b,
- 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x000000a3,0x756c6176,0x55734165,0x00746e69,
- 0x00050005,0x000000b0,0x654e7369,0x69746167,0x00006576,0x00060005,0x000000b9,0x6e676973,
- 0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000c6,0x756c6176,0x00000065,0x00040005,
- 0x000000cf,0x74726576,0x00007865,0x00050005,0x000000d4,0x706d6f63,0x6e656e6f,0x00000074,
- 0x00040005,0x000000d9,0x7366666f,0x00007465,0x00040005,0x000000da,0x61726170,0x0000006d,
- 0x00040005,0x000000dc,0x61726170,0x0000006d,0x00050005,0x000000df,0x66696873,0x74694274,
- 0x00000073,0x00040005,0x000000e0,0x61726170,0x0000006d,0x00040005,0x000000e2,0x61726170,
- 0x0000006d,0x00050005,0x000000e6,0x756c6176,0x74694265,0x00000073,0x00050005,0x000000ea,
- 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x000000f6,0x756c6176,0x55734165,0x00746e69,
- 0x00040005,0x00000101,0x74736564,0x00000000,0x00060006,0x00000101,0x00000000,0x74736564,
- 0x61746144,0x00000000,0x00030005,0x00000103,0x00000000,0x00080005,0x00000106,0x475f6c67,
- 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x00000118,0x756c6176,
- 0x74754f65,0x00000000,0x00030005,0x00000119,0x00000069,0x00030005,0x00000124,0x00006463,
- 0x00050005,0x00000133,0x56637273,0x65756c61,0x00000000,0x00040005,0x00000134,0x61726170,
- 0x0000006d,0x00050005,0x00000137,0x74736564,0x756c6156,0x00000065,0x00040005,0x00000138,
- 0x61726170,0x0000006d,0x00040005,0x0000013b,0x61726170,0x0000006d,0x00040005,0x0000013d,
- 0x61726170,0x0000006d,0x00040005,0x00000144,0x61726170,0x0000006d,0x00050048,0x00000029,
- 0x00000000,0x00000023,0x00000000,0x00050048,0x00000029,0x00000001,0x00000023,0x00000004,
- 0x00050048,0x00000029,0x00000002,0x00000023,0x00000008,0x00050048,0x00000029,0x00000003,
- 0x00000023,0x0000000c,0x00050048,0x00000029,0x00000004,0x00000023,0x00000010,0x00050048,
- 0x00000029,0x00000005,0x00000023,0x00000014,0x00050048,0x00000029,0x00000006,0x00000023,
- 0x00000018,0x00050048,0x00000029,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000029,
- 0x00000008,0x00000023,0x00000020,0x00050048,0x00000029,0x00000009,0x00000023,0x00000024,
- 0x00050048,0x00000029,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000029,0x0000000b,
- 0x00000023,0x0000002c,0x00030047,0x00000029,0x00000002,0x00040047,0x00000077,0x00000006,
- 0x00000004,0x00050048,0x00000078,0x00000000,0x00000023,0x00000000,0x00030047,0x00000078,
- 0x00000003,0x00040047,0x0000007a,0x00000022,0x00000000,0x00040047,0x0000007a,0x00000021,
- 0x00000001,0x00040047,0x00000100,0x00000006,0x00000004,0x00050048,0x00000101,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000101,0x00000003,0x00040047,0x00000103,0x00000022,
- 0x00000000,0x00040047,0x00000103,0x00000021,0x00000000,0x00040047,0x00000106,0x0000000b,
- 0x0000001c,0x00040047,0x00000148,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,
- 0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,
- 0x00000015,0x00000020,0x00000001,0x00040021,0x00000016,0x00000015,0x00000007,0x00040020,
- 0x0000001a,0x00000007,0x00000015,0x00040021,0x0000001b,0x00000015,0x0000001a,0x00050021,
- 0x0000001f,0x00000006,0x00000007,0x0000001a,0x00040021,0x00000024,0x00000002,0x00000007,
- 0x000e001e,0x00000029,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000002a,
- 0x00000009,0x00000029,0x0004003b,0x0000002a,0x0000002b,0x00000009,0x0004002b,0x00000015,
- 0x0000002c,0x00000006,0x00040020,0x0000002d,0x00000009,0x00000006,0x0004002b,0x00000015,
- 0x00000032,0x00000005,0x0004002b,0x00000015,0x00000037,0x00000002,0x0004002b,0x00000015,
- 0x0000003e,0x0000000a,0x0004002b,0x00000015,0x00000043,0x00000009,0x0004002b,0x00000015,
- 0x00000048,0x00000003,0x0004002b,0x00000006,0x00000050,0x00000004,0x0004002b,0x00000006,
- 0x00000052,0x00000008,0x0004002b,0x00000015,0x00000059,0x00000008,0x0004002b,0x00000015,
- 0x00000063,0x00000004,0x00020014,0x00000066,0x0004002b,0x00000006,0x00000069,0x00000003,
- 0x0004002b,0x00000015,0x0000006e,0x00000000,0x0003001d,0x00000077,0x00000006,0x0003001e,
- 0x00000078,0x00000077,0x00040020,0x00000079,0x00000002,0x00000078,0x0004003b,0x00000079,
- 0x0000007a,0x00000002,0x00040020,0x0000007d,0x00000002,0x00000006,0x0004002b,0x00000006,
- 0x0000008d,0x00000020,0x0004002b,0x00000015,0x00000092,0xffffffff,0x0004002b,0x00000015,
- 0x00000094,0x00000001,0x0004002b,0x00000006,0x000000a4,0x00000001,0x00040020,0x000000af,
- 0x00000007,0x00000066,0x0004002b,0x00000006,0x000000b7,0x00000000,0x0003001d,0x00000100,
- 0x00000006,0x0003001e,0x00000101,0x00000100,0x00040020,0x00000102,0x00000002,0x00000101,
- 0x0004003b,0x00000102,0x00000103,0x00000002,0x00040017,0x00000104,0x00000006,0x00000003,
- 0x00040020,0x00000105,0x00000001,0x00000104,0x0004003b,0x00000105,0x00000106,0x00000001,
- 0x00040020,0x00000107,0x00000001,0x00000006,0x0004002b,0x00000015,0x00000120,0x0000000b,
- 0x0004002b,0x00000006,0x00000147,0x00000040,0x0006002c,0x00000104,0x00000148,0x00000147,
- 0x000000a4,0x000000a4,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000007,0x00000118,0x00000007,0x0004003b,0x00000007,0x00000119,
- 0x00000007,0x0004003b,0x00000007,0x00000124,0x00000007,0x0004003b,0x0000001a,0x00000133,
- 0x00000007,0x0004003b,0x00000007,0x00000134,0x00000007,0x0004003b,0x0000001a,0x00000137,
- 0x00000007,0x0004003b,0x0000001a,0x00000138,0x00000007,0x0004003b,0x00000007,0x0000013b,
- 0x00000007,0x0004003b,0x0000001a,0x0000013d,0x00000007,0x0004003b,0x00000007,0x00000144,
- 0x00000007,0x00050041,0x00000107,0x00000110,0x00000106,0x000000b7,0x0004003d,0x00000006,
- 0x00000111,0x00000110,0x00050041,0x0000002d,0x00000112,0x0000002b,0x0000006e,0x0004003d,
- 0x00000006,0x00000113,0x00000112,0x000500ae,0x00000066,0x00000114,0x00000111,0x00000113,
- 0x000300f7,0x00000116,0x00000000,0x000400fa,0x00000114,0x00000115,0x00000116,0x000200f8,
- 0x00000115,0x000100fd,0x000200f8,0x00000116,0x0003003e,0x00000118,0x000000b7,0x0003003e,
- 0x00000119,0x000000b7,0x000200f9,0x0000011a,0x000200f8,0x0000011a,0x000400f6,0x0000011c,
- 0x0000011d,0x00000000,0x000200f9,0x0000011e,0x000200f8,0x0000011e,0x0004003d,0x00000006,
- 0x0000011f,0x00000119,0x00050041,0x0000002d,0x00000121,0x0000002b,0x00000120,0x0004003d,
- 0x00000006,0x00000122,0x00000121,0x000500b0,0x00000066,0x00000123,0x0000011f,0x00000122,
- 0x000400fa,0x00000123,0x0000011b,0x0000011c,0x000200f8,0x0000011b,0x00050041,0x00000107,
- 0x00000125,0x00000106,0x000000b7,0x0004003d,0x00000006,0x00000126,0x00000125,0x00050041,
- 0x0000002d,0x00000127,0x0000002b,0x00000120,0x0004003d,0x00000006,0x00000128,0x00000127,
- 0x00050084,0x00000006,0x00000129,0x00000126,0x00000128,0x0004003d,0x00000006,0x0000012a,
- 0x00000119,0x00050080,0x00000006,0x0000012b,0x00000129,0x0000012a,0x0003003e,0x00000124,
- 0x0000012b,0x0004003d,0x00000006,0x0000012c,0x00000124,0x00050041,0x0000002d,0x0000012d,
- 0x0000002b,0x00000094,0x0004003d,0x00000006,0x0000012e,0x0000012d,0x000500ae,0x00000066,
- 0x0000012f,0x0000012c,0x0000012e,0x000300f7,0x00000131,0x00000000,0x000400fa,0x0000012f,
- 0x00000130,0x00000131,0x000200f8,0x00000130,0x000200f9,0x0000011c,0x000200f8,0x00000131,
- 0x0004003d,0x00000006,0x00000135,0x00000124,0x0003003e,0x00000134,0x00000135,0x00050039,
- 0x00000015,0x00000136,0x00000018,0x00000134,0x0003003e,0x00000133,0x00000136,0x0004003d,
- 0x00000015,0x00000139,0x00000133,0x0003003e,0x00000138,0x00000139,0x00050039,0x00000015,
- 0x0000013a,0x0000001d,0x00000138,0x0003003e,0x00000137,0x0000013a,0x0004003d,0x00000006,
- 0x0000013c,0x00000124,0x0003003e,0x0000013b,0x0000013c,0x0004003d,0x00000015,0x0000013e,
- 0x00000137,0x0003003e,0x0000013d,0x0000013e,0x00060039,0x00000006,0x0000013f,0x00000022,
- 0x0000013b,0x0000013d,0x0004003d,0x00000006,0x00000140,0x00000118,0x000500c5,0x00000006,
- 0x00000141,0x00000140,0x0000013f,0x0003003e,0x00000118,0x00000141,0x000200f9,0x0000011d,
- 0x000200f8,0x0000011d,0x0004003d,0x00000006,0x00000142,0x00000119,0x00050080,0x00000006,
- 0x00000143,0x00000142,0x00000094,0x0003003e,0x00000119,0x00000143,0x000200f9,0x0000011a,
- 0x000200f8,0x0000011c,0x0004003d,0x00000006,0x00000145,0x00000118,0x0003003e,0x00000144,
- 0x00000145,0x00050039,0x00000002,0x00000146,0x00000026,0x00000144,0x000100fd,0x00010038,
- 0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
- 0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000028,
- 0x00000009,0x00050041,0x0000002d,0x0000002e,0x0000002b,0x0000002c,0x0004003d,0x00000006,
- 0x0000002f,0x0000002e,0x00050084,0x00000006,0x00000030,0x00000028,0x0000002f,0x0004003d,
- 0x00000006,0x00000031,0x0000000a,0x00050041,0x0000002d,0x00000033,0x0000002b,0x00000032,
- 0x0004003d,0x00000006,0x00000034,0x00000033,0x00050084,0x00000006,0x00000035,0x00000031,
- 0x00000034,0x00050080,0x00000006,0x00000036,0x00000030,0x00000035,0x00050041,0x0000002d,
- 0x00000038,0x0000002b,0x00000037,0x0004003d,0x00000006,0x00000039,0x00000038,0x00050080,
- 0x00000006,0x0000003a,0x00000036,0x00000039,0x000200fe,0x0000003a,0x00010038,0x00050036,
- 0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003d,0x0000000d,
- 0x00050041,0x0000002d,0x0000003f,0x0000002b,0x0000003e,0x0004003d,0x00000006,0x00000040,
- 0x0000003f,0x00050084,0x00000006,0x00000041,0x0000003d,0x00000040,0x0004003d,0x00000006,
- 0x00000042,0x0000000e,0x00050041,0x0000002d,0x00000044,0x0000002b,0x00000043,0x0004003d,
- 0x00000006,0x00000045,0x00000044,0x00050084,0x00000006,0x00000046,0x00000042,0x00000045,
- 0x00050080,0x00000006,0x00000047,0x00000041,0x00000046,0x00050041,0x0000002d,0x00000049,
- 0x0000002b,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050080,0x00000006,
- 0x0000004b,0x00000047,0x0000004a,0x000200fe,0x0000004b,0x00010038,0x00050036,0x00000006,
- 0x00000013,0x00000000,0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,
- 0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x0000004e,0x00000007,0x0004003d,
- 0x00000006,0x0000004f,0x00000011,0x00050089,0x00000006,0x00000051,0x0000004f,0x00000050,
- 0x00050084,0x00000006,0x00000053,0x00000051,0x00000052,0x0003003e,0x0000004e,0x00000053,
- 0x0004003d,0x00000006,0x00000054,0x0000004e,0x000200fe,0x00000054,0x00010038,0x00050036,
- 0x00000015,0x00000018,0x00000000,0x00000016,0x00030037,0x00000007,0x00000017,0x000200f8,
- 0x00000019,0x0004003b,0x00000007,0x00000057,0x00000007,0x0004003b,0x00000007,0x0000005d,
- 0x00000007,0x0004003b,0x00000007,0x00000070,0x00000007,0x0004003b,0x00000007,0x00000071,
- 0x00000007,0x0004003b,0x00000007,0x00000073,0x00000007,0x0004003b,0x00000007,0x00000076,
- 0x00000007,0x0004003b,0x00000007,0x00000080,0x00000007,0x0004003b,0x00000007,0x00000081,
- 0x00000007,0x0004003b,0x00000007,0x00000083,0x00000007,0x0004003b,0x00000007,0x00000087,
- 0x00000007,0x0004003b,0x00000007,0x0000008b,0x00000007,0x0004003b,0x0000001a,0x0000008f,
- 0x00000007,0x0004003b,0x00000007,0x000000a3,0x00000007,0x0004003b,0x000000af,0x000000b0,
- 0x00000007,0x0004003b,0x00000007,0x000000b9,0x00000007,0x0004003b,0x0000001a,0x000000bb,
- 0x00000007,0x0004003b,0x0000001a,0x000000c6,0x00000007,0x0004003d,0x00000006,0x00000058,
- 0x00000017,0x00050041,0x0000002d,0x0000005a,0x0000002b,0x00000059,0x0004003d,0x00000006,
- 0x0000005b,0x0000005a,0x00050086,0x00000006,0x0000005c,0x00000058,0x0000005b,0x0003003e,
- 0x00000057,0x0000005c,0x0004003d,0x00000006,0x0000005e,0x00000017,0x00050041,0x0000002d,
- 0x0000005f,0x0000002b,0x00000059,0x0004003d,0x00000006,0x00000060,0x0000005f,0x00050089,
- 0x00000006,0x00000061,0x0000005e,0x00000060,0x0003003e,0x0000005d,0x00000061,0x0004003d,
- 0x00000006,0x00000062,0x0000005d,0x00050041,0x0000002d,0x00000064,0x0000002b,0x00000063,
- 0x0004003d,0x00000006,0x00000065,0x00000064,0x000500ae,0x00000066,0x00000067,0x00000062,
- 0x00000065,0x0004003d,0x00000006,0x00000068,0x0000005d,0x000500b0,0x00000066,0x0000006a,
- 0x00000068,0x00000069,0x000500a7,0x00000066,0x0000006b,0x00000067,0x0000006a,0x000300f7,
- 0x0000006d,0x00000000,0x000400fa,0x0000006b,0x0000006c,0x0000006d,0x000200f8,0x0000006c,
- 0x000200fe,0x0000006e,0x000200f8,0x0000006d,0x0004003d,0x00000006,0x00000072,0x00000057,
- 0x0003003e,0x00000071,0x00000072,0x0004003d,0x00000006,0x00000074,0x0000005d,0x0003003e,
- 0x00000073,0x00000074,0x00060039,0x00000006,0x00000075,0x0000000b,0x00000071,0x00000073,
- 0x0003003e,0x00000070,0x00000075,0x0004003d,0x00000006,0x0000007b,0x00000070,0x00050086,
- 0x00000006,0x0000007c,0x0000007b,0x00000050,0x00060041,0x0000007d,0x0000007e,0x0000007a,
- 0x0000006e,0x0000007c,0x0004003d,0x00000006,0x0000007f,0x0000007e,0x0003003e,0x00000076,
- 0x0000007f,0x0004003d,0x00000006,0x00000082,0x00000070,0x0003003e,0x00000081,0x00000082,
- 0x00050041,0x0000002d,0x00000084,0x0000002b,0x00000032,0x0004003d,0x00000006,0x00000085,
- 0x00000084,0x0003003e,0x00000083,0x00000085,0x00060039,0x00000006,0x00000086,0x00000013,
- 0x00000081,0x00000083,0x0003003e,0x00000080,0x00000086,0x00050041,0x0000002d,0x00000088,
- 0x0000002b,0x00000032,0x0004003d,0x00000006,0x00000089,0x00000088,0x00050084,0x00000006,
- 0x0000008a,0x00000089,0x00000052,0x0003003e,0x00000087,0x0000008a,0x0004003d,0x00000006,
- 0x0000008c,0x00000087,0x000500aa,0x00000066,0x0000008e,0x0000008c,0x0000008d,0x000300f7,
- 0x00000091,0x00000000,0x000400fa,0x0000008e,0x00000090,0x00000093,0x000200f8,0x00000090,
- 0x0003003e,0x0000008f,0x00000092,0x000200f9,0x00000091,0x000200f8,0x00000093,0x0004003d,
- 0x00000006,0x00000095,0x00000087,0x000500c4,0x00000015,0x00000096,0x00000094,0x00000095,
- 0x00050082,0x00000015,0x00000097,0x00000096,0x00000094,0x0003003e,0x0000008f,0x00000097,
- 0x000200f9,0x00000091,0x000200f8,0x00000091,0x0004003d,0x00000015,0x00000098,0x0000008f,
- 0x0004007c,0x00000006,0x00000099,0x00000098,0x0003003e,0x0000008b,0x00000099,0x0004003d,
- 0x00000006,0x0000009a,0x0000005d,0x00050041,0x0000002d,0x0000009b,0x0000002b,0x00000063,
- 0x0004003d,0x00000006,0x0000009c,0x0000009b,0x000500ae,0x00000066,0x0000009d,0x0000009a,
- 0x0000009c,0x0004003d,0x00000006,0x0000009e,0x0000005d,0x000500aa,0x00000066,0x0000009f,
- 0x0000009e,0x00000069,0x000500a7,0x00000066,0x000000a0,0x0000009d,0x0000009f,0x000300f7,
- 0x000000a2,0x00000000,0x000400fa,0x000000a0,0x000000a1,0x000000a5,0x000200f8,0x000000a1,
- 0x0003003e,0x000000a3,0x000000a4,0x000200f9,0x000000a2,0x000200f8,0x000000a5,0x0004003d,
- 0x00000006,0x000000a6,0x00000076,0x0004003d,0x00000006,0x000000a7,0x00000080,0x000500c2,
- 0x00000006,0x000000a8,0x000000a6,0x000000a7,0x0004003d,0x00000006,0x000000a9,0x0000008b,
- 0x000500c7,0x00000006,0x000000aa,0x000000a8,0x000000a9,0x0003003e,0x000000a3,0x000000aa,
- 0x000200f9,0x000000a2,0x000200f8,0x000000a2,0x0004003d,0x00000006,0x000000ab,0x00000087,
- 0x000500b0,0x00000066,0x000000ac,0x000000ab,0x0000008d,0x000300f7,0x000000ae,0x00000000,
- 0x000400fa,0x000000ac,0x000000ad,0x000000ae,0x000200f8,0x000000ad,0x0004003d,0x00000006,
- 0x000000b1,0x000000a3,0x0004003d,0x00000006,0x000000b2,0x00000087,0x00050082,0x00000006,
- 0x000000b3,0x000000b2,0x000000a4,0x000500c4,0x00000015,0x000000b4,0x00000094,0x000000b3,
- 0x0004007c,0x00000006,0x000000b5,0x000000b4,0x000500c7,0x00000006,0x000000b6,0x000000b1,
- 0x000000b5,0x000500ab,0x00000066,0x000000b8,0x000000b6,0x000000b7,0x0003003e,0x000000b0,
- 0x000000b8,0x0004003d,0x00000066,0x000000ba,0x000000b0,0x000300f7,0x000000bd,0x00000000,
- 0x000400fa,0x000000ba,0x000000bc,0x000000c0,0x000200f8,0x000000bc,0x0004003d,0x00000006,
- 0x000000be,0x00000087,0x000500c4,0x00000015,0x000000bf,0x00000092,0x000000be,0x0003003e,
- 0x000000bb,0x000000bf,0x000200f9,0x000000bd,0x000200f8,0x000000c0,0x0003003e,0x000000bb,
- 0x0000006e,0x000200f9,0x000000bd,0x000200f8,0x000000bd,0x0004003d,0x00000015,0x000000c1,
- 0x000000bb,0x0004007c,0x00000006,0x000000c2,0x000000c1,0x0003003e,0x000000b9,0x000000c2,
- 0x0004003d,0x00000006,0x000000c3,0x000000b9,0x0004003d,0x00000006,0x000000c4,0x000000a3,
- 0x000500c5,0x00000006,0x000000c5,0x000000c4,0x000000c3,0x0003003e,0x000000a3,0x000000c5,
- 0x000200f9,0x000000ae,0x000200f8,0x000000ae,0x0004003d,0x00000006,0x000000c7,0x000000a3,
- 0x0004007c,0x00000015,0x000000c8,0x000000c7,0x0003003e,0x000000c6,0x000000c8,0x0004003d,
- 0x00000015,0x000000c9,0x000000c6,0x000200fe,0x000000c9,0x00010038,0x00050036,0x00000015,
- 0x0000001d,0x00000000,0x0000001b,0x00030037,0x0000001a,0x0000001c,0x000200f8,0x0000001e,
- 0x0004003d,0x00000015,0x000000cc,0x0000001c,0x000200fe,0x000000cc,0x00010038,0x00050036,
- 0x00000006,0x00000022,0x00000000,0x0000001f,0x00030037,0x00000007,0x00000020,0x00030037,
- 0x0000001a,0x00000021,0x000200f8,0x00000023,0x0004003b,0x00000007,0x000000cf,0x00000007,
- 0x0004003b,0x00000007,0x000000d4,0x00000007,0x0004003b,0x00000007,0x000000d9,0x00000007,
- 0x0004003b,0x00000007,0x000000da,0x00000007,0x0004003b,0x00000007,0x000000dc,0x00000007,
- 0x0004003b,0x00000007,0x000000df,0x00000007,0x0004003b,0x00000007,0x000000e0,0x00000007,
- 0x0004003b,0x00000007,0x000000e2,0x00000007,0x0004003b,0x00000007,0x000000e6,0x00000007,
- 0x0004003b,0x00000007,0x000000ea,0x00000007,0x0004003b,0x0000001a,0x000000ed,0x00000007,
- 0x0004003b,0x00000007,0x000000f6,0x00000007,0x0004003d,0x00000006,0x000000d0,0x00000020,
- 0x00050041,0x0000002d,0x000000d1,0x0000002b,0x00000059,0x0004003d,0x00000006,0x000000d2,
- 0x000000d1,0x00050086,0x00000006,0x000000d3,0x000000d0,0x000000d2,0x0003003e,0x000000cf,
- 0x000000d3,0x0004003d,0x00000006,0x000000d5,0x00000020,0x00050041,0x0000002d,0x000000d6,
- 0x0000002b,0x00000059,0x0004003d,0x00000006,0x000000d7,0x000000d6,0x00050089,0x00000006,
- 0x000000d8,0x000000d5,0x000000d7,0x0003003e,0x000000d4,0x000000d8,0x0004003d,0x00000006,
- 0x000000db,0x000000cf,0x0003003e,0x000000da,0x000000db,0x0004003d,0x00000006,0x000000dd,
- 0x000000d4,0x0003003e,0x000000dc,0x000000dd,0x00060039,0x00000006,0x000000de,0x0000000f,
- 0x000000da,0x000000dc,0x0003003e,0x000000d9,0x000000de,0x0004003d,0x00000006,0x000000e1,
- 0x000000d9,0x0003003e,0x000000e0,0x000000e1,0x00050041,0x0000002d,0x000000e3,0x0000002b,
- 0x00000043,0x0004003d,0x00000006,0x000000e4,0x000000e3,0x0003003e,0x000000e2,0x000000e4,
- 0x00060039,0x00000006,0x000000e5,0x00000013,0x000000e0,0x000000e2,0x0003003e,0x000000df,
- 0x000000e5,0x00050041,0x0000002d,0x000000e7,0x0000002b,0x00000043,0x0004003d,0x00000006,
- 0x000000e8,0x000000e7,0x00050084,0x00000006,0x000000e9,0x000000e8,0x00000052,0x0003003e,
- 0x000000e6,0x000000e9,0x0004003d,0x00000006,0x000000eb,0x000000e6,0x000500aa,0x00000066,
- 0x000000ec,0x000000eb,0x0000008d,0x000300f7,0x000000ef,0x00000000,0x000400fa,0x000000ec,
- 0x000000ee,0x000000f0,0x000200f8,0x000000ee,0x0003003e,0x000000ed,0x00000092,0x000200f9,
- 0x000000ef,0x000200f8,0x000000f0,0x0004003d,0x00000006,0x000000f1,0x000000e6,0x000500c4,
- 0x00000015,0x000000f2,0x00000094,0x000000f1,0x00050082,0x00000015,0x000000f3,0x000000f2,
- 0x00000094,0x0003003e,0x000000ed,0x000000f3,0x000200f9,0x000000ef,0x000200f8,0x000000ef,
- 0x0004003d,0x00000015,0x000000f4,0x000000ed,0x0004007c,0x00000006,0x000000f5,0x000000f4,
- 0x0003003e,0x000000ea,0x000000f5,0x0004003d,0x00000015,0x000000f7,0x00000021,0x0004007c,
- 0x00000006,0x000000f8,0x000000f7,0x0004003d,0x00000006,0x000000f9,0x000000ea,0x000500c7,
- 0x00000006,0x000000fa,0x000000f8,0x000000f9,0x0004003d,0x00000006,0x000000fb,0x000000df,
- 0x000500c4,0x00000006,0x000000fc,0x000000fa,0x000000fb,0x0003003e,0x000000f6,0x000000fc,
- 0x0004003d,0x00000006,0x000000fd,0x000000f6,0x000200fe,0x000000fd,0x00010038,0x00050036,
- 0x00000002,0x00000026,0x00000000,0x00000024,0x00030037,0x00000007,0x00000025,0x000200f8,
- 0x00000027,0x00050041,0x00000107,0x00000108,0x00000106,0x000000b7,0x0004003d,0x00000006,
- 0x00000109,0x00000108,0x00050041,0x0000002d,0x0000010a,0x0000002b,0x00000048,0x0004003d,
- 0x00000006,0x0000010b,0x0000010a,0x00050086,0x00000006,0x0000010c,0x0000010b,0x00000050,
- 0x00050080,0x00000006,0x0000010d,0x00000109,0x0000010c,0x0004003d,0x00000006,0x0000010e,
- 0x00000025,0x00060041,0x0000007d,0x0000010f,0x00000103,0x0000006e,0x0000010d,0x0003003e,
- 0x0000010f,0x0000010e,0x000100fd,0x00010038
+ 0x00060006,0x00000029,0x0000000c,0x72537369,0x52444863,0x00000000,0x00070006,0x00000029,
+ 0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,0x00040005,0x0000002b,0x61726170,
+ 0x0000736d,0x00040005,0x0000004e,0x66696873,0x00000074,0x00040005,0x00000057,0x74726576,
+ 0x00007865,0x00050005,0x0000005d,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x00000070,
+ 0x7366666f,0x00007465,0x00040005,0x00000071,0x61726170,0x0000006d,0x00040005,0x00000073,
+ 0x61726170,0x0000006d,0x00040005,0x00000076,0x636f6c62,0x0000006b,0x00030005,0x00000078,
+ 0x00637273,0x00050006,0x00000078,0x00000000,0x44637273,0x00617461,0x00030005,0x0000007a,
+ 0x00000000,0x00050005,0x00000087,0x756c6176,0x74694265,0x00000073,0x00050005,0x0000008c,
+ 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000098,0x66696873,0x74694274,0x00000073,
+ 0x00040005,0x000000ab,0x61726170,0x0000006d,0x00040005,0x000000ad,0x61726170,0x0000006d,
+ 0x00050005,0x000000cb,0x756c6176,0x55734165,0x00746e69,0x00050005,0x000000d8,0x654e7369,
+ 0x69746167,0x00006576,0x00060005,0x000000e0,0x6e676973,0x65747845,0x6f69736e,0x0000006e,
+ 0x00040005,0x000000ed,0x756c6176,0x00000065,0x00040005,0x000000f6,0x74726576,0x00007865,
+ 0x00050005,0x000000fb,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x00000100,0x7366666f,
+ 0x00007465,0x00040005,0x00000101,0x61726170,0x0000006d,0x00040005,0x00000103,0x61726170,
+ 0x0000006d,0x00050005,0x00000106,0x66696873,0x74694274,0x00000073,0x00040005,0x00000107,
+ 0x61726170,0x0000006d,0x00040005,0x00000109,0x61726170,0x0000006d,0x00050005,0x0000010d,
+ 0x756c6176,0x74694265,0x00000073,0x00050005,0x00000111,0x756c6176,0x73614d65,0x0000006b,
+ 0x00050005,0x0000011d,0x756c6176,0x55734165,0x00746e69,0x00040005,0x00000128,0x74736564,
+ 0x00000000,0x00060006,0x00000128,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
+ 0x0000012a,0x00000000,0x00080005,0x0000012d,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
+ 0x496e6f69,0x00000044,0x00050005,0x0000013f,0x756c6176,0x74754f65,0x00000000,0x00030005,
+ 0x00000140,0x00000069,0x00030005,0x0000014b,0x00006463,0x00050005,0x0000015a,0x56637273,
+ 0x65756c61,0x00000000,0x00040005,0x0000015b,0x61726170,0x0000006d,0x00050005,0x0000015e,
+ 0x74736564,0x756c6156,0x00000065,0x00040005,0x0000015f,0x61726170,0x0000006d,0x00040005,
+ 0x00000162,0x61726170,0x0000006d,0x00040005,0x00000164,0x61726170,0x0000006d,0x00040005,
+ 0x0000016b,0x61726170,0x0000006d,0x00050048,0x00000029,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x00000029,0x00000001,0x00000023,0x00000004,0x00050048,0x00000029,0x00000002,
+ 0x00000023,0x00000008,0x00050048,0x00000029,0x00000003,0x00000023,0x0000000c,0x00050048,
+ 0x00000029,0x00000004,0x00000023,0x00000010,0x00050048,0x00000029,0x00000005,0x00000023,
+ 0x00000014,0x00050048,0x00000029,0x00000006,0x00000023,0x00000018,0x00050048,0x00000029,
+ 0x00000007,0x00000023,0x0000001c,0x00050048,0x00000029,0x00000008,0x00000023,0x00000020,
+ 0x00050048,0x00000029,0x00000009,0x00000023,0x00000024,0x00050048,0x00000029,0x0000000a,
+ 0x00000023,0x00000028,0x00050048,0x00000029,0x0000000b,0x00000023,0x0000002c,0x00050048,
+ 0x00000029,0x0000000c,0x00000023,0x00000030,0x00050048,0x00000029,0x0000000d,0x00000023,
+ 0x00000034,0x00030047,0x00000029,0x00000002,0x00040047,0x00000077,0x00000006,0x00000004,
+ 0x00050048,0x00000078,0x00000000,0x00000023,0x00000000,0x00030047,0x00000078,0x00000003,
+ 0x00040047,0x0000007a,0x00000022,0x00000000,0x00040047,0x0000007a,0x00000021,0x00000001,
+ 0x00040047,0x00000127,0x00000006,0x00000004,0x00050048,0x00000128,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000128,0x00000003,0x00040047,0x0000012a,0x00000022,0x00000000,
+ 0x00040047,0x0000012a,0x00000021,0x00000000,0x00040047,0x0000012d,0x0000000b,0x0000001c,
+ 0x00040047,0x0000016f,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
+ 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,
+ 0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,0x00000015,
+ 0x00000020,0x00000001,0x00040021,0x00000016,0x00000015,0x00000007,0x00040020,0x0000001a,
+ 0x00000007,0x00000015,0x00040021,0x0000001b,0x00000015,0x0000001a,0x00050021,0x0000001f,
+ 0x00000006,0x00000007,0x0000001a,0x00040021,0x00000024,0x00000002,0x00000007,0x0010001e,
+ 0x00000029,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
+ 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
+ 0x0000002a,0x00000009,0x00000029,0x0004003b,0x0000002a,0x0000002b,0x00000009,0x0004002b,
+ 0x00000015,0x0000002c,0x00000006,0x00040020,0x0000002d,0x00000009,0x00000006,0x0004002b,
+ 0x00000015,0x00000032,0x00000005,0x0004002b,0x00000015,0x00000037,0x00000002,0x0004002b,
+ 0x00000015,0x0000003e,0x0000000a,0x0004002b,0x00000015,0x00000043,0x00000009,0x0004002b,
+ 0x00000015,0x00000048,0x00000003,0x0004002b,0x00000006,0x00000050,0x00000004,0x0004002b,
+ 0x00000006,0x00000052,0x00000008,0x0004002b,0x00000015,0x00000059,0x00000008,0x0004002b,
+ 0x00000015,0x00000063,0x00000004,0x00020014,0x00000066,0x0004002b,0x00000006,0x00000069,
+ 0x00000003,0x0004002b,0x00000015,0x0000006e,0x00000000,0x0003001d,0x00000077,0x00000006,
+ 0x0003001e,0x00000078,0x00000077,0x00040020,0x00000079,0x00000002,0x00000078,0x0004003b,
+ 0x00000079,0x0000007a,0x00000002,0x00040020,0x0000007d,0x00000002,0x00000006,0x0004002b,
+ 0x00000015,0x00000080,0x0000000c,0x0004002b,0x00000006,0x00000083,0x00000000,0x0004002b,
+ 0x00000015,0x0000008f,0x000003ff,0x0004002b,0x00000015,0x00000092,0x0000000d,0x0004002b,
+ 0x00000006,0x00000099,0x0000000a,0x0004002b,0x00000006,0x000000a4,0x00000002,0x0004002b,
+ 0x00000006,0x000000b5,0x00000020,0x0004002b,0x00000015,0x000000ba,0xffffffff,0x0004002b,
+ 0x00000015,0x000000bc,0x00000001,0x0004002b,0x00000006,0x000000cc,0x00000001,0x00040020,
+ 0x000000d7,0x00000007,0x00000066,0x0003001d,0x00000127,0x00000006,0x0003001e,0x00000128,
+ 0x00000127,0x00040020,0x00000129,0x00000002,0x00000128,0x0004003b,0x00000129,0x0000012a,
+ 0x00000002,0x00040017,0x0000012b,0x00000006,0x00000003,0x00040020,0x0000012c,0x00000001,
+ 0x0000012b,0x0004003b,0x0000012c,0x0000012d,0x00000001,0x00040020,0x0000012e,0x00000001,
+ 0x00000006,0x0004002b,0x00000015,0x00000147,0x0000000b,0x0004002b,0x00000006,0x0000016e,
+ 0x00000040,0x0006002c,0x0000012b,0x0000016f,0x0000016e,0x000000cc,0x000000cc,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
+ 0x0000013f,0x00000007,0x0004003b,0x00000007,0x00000140,0x00000007,0x0004003b,0x00000007,
+ 0x0000014b,0x00000007,0x0004003b,0x0000001a,0x0000015a,0x00000007,0x0004003b,0x00000007,
+ 0x0000015b,0x00000007,0x0004003b,0x0000001a,0x0000015e,0x00000007,0x0004003b,0x0000001a,
+ 0x0000015f,0x00000007,0x0004003b,0x00000007,0x00000162,0x00000007,0x0004003b,0x0000001a,
+ 0x00000164,0x00000007,0x0004003b,0x00000007,0x0000016b,0x00000007,0x00050041,0x0000012e,
+ 0x00000137,0x0000012d,0x00000083,0x0004003d,0x00000006,0x00000138,0x00000137,0x00050041,
+ 0x0000002d,0x00000139,0x0000002b,0x0000006e,0x0004003d,0x00000006,0x0000013a,0x00000139,
+ 0x000500ae,0x00000066,0x0000013b,0x00000138,0x0000013a,0x000300f7,0x0000013d,0x00000000,
+ 0x000400fa,0x0000013b,0x0000013c,0x0000013d,0x000200f8,0x0000013c,0x000100fd,0x000200f8,
+ 0x0000013d,0x0003003e,0x0000013f,0x00000083,0x0003003e,0x00000140,0x00000083,0x000200f9,
+ 0x00000141,0x000200f8,0x00000141,0x000400f6,0x00000143,0x00000144,0x00000000,0x000200f9,
+ 0x00000145,0x000200f8,0x00000145,0x0004003d,0x00000006,0x00000146,0x00000140,0x00050041,
+ 0x0000002d,0x00000148,0x0000002b,0x00000147,0x0004003d,0x00000006,0x00000149,0x00000148,
+ 0x000500b0,0x00000066,0x0000014a,0x00000146,0x00000149,0x000400fa,0x0000014a,0x00000142,
+ 0x00000143,0x000200f8,0x00000142,0x00050041,0x0000012e,0x0000014c,0x0000012d,0x00000083,
+ 0x0004003d,0x00000006,0x0000014d,0x0000014c,0x00050041,0x0000002d,0x0000014e,0x0000002b,
+ 0x00000147,0x0004003d,0x00000006,0x0000014f,0x0000014e,0x00050084,0x00000006,0x00000150,
+ 0x0000014d,0x0000014f,0x0004003d,0x00000006,0x00000151,0x00000140,0x00050080,0x00000006,
+ 0x00000152,0x00000150,0x00000151,0x0003003e,0x0000014b,0x00000152,0x0004003d,0x00000006,
+ 0x00000153,0x0000014b,0x00050041,0x0000002d,0x00000154,0x0000002b,0x000000bc,0x0004003d,
+ 0x00000006,0x00000155,0x00000154,0x000500ae,0x00000066,0x00000156,0x00000153,0x00000155,
+ 0x000300f7,0x00000158,0x00000000,0x000400fa,0x00000156,0x00000157,0x00000158,0x000200f8,
+ 0x00000157,0x000200f9,0x00000143,0x000200f8,0x00000158,0x0004003d,0x00000006,0x0000015c,
+ 0x0000014b,0x0003003e,0x0000015b,0x0000015c,0x00050039,0x00000015,0x0000015d,0x00000018,
+ 0x0000015b,0x0003003e,0x0000015a,0x0000015d,0x0004003d,0x00000015,0x00000160,0x0000015a,
+ 0x0003003e,0x0000015f,0x00000160,0x00050039,0x00000015,0x00000161,0x0000001d,0x0000015f,
+ 0x0003003e,0x0000015e,0x00000161,0x0004003d,0x00000006,0x00000163,0x0000014b,0x0003003e,
+ 0x00000162,0x00000163,0x0004003d,0x00000015,0x00000165,0x0000015e,0x0003003e,0x00000164,
+ 0x00000165,0x00060039,0x00000006,0x00000166,0x00000022,0x00000162,0x00000164,0x0004003d,
+ 0x00000006,0x00000167,0x0000013f,0x000500c5,0x00000006,0x00000168,0x00000167,0x00000166,
+ 0x0003003e,0x0000013f,0x00000168,0x000200f9,0x00000144,0x000200f8,0x00000144,0x0004003d,
+ 0x00000006,0x00000169,0x00000140,0x00050080,0x00000006,0x0000016a,0x00000169,0x000000bc,
+ 0x0003003e,0x00000140,0x0000016a,0x000200f9,0x00000141,0x000200f8,0x00000143,0x0004003d,
+ 0x00000006,0x0000016c,0x0000013f,0x0003003e,0x0000016b,0x0000016c,0x00050039,0x00000002,
+ 0x0000016d,0x00000026,0x0000016b,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,
+ 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,
+ 0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000028,0x00000009,0x00050041,0x0000002d,
+ 0x0000002e,0x0000002b,0x0000002c,0x0004003d,0x00000006,0x0000002f,0x0000002e,0x00050084,
+ 0x00000006,0x00000030,0x00000028,0x0000002f,0x0004003d,0x00000006,0x00000031,0x0000000a,
+ 0x00050041,0x0000002d,0x00000033,0x0000002b,0x00000032,0x0004003d,0x00000006,0x00000034,
+ 0x00000033,0x00050084,0x00000006,0x00000035,0x00000031,0x00000034,0x00050080,0x00000006,
+ 0x00000036,0x00000030,0x00000035,0x00050041,0x0000002d,0x00000038,0x0000002b,0x00000037,
+ 0x0004003d,0x00000006,0x00000039,0x00000038,0x00050080,0x00000006,0x0000003a,0x00000036,
+ 0x00000039,0x000200fe,0x0000003a,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,
+ 0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,
+ 0x00000010,0x0004003d,0x00000006,0x0000003d,0x0000000d,0x00050041,0x0000002d,0x0000003f,
+ 0x0000002b,0x0000003e,0x0004003d,0x00000006,0x00000040,0x0000003f,0x00050084,0x00000006,
+ 0x00000041,0x0000003d,0x00000040,0x0004003d,0x00000006,0x00000042,0x0000000e,0x00050041,
+ 0x0000002d,0x00000044,0x0000002b,0x00000043,0x0004003d,0x00000006,0x00000045,0x00000044,
+ 0x00050084,0x00000006,0x00000046,0x00000042,0x00000045,0x00050080,0x00000006,0x00000047,
+ 0x00000041,0x00000046,0x00050041,0x0000002d,0x00000049,0x0000002b,0x00000048,0x0004003d,
+ 0x00000006,0x0000004a,0x00000049,0x00050080,0x00000006,0x0000004b,0x00000047,0x0000004a,
+ 0x000200fe,0x0000004b,0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,0x00000008,
+ 0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,0x00000012,0x000200f8,0x00000014,
+ 0x0004003b,0x00000007,0x0000004e,0x00000007,0x0004003d,0x00000006,0x0000004f,0x00000011,
+ 0x00050089,0x00000006,0x00000051,0x0000004f,0x00000050,0x00050084,0x00000006,0x00000053,
+ 0x00000051,0x00000052,0x0003003e,0x0000004e,0x00000053,0x0004003d,0x00000006,0x00000054,
+ 0x0000004e,0x000200fe,0x00000054,0x00010038,0x00050036,0x00000015,0x00000018,0x00000000,
+ 0x00000016,0x00030037,0x00000007,0x00000017,0x000200f8,0x00000019,0x0004003b,0x00000007,
+ 0x00000057,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,
+ 0x00000070,0x00000007,0x0004003b,0x00000007,0x00000071,0x00000007,0x0004003b,0x00000007,
+ 0x00000073,0x00000007,0x0004003b,0x00000007,0x00000076,0x00000007,0x0004003b,0x00000007,
+ 0x00000087,0x00000007,0x0004003b,0x00000007,0x0000008c,0x00000007,0x0004003b,0x00000007,
+ 0x00000098,0x00000007,0x0004003b,0x00000007,0x0000009f,0x00000007,0x0004003b,0x00000007,
+ 0x000000ab,0x00000007,0x0004003b,0x00000007,0x000000ad,0x00000007,0x0004003b,0x0000001a,
+ 0x000000b7,0x00000007,0x0004003b,0x00000007,0x000000cb,0x00000007,0x0004003b,0x000000d7,
+ 0x000000d8,0x00000007,0x0004003b,0x00000007,0x000000e0,0x00000007,0x0004003b,0x0000001a,
+ 0x000000e2,0x00000007,0x0004003b,0x0000001a,0x000000ed,0x00000007,0x0004003d,0x00000006,
+ 0x00000058,0x00000017,0x00050041,0x0000002d,0x0000005a,0x0000002b,0x00000059,0x0004003d,
+ 0x00000006,0x0000005b,0x0000005a,0x00050086,0x00000006,0x0000005c,0x00000058,0x0000005b,
+ 0x0003003e,0x00000057,0x0000005c,0x0004003d,0x00000006,0x0000005e,0x00000017,0x00050041,
+ 0x0000002d,0x0000005f,0x0000002b,0x00000059,0x0004003d,0x00000006,0x00000060,0x0000005f,
+ 0x00050089,0x00000006,0x00000061,0x0000005e,0x00000060,0x0003003e,0x0000005d,0x00000061,
+ 0x0004003d,0x00000006,0x00000062,0x0000005d,0x00050041,0x0000002d,0x00000064,0x0000002b,
+ 0x00000063,0x0004003d,0x00000006,0x00000065,0x00000064,0x000500ae,0x00000066,0x00000067,
+ 0x00000062,0x00000065,0x0004003d,0x00000006,0x00000068,0x0000005d,0x000500b0,0x00000066,
+ 0x0000006a,0x00000068,0x00000069,0x000500a7,0x00000066,0x0000006b,0x00000067,0x0000006a,
+ 0x000300f7,0x0000006d,0x00000000,0x000400fa,0x0000006b,0x0000006c,0x0000006d,0x000200f8,
+ 0x0000006c,0x000200fe,0x0000006e,0x000200f8,0x0000006d,0x0004003d,0x00000006,0x00000072,
+ 0x00000057,0x0003003e,0x00000071,0x00000072,0x0004003d,0x00000006,0x00000074,0x0000005d,
+ 0x0003003e,0x00000073,0x00000074,0x00060039,0x00000006,0x00000075,0x0000000b,0x00000071,
+ 0x00000073,0x0003003e,0x00000070,0x00000075,0x0004003d,0x00000006,0x0000007b,0x00000070,
+ 0x00050086,0x00000006,0x0000007c,0x0000007b,0x00000050,0x00060041,0x0000007d,0x0000007e,
+ 0x0000007a,0x0000006e,0x0000007c,0x0004003d,0x00000006,0x0000007f,0x0000007e,0x0003003e,
+ 0x00000076,0x0000007f,0x00050041,0x0000002d,0x00000081,0x0000002b,0x00000080,0x0004003d,
+ 0x00000006,0x00000082,0x00000081,0x000500ab,0x00000066,0x00000084,0x00000082,0x00000083,
+ 0x000300f7,0x00000086,0x00000000,0x000400fa,0x00000084,0x00000085,0x000000aa,0x000200f8,
+ 0x00000085,0x0004003d,0x00000006,0x00000088,0x0000005d,0x000500aa,0x00000066,0x00000089,
+ 0x00000088,0x00000069,0x000600a9,0x00000015,0x0000008a,0x00000089,0x00000037,0x0000003e,
+ 0x0004007c,0x00000006,0x0000008b,0x0000008a,0x0003003e,0x00000087,0x0000008b,0x0004003d,
+ 0x00000006,0x0000008d,0x0000005d,0x000500aa,0x00000066,0x0000008e,0x0000008d,0x00000069,
+ 0x000600a9,0x00000015,0x00000090,0x0000008e,0x00000048,0x0000008f,0x0004007c,0x00000006,
+ 0x00000091,0x00000090,0x0003003e,0x0000008c,0x00000091,0x00050041,0x0000002d,0x00000093,
+ 0x0000002b,0x00000092,0x0004003d,0x00000006,0x00000094,0x00000093,0x000500ab,0x00000066,
+ 0x00000095,0x00000094,0x00000083,0x000300f7,0x00000097,0x00000000,0x000400fa,0x00000095,
+ 0x00000096,0x0000009c,0x000200f8,0x00000096,0x0004003d,0x00000006,0x0000009a,0x0000005d,
+ 0x00050084,0x00000006,0x0000009b,0x00000099,0x0000009a,0x0003003e,0x00000098,0x0000009b,
+ 0x000200f9,0x00000097,0x000200f8,0x0000009c,0x0004003d,0x00000006,0x0000009d,0x0000005d,
+ 0x000500aa,0x00000066,0x0000009e,0x0000009d,0x00000069,0x000300f7,0x000000a1,0x00000000,
+ 0x000400fa,0x0000009e,0x000000a0,0x000000a2,0x000200f8,0x000000a0,0x0003003e,0x0000009f,
+ 0x00000083,0x000200f9,0x000000a1,0x000200f8,0x000000a2,0x0004003d,0x00000006,0x000000a3,
+ 0x00000087,0x0004003d,0x00000006,0x000000a5,0x0000005d,0x00050082,0x00000006,0x000000a6,
+ 0x000000a4,0x000000a5,0x00050084,0x00000006,0x000000a7,0x000000a3,0x000000a6,0x00050080,
+ 0x00000006,0x000000a8,0x000000a7,0x000000a4,0x0003003e,0x0000009f,0x000000a8,0x000200f9,
+ 0x000000a1,0x000200f8,0x000000a1,0x0004003d,0x00000006,0x000000a9,0x0000009f,0x0003003e,
+ 0x00000098,0x000000a9,0x000200f9,0x00000097,0x000200f8,0x00000097,0x000200f9,0x00000086,
+ 0x000200f8,0x000000aa,0x0004003d,0x00000006,0x000000ac,0x00000070,0x0003003e,0x000000ab,
+ 0x000000ac,0x00050041,0x0000002d,0x000000ae,0x0000002b,0x00000032,0x0004003d,0x00000006,
+ 0x000000af,0x000000ae,0x0003003e,0x000000ad,0x000000af,0x00060039,0x00000006,0x000000b0,
+ 0x00000013,0x000000ab,0x000000ad,0x0003003e,0x00000098,0x000000b0,0x00050041,0x0000002d,
+ 0x000000b1,0x0000002b,0x00000032,0x0004003d,0x00000006,0x000000b2,0x000000b1,0x00050084,
+ 0x00000006,0x000000b3,0x000000b2,0x00000052,0x0003003e,0x00000087,0x000000b3,0x0004003d,
+ 0x00000006,0x000000b4,0x00000087,0x000500aa,0x00000066,0x000000b6,0x000000b4,0x000000b5,
+ 0x000300f7,0x000000b9,0x00000000,0x000400fa,0x000000b6,0x000000b8,0x000000bb,0x000200f8,
+ 0x000000b8,0x0003003e,0x000000b7,0x000000ba,0x000200f9,0x000000b9,0x000200f8,0x000000bb,
+ 0x0004003d,0x00000006,0x000000bd,0x00000087,0x000500c4,0x00000015,0x000000be,0x000000bc,
+ 0x000000bd,0x00050082,0x00000015,0x000000bf,0x000000be,0x000000bc,0x0003003e,0x000000b7,
+ 0x000000bf,0x000200f9,0x000000b9,0x000200f8,0x000000b9,0x0004003d,0x00000015,0x000000c0,
+ 0x000000b7,0x0004007c,0x00000006,0x000000c1,0x000000c0,0x0003003e,0x0000008c,0x000000c1,
+ 0x000200f9,0x00000086,0x000200f8,0x00000086,0x0004003d,0x00000006,0x000000c2,0x0000005d,
+ 0x00050041,0x0000002d,0x000000c3,0x0000002b,0x00000063,0x0004003d,0x00000006,0x000000c4,
+ 0x000000c3,0x000500ae,0x00000066,0x000000c5,0x000000c2,0x000000c4,0x0004003d,0x00000006,
+ 0x000000c6,0x0000005d,0x000500aa,0x00000066,0x000000c7,0x000000c6,0x00000069,0x000500a7,
+ 0x00000066,0x000000c8,0x000000c5,0x000000c7,0x000300f7,0x000000ca,0x00000000,0x000400fa,
+ 0x000000c8,0x000000c9,0x000000cd,0x000200f8,0x000000c9,0x0003003e,0x000000cb,0x000000cc,
+ 0x000200f9,0x000000ca,0x000200f8,0x000000cd,0x0004003d,0x00000006,0x000000ce,0x00000076,
+ 0x0004003d,0x00000006,0x000000cf,0x00000098,0x000500c2,0x00000006,0x000000d0,0x000000ce,
+ 0x000000cf,0x0004003d,0x00000006,0x000000d1,0x0000008c,0x000500c7,0x00000006,0x000000d2,
+ 0x000000d0,0x000000d1,0x0003003e,0x000000cb,0x000000d2,0x000200f9,0x000000ca,0x000200f8,
+ 0x000000ca,0x0004003d,0x00000006,0x000000d3,0x00000087,0x000500b0,0x00000066,0x000000d4,
+ 0x000000d3,0x000000b5,0x000300f7,0x000000d6,0x00000000,0x000400fa,0x000000d4,0x000000d5,
+ 0x000000d6,0x000200f8,0x000000d5,0x0004003d,0x00000006,0x000000d9,0x000000cb,0x0004003d,
+ 0x00000006,0x000000da,0x00000087,0x00050082,0x00000006,0x000000db,0x000000da,0x000000cc,
+ 0x000500c4,0x00000015,0x000000dc,0x000000bc,0x000000db,0x0004007c,0x00000006,0x000000dd,
+ 0x000000dc,0x000500c7,0x00000006,0x000000de,0x000000d9,0x000000dd,0x000500ab,0x00000066,
+ 0x000000df,0x000000de,0x00000083,0x0003003e,0x000000d8,0x000000df,0x0004003d,0x00000066,
+ 0x000000e1,0x000000d8,0x000300f7,0x000000e4,0x00000000,0x000400fa,0x000000e1,0x000000e3,
+ 0x000000e7,0x000200f8,0x000000e3,0x0004003d,0x00000006,0x000000e5,0x00000087,0x000500c4,
+ 0x00000015,0x000000e6,0x000000ba,0x000000e5,0x0003003e,0x000000e2,0x000000e6,0x000200f9,
+ 0x000000e4,0x000200f8,0x000000e7,0x0003003e,0x000000e2,0x0000006e,0x000200f9,0x000000e4,
+ 0x000200f8,0x000000e4,0x0004003d,0x00000015,0x000000e8,0x000000e2,0x0004007c,0x00000006,
+ 0x000000e9,0x000000e8,0x0003003e,0x000000e0,0x000000e9,0x0004003d,0x00000006,0x000000ea,
+ 0x000000e0,0x0004003d,0x00000006,0x000000eb,0x000000cb,0x000500c5,0x00000006,0x000000ec,
+ 0x000000eb,0x000000ea,0x0003003e,0x000000cb,0x000000ec,0x000200f9,0x000000d6,0x000200f8,
+ 0x000000d6,0x0004003d,0x00000006,0x000000ee,0x000000cb,0x0004007c,0x00000015,0x000000ef,
+ 0x000000ee,0x0003003e,0x000000ed,0x000000ef,0x0004003d,0x00000015,0x000000f0,0x000000ed,
+ 0x000200fe,0x000000f0,0x00010038,0x00050036,0x00000015,0x0000001d,0x00000000,0x0000001b,
+ 0x00030037,0x0000001a,0x0000001c,0x000200f8,0x0000001e,0x0004003d,0x00000015,0x000000f3,
+ 0x0000001c,0x000200fe,0x000000f3,0x00010038,0x00050036,0x00000006,0x00000022,0x00000000,
+ 0x0000001f,0x00030037,0x00000007,0x00000020,0x00030037,0x0000001a,0x00000021,0x000200f8,
+ 0x00000023,0x0004003b,0x00000007,0x000000f6,0x00000007,0x0004003b,0x00000007,0x000000fb,
+ 0x00000007,0x0004003b,0x00000007,0x00000100,0x00000007,0x0004003b,0x00000007,0x00000101,
+ 0x00000007,0x0004003b,0x00000007,0x00000103,0x00000007,0x0004003b,0x00000007,0x00000106,
+ 0x00000007,0x0004003b,0x00000007,0x00000107,0x00000007,0x0004003b,0x00000007,0x00000109,
+ 0x00000007,0x0004003b,0x00000007,0x0000010d,0x00000007,0x0004003b,0x00000007,0x00000111,
+ 0x00000007,0x0004003b,0x0000001a,0x00000114,0x00000007,0x0004003b,0x00000007,0x0000011d,
+ 0x00000007,0x0004003d,0x00000006,0x000000f7,0x00000020,0x00050041,0x0000002d,0x000000f8,
+ 0x0000002b,0x00000059,0x0004003d,0x00000006,0x000000f9,0x000000f8,0x00050086,0x00000006,
+ 0x000000fa,0x000000f7,0x000000f9,0x0003003e,0x000000f6,0x000000fa,0x0004003d,0x00000006,
+ 0x000000fc,0x00000020,0x00050041,0x0000002d,0x000000fd,0x0000002b,0x00000059,0x0004003d,
+ 0x00000006,0x000000fe,0x000000fd,0x00050089,0x00000006,0x000000ff,0x000000fc,0x000000fe,
+ 0x0003003e,0x000000fb,0x000000ff,0x0004003d,0x00000006,0x00000102,0x000000f6,0x0003003e,
+ 0x00000101,0x00000102,0x0004003d,0x00000006,0x00000104,0x000000fb,0x0003003e,0x00000103,
+ 0x00000104,0x00060039,0x00000006,0x00000105,0x0000000f,0x00000101,0x00000103,0x0003003e,
+ 0x00000100,0x00000105,0x0004003d,0x00000006,0x00000108,0x00000100,0x0003003e,0x00000107,
+ 0x00000108,0x00050041,0x0000002d,0x0000010a,0x0000002b,0x00000043,0x0004003d,0x00000006,
+ 0x0000010b,0x0000010a,0x0003003e,0x00000109,0x0000010b,0x00060039,0x00000006,0x0000010c,
+ 0x00000013,0x00000107,0x00000109,0x0003003e,0x00000106,0x0000010c,0x00050041,0x0000002d,
+ 0x0000010e,0x0000002b,0x00000043,0x0004003d,0x00000006,0x0000010f,0x0000010e,0x00050084,
+ 0x00000006,0x00000110,0x0000010f,0x00000052,0x0003003e,0x0000010d,0x00000110,0x0004003d,
+ 0x00000006,0x00000112,0x0000010d,0x000500aa,0x00000066,0x00000113,0x00000112,0x000000b5,
+ 0x000300f7,0x00000116,0x00000000,0x000400fa,0x00000113,0x00000115,0x00000117,0x000200f8,
+ 0x00000115,0x0003003e,0x00000114,0x000000ba,0x000200f9,0x00000116,0x000200f8,0x00000117,
+ 0x0004003d,0x00000006,0x00000118,0x0000010d,0x000500c4,0x00000015,0x00000119,0x000000bc,
+ 0x00000118,0x00050082,0x00000015,0x0000011a,0x00000119,0x000000bc,0x0003003e,0x00000114,
+ 0x0000011a,0x000200f9,0x00000116,0x000200f8,0x00000116,0x0004003d,0x00000015,0x0000011b,
+ 0x00000114,0x0004007c,0x00000006,0x0000011c,0x0000011b,0x0003003e,0x00000111,0x0000011c,
+ 0x0004003d,0x00000015,0x0000011e,0x00000021,0x0004007c,0x00000006,0x0000011f,0x0000011e,
+ 0x0004003d,0x00000006,0x00000120,0x00000111,0x000500c7,0x00000006,0x00000121,0x0000011f,
+ 0x00000120,0x0004003d,0x00000006,0x00000122,0x00000106,0x000500c4,0x00000006,0x00000123,
+ 0x00000121,0x00000122,0x0003003e,0x0000011d,0x00000123,0x0004003d,0x00000006,0x00000124,
+ 0x0000011d,0x000200fe,0x00000124,0x00010038,0x00050036,0x00000002,0x00000026,0x00000000,
+ 0x00000024,0x00030037,0x00000007,0x00000025,0x000200f8,0x00000027,0x00050041,0x0000012e,
+ 0x0000012f,0x0000012d,0x00000083,0x0004003d,0x00000006,0x00000130,0x0000012f,0x00050041,
+ 0x0000002d,0x00000131,0x0000002b,0x00000048,0x0004003d,0x00000006,0x00000132,0x00000131,
+ 0x00050086,0x00000006,0x00000133,0x00000132,0x00000050,0x00050080,0x00000006,0x00000134,
+ 0x00000130,0x00000133,0x0004003d,0x00000006,0x00000135,0x00000025,0x00060041,0x0000007d,
+ 0x00000136,0x0000012a,0x0000006e,0x00000134,0x0003003e,0x00000136,0x00000135,0x000100fd,
+ 0x00010038
};
// Generated from:
@@ -295,6 +324,9 @@ const uint32_t kConvertVertex_comp_00000000[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -329,9 +361,30 @@ const uint32_t kConvertVertex_comp_00000000[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, params . Bs);
-// uint valueBits = params . Bs * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, params . Bs);
+// valueBits = params . Bs * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc
index 191b9ac7e0f..10cd1f4a574 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x0000012b,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000152,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000e8,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000010f,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -27,216 +27,245 @@ const uint32_t kConvertVertex_comp_00000001[] = {
0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,0x00000025,0x00000007,0x00007345,
0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,0x00000025,0x00000009,0x00006442,
0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,0x00000025,0x0000000b,0x00006445,
- 0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x0000004b,0x66696873,0x00000074,
- 0x00040005,0x00000054,0x74726576,0x00007865,0x00050005,0x0000005a,0x706d6f63,0x6e656e6f,
- 0x00000074,0x00040005,0x0000006d,0x7366666f,0x00007465,0x00040005,0x0000006e,0x61726170,
- 0x0000006d,0x00040005,0x00000070,0x61726170,0x0000006d,0x00040005,0x00000073,0x636f6c62,
- 0x0000006b,0x00030005,0x00000075,0x00637273,0x00050006,0x00000075,0x00000000,0x44637273,
- 0x00617461,0x00030005,0x00000077,0x00000000,0x00050005,0x0000007e,0x66696873,0x74694274,
- 0x00000073,0x00040005,0x0000007f,0x61726170,0x0000006d,0x00040005,0x00000081,0x61726170,
- 0x0000006d,0x00050005,0x00000085,0x756c6176,0x74694265,0x00000073,0x00050005,0x00000089,
- 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x000000a2,0x756c6176,0x55734165,0x00746e69,
- 0x00040005,0x000000aa,0x756c6176,0x00000065,0x00040005,0x000000b2,0x74726576,0x00007865,
- 0x00050005,0x000000b7,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x000000bc,0x7366666f,
- 0x00007465,0x00040005,0x000000bd,0x61726170,0x0000006d,0x00040005,0x000000bf,0x61726170,
- 0x0000006d,0x00050005,0x000000c2,0x66696873,0x74694274,0x00000073,0x00040005,0x000000c3,
- 0x61726170,0x0000006d,0x00040005,0x000000c5,0x61726170,0x0000006d,0x00050005,0x000000c9,
- 0x756c6176,0x74694265,0x00000073,0x00050005,0x000000cd,0x756c6176,0x73614d65,0x0000006b,
- 0x00050005,0x000000d9,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000e3,0x74736564,
- 0x00000000,0x00060006,0x000000e3,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
- 0x000000e5,0x00000000,0x00080005,0x000000e8,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x000000fa,0x756c6176,0x74754f65,0x00000000,0x00030005,
- 0x000000fb,0x00000069,0x00030005,0x00000106,0x00006463,0x00050005,0x00000115,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x00000116,0x61726170,0x0000006d,0x00050005,0x00000119,
- 0x74736564,0x756c6156,0x00000065,0x00040005,0x0000011a,0x61726170,0x0000006d,0x00040005,
- 0x0000011d,0x61726170,0x0000006d,0x00040005,0x0000011f,0x61726170,0x0000006d,0x00040005,
- 0x00000126,0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,
- 0x00000025,0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,
- 0x00000014,0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,
- 0x00000007,0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,
- 0x00050048,0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,
- 0x00000023,0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00030047,
- 0x00000025,0x00000002,0x00040047,0x00000074,0x00000006,0x00000004,0x00050048,0x00000075,
- 0x00000000,0x00000023,0x00000000,0x00030047,0x00000075,0x00000003,0x00040047,0x00000077,
- 0x00000022,0x00000000,0x00040047,0x00000077,0x00000021,0x00000001,0x00040047,0x000000e2,
- 0x00000006,0x00000004,0x00050048,0x000000e3,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x000000e3,0x00000003,0x00040047,0x000000e5,0x00000022,0x00000000,0x00040047,0x000000e5,
- 0x00000021,0x00000000,0x00040047,0x000000e8,0x0000000b,0x0000001c,0x00040047,0x0000012a,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
- 0x00000008,0x00000006,0x00000007,0x00000007,0x00040021,0x00000015,0x00000006,0x00000007,
- 0x00040021,0x00000020,0x00000002,0x00000007,0x000e001e,0x00000025,0x00000006,0x00000006,
+ 0x00060006,0x00000025,0x0000000c,0x72537369,0x52444863,0x00000000,0x00070006,0x00000025,
+ 0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,0x00040005,0x00000027,0x61726170,
+ 0x0000736d,0x00040005,0x0000004b,0x66696873,0x00000074,0x00040005,0x00000054,0x74726576,
+ 0x00007865,0x00050005,0x0000005a,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x0000006d,
+ 0x7366666f,0x00007465,0x00040005,0x0000006e,0x61726170,0x0000006d,0x00040005,0x00000070,
+ 0x61726170,0x0000006d,0x00040005,0x00000073,0x636f6c62,0x0000006b,0x00030005,0x00000075,
+ 0x00637273,0x00050006,0x00000075,0x00000000,0x44637273,0x00617461,0x00030005,0x00000077,
+ 0x00000000,0x00050005,0x00000084,0x756c6176,0x74694265,0x00000073,0x00050005,0x00000089,
+ 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000095,0x66696873,0x74694274,0x00000073,
+ 0x00040005,0x000000a8,0x61726170,0x0000006d,0x00040005,0x000000aa,0x61726170,0x0000006d,
+ 0x00050005,0x000000c9,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000d1,0x756c6176,
+ 0x00000065,0x00040005,0x000000d9,0x74726576,0x00007865,0x00050005,0x000000de,0x706d6f63,
+ 0x6e656e6f,0x00000074,0x00040005,0x000000e3,0x7366666f,0x00007465,0x00040005,0x000000e4,
+ 0x61726170,0x0000006d,0x00040005,0x000000e6,0x61726170,0x0000006d,0x00050005,0x000000e9,
+ 0x66696873,0x74694274,0x00000073,0x00040005,0x000000ea,0x61726170,0x0000006d,0x00040005,
+ 0x000000ec,0x61726170,0x0000006d,0x00050005,0x000000f0,0x756c6176,0x74694265,0x00000073,
+ 0x00050005,0x000000f4,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000100,0x756c6176,
+ 0x55734165,0x00746e69,0x00040005,0x0000010a,0x74736564,0x00000000,0x00060006,0x0000010a,
+ 0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x0000010c,0x00000000,0x00080005,
+ 0x0000010f,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
+ 0x00000121,0x756c6176,0x74754f65,0x00000000,0x00030005,0x00000122,0x00000069,0x00030005,
+ 0x0000012d,0x00006463,0x00050005,0x0000013c,0x56637273,0x65756c61,0x00000000,0x00040005,
+ 0x0000013d,0x61726170,0x0000006d,0x00050005,0x00000140,0x74736564,0x756c6156,0x00000065,
+ 0x00040005,0x00000141,0x61726170,0x0000006d,0x00040005,0x00000144,0x61726170,0x0000006d,
+ 0x00040005,0x00000146,0x61726170,0x0000006d,0x00040005,0x0000014d,0x61726170,0x0000006d,
+ 0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,0x00000025,0x00000001,
+ 0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,0x00000008,0x00050048,
+ 0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,0x00000004,0x00000023,
+ 0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,0x00050048,0x00000025,
+ 0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,0x00000023,0x0000001c,
+ 0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,0x00000025,0x00000009,
+ 0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,0x00000028,0x00050048,
+ 0x00000025,0x0000000b,0x00000023,0x0000002c,0x00050048,0x00000025,0x0000000c,0x00000023,
+ 0x00000030,0x00050048,0x00000025,0x0000000d,0x00000023,0x00000034,0x00030047,0x00000025,
+ 0x00000002,0x00040047,0x00000074,0x00000006,0x00000004,0x00050048,0x00000075,0x00000000,
+ 0x00000023,0x00000000,0x00030047,0x00000075,0x00000003,0x00040047,0x00000077,0x00000022,
+ 0x00000000,0x00040047,0x00000077,0x00000021,0x00000001,0x00040047,0x00000109,0x00000006,
+ 0x00000004,0x00050048,0x0000010a,0x00000000,0x00000023,0x00000000,0x00030047,0x0000010a,
+ 0x00000003,0x00040047,0x0000010c,0x00000022,0x00000000,0x00040047,0x0000010c,0x00000021,
+ 0x00000000,0x00040047,0x0000010f,0x0000000b,0x0000001c,0x00040047,0x00000151,0x0000000b,
+ 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
+ 0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,
+ 0x00000006,0x00000007,0x00000007,0x00040021,0x00000015,0x00000006,0x00000007,0x00040021,
+ 0x00000020,0x00000002,0x00000007,0x0010001e,0x00000025,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,
- 0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,
- 0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,
- 0x0000002f,0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000028,
- 0x0000003b,0x0000000a,0x0004002b,0x00000028,0x00000040,0x00000009,0x0004002b,0x00000028,
- 0x00000045,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000004,0x0004002b,0x00000006,
- 0x0000004f,0x00000008,0x0004002b,0x00000028,0x00000056,0x00000008,0x0004002b,0x00000028,
- 0x00000060,0x00000004,0x00020014,0x00000063,0x0004002b,0x00000006,0x00000066,0x00000003,
- 0x0004002b,0x00000006,0x0000006b,0x00000000,0x0003001d,0x00000074,0x00000006,0x0003001e,
- 0x00000075,0x00000074,0x00040020,0x00000076,0x00000002,0x00000075,0x0004003b,0x00000076,
- 0x00000077,0x00000002,0x0004002b,0x00000028,0x00000078,0x00000000,0x00040020,0x0000007b,
- 0x00000002,0x00000006,0x0004002b,0x00000006,0x0000008b,0x00000020,0x00040020,0x0000008d,
- 0x00000007,0x00000028,0x0004002b,0x00000028,0x00000091,0xffffffff,0x0004002b,0x00000028,
- 0x00000093,0x00000001,0x0004002b,0x00000006,0x000000a3,0x00000001,0x0003001d,0x000000e2,
- 0x00000006,0x0003001e,0x000000e3,0x000000e2,0x00040020,0x000000e4,0x00000002,0x000000e3,
- 0x0004003b,0x000000e4,0x000000e5,0x00000002,0x00040017,0x000000e6,0x00000006,0x00000003,
- 0x00040020,0x000000e7,0x00000001,0x000000e6,0x0004003b,0x000000e7,0x000000e8,0x00000001,
- 0x00040020,0x000000e9,0x00000001,0x00000006,0x0004002b,0x00000028,0x00000102,0x0000000b,
- 0x0004002b,0x00000006,0x00000129,0x00000040,0x0006002c,0x000000e6,0x0000012a,0x00000129,
- 0x000000a3,0x000000a3,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000007,0x000000fa,0x00000007,0x0004003b,0x00000007,0x000000fb,
- 0x00000007,0x0004003b,0x00000007,0x00000106,0x00000007,0x0004003b,0x00000007,0x00000115,
- 0x00000007,0x0004003b,0x00000007,0x00000116,0x00000007,0x0004003b,0x00000007,0x00000119,
- 0x00000007,0x0004003b,0x00000007,0x0000011a,0x00000007,0x0004003b,0x00000007,0x0000011d,
- 0x00000007,0x0004003b,0x00000007,0x0000011f,0x00000007,0x0004003b,0x00000007,0x00000126,
- 0x00000007,0x00050041,0x000000e9,0x000000f2,0x000000e8,0x0000006b,0x0004003d,0x00000006,
- 0x000000f3,0x000000f2,0x00050041,0x0000002a,0x000000f4,0x00000027,0x00000078,0x0004003d,
- 0x00000006,0x000000f5,0x000000f4,0x000500ae,0x00000063,0x000000f6,0x000000f3,0x000000f5,
- 0x000300f7,0x000000f8,0x00000000,0x000400fa,0x000000f6,0x000000f7,0x000000f8,0x000200f8,
- 0x000000f7,0x000100fd,0x000200f8,0x000000f8,0x0003003e,0x000000fa,0x0000006b,0x0003003e,
- 0x000000fb,0x0000006b,0x000200f9,0x000000fc,0x000200f8,0x000000fc,0x000400f6,0x000000fe,
- 0x000000ff,0x00000000,0x000200f9,0x00000100,0x000200f8,0x00000100,0x0004003d,0x00000006,
- 0x00000101,0x000000fb,0x00050041,0x0000002a,0x00000103,0x00000027,0x00000102,0x0004003d,
- 0x00000006,0x00000104,0x00000103,0x000500b0,0x00000063,0x00000105,0x00000101,0x00000104,
- 0x000400fa,0x00000105,0x000000fd,0x000000fe,0x000200f8,0x000000fd,0x00050041,0x000000e9,
- 0x00000107,0x000000e8,0x0000006b,0x0004003d,0x00000006,0x00000108,0x00000107,0x00050041,
- 0x0000002a,0x00000109,0x00000027,0x00000102,0x0004003d,0x00000006,0x0000010a,0x00000109,
- 0x00050084,0x00000006,0x0000010b,0x00000108,0x0000010a,0x0004003d,0x00000006,0x0000010c,
- 0x000000fb,0x00050080,0x00000006,0x0000010d,0x0000010b,0x0000010c,0x0003003e,0x00000106,
- 0x0000010d,0x0004003d,0x00000006,0x0000010e,0x00000106,0x00050041,0x0000002a,0x0000010f,
- 0x00000027,0x00000093,0x0004003d,0x00000006,0x00000110,0x0000010f,0x000500ae,0x00000063,
- 0x00000111,0x0000010e,0x00000110,0x000300f7,0x00000113,0x00000000,0x000400fa,0x00000111,
- 0x00000112,0x00000113,0x000200f8,0x00000112,0x000200f9,0x000000fe,0x000200f8,0x00000113,
- 0x0004003d,0x00000006,0x00000117,0x00000106,0x0003003e,0x00000116,0x00000117,0x00050039,
- 0x00000006,0x00000118,0x00000017,0x00000116,0x0003003e,0x00000115,0x00000118,0x0004003d,
- 0x00000006,0x0000011b,0x00000115,0x0003003e,0x0000011a,0x0000011b,0x00050039,0x00000006,
- 0x0000011c,0x0000001a,0x0000011a,0x0003003e,0x00000119,0x0000011c,0x0004003d,0x00000006,
- 0x0000011e,0x00000106,0x0003003e,0x0000011d,0x0000011e,0x0004003d,0x00000006,0x00000120,
- 0x00000119,0x0003003e,0x0000011f,0x00000120,0x00060039,0x00000006,0x00000121,0x0000001e,
- 0x0000011d,0x0000011f,0x0004003d,0x00000006,0x00000122,0x000000fa,0x000500c5,0x00000006,
- 0x00000123,0x00000122,0x00000121,0x0003003e,0x000000fa,0x00000123,0x000200f9,0x000000ff,
- 0x000200f8,0x000000ff,0x0004003d,0x00000006,0x00000124,0x000000fb,0x00050080,0x00000006,
- 0x00000125,0x00000124,0x00000093,0x0003003e,0x000000fb,0x00000125,0x000200f9,0x000000fc,
- 0x000200f8,0x000000fe,0x0004003d,0x00000006,0x00000127,0x000000fa,0x0003003e,0x00000126,
- 0x00000127,0x00050039,0x00000002,0x00000128,0x00000022,0x00000126,0x000100fd,0x00010038,
- 0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
- 0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,
- 0x00000009,0x00050041,0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,
- 0x0000002c,0x0000002b,0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,
- 0x00000006,0x0000002e,0x0000000a,0x00050041,0x0000002a,0x00000030,0x00000027,0x0000002f,
- 0x0004003d,0x00000006,0x00000031,0x00000030,0x00050084,0x00000006,0x00000032,0x0000002e,
- 0x00000031,0x00050080,0x00000006,0x00000033,0x0000002d,0x00000032,0x00050041,0x0000002a,
- 0x00000035,0x00000027,0x00000034,0x0004003d,0x00000006,0x00000036,0x00000035,0x00050080,
- 0x00000006,0x00000037,0x00000033,0x00000036,0x000200fe,0x00000037,0x00010038,0x00050036,
- 0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003a,0x0000000d,
- 0x00050041,0x0000002a,0x0000003c,0x00000027,0x0000003b,0x0004003d,0x00000006,0x0000003d,
- 0x0000003c,0x00050084,0x00000006,0x0000003e,0x0000003a,0x0000003d,0x0004003d,0x00000006,
- 0x0000003f,0x0000000e,0x00050041,0x0000002a,0x00000041,0x00000027,0x00000040,0x0004003d,
- 0x00000006,0x00000042,0x00000041,0x00050084,0x00000006,0x00000043,0x0000003f,0x00000042,
- 0x00050080,0x00000006,0x00000044,0x0000003e,0x00000043,0x00050041,0x0000002a,0x00000046,
- 0x00000027,0x00000045,0x0004003d,0x00000006,0x00000047,0x00000046,0x00050080,0x00000006,
- 0x00000048,0x00000044,0x00000047,0x000200fe,0x00000048,0x00010038,0x00050036,0x00000006,
- 0x00000013,0x00000000,0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,
- 0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003d,
- 0x00000006,0x0000004c,0x00000011,0x00050089,0x00000006,0x0000004e,0x0000004c,0x0000004d,
- 0x00050084,0x00000006,0x00000050,0x0000004e,0x0000004f,0x0003003e,0x0000004b,0x00000050,
- 0x0004003d,0x00000006,0x00000051,0x0000004b,0x000200fe,0x00000051,0x00010038,0x00050036,
- 0x00000006,0x00000017,0x00000000,0x00000015,0x00030037,0x00000007,0x00000016,0x000200f8,
- 0x00000018,0x0004003b,0x00000007,0x00000054,0x00000007,0x0004003b,0x00000007,0x0000005a,
- 0x00000007,0x0004003b,0x00000007,0x0000006d,0x00000007,0x0004003b,0x00000007,0x0000006e,
- 0x00000007,0x0004003b,0x00000007,0x00000070,0x00000007,0x0004003b,0x00000007,0x00000073,
- 0x00000007,0x0004003b,0x00000007,0x0000007e,0x00000007,0x0004003b,0x00000007,0x0000007f,
- 0x00000007,0x0004003b,0x00000007,0x00000081,0x00000007,0x0004003b,0x00000007,0x00000085,
- 0x00000007,0x0004003b,0x00000007,0x00000089,0x00000007,0x0004003b,0x0000008d,0x0000008e,
- 0x00000007,0x0004003b,0x00000007,0x000000a2,0x00000007,0x0004003b,0x00000007,0x000000aa,
- 0x00000007,0x0004003d,0x00000006,0x00000055,0x00000016,0x00050041,0x0000002a,0x00000057,
- 0x00000027,0x00000056,0x0004003d,0x00000006,0x00000058,0x00000057,0x00050086,0x00000006,
- 0x00000059,0x00000055,0x00000058,0x0003003e,0x00000054,0x00000059,0x0004003d,0x00000006,
- 0x0000005b,0x00000016,0x00050041,0x0000002a,0x0000005c,0x00000027,0x00000056,0x0004003d,
- 0x00000006,0x0000005d,0x0000005c,0x00050089,0x00000006,0x0000005e,0x0000005b,0x0000005d,
- 0x0003003e,0x0000005a,0x0000005e,0x0004003d,0x00000006,0x0000005f,0x0000005a,0x00050041,
- 0x0000002a,0x00000061,0x00000027,0x00000060,0x0004003d,0x00000006,0x00000062,0x00000061,
- 0x000500ae,0x00000063,0x00000064,0x0000005f,0x00000062,0x0004003d,0x00000006,0x00000065,
- 0x0000005a,0x000500b0,0x00000063,0x00000067,0x00000065,0x00000066,0x000500a7,0x00000063,
- 0x00000068,0x00000064,0x00000067,0x000300f7,0x0000006a,0x00000000,0x000400fa,0x00000068,
- 0x00000069,0x0000006a,0x000200f8,0x00000069,0x000200fe,0x0000006b,0x000200f8,0x0000006a,
- 0x0004003d,0x00000006,0x0000006f,0x00000054,0x0003003e,0x0000006e,0x0000006f,0x0004003d,
- 0x00000006,0x00000071,0x0000005a,0x0003003e,0x00000070,0x00000071,0x00060039,0x00000006,
- 0x00000072,0x0000000b,0x0000006e,0x00000070,0x0003003e,0x0000006d,0x00000072,0x0004003d,
- 0x00000006,0x00000079,0x0000006d,0x00050086,0x00000006,0x0000007a,0x00000079,0x0000004d,
- 0x00060041,0x0000007b,0x0000007c,0x00000077,0x00000078,0x0000007a,0x0004003d,0x00000006,
- 0x0000007d,0x0000007c,0x0003003e,0x00000073,0x0000007d,0x0004003d,0x00000006,0x00000080,
- 0x0000006d,0x0003003e,0x0000007f,0x00000080,0x00050041,0x0000002a,0x00000082,0x00000027,
- 0x0000002f,0x0004003d,0x00000006,0x00000083,0x00000082,0x0003003e,0x00000081,0x00000083,
- 0x00060039,0x00000006,0x00000084,0x00000013,0x0000007f,0x00000081,0x0003003e,0x0000007e,
- 0x00000084,0x00050041,0x0000002a,0x00000086,0x00000027,0x0000002f,0x0004003d,0x00000006,
- 0x00000087,0x00000086,0x00050084,0x00000006,0x00000088,0x00000087,0x0000004f,0x0003003e,
- 0x00000085,0x00000088,0x0004003d,0x00000006,0x0000008a,0x00000085,0x000500aa,0x00000063,
- 0x0000008c,0x0000008a,0x0000008b,0x000300f7,0x00000090,0x00000000,0x000400fa,0x0000008c,
- 0x0000008f,0x00000092,0x000200f8,0x0000008f,0x0003003e,0x0000008e,0x00000091,0x000200f9,
- 0x00000090,0x000200f8,0x00000092,0x0004003d,0x00000006,0x00000094,0x00000085,0x000500c4,
- 0x00000028,0x00000095,0x00000093,0x00000094,0x00050082,0x00000028,0x00000096,0x00000095,
- 0x00000093,0x0003003e,0x0000008e,0x00000096,0x000200f9,0x00000090,0x000200f8,0x00000090,
- 0x0004003d,0x00000028,0x00000097,0x0000008e,0x0004007c,0x00000006,0x00000098,0x00000097,
- 0x0003003e,0x00000089,0x00000098,0x0004003d,0x00000006,0x00000099,0x0000005a,0x00050041,
- 0x0000002a,0x0000009a,0x00000027,0x00000060,0x0004003d,0x00000006,0x0000009b,0x0000009a,
- 0x000500ae,0x00000063,0x0000009c,0x00000099,0x0000009b,0x0004003d,0x00000006,0x0000009d,
- 0x0000005a,0x000500aa,0x00000063,0x0000009e,0x0000009d,0x00000066,0x000500a7,0x00000063,
- 0x0000009f,0x0000009c,0x0000009e,0x000300f7,0x000000a1,0x00000000,0x000400fa,0x0000009f,
- 0x000000a0,0x000000a4,0x000200f8,0x000000a0,0x0003003e,0x000000a2,0x000000a3,0x000200f9,
- 0x000000a1,0x000200f8,0x000000a4,0x0004003d,0x00000006,0x000000a5,0x00000073,0x0004003d,
- 0x00000006,0x000000a6,0x0000007e,0x000500c2,0x00000006,0x000000a7,0x000000a5,0x000000a6,
- 0x0004003d,0x00000006,0x000000a8,0x00000089,0x000500c7,0x00000006,0x000000a9,0x000000a7,
- 0x000000a8,0x0003003e,0x000000a2,0x000000a9,0x000200f9,0x000000a1,0x000200f8,0x000000a1,
- 0x0004003d,0x00000006,0x000000ab,0x000000a2,0x0003003e,0x000000aa,0x000000ab,0x0004003d,
- 0x00000006,0x000000ac,0x000000aa,0x000200fe,0x000000ac,0x00010038,0x00050036,0x00000006,
- 0x0000001a,0x00000000,0x00000015,0x00030037,0x00000007,0x00000019,0x000200f8,0x0000001b,
- 0x0004003d,0x00000006,0x000000af,0x00000019,0x000200fe,0x000000af,0x00010038,0x00050036,
- 0x00000006,0x0000001e,0x00000000,0x00000008,0x00030037,0x00000007,0x0000001c,0x00030037,
- 0x00000007,0x0000001d,0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000b2,0x00000007,
- 0x0004003b,0x00000007,0x000000b7,0x00000007,0x0004003b,0x00000007,0x000000bc,0x00000007,
- 0x0004003b,0x00000007,0x000000bd,0x00000007,0x0004003b,0x00000007,0x000000bf,0x00000007,
- 0x0004003b,0x00000007,0x000000c2,0x00000007,0x0004003b,0x00000007,0x000000c3,0x00000007,
- 0x0004003b,0x00000007,0x000000c5,0x00000007,0x0004003b,0x00000007,0x000000c9,0x00000007,
- 0x0004003b,0x00000007,0x000000cd,0x00000007,0x0004003b,0x0000008d,0x000000d0,0x00000007,
- 0x0004003b,0x00000007,0x000000d9,0x00000007,0x0004003d,0x00000006,0x000000b3,0x0000001c,
- 0x00050041,0x0000002a,0x000000b4,0x00000027,0x00000056,0x0004003d,0x00000006,0x000000b5,
- 0x000000b4,0x00050086,0x00000006,0x000000b6,0x000000b3,0x000000b5,0x0003003e,0x000000b2,
- 0x000000b6,0x0004003d,0x00000006,0x000000b8,0x0000001c,0x00050041,0x0000002a,0x000000b9,
- 0x00000027,0x00000056,0x0004003d,0x00000006,0x000000ba,0x000000b9,0x00050089,0x00000006,
- 0x000000bb,0x000000b8,0x000000ba,0x0003003e,0x000000b7,0x000000bb,0x0004003d,0x00000006,
- 0x000000be,0x000000b2,0x0003003e,0x000000bd,0x000000be,0x0004003d,0x00000006,0x000000c0,
- 0x000000b7,0x0003003e,0x000000bf,0x000000c0,0x00060039,0x00000006,0x000000c1,0x0000000f,
- 0x000000bd,0x000000bf,0x0003003e,0x000000bc,0x000000c1,0x0004003d,0x00000006,0x000000c4,
- 0x000000bc,0x0003003e,0x000000c3,0x000000c4,0x00050041,0x0000002a,0x000000c6,0x00000027,
- 0x00000040,0x0004003d,0x00000006,0x000000c7,0x000000c6,0x0003003e,0x000000c5,0x000000c7,
- 0x00060039,0x00000006,0x000000c8,0x00000013,0x000000c3,0x000000c5,0x0003003e,0x000000c2,
- 0x000000c8,0x00050041,0x0000002a,0x000000ca,0x00000027,0x00000040,0x0004003d,0x00000006,
- 0x000000cb,0x000000ca,0x00050084,0x00000006,0x000000cc,0x000000cb,0x0000004f,0x0003003e,
- 0x000000c9,0x000000cc,0x0004003d,0x00000006,0x000000ce,0x000000c9,0x000500aa,0x00000063,
- 0x000000cf,0x000000ce,0x0000008b,0x000300f7,0x000000d2,0x00000000,0x000400fa,0x000000cf,
- 0x000000d1,0x000000d3,0x000200f8,0x000000d1,0x0003003e,0x000000d0,0x00000091,0x000200f9,
- 0x000000d2,0x000200f8,0x000000d3,0x0004003d,0x00000006,0x000000d4,0x000000c9,0x000500c4,
- 0x00000028,0x000000d5,0x00000093,0x000000d4,0x00050082,0x00000028,0x000000d6,0x000000d5,
- 0x00000093,0x0003003e,0x000000d0,0x000000d6,0x000200f9,0x000000d2,0x000200f8,0x000000d2,
- 0x0004003d,0x00000028,0x000000d7,0x000000d0,0x0004007c,0x00000006,0x000000d8,0x000000d7,
- 0x0003003e,0x000000cd,0x000000d8,0x0004003d,0x00000006,0x000000da,0x0000001d,0x0004003d,
- 0x00000006,0x000000db,0x000000cd,0x000500c7,0x00000006,0x000000dc,0x000000da,0x000000db,
- 0x0004003d,0x00000006,0x000000dd,0x000000c2,0x000500c4,0x00000006,0x000000de,0x000000dc,
- 0x000000dd,0x0003003e,0x000000d9,0x000000de,0x0004003d,0x00000006,0x000000df,0x000000d9,
- 0x000200fe,0x000000df,0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,0x00000020,
- 0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,0x000000e9,0x000000ea,
- 0x000000e8,0x0000006b,0x0004003d,0x00000006,0x000000eb,0x000000ea,0x00050041,0x0000002a,
- 0x000000ec,0x00000027,0x00000045,0x0004003d,0x00000006,0x000000ed,0x000000ec,0x00050086,
- 0x00000006,0x000000ee,0x000000ed,0x0000004d,0x00050080,0x00000006,0x000000ef,0x000000eb,
- 0x000000ee,0x0004003d,0x00000006,0x000000f0,0x00000021,0x00060041,0x0000007b,0x000000f1,
- 0x000000e5,0x00000078,0x000000ef,0x0003003e,0x000000f1,0x000000f0,0x000100fd,0x00010038
+ 0x00000006,0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,
+ 0x00000026,0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,
+ 0x00000028,0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,
+ 0x00000028,0x0000002f,0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,
+ 0x00000028,0x0000003b,0x0000000a,0x0004002b,0x00000028,0x00000040,0x00000009,0x0004002b,
+ 0x00000028,0x00000045,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000004,0x0004002b,
+ 0x00000006,0x0000004f,0x00000008,0x0004002b,0x00000028,0x00000056,0x00000008,0x0004002b,
+ 0x00000028,0x00000060,0x00000004,0x00020014,0x00000063,0x0004002b,0x00000006,0x00000066,
+ 0x00000003,0x0004002b,0x00000006,0x0000006b,0x00000000,0x0003001d,0x00000074,0x00000006,
+ 0x0003001e,0x00000075,0x00000074,0x00040020,0x00000076,0x00000002,0x00000075,0x0004003b,
+ 0x00000076,0x00000077,0x00000002,0x0004002b,0x00000028,0x00000078,0x00000000,0x00040020,
+ 0x0000007b,0x00000002,0x00000006,0x0004002b,0x00000028,0x0000007e,0x0000000c,0x0004002b,
+ 0x00000028,0x0000008c,0x000003ff,0x0004002b,0x00000028,0x0000008f,0x0000000d,0x0004002b,
+ 0x00000006,0x00000096,0x0000000a,0x0004002b,0x00000006,0x000000a1,0x00000002,0x0004002b,
+ 0x00000006,0x000000b2,0x00000020,0x00040020,0x000000b4,0x00000007,0x00000028,0x0004002b,
+ 0x00000028,0x000000b8,0xffffffff,0x0004002b,0x00000028,0x000000ba,0x00000001,0x0004002b,
+ 0x00000006,0x000000ca,0x00000001,0x0003001d,0x00000109,0x00000006,0x0003001e,0x0000010a,
+ 0x00000109,0x00040020,0x0000010b,0x00000002,0x0000010a,0x0004003b,0x0000010b,0x0000010c,
+ 0x00000002,0x00040017,0x0000010d,0x00000006,0x00000003,0x00040020,0x0000010e,0x00000001,
+ 0x0000010d,0x0004003b,0x0000010e,0x0000010f,0x00000001,0x00040020,0x00000110,0x00000001,
+ 0x00000006,0x0004002b,0x00000028,0x00000129,0x0000000b,0x0004002b,0x00000006,0x00000150,
+ 0x00000040,0x0006002c,0x0000010d,0x00000151,0x00000150,0x000000ca,0x000000ca,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
+ 0x00000121,0x00000007,0x0004003b,0x00000007,0x00000122,0x00000007,0x0004003b,0x00000007,
+ 0x0000012d,0x00000007,0x0004003b,0x00000007,0x0000013c,0x00000007,0x0004003b,0x00000007,
+ 0x0000013d,0x00000007,0x0004003b,0x00000007,0x00000140,0x00000007,0x0004003b,0x00000007,
+ 0x00000141,0x00000007,0x0004003b,0x00000007,0x00000144,0x00000007,0x0004003b,0x00000007,
+ 0x00000146,0x00000007,0x0004003b,0x00000007,0x0000014d,0x00000007,0x00050041,0x00000110,
+ 0x00000119,0x0000010f,0x0000006b,0x0004003d,0x00000006,0x0000011a,0x00000119,0x00050041,
+ 0x0000002a,0x0000011b,0x00000027,0x00000078,0x0004003d,0x00000006,0x0000011c,0x0000011b,
+ 0x000500ae,0x00000063,0x0000011d,0x0000011a,0x0000011c,0x000300f7,0x0000011f,0x00000000,
+ 0x000400fa,0x0000011d,0x0000011e,0x0000011f,0x000200f8,0x0000011e,0x000100fd,0x000200f8,
+ 0x0000011f,0x0003003e,0x00000121,0x0000006b,0x0003003e,0x00000122,0x0000006b,0x000200f9,
+ 0x00000123,0x000200f8,0x00000123,0x000400f6,0x00000125,0x00000126,0x00000000,0x000200f9,
+ 0x00000127,0x000200f8,0x00000127,0x0004003d,0x00000006,0x00000128,0x00000122,0x00050041,
+ 0x0000002a,0x0000012a,0x00000027,0x00000129,0x0004003d,0x00000006,0x0000012b,0x0000012a,
+ 0x000500b0,0x00000063,0x0000012c,0x00000128,0x0000012b,0x000400fa,0x0000012c,0x00000124,
+ 0x00000125,0x000200f8,0x00000124,0x00050041,0x00000110,0x0000012e,0x0000010f,0x0000006b,
+ 0x0004003d,0x00000006,0x0000012f,0x0000012e,0x00050041,0x0000002a,0x00000130,0x00000027,
+ 0x00000129,0x0004003d,0x00000006,0x00000131,0x00000130,0x00050084,0x00000006,0x00000132,
+ 0x0000012f,0x00000131,0x0004003d,0x00000006,0x00000133,0x00000122,0x00050080,0x00000006,
+ 0x00000134,0x00000132,0x00000133,0x0003003e,0x0000012d,0x00000134,0x0004003d,0x00000006,
+ 0x00000135,0x0000012d,0x00050041,0x0000002a,0x00000136,0x00000027,0x000000ba,0x0004003d,
+ 0x00000006,0x00000137,0x00000136,0x000500ae,0x00000063,0x00000138,0x00000135,0x00000137,
+ 0x000300f7,0x0000013a,0x00000000,0x000400fa,0x00000138,0x00000139,0x0000013a,0x000200f8,
+ 0x00000139,0x000200f9,0x00000125,0x000200f8,0x0000013a,0x0004003d,0x00000006,0x0000013e,
+ 0x0000012d,0x0003003e,0x0000013d,0x0000013e,0x00050039,0x00000006,0x0000013f,0x00000017,
+ 0x0000013d,0x0003003e,0x0000013c,0x0000013f,0x0004003d,0x00000006,0x00000142,0x0000013c,
+ 0x0003003e,0x00000141,0x00000142,0x00050039,0x00000006,0x00000143,0x0000001a,0x00000141,
+ 0x0003003e,0x00000140,0x00000143,0x0004003d,0x00000006,0x00000145,0x0000012d,0x0003003e,
+ 0x00000144,0x00000145,0x0004003d,0x00000006,0x00000147,0x00000140,0x0003003e,0x00000146,
+ 0x00000147,0x00060039,0x00000006,0x00000148,0x0000001e,0x00000144,0x00000146,0x0004003d,
+ 0x00000006,0x00000149,0x00000121,0x000500c5,0x00000006,0x0000014a,0x00000149,0x00000148,
+ 0x0003003e,0x00000121,0x0000014a,0x000200f9,0x00000126,0x000200f8,0x00000126,0x0004003d,
+ 0x00000006,0x0000014b,0x00000122,0x00050080,0x00000006,0x0000014c,0x0000014b,0x000000ba,
+ 0x0003003e,0x00000122,0x0000014c,0x000200f9,0x00000123,0x000200f8,0x00000125,0x0004003d,
+ 0x00000006,0x0000014e,0x00000121,0x0003003e,0x0000014d,0x0000014e,0x00050039,0x00000002,
+ 0x0000014f,0x00000022,0x0000014d,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,
+ 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,
+ 0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,0x0000002a,
+ 0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x00050084,
+ 0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000000a,
+ 0x00050041,0x0000002a,0x00000030,0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000031,
+ 0x00000030,0x00050084,0x00000006,0x00000032,0x0000002e,0x00000031,0x00050080,0x00000006,
+ 0x00000033,0x0000002d,0x00000032,0x00050041,0x0000002a,0x00000035,0x00000027,0x00000034,
+ 0x0004003d,0x00000006,0x00000036,0x00000035,0x00050080,0x00000006,0x00000037,0x00000033,
+ 0x00000036,0x000200fe,0x00000037,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,
+ 0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,
+ 0x00000010,0x0004003d,0x00000006,0x0000003a,0x0000000d,0x00050041,0x0000002a,0x0000003c,
+ 0x00000027,0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000003c,0x00050084,0x00000006,
+ 0x0000003e,0x0000003a,0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000000e,0x00050041,
+ 0x0000002a,0x00000041,0x00000027,0x00000040,0x0004003d,0x00000006,0x00000042,0x00000041,
+ 0x00050084,0x00000006,0x00000043,0x0000003f,0x00000042,0x00050080,0x00000006,0x00000044,
+ 0x0000003e,0x00000043,0x00050041,0x0000002a,0x00000046,0x00000027,0x00000045,0x0004003d,
+ 0x00000006,0x00000047,0x00000046,0x00050080,0x00000006,0x00000048,0x00000044,0x00000047,
+ 0x000200fe,0x00000048,0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,0x00000008,
+ 0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,0x00000012,0x000200f8,0x00000014,
+ 0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003d,0x00000006,0x0000004c,0x00000011,
+ 0x00050089,0x00000006,0x0000004e,0x0000004c,0x0000004d,0x00050084,0x00000006,0x00000050,
+ 0x0000004e,0x0000004f,0x0003003e,0x0000004b,0x00000050,0x0004003d,0x00000006,0x00000051,
+ 0x0000004b,0x000200fe,0x00000051,0x00010038,0x00050036,0x00000006,0x00000017,0x00000000,
+ 0x00000015,0x00030037,0x00000007,0x00000016,0x000200f8,0x00000018,0x0004003b,0x00000007,
+ 0x00000054,0x00000007,0x0004003b,0x00000007,0x0000005a,0x00000007,0x0004003b,0x00000007,
+ 0x0000006d,0x00000007,0x0004003b,0x00000007,0x0000006e,0x00000007,0x0004003b,0x00000007,
+ 0x00000070,0x00000007,0x0004003b,0x00000007,0x00000073,0x00000007,0x0004003b,0x00000007,
+ 0x00000084,0x00000007,0x0004003b,0x00000007,0x00000089,0x00000007,0x0004003b,0x00000007,
+ 0x00000095,0x00000007,0x0004003b,0x00000007,0x0000009c,0x00000007,0x0004003b,0x00000007,
+ 0x000000a8,0x00000007,0x0004003b,0x00000007,0x000000aa,0x00000007,0x0004003b,0x000000b4,
+ 0x000000b5,0x00000007,0x0004003b,0x00000007,0x000000c9,0x00000007,0x0004003b,0x00000007,
+ 0x000000d1,0x00000007,0x0004003d,0x00000006,0x00000055,0x00000016,0x00050041,0x0000002a,
+ 0x00000057,0x00000027,0x00000056,0x0004003d,0x00000006,0x00000058,0x00000057,0x00050086,
+ 0x00000006,0x00000059,0x00000055,0x00000058,0x0003003e,0x00000054,0x00000059,0x0004003d,
+ 0x00000006,0x0000005b,0x00000016,0x00050041,0x0000002a,0x0000005c,0x00000027,0x00000056,
+ 0x0004003d,0x00000006,0x0000005d,0x0000005c,0x00050089,0x00000006,0x0000005e,0x0000005b,
+ 0x0000005d,0x0003003e,0x0000005a,0x0000005e,0x0004003d,0x00000006,0x0000005f,0x0000005a,
+ 0x00050041,0x0000002a,0x00000061,0x00000027,0x00000060,0x0004003d,0x00000006,0x00000062,
+ 0x00000061,0x000500ae,0x00000063,0x00000064,0x0000005f,0x00000062,0x0004003d,0x00000006,
+ 0x00000065,0x0000005a,0x000500b0,0x00000063,0x00000067,0x00000065,0x00000066,0x000500a7,
+ 0x00000063,0x00000068,0x00000064,0x00000067,0x000300f7,0x0000006a,0x00000000,0x000400fa,
+ 0x00000068,0x00000069,0x0000006a,0x000200f8,0x00000069,0x000200fe,0x0000006b,0x000200f8,
+ 0x0000006a,0x0004003d,0x00000006,0x0000006f,0x00000054,0x0003003e,0x0000006e,0x0000006f,
+ 0x0004003d,0x00000006,0x00000071,0x0000005a,0x0003003e,0x00000070,0x00000071,0x00060039,
+ 0x00000006,0x00000072,0x0000000b,0x0000006e,0x00000070,0x0003003e,0x0000006d,0x00000072,
+ 0x0004003d,0x00000006,0x00000079,0x0000006d,0x00050086,0x00000006,0x0000007a,0x00000079,
+ 0x0000004d,0x00060041,0x0000007b,0x0000007c,0x00000077,0x00000078,0x0000007a,0x0004003d,
+ 0x00000006,0x0000007d,0x0000007c,0x0003003e,0x00000073,0x0000007d,0x00050041,0x0000002a,
+ 0x0000007f,0x00000027,0x0000007e,0x0004003d,0x00000006,0x00000080,0x0000007f,0x000500ab,
+ 0x00000063,0x00000081,0x00000080,0x0000006b,0x000300f7,0x00000083,0x00000000,0x000400fa,
+ 0x00000081,0x00000082,0x000000a7,0x000200f8,0x00000082,0x0004003d,0x00000006,0x00000085,
+ 0x0000005a,0x000500aa,0x00000063,0x00000086,0x00000085,0x00000066,0x000600a9,0x00000028,
+ 0x00000087,0x00000086,0x00000034,0x0000003b,0x0004007c,0x00000006,0x00000088,0x00000087,
+ 0x0003003e,0x00000084,0x00000088,0x0004003d,0x00000006,0x0000008a,0x0000005a,0x000500aa,
+ 0x00000063,0x0000008b,0x0000008a,0x00000066,0x000600a9,0x00000028,0x0000008d,0x0000008b,
+ 0x00000045,0x0000008c,0x0004007c,0x00000006,0x0000008e,0x0000008d,0x0003003e,0x00000089,
+ 0x0000008e,0x00050041,0x0000002a,0x00000090,0x00000027,0x0000008f,0x0004003d,0x00000006,
+ 0x00000091,0x00000090,0x000500ab,0x00000063,0x00000092,0x00000091,0x0000006b,0x000300f7,
+ 0x00000094,0x00000000,0x000400fa,0x00000092,0x00000093,0x00000099,0x000200f8,0x00000093,
+ 0x0004003d,0x00000006,0x00000097,0x0000005a,0x00050084,0x00000006,0x00000098,0x00000096,
+ 0x00000097,0x0003003e,0x00000095,0x00000098,0x000200f9,0x00000094,0x000200f8,0x00000099,
+ 0x0004003d,0x00000006,0x0000009a,0x0000005a,0x000500aa,0x00000063,0x0000009b,0x0000009a,
+ 0x00000066,0x000300f7,0x0000009e,0x00000000,0x000400fa,0x0000009b,0x0000009d,0x0000009f,
+ 0x000200f8,0x0000009d,0x0003003e,0x0000009c,0x0000006b,0x000200f9,0x0000009e,0x000200f8,
+ 0x0000009f,0x0004003d,0x00000006,0x000000a0,0x00000084,0x0004003d,0x00000006,0x000000a2,
+ 0x0000005a,0x00050082,0x00000006,0x000000a3,0x000000a1,0x000000a2,0x00050084,0x00000006,
+ 0x000000a4,0x000000a0,0x000000a3,0x00050080,0x00000006,0x000000a5,0x000000a4,0x000000a1,
+ 0x0003003e,0x0000009c,0x000000a5,0x000200f9,0x0000009e,0x000200f8,0x0000009e,0x0004003d,
+ 0x00000006,0x000000a6,0x0000009c,0x0003003e,0x00000095,0x000000a6,0x000200f9,0x00000094,
+ 0x000200f8,0x00000094,0x000200f9,0x00000083,0x000200f8,0x000000a7,0x0004003d,0x00000006,
+ 0x000000a9,0x0000006d,0x0003003e,0x000000a8,0x000000a9,0x00050041,0x0000002a,0x000000ab,
+ 0x00000027,0x0000002f,0x0004003d,0x00000006,0x000000ac,0x000000ab,0x0003003e,0x000000aa,
+ 0x000000ac,0x00060039,0x00000006,0x000000ad,0x00000013,0x000000a8,0x000000aa,0x0003003e,
+ 0x00000095,0x000000ad,0x00050041,0x0000002a,0x000000ae,0x00000027,0x0000002f,0x0004003d,
+ 0x00000006,0x000000af,0x000000ae,0x00050084,0x00000006,0x000000b0,0x000000af,0x0000004f,
+ 0x0003003e,0x00000084,0x000000b0,0x0004003d,0x00000006,0x000000b1,0x00000084,0x000500aa,
+ 0x00000063,0x000000b3,0x000000b1,0x000000b2,0x000300f7,0x000000b7,0x00000000,0x000400fa,
+ 0x000000b3,0x000000b6,0x000000b9,0x000200f8,0x000000b6,0x0003003e,0x000000b5,0x000000b8,
+ 0x000200f9,0x000000b7,0x000200f8,0x000000b9,0x0004003d,0x00000006,0x000000bb,0x00000084,
+ 0x000500c4,0x00000028,0x000000bc,0x000000ba,0x000000bb,0x00050082,0x00000028,0x000000bd,
+ 0x000000bc,0x000000ba,0x0003003e,0x000000b5,0x000000bd,0x000200f9,0x000000b7,0x000200f8,
+ 0x000000b7,0x0004003d,0x00000028,0x000000be,0x000000b5,0x0004007c,0x00000006,0x000000bf,
+ 0x000000be,0x0003003e,0x00000089,0x000000bf,0x000200f9,0x00000083,0x000200f8,0x00000083,
+ 0x0004003d,0x00000006,0x000000c0,0x0000005a,0x00050041,0x0000002a,0x000000c1,0x00000027,
+ 0x00000060,0x0004003d,0x00000006,0x000000c2,0x000000c1,0x000500ae,0x00000063,0x000000c3,
+ 0x000000c0,0x000000c2,0x0004003d,0x00000006,0x000000c4,0x0000005a,0x000500aa,0x00000063,
+ 0x000000c5,0x000000c4,0x00000066,0x000500a7,0x00000063,0x000000c6,0x000000c3,0x000000c5,
+ 0x000300f7,0x000000c8,0x00000000,0x000400fa,0x000000c6,0x000000c7,0x000000cb,0x000200f8,
+ 0x000000c7,0x0003003e,0x000000c9,0x000000ca,0x000200f9,0x000000c8,0x000200f8,0x000000cb,
+ 0x0004003d,0x00000006,0x000000cc,0x00000073,0x0004003d,0x00000006,0x000000cd,0x00000095,
+ 0x000500c2,0x00000006,0x000000ce,0x000000cc,0x000000cd,0x0004003d,0x00000006,0x000000cf,
+ 0x00000089,0x000500c7,0x00000006,0x000000d0,0x000000ce,0x000000cf,0x0003003e,0x000000c9,
+ 0x000000d0,0x000200f9,0x000000c8,0x000200f8,0x000000c8,0x0004003d,0x00000006,0x000000d2,
+ 0x000000c9,0x0003003e,0x000000d1,0x000000d2,0x0004003d,0x00000006,0x000000d3,0x000000d1,
+ 0x000200fe,0x000000d3,0x00010038,0x00050036,0x00000006,0x0000001a,0x00000000,0x00000015,
+ 0x00030037,0x00000007,0x00000019,0x000200f8,0x0000001b,0x0004003d,0x00000006,0x000000d6,
+ 0x00000019,0x000200fe,0x000000d6,0x00010038,0x00050036,0x00000006,0x0000001e,0x00000000,
+ 0x00000008,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,
+ 0x0000001f,0x0004003b,0x00000007,0x000000d9,0x00000007,0x0004003b,0x00000007,0x000000de,
+ 0x00000007,0x0004003b,0x00000007,0x000000e3,0x00000007,0x0004003b,0x00000007,0x000000e4,
+ 0x00000007,0x0004003b,0x00000007,0x000000e6,0x00000007,0x0004003b,0x00000007,0x000000e9,
+ 0x00000007,0x0004003b,0x00000007,0x000000ea,0x00000007,0x0004003b,0x00000007,0x000000ec,
+ 0x00000007,0x0004003b,0x00000007,0x000000f0,0x00000007,0x0004003b,0x00000007,0x000000f4,
+ 0x00000007,0x0004003b,0x000000b4,0x000000f7,0x00000007,0x0004003b,0x00000007,0x00000100,
+ 0x00000007,0x0004003d,0x00000006,0x000000da,0x0000001c,0x00050041,0x0000002a,0x000000db,
+ 0x00000027,0x00000056,0x0004003d,0x00000006,0x000000dc,0x000000db,0x00050086,0x00000006,
+ 0x000000dd,0x000000da,0x000000dc,0x0003003e,0x000000d9,0x000000dd,0x0004003d,0x00000006,
+ 0x000000df,0x0000001c,0x00050041,0x0000002a,0x000000e0,0x00000027,0x00000056,0x0004003d,
+ 0x00000006,0x000000e1,0x000000e0,0x00050089,0x00000006,0x000000e2,0x000000df,0x000000e1,
+ 0x0003003e,0x000000de,0x000000e2,0x0004003d,0x00000006,0x000000e5,0x000000d9,0x0003003e,
+ 0x000000e4,0x000000e5,0x0004003d,0x00000006,0x000000e7,0x000000de,0x0003003e,0x000000e6,
+ 0x000000e7,0x00060039,0x00000006,0x000000e8,0x0000000f,0x000000e4,0x000000e6,0x0003003e,
+ 0x000000e3,0x000000e8,0x0004003d,0x00000006,0x000000eb,0x000000e3,0x0003003e,0x000000ea,
+ 0x000000eb,0x00050041,0x0000002a,0x000000ed,0x00000027,0x00000040,0x0004003d,0x00000006,
+ 0x000000ee,0x000000ed,0x0003003e,0x000000ec,0x000000ee,0x00060039,0x00000006,0x000000ef,
+ 0x00000013,0x000000ea,0x000000ec,0x0003003e,0x000000e9,0x000000ef,0x00050041,0x0000002a,
+ 0x000000f1,0x00000027,0x00000040,0x0004003d,0x00000006,0x000000f2,0x000000f1,0x00050084,
+ 0x00000006,0x000000f3,0x000000f2,0x0000004f,0x0003003e,0x000000f0,0x000000f3,0x0004003d,
+ 0x00000006,0x000000f5,0x000000f0,0x000500aa,0x00000063,0x000000f6,0x000000f5,0x000000b2,
+ 0x000300f7,0x000000f9,0x00000000,0x000400fa,0x000000f6,0x000000f8,0x000000fa,0x000200f8,
+ 0x000000f8,0x0003003e,0x000000f7,0x000000b8,0x000200f9,0x000000f9,0x000200f8,0x000000fa,
+ 0x0004003d,0x00000006,0x000000fb,0x000000f0,0x000500c4,0x00000028,0x000000fc,0x000000ba,
+ 0x000000fb,0x00050082,0x00000028,0x000000fd,0x000000fc,0x000000ba,0x0003003e,0x000000f7,
+ 0x000000fd,0x000200f9,0x000000f9,0x000200f8,0x000000f9,0x0004003d,0x00000028,0x000000fe,
+ 0x000000f7,0x0004007c,0x00000006,0x000000ff,0x000000fe,0x0003003e,0x000000f4,0x000000ff,
+ 0x0004003d,0x00000006,0x00000101,0x0000001d,0x0004003d,0x00000006,0x00000102,0x000000f4,
+ 0x000500c7,0x00000006,0x00000103,0x00000101,0x00000102,0x0004003d,0x00000006,0x00000104,
+ 0x000000e9,0x000500c4,0x00000006,0x00000105,0x00000103,0x00000104,0x0003003e,0x00000100,
+ 0x00000105,0x0004003d,0x00000006,0x00000106,0x00000100,0x000200fe,0x00000106,0x00010038,
+ 0x00050036,0x00000002,0x00000022,0x00000000,0x00000020,0x00030037,0x00000007,0x00000021,
+ 0x000200f8,0x00000023,0x00050041,0x00000110,0x00000111,0x0000010f,0x0000006b,0x0004003d,
+ 0x00000006,0x00000112,0x00000111,0x00050041,0x0000002a,0x00000113,0x00000027,0x00000045,
+ 0x0004003d,0x00000006,0x00000114,0x00000113,0x00050086,0x00000006,0x00000115,0x00000114,
+ 0x0000004d,0x00050080,0x00000006,0x00000116,0x00000112,0x00000115,0x0004003d,0x00000006,
+ 0x00000117,0x00000021,0x00060041,0x0000007b,0x00000118,0x0000010c,0x00000078,0x00000116,
+ 0x0003003e,0x00000118,0x00000117,0x000100fd,0x00010038
};
// Generated from:
@@ -274,6 +303,9 @@ const uint32_t kConvertVertex_comp_00000001[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -308,9 +340,30 @@ const uint32_t kConvertVertex_comp_00000001[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, params . Bs);
-// uint valueBits = params . Bs * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, params . Bs);
+// valueBits = params . Bs * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc
index 304d67470da..5bef0a7f2a7 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x00000109,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000131,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000ca,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000f3,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -24,192 +24,222 @@ const uint32_t kConvertVertex_comp_00000002[] = {
0x00000027,0x00000005,0x00007342,0x00040006,0x00000027,0x00000006,0x00007353,0x00040006,
0x00000027,0x00000007,0x00007345,0x00040006,0x00000027,0x00000008,0x0000644e,0x00040006,
0x00000027,0x00000009,0x00006442,0x00040006,0x00000027,0x0000000a,0x00006453,0x00040006,
- 0x00000027,0x0000000b,0x00006445,0x00040005,0x00000029,0x61726170,0x0000736d,0x00040005,
- 0x0000003b,0x66696873,0x00000074,0x00040005,0x00000044,0x74726576,0x00007865,0x00050005,
- 0x0000004a,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x0000005d,0x7366666f,0x00007465,
- 0x00040005,0x0000005e,0x61726170,0x0000006d,0x00040005,0x00000060,0x61726170,0x0000006d,
- 0x00040005,0x00000063,0x636f6c62,0x0000006b,0x00030005,0x00000065,0x00637273,0x00050006,
- 0x00000065,0x00000000,0x44637273,0x00617461,0x00030005,0x00000067,0x00000000,0x00050005,
- 0x0000006d,0x66696873,0x74694274,0x00000073,0x00040005,0x0000006e,0x61726170,0x0000006d,
- 0x00040005,0x00000070,0x61726170,0x0000006d,0x00050005,0x00000074,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000078,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000090,
- 0x756c6176,0x55734165,0x00746e69,0x00050005,0x0000009d,0x654e7369,0x69746167,0x00006576,
- 0x00060005,0x000000a6,0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000b3,
- 0x756c6176,0x00000065,0x00050005,0x000000bd,0x756c6176,0x55734165,0x00746e69,0x00040005,
- 0x000000c5,0x74736564,0x00000000,0x00060006,0x000000c5,0x00000000,0x74736564,0x61746144,
- 0x00000000,0x00030005,0x000000c7,0x00000000,0x00080005,0x000000ca,0x475f6c67,0x61626f6c,
- 0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000dd,0x756c6176,0x74754f65,
- 0x00000000,0x00030005,0x000000de,0x00000069,0x00030005,0x000000e6,0x00006463,0x00050005,
- 0x000000f3,0x56637273,0x65756c61,0x00000000,0x00040005,0x000000f4,0x61726170,0x0000006d,
- 0x00050005,0x000000f7,0x74736564,0x756c6156,0x00000065,0x00040005,0x000000f8,0x61726170,
- 0x0000006d,0x00040005,0x000000fb,0x61726170,0x0000006d,0x00040005,0x000000fd,0x61726170,
- 0x0000006d,0x00040005,0x00000104,0x61726170,0x0000006d,0x00050048,0x00000027,0x00000000,
- 0x00000023,0x00000000,0x00050048,0x00000027,0x00000001,0x00000023,0x00000004,0x00050048,
- 0x00000027,0x00000002,0x00000023,0x00000008,0x00050048,0x00000027,0x00000003,0x00000023,
- 0x0000000c,0x00050048,0x00000027,0x00000004,0x00000023,0x00000010,0x00050048,0x00000027,
- 0x00000005,0x00000023,0x00000014,0x00050048,0x00000027,0x00000006,0x00000023,0x00000018,
- 0x00050048,0x00000027,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000027,0x00000008,
- 0x00000023,0x00000020,0x00050048,0x00000027,0x00000009,0x00000023,0x00000024,0x00050048,
- 0x00000027,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000027,0x0000000b,0x00000023,
- 0x0000002c,0x00030047,0x00000027,0x00000002,0x00040047,0x00000064,0x00000006,0x00000004,
- 0x00050048,0x00000065,0x00000000,0x00000023,0x00000000,0x00030047,0x00000065,0x00000003,
- 0x00040047,0x00000067,0x00000022,0x00000000,0x00040047,0x00000067,0x00000021,0x00000001,
- 0x00040047,0x000000c4,0x00000006,0x00000004,0x00050048,0x000000c5,0x00000000,0x00000023,
- 0x00000000,0x00030047,0x000000c5,0x00000003,0x00040047,0x000000c7,0x00000022,0x00000000,
- 0x00040047,0x000000c7,0x00000021,0x00000000,0x00040047,0x000000ca,0x0000000b,0x0000001c,
- 0x00040047,0x00000108,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,
- 0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,0x00000011,
- 0x00000020,0x00000001,0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,
- 0x00000007,0x00000011,0x00030016,0x00000017,0x00000020,0x00040021,0x00000018,0x00000017,
- 0x00000016,0x00040020,0x0000001c,0x00000007,0x00000017,0x00050021,0x0000001d,0x00000006,
- 0x00000007,0x0000001c,0x00040021,0x00000022,0x00000002,0x00000007,0x000e001e,0x00000027,
+ 0x00000027,0x0000000b,0x00006445,0x00060006,0x00000027,0x0000000c,0x72537369,0x52444863,
+ 0x00000000,0x00070006,0x00000027,0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,
+ 0x00040005,0x00000029,0x61726170,0x0000736d,0x00040005,0x0000003b,0x66696873,0x00000074,
+ 0x00040005,0x00000044,0x74726576,0x00007865,0x00050005,0x0000004a,0x706d6f63,0x6e656e6f,
+ 0x00000074,0x00040005,0x0000005d,0x7366666f,0x00007465,0x00040005,0x0000005e,0x61726170,
+ 0x0000006d,0x00040005,0x00000060,0x61726170,0x0000006d,0x00040005,0x00000063,0x636f6c62,
+ 0x0000006b,0x00030005,0x00000065,0x00637273,0x00050006,0x00000065,0x00000000,0x44637273,
+ 0x00617461,0x00030005,0x00000067,0x00000000,0x00050005,0x00000074,0x756c6176,0x74694265,
+ 0x00000073,0x00050005,0x0000007a,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000087,
+ 0x66696873,0x74694274,0x00000073,0x00040005,0x0000009a,0x61726170,0x0000006d,0x00040005,
+ 0x0000009c,0x61726170,0x0000006d,0x00050005,0x000000ba,0x756c6176,0x55734165,0x00746e69,
+ 0x00050005,0x000000c7,0x654e7369,0x69746167,0x00006576,0x00060005,0x000000cf,0x6e676973,
+ 0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000dc,0x756c6176,0x00000065,0x00050005,
+ 0x000000e6,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000ee,0x74736564,0x00000000,
+ 0x00060006,0x000000ee,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000f0,
+ 0x00000000,0x00080005,0x000000f3,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,
+ 0x00000044,0x00050005,0x00000105,0x756c6176,0x74754f65,0x00000000,0x00030005,0x00000106,
+ 0x00000069,0x00030005,0x0000010e,0x00006463,0x00050005,0x0000011b,0x56637273,0x65756c61,
+ 0x00000000,0x00040005,0x0000011c,0x61726170,0x0000006d,0x00050005,0x0000011f,0x74736564,
+ 0x756c6156,0x00000065,0x00040005,0x00000120,0x61726170,0x0000006d,0x00040005,0x00000123,
+ 0x61726170,0x0000006d,0x00040005,0x00000125,0x61726170,0x0000006d,0x00040005,0x0000012c,
+ 0x61726170,0x0000006d,0x00050048,0x00000027,0x00000000,0x00000023,0x00000000,0x00050048,
+ 0x00000027,0x00000001,0x00000023,0x00000004,0x00050048,0x00000027,0x00000002,0x00000023,
+ 0x00000008,0x00050048,0x00000027,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000027,
+ 0x00000004,0x00000023,0x00000010,0x00050048,0x00000027,0x00000005,0x00000023,0x00000014,
+ 0x00050048,0x00000027,0x00000006,0x00000023,0x00000018,0x00050048,0x00000027,0x00000007,
+ 0x00000023,0x0000001c,0x00050048,0x00000027,0x00000008,0x00000023,0x00000020,0x00050048,
+ 0x00000027,0x00000009,0x00000023,0x00000024,0x00050048,0x00000027,0x0000000a,0x00000023,
+ 0x00000028,0x00050048,0x00000027,0x0000000b,0x00000023,0x0000002c,0x00050048,0x00000027,
+ 0x0000000c,0x00000023,0x00000030,0x00050048,0x00000027,0x0000000d,0x00000023,0x00000034,
+ 0x00030047,0x00000027,0x00000002,0x00040047,0x00000064,0x00000006,0x00000004,0x00050048,
+ 0x00000065,0x00000000,0x00000023,0x00000000,0x00030047,0x00000065,0x00000003,0x00040047,
+ 0x00000067,0x00000022,0x00000000,0x00040047,0x00000067,0x00000021,0x00000001,0x00040047,
+ 0x000000ed,0x00000006,0x00000004,0x00050048,0x000000ee,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x000000ee,0x00000003,0x00040047,0x000000f0,0x00000022,0x00000000,0x00040047,
+ 0x000000f0,0x00000021,0x00000000,0x00040047,0x000000f3,0x0000000b,0x0000001c,0x00040047,
+ 0x00000130,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
+ 0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,
+ 0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,0x00000011,0x00000020,
+ 0x00000001,0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,
+ 0x00000011,0x00030016,0x00000017,0x00000020,0x00040021,0x00000018,0x00000017,0x00000016,
+ 0x00040020,0x0000001c,0x00000007,0x00000017,0x00050021,0x0000001d,0x00000006,0x00000007,
+ 0x0000001c,0x00040021,0x00000022,0x00000002,0x00000007,0x0010001e,0x00000027,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000028,0x00000009,0x00000027,
- 0x0004003b,0x00000028,0x00000029,0x00000009,0x0004002b,0x00000011,0x0000002a,0x00000006,
- 0x00040020,0x0000002b,0x00000009,0x00000006,0x0004002b,0x00000011,0x00000030,0x00000005,
- 0x0004002b,0x00000011,0x00000035,0x00000002,0x0004002b,0x00000006,0x0000003d,0x00000004,
- 0x0004002b,0x00000006,0x0000003f,0x00000008,0x0004002b,0x00000011,0x00000046,0x00000008,
- 0x0004002b,0x00000011,0x00000050,0x00000004,0x00020014,0x00000053,0x0004002b,0x00000006,
- 0x00000056,0x00000003,0x0004002b,0x00000011,0x0000005b,0x00000000,0x0003001d,0x00000064,
- 0x00000006,0x0003001e,0x00000065,0x00000064,0x00040020,0x00000066,0x00000002,0x00000065,
- 0x0004003b,0x00000066,0x00000067,0x00000002,0x00040020,0x0000006a,0x00000002,0x00000006,
- 0x0004002b,0x00000006,0x0000007a,0x00000020,0x0004002b,0x00000011,0x0000007f,0xffffffff,
- 0x0004002b,0x00000011,0x00000081,0x00000001,0x0004002b,0x00000006,0x00000091,0x00000001,
- 0x00040020,0x0000009c,0x00000007,0x00000053,0x0004002b,0x00000006,0x000000a4,0x00000000,
- 0x0003001d,0x000000c4,0x00000006,0x0003001e,0x000000c5,0x000000c4,0x00040020,0x000000c6,
- 0x00000002,0x000000c5,0x0004003b,0x000000c6,0x000000c7,0x00000002,0x00040017,0x000000c8,
- 0x00000006,0x00000003,0x00040020,0x000000c9,0x00000001,0x000000c8,0x0004003b,0x000000c9,
- 0x000000ca,0x00000001,0x00040020,0x000000cb,0x00000001,0x00000006,0x0004002b,0x00000011,
- 0x000000ce,0x00000003,0x0004002b,0x00000006,0x00000107,0x00000040,0x0006002c,0x000000c8,
- 0x00000108,0x00000107,0x00000091,0x00000091,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x000000dd,0x00000007,0x0004003b,
- 0x00000007,0x000000de,0x00000007,0x0004003b,0x00000007,0x000000e6,0x00000007,0x0004003b,
- 0x00000016,0x000000f3,0x00000007,0x0004003b,0x00000007,0x000000f4,0x00000007,0x0004003b,
- 0x0000001c,0x000000f7,0x00000007,0x0004003b,0x00000016,0x000000f8,0x00000007,0x0004003b,
- 0x00000007,0x000000fb,0x00000007,0x0004003b,0x0000001c,0x000000fd,0x00000007,0x0004003b,
- 0x00000007,0x00000104,0x00000007,0x00050041,0x000000cb,0x000000d5,0x000000ca,0x000000a4,
- 0x0004003d,0x00000006,0x000000d6,0x000000d5,0x00050041,0x0000002b,0x000000d7,0x00000029,
- 0x0000005b,0x0004003d,0x00000006,0x000000d8,0x000000d7,0x000500ae,0x00000053,0x000000d9,
- 0x000000d6,0x000000d8,0x000300f7,0x000000db,0x00000000,0x000400fa,0x000000d9,0x000000da,
- 0x000000db,0x000200f8,0x000000da,0x000100fd,0x000200f8,0x000000db,0x0003003e,0x000000dd,
- 0x000000a4,0x0003003e,0x000000de,0x000000a4,0x000200f9,0x000000df,0x000200f8,0x000000df,
- 0x000400f6,0x000000e1,0x000000e2,0x00000000,0x000200f9,0x000000e3,0x000200f8,0x000000e3,
- 0x0004003d,0x00000006,0x000000e4,0x000000de,0x000500b0,0x00000053,0x000000e5,0x000000e4,
- 0x00000091,0x000400fa,0x000000e5,0x000000e0,0x000000e1,0x000200f8,0x000000e0,0x00050041,
- 0x000000cb,0x000000e7,0x000000ca,0x000000a4,0x0004003d,0x00000006,0x000000e8,0x000000e7,
- 0x00050084,0x00000006,0x000000e9,0x000000e8,0x00000091,0x0004003d,0x00000006,0x000000ea,
- 0x000000de,0x00050080,0x00000006,0x000000eb,0x000000e9,0x000000ea,0x0003003e,0x000000e6,
- 0x000000eb,0x0004003d,0x00000006,0x000000ec,0x000000e6,0x00050041,0x0000002b,0x000000ed,
- 0x00000029,0x00000081,0x0004003d,0x00000006,0x000000ee,0x000000ed,0x000500ae,0x00000053,
- 0x000000ef,0x000000ec,0x000000ee,0x000300f7,0x000000f1,0x00000000,0x000400fa,0x000000ef,
- 0x000000f0,0x000000f1,0x000200f8,0x000000f0,0x000200f9,0x000000e1,0x000200f8,0x000000f1,
- 0x0004003d,0x00000006,0x000000f5,0x000000e6,0x0003003e,0x000000f4,0x000000f5,0x00050039,
- 0x00000011,0x000000f6,0x00000014,0x000000f4,0x0003003e,0x000000f3,0x000000f6,0x0004003d,
- 0x00000011,0x000000f9,0x000000f3,0x0003003e,0x000000f8,0x000000f9,0x00050039,0x00000017,
- 0x000000fa,0x0000001a,0x000000f8,0x0003003e,0x000000f7,0x000000fa,0x0004003d,0x00000006,
- 0x000000fc,0x000000e6,0x0003003e,0x000000fb,0x000000fc,0x0004003d,0x00000017,0x000000fe,
- 0x000000f7,0x0003003e,0x000000fd,0x000000fe,0x00060039,0x00000006,0x000000ff,0x00000020,
- 0x000000fb,0x000000fd,0x0004003d,0x00000006,0x00000100,0x000000dd,0x000500c5,0x00000006,
- 0x00000101,0x00000100,0x000000ff,0x0003003e,0x000000dd,0x00000101,0x000200f9,0x000000e2,
- 0x000200f8,0x000000e2,0x0004003d,0x00000006,0x00000102,0x000000de,0x00050080,0x00000006,
- 0x00000103,0x00000102,0x00000081,0x0003003e,0x000000de,0x00000103,0x000200f9,0x000000df,
- 0x000200f8,0x000000e1,0x0004003d,0x00000006,0x00000105,0x000000dd,0x0003003e,0x00000104,
- 0x00000105,0x00050039,0x00000002,0x00000106,0x00000024,0x00000104,0x000100fd,0x00010038,
- 0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
- 0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000026,
- 0x00000009,0x00050041,0x0000002b,0x0000002c,0x00000029,0x0000002a,0x0004003d,0x00000006,
- 0x0000002d,0x0000002c,0x00050084,0x00000006,0x0000002e,0x00000026,0x0000002d,0x0004003d,
- 0x00000006,0x0000002f,0x0000000a,0x00050041,0x0000002b,0x00000031,0x00000029,0x00000030,
- 0x0004003d,0x00000006,0x00000032,0x00000031,0x00050084,0x00000006,0x00000033,0x0000002f,
- 0x00000032,0x00050080,0x00000006,0x00000034,0x0000002e,0x00000033,0x00050041,0x0000002b,
- 0x00000036,0x00000029,0x00000035,0x0004003d,0x00000006,0x00000037,0x00000036,0x00050080,
- 0x00000006,0x00000038,0x00000034,0x00000037,0x000200fe,0x00000038,0x00010038,0x00050036,
- 0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,0x0000003b,0x00000007,
- 0x0004003d,0x00000006,0x0000003c,0x0000000d,0x00050089,0x00000006,0x0000003e,0x0000003c,
- 0x0000003d,0x00050084,0x00000006,0x00000040,0x0000003e,0x0000003f,0x0003003e,0x0000003b,
- 0x00000040,0x0004003d,0x00000006,0x00000041,0x0000003b,0x000200fe,0x00000041,0x00010038,
- 0x00050036,0x00000011,0x00000014,0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,
- 0x000200f8,0x00000015,0x0004003b,0x00000007,0x00000044,0x00000007,0x0004003b,0x00000007,
- 0x0000004a,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,
- 0x0000005e,0x00000007,0x0004003b,0x00000007,0x00000060,0x00000007,0x0004003b,0x00000007,
- 0x00000063,0x00000007,0x0004003b,0x00000007,0x0000006d,0x00000007,0x0004003b,0x00000007,
- 0x0000006e,0x00000007,0x0004003b,0x00000007,0x00000070,0x00000007,0x0004003b,0x00000007,
- 0x00000074,0x00000007,0x0004003b,0x00000007,0x00000078,0x00000007,0x0004003b,0x00000016,
- 0x0000007c,0x00000007,0x0004003b,0x00000007,0x00000090,0x00000007,0x0004003b,0x0000009c,
- 0x0000009d,0x00000007,0x0004003b,0x00000007,0x000000a6,0x00000007,0x0004003b,0x00000016,
- 0x000000a8,0x00000007,0x0004003b,0x00000016,0x000000b3,0x00000007,0x0004003d,0x00000006,
- 0x00000045,0x00000013,0x00050041,0x0000002b,0x00000047,0x00000029,0x00000046,0x0004003d,
- 0x00000006,0x00000048,0x00000047,0x00050086,0x00000006,0x00000049,0x00000045,0x00000048,
- 0x0003003e,0x00000044,0x00000049,0x0004003d,0x00000006,0x0000004b,0x00000013,0x00050041,
- 0x0000002b,0x0000004c,0x00000029,0x00000046,0x0004003d,0x00000006,0x0000004d,0x0000004c,
- 0x00050089,0x00000006,0x0000004e,0x0000004b,0x0000004d,0x0003003e,0x0000004a,0x0000004e,
- 0x0004003d,0x00000006,0x0000004f,0x0000004a,0x00050041,0x0000002b,0x00000051,0x00000029,
- 0x00000050,0x0004003d,0x00000006,0x00000052,0x00000051,0x000500ae,0x00000053,0x00000054,
- 0x0000004f,0x00000052,0x0004003d,0x00000006,0x00000055,0x0000004a,0x000500b0,0x00000053,
- 0x00000057,0x00000055,0x00000056,0x000500a7,0x00000053,0x00000058,0x00000054,0x00000057,
- 0x000300f7,0x0000005a,0x00000000,0x000400fa,0x00000058,0x00000059,0x0000005a,0x000200f8,
- 0x00000059,0x000200fe,0x0000005b,0x000200f8,0x0000005a,0x0004003d,0x00000006,0x0000005f,
- 0x00000044,0x0003003e,0x0000005e,0x0000005f,0x0004003d,0x00000006,0x00000061,0x0000004a,
- 0x0003003e,0x00000060,0x00000061,0x00060039,0x00000006,0x00000062,0x0000000b,0x0000005e,
- 0x00000060,0x0003003e,0x0000005d,0x00000062,0x0004003d,0x00000006,0x00000068,0x0000005d,
- 0x00050086,0x00000006,0x00000069,0x00000068,0x0000003d,0x00060041,0x0000006a,0x0000006b,
- 0x00000067,0x0000005b,0x00000069,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x0003003e,
- 0x00000063,0x0000006c,0x0004003d,0x00000006,0x0000006f,0x0000005d,0x0003003e,0x0000006e,
- 0x0000006f,0x00050041,0x0000002b,0x00000071,0x00000029,0x00000030,0x0004003d,0x00000006,
- 0x00000072,0x00000071,0x0003003e,0x00000070,0x00000072,0x00060039,0x00000006,0x00000073,
- 0x0000000f,0x0000006e,0x00000070,0x0003003e,0x0000006d,0x00000073,0x00050041,0x0000002b,
- 0x00000075,0x00000029,0x00000030,0x0004003d,0x00000006,0x00000076,0x00000075,0x00050084,
- 0x00000006,0x00000077,0x00000076,0x0000003f,0x0003003e,0x00000074,0x00000077,0x0004003d,
- 0x00000006,0x00000079,0x00000074,0x000500aa,0x00000053,0x0000007b,0x00000079,0x0000007a,
- 0x000300f7,0x0000007e,0x00000000,0x000400fa,0x0000007b,0x0000007d,0x00000080,0x000200f8,
- 0x0000007d,0x0003003e,0x0000007c,0x0000007f,0x000200f9,0x0000007e,0x000200f8,0x00000080,
- 0x0004003d,0x00000006,0x00000082,0x00000074,0x000500c4,0x00000011,0x00000083,0x00000081,
- 0x00000082,0x00050082,0x00000011,0x00000084,0x00000083,0x00000081,0x0003003e,0x0000007c,
- 0x00000084,0x000200f9,0x0000007e,0x000200f8,0x0000007e,0x0004003d,0x00000011,0x00000085,
- 0x0000007c,0x0004007c,0x00000006,0x00000086,0x00000085,0x0003003e,0x00000078,0x00000086,
- 0x0004003d,0x00000006,0x00000087,0x0000004a,0x00050041,0x0000002b,0x00000088,0x00000029,
- 0x00000050,0x0004003d,0x00000006,0x00000089,0x00000088,0x000500ae,0x00000053,0x0000008a,
- 0x00000087,0x00000089,0x0004003d,0x00000006,0x0000008b,0x0000004a,0x000500aa,0x00000053,
- 0x0000008c,0x0000008b,0x00000056,0x000500a7,0x00000053,0x0000008d,0x0000008a,0x0000008c,
- 0x000300f7,0x0000008f,0x00000000,0x000400fa,0x0000008d,0x0000008e,0x00000092,0x000200f8,
- 0x0000008e,0x0003003e,0x00000090,0x00000091,0x000200f9,0x0000008f,0x000200f8,0x00000092,
- 0x0004003d,0x00000006,0x00000093,0x00000063,0x0004003d,0x00000006,0x00000094,0x0000006d,
- 0x000500c2,0x00000006,0x00000095,0x00000093,0x00000094,0x0004003d,0x00000006,0x00000096,
- 0x00000078,0x000500c7,0x00000006,0x00000097,0x00000095,0x00000096,0x0003003e,0x00000090,
- 0x00000097,0x000200f9,0x0000008f,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000098,
- 0x00000074,0x000500b0,0x00000053,0x00000099,0x00000098,0x0000007a,0x000300f7,0x0000009b,
- 0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x0004003d,
- 0x00000006,0x0000009e,0x00000090,0x0004003d,0x00000006,0x0000009f,0x00000074,0x00050082,
- 0x00000006,0x000000a0,0x0000009f,0x00000091,0x000500c4,0x00000011,0x000000a1,0x00000081,
- 0x000000a0,0x0004007c,0x00000006,0x000000a2,0x000000a1,0x000500c7,0x00000006,0x000000a3,
- 0x0000009e,0x000000a2,0x000500ab,0x00000053,0x000000a5,0x000000a3,0x000000a4,0x0003003e,
- 0x0000009d,0x000000a5,0x0004003d,0x00000053,0x000000a7,0x0000009d,0x000300f7,0x000000aa,
- 0x00000000,0x000400fa,0x000000a7,0x000000a9,0x000000ad,0x000200f8,0x000000a9,0x0004003d,
- 0x00000006,0x000000ab,0x00000074,0x000500c4,0x00000011,0x000000ac,0x0000007f,0x000000ab,
- 0x0003003e,0x000000a8,0x000000ac,0x000200f9,0x000000aa,0x000200f8,0x000000ad,0x0003003e,
- 0x000000a8,0x0000005b,0x000200f9,0x000000aa,0x000200f8,0x000000aa,0x0004003d,0x00000011,
- 0x000000ae,0x000000a8,0x0004007c,0x00000006,0x000000af,0x000000ae,0x0003003e,0x000000a6,
- 0x000000af,0x0004003d,0x00000006,0x000000b0,0x000000a6,0x0004003d,0x00000006,0x000000b1,
- 0x00000090,0x000500c5,0x00000006,0x000000b2,0x000000b1,0x000000b0,0x0003003e,0x00000090,
- 0x000000b2,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x0004003d,0x00000006,0x000000b4,
- 0x00000090,0x0004007c,0x00000011,0x000000b5,0x000000b4,0x0003003e,0x000000b3,0x000000b5,
- 0x0004003d,0x00000011,0x000000b6,0x000000b3,0x000200fe,0x000000b6,0x00010038,0x00050036,
- 0x00000017,0x0000001a,0x00000000,0x00000018,0x00030037,0x00000016,0x00000019,0x000200f8,
- 0x0000001b,0x0004003d,0x00000011,0x000000b9,0x00000019,0x0004006f,0x00000017,0x000000ba,
- 0x000000b9,0x000200fe,0x000000ba,0x00010038,0x00050036,0x00000006,0x00000020,0x00000000,
- 0x0000001d,0x00030037,0x00000007,0x0000001e,0x00030037,0x0000001c,0x0000001f,0x000200f8,
- 0x00000021,0x0004003b,0x00000007,0x000000bd,0x00000007,0x0004003d,0x00000017,0x000000be,
- 0x0000001f,0x0004007c,0x00000011,0x000000bf,0x000000be,0x0004007c,0x00000006,0x000000c0,
- 0x000000bf,0x0003003e,0x000000bd,0x000000c0,0x0004003d,0x00000006,0x000000c1,0x000000bd,
- 0x000200fe,0x000000c1,0x00010038,0x00050036,0x00000002,0x00000024,0x00000000,0x00000022,
- 0x00030037,0x00000007,0x00000023,0x000200f8,0x00000025,0x00050041,0x000000cb,0x000000cc,
- 0x000000ca,0x000000a4,0x0004003d,0x00000006,0x000000cd,0x000000cc,0x00050041,0x0000002b,
- 0x000000cf,0x00000029,0x000000ce,0x0004003d,0x00000006,0x000000d0,0x000000cf,0x00050086,
- 0x00000006,0x000000d1,0x000000d0,0x0000003d,0x00050080,0x00000006,0x000000d2,0x000000cd,
- 0x000000d1,0x0004003d,0x00000006,0x000000d3,0x00000023,0x00060041,0x0000006a,0x000000d4,
- 0x000000c7,0x0000005b,0x000000d2,0x0003003e,0x000000d4,0x000000d3,0x000100fd,0x00010038
+ 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000028,0x00000009,
+ 0x00000027,0x0004003b,0x00000028,0x00000029,0x00000009,0x0004002b,0x00000011,0x0000002a,
+ 0x00000006,0x00040020,0x0000002b,0x00000009,0x00000006,0x0004002b,0x00000011,0x00000030,
+ 0x00000005,0x0004002b,0x00000011,0x00000035,0x00000002,0x0004002b,0x00000006,0x0000003d,
+ 0x00000004,0x0004002b,0x00000006,0x0000003f,0x00000008,0x0004002b,0x00000011,0x00000046,
+ 0x00000008,0x0004002b,0x00000011,0x00000050,0x00000004,0x00020014,0x00000053,0x0004002b,
+ 0x00000006,0x00000056,0x00000003,0x0004002b,0x00000011,0x0000005b,0x00000000,0x0003001d,
+ 0x00000064,0x00000006,0x0003001e,0x00000065,0x00000064,0x00040020,0x00000066,0x00000002,
+ 0x00000065,0x0004003b,0x00000066,0x00000067,0x00000002,0x00040020,0x0000006a,0x00000002,
+ 0x00000006,0x0004002b,0x00000011,0x0000006d,0x0000000c,0x0004002b,0x00000006,0x00000070,
+ 0x00000000,0x0004002b,0x00000011,0x00000077,0x0000000a,0x0004002b,0x00000011,0x0000007d,
+ 0x00000003,0x0004002b,0x00000011,0x0000007e,0x000003ff,0x0004002b,0x00000011,0x00000081,
+ 0x0000000d,0x0004002b,0x00000006,0x00000088,0x0000000a,0x0004002b,0x00000006,0x00000093,
+ 0x00000002,0x0004002b,0x00000006,0x000000a4,0x00000020,0x0004002b,0x00000011,0x000000a9,
+ 0xffffffff,0x0004002b,0x00000011,0x000000ab,0x00000001,0x0004002b,0x00000006,0x000000bb,
+ 0x00000001,0x00040020,0x000000c6,0x00000007,0x00000053,0x0003001d,0x000000ed,0x00000006,
+ 0x0003001e,0x000000ee,0x000000ed,0x00040020,0x000000ef,0x00000002,0x000000ee,0x0004003b,
+ 0x000000ef,0x000000f0,0x00000002,0x00040017,0x000000f1,0x00000006,0x00000003,0x00040020,
+ 0x000000f2,0x00000001,0x000000f1,0x0004003b,0x000000f2,0x000000f3,0x00000001,0x00040020,
+ 0x000000f4,0x00000001,0x00000006,0x0004002b,0x00000006,0x0000012f,0x00000040,0x0006002c,
+ 0x000000f1,0x00000130,0x0000012f,0x000000bb,0x000000bb,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000105,0x00000007,
+ 0x0004003b,0x00000007,0x00000106,0x00000007,0x0004003b,0x00000007,0x0000010e,0x00000007,
+ 0x0004003b,0x00000016,0x0000011b,0x00000007,0x0004003b,0x00000007,0x0000011c,0x00000007,
+ 0x0004003b,0x0000001c,0x0000011f,0x00000007,0x0004003b,0x00000016,0x00000120,0x00000007,
+ 0x0004003b,0x00000007,0x00000123,0x00000007,0x0004003b,0x0000001c,0x00000125,0x00000007,
+ 0x0004003b,0x00000007,0x0000012c,0x00000007,0x00050041,0x000000f4,0x000000fd,0x000000f3,
+ 0x00000070,0x0004003d,0x00000006,0x000000fe,0x000000fd,0x00050041,0x0000002b,0x000000ff,
+ 0x00000029,0x0000005b,0x0004003d,0x00000006,0x00000100,0x000000ff,0x000500ae,0x00000053,
+ 0x00000101,0x000000fe,0x00000100,0x000300f7,0x00000103,0x00000000,0x000400fa,0x00000101,
+ 0x00000102,0x00000103,0x000200f8,0x00000102,0x000100fd,0x000200f8,0x00000103,0x0003003e,
+ 0x00000105,0x00000070,0x0003003e,0x00000106,0x00000070,0x000200f9,0x00000107,0x000200f8,
+ 0x00000107,0x000400f6,0x00000109,0x0000010a,0x00000000,0x000200f9,0x0000010b,0x000200f8,
+ 0x0000010b,0x0004003d,0x00000006,0x0000010c,0x00000106,0x000500b0,0x00000053,0x0000010d,
+ 0x0000010c,0x000000bb,0x000400fa,0x0000010d,0x00000108,0x00000109,0x000200f8,0x00000108,
+ 0x00050041,0x000000f4,0x0000010f,0x000000f3,0x00000070,0x0004003d,0x00000006,0x00000110,
+ 0x0000010f,0x00050084,0x00000006,0x00000111,0x00000110,0x000000bb,0x0004003d,0x00000006,
+ 0x00000112,0x00000106,0x00050080,0x00000006,0x00000113,0x00000111,0x00000112,0x0003003e,
+ 0x0000010e,0x00000113,0x0004003d,0x00000006,0x00000114,0x0000010e,0x00050041,0x0000002b,
+ 0x00000115,0x00000029,0x000000ab,0x0004003d,0x00000006,0x00000116,0x00000115,0x000500ae,
+ 0x00000053,0x00000117,0x00000114,0x00000116,0x000300f7,0x00000119,0x00000000,0x000400fa,
+ 0x00000117,0x00000118,0x00000119,0x000200f8,0x00000118,0x000200f9,0x00000109,0x000200f8,
+ 0x00000119,0x0004003d,0x00000006,0x0000011d,0x0000010e,0x0003003e,0x0000011c,0x0000011d,
+ 0x00050039,0x00000011,0x0000011e,0x00000014,0x0000011c,0x0003003e,0x0000011b,0x0000011e,
+ 0x0004003d,0x00000011,0x00000121,0x0000011b,0x0003003e,0x00000120,0x00000121,0x00050039,
+ 0x00000017,0x00000122,0x0000001a,0x00000120,0x0003003e,0x0000011f,0x00000122,0x0004003d,
+ 0x00000006,0x00000124,0x0000010e,0x0003003e,0x00000123,0x00000124,0x0004003d,0x00000017,
+ 0x00000126,0x0000011f,0x0003003e,0x00000125,0x00000126,0x00060039,0x00000006,0x00000127,
+ 0x00000020,0x00000123,0x00000125,0x0004003d,0x00000006,0x00000128,0x00000105,0x000500c5,
+ 0x00000006,0x00000129,0x00000128,0x00000127,0x0003003e,0x00000105,0x00000129,0x000200f9,
+ 0x0000010a,0x000200f8,0x0000010a,0x0004003d,0x00000006,0x0000012a,0x00000106,0x00050080,
+ 0x00000006,0x0000012b,0x0000012a,0x000000ab,0x0003003e,0x00000106,0x0000012b,0x000200f9,
+ 0x00000107,0x000200f8,0x00000109,0x0004003d,0x00000006,0x0000012d,0x00000105,0x0003003e,
+ 0x0000012c,0x0000012d,0x00050039,0x00000002,0x0000012e,0x00000024,0x0000012c,0x000100fd,
+ 0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,
+ 0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,
+ 0x00000026,0x00000009,0x00050041,0x0000002b,0x0000002c,0x00000029,0x0000002a,0x0004003d,
+ 0x00000006,0x0000002d,0x0000002c,0x00050084,0x00000006,0x0000002e,0x00000026,0x0000002d,
+ 0x0004003d,0x00000006,0x0000002f,0x0000000a,0x00050041,0x0000002b,0x00000031,0x00000029,
+ 0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,0x00050084,0x00000006,0x00000033,
+ 0x0000002f,0x00000032,0x00050080,0x00000006,0x00000034,0x0000002e,0x00000033,0x00050041,
+ 0x0000002b,0x00000036,0x00000029,0x00000035,0x0004003d,0x00000006,0x00000037,0x00000036,
+ 0x00050080,0x00000006,0x00000038,0x00000034,0x00000037,0x000200fe,0x00000038,0x00010038,
+ 0x00050036,0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,
+ 0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,0x0000003b,
+ 0x00000007,0x0004003d,0x00000006,0x0000003c,0x0000000d,0x00050089,0x00000006,0x0000003e,
+ 0x0000003c,0x0000003d,0x00050084,0x00000006,0x00000040,0x0000003e,0x0000003f,0x0003003e,
+ 0x0000003b,0x00000040,0x0004003d,0x00000006,0x00000041,0x0000003b,0x000200fe,0x00000041,
+ 0x00010038,0x00050036,0x00000011,0x00000014,0x00000000,0x00000012,0x00030037,0x00000007,
+ 0x00000013,0x000200f8,0x00000015,0x0004003b,0x00000007,0x00000044,0x00000007,0x0004003b,
+ 0x00000007,0x0000004a,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,
+ 0x00000007,0x0000005e,0x00000007,0x0004003b,0x00000007,0x00000060,0x00000007,0x0004003b,
+ 0x00000007,0x00000063,0x00000007,0x0004003b,0x00000007,0x00000074,0x00000007,0x0004003b,
+ 0x00000007,0x0000007a,0x00000007,0x0004003b,0x00000007,0x00000087,0x00000007,0x0004003b,
+ 0x00000007,0x0000008e,0x00000007,0x0004003b,0x00000007,0x0000009a,0x00000007,0x0004003b,
+ 0x00000007,0x0000009c,0x00000007,0x0004003b,0x00000016,0x000000a6,0x00000007,0x0004003b,
+ 0x00000007,0x000000ba,0x00000007,0x0004003b,0x000000c6,0x000000c7,0x00000007,0x0004003b,
+ 0x00000007,0x000000cf,0x00000007,0x0004003b,0x00000016,0x000000d1,0x00000007,0x0004003b,
+ 0x00000016,0x000000dc,0x00000007,0x0004003d,0x00000006,0x00000045,0x00000013,0x00050041,
+ 0x0000002b,0x00000047,0x00000029,0x00000046,0x0004003d,0x00000006,0x00000048,0x00000047,
+ 0x00050086,0x00000006,0x00000049,0x00000045,0x00000048,0x0003003e,0x00000044,0x00000049,
+ 0x0004003d,0x00000006,0x0000004b,0x00000013,0x00050041,0x0000002b,0x0000004c,0x00000029,
+ 0x00000046,0x0004003d,0x00000006,0x0000004d,0x0000004c,0x00050089,0x00000006,0x0000004e,
+ 0x0000004b,0x0000004d,0x0003003e,0x0000004a,0x0000004e,0x0004003d,0x00000006,0x0000004f,
+ 0x0000004a,0x00050041,0x0000002b,0x00000051,0x00000029,0x00000050,0x0004003d,0x00000006,
+ 0x00000052,0x00000051,0x000500ae,0x00000053,0x00000054,0x0000004f,0x00000052,0x0004003d,
+ 0x00000006,0x00000055,0x0000004a,0x000500b0,0x00000053,0x00000057,0x00000055,0x00000056,
+ 0x000500a7,0x00000053,0x00000058,0x00000054,0x00000057,0x000300f7,0x0000005a,0x00000000,
+ 0x000400fa,0x00000058,0x00000059,0x0000005a,0x000200f8,0x00000059,0x000200fe,0x0000005b,
+ 0x000200f8,0x0000005a,0x0004003d,0x00000006,0x0000005f,0x00000044,0x0003003e,0x0000005e,
+ 0x0000005f,0x0004003d,0x00000006,0x00000061,0x0000004a,0x0003003e,0x00000060,0x00000061,
+ 0x00060039,0x00000006,0x00000062,0x0000000b,0x0000005e,0x00000060,0x0003003e,0x0000005d,
+ 0x00000062,0x0004003d,0x00000006,0x00000068,0x0000005d,0x00050086,0x00000006,0x00000069,
+ 0x00000068,0x0000003d,0x00060041,0x0000006a,0x0000006b,0x00000067,0x0000005b,0x00000069,
+ 0x0004003d,0x00000006,0x0000006c,0x0000006b,0x0003003e,0x00000063,0x0000006c,0x00050041,
+ 0x0000002b,0x0000006e,0x00000029,0x0000006d,0x0004003d,0x00000006,0x0000006f,0x0000006e,
+ 0x000500ab,0x00000053,0x00000071,0x0000006f,0x00000070,0x000300f7,0x00000073,0x00000000,
+ 0x000400fa,0x00000071,0x00000072,0x00000099,0x000200f8,0x00000072,0x0004003d,0x00000006,
+ 0x00000075,0x0000004a,0x000500aa,0x00000053,0x00000076,0x00000075,0x00000056,0x000600a9,
+ 0x00000011,0x00000078,0x00000076,0x00000035,0x00000077,0x0004007c,0x00000006,0x00000079,
+ 0x00000078,0x0003003e,0x00000074,0x00000079,0x0004003d,0x00000006,0x0000007b,0x0000004a,
+ 0x000500aa,0x00000053,0x0000007c,0x0000007b,0x00000056,0x000600a9,0x00000011,0x0000007f,
+ 0x0000007c,0x0000007d,0x0000007e,0x0004007c,0x00000006,0x00000080,0x0000007f,0x0003003e,
+ 0x0000007a,0x00000080,0x00050041,0x0000002b,0x00000082,0x00000029,0x00000081,0x0004003d,
+ 0x00000006,0x00000083,0x00000082,0x000500ab,0x00000053,0x00000084,0x00000083,0x00000070,
+ 0x000300f7,0x00000086,0x00000000,0x000400fa,0x00000084,0x00000085,0x0000008b,0x000200f8,
+ 0x00000085,0x0004003d,0x00000006,0x00000089,0x0000004a,0x00050084,0x00000006,0x0000008a,
+ 0x00000088,0x00000089,0x0003003e,0x00000087,0x0000008a,0x000200f9,0x00000086,0x000200f8,
+ 0x0000008b,0x0004003d,0x00000006,0x0000008c,0x0000004a,0x000500aa,0x00000053,0x0000008d,
+ 0x0000008c,0x00000056,0x000300f7,0x00000090,0x00000000,0x000400fa,0x0000008d,0x0000008f,
+ 0x00000091,0x000200f8,0x0000008f,0x0003003e,0x0000008e,0x00000070,0x000200f9,0x00000090,
+ 0x000200f8,0x00000091,0x0004003d,0x00000006,0x00000092,0x00000074,0x0004003d,0x00000006,
+ 0x00000094,0x0000004a,0x00050082,0x00000006,0x00000095,0x00000093,0x00000094,0x00050084,
+ 0x00000006,0x00000096,0x00000092,0x00000095,0x00050080,0x00000006,0x00000097,0x00000096,
+ 0x00000093,0x0003003e,0x0000008e,0x00000097,0x000200f9,0x00000090,0x000200f8,0x00000090,
+ 0x0004003d,0x00000006,0x00000098,0x0000008e,0x0003003e,0x00000087,0x00000098,0x000200f9,
+ 0x00000086,0x000200f8,0x00000086,0x000200f9,0x00000073,0x000200f8,0x00000099,0x0004003d,
+ 0x00000006,0x0000009b,0x0000005d,0x0003003e,0x0000009a,0x0000009b,0x00050041,0x0000002b,
+ 0x0000009d,0x00000029,0x00000030,0x0004003d,0x00000006,0x0000009e,0x0000009d,0x0003003e,
+ 0x0000009c,0x0000009e,0x00060039,0x00000006,0x0000009f,0x0000000f,0x0000009a,0x0000009c,
+ 0x0003003e,0x00000087,0x0000009f,0x00050041,0x0000002b,0x000000a0,0x00000029,0x00000030,
+ 0x0004003d,0x00000006,0x000000a1,0x000000a0,0x00050084,0x00000006,0x000000a2,0x000000a1,
+ 0x0000003f,0x0003003e,0x00000074,0x000000a2,0x0004003d,0x00000006,0x000000a3,0x00000074,
+ 0x000500aa,0x00000053,0x000000a5,0x000000a3,0x000000a4,0x000300f7,0x000000a8,0x00000000,
+ 0x000400fa,0x000000a5,0x000000a7,0x000000aa,0x000200f8,0x000000a7,0x0003003e,0x000000a6,
+ 0x000000a9,0x000200f9,0x000000a8,0x000200f8,0x000000aa,0x0004003d,0x00000006,0x000000ac,
+ 0x00000074,0x000500c4,0x00000011,0x000000ad,0x000000ab,0x000000ac,0x00050082,0x00000011,
+ 0x000000ae,0x000000ad,0x000000ab,0x0003003e,0x000000a6,0x000000ae,0x000200f9,0x000000a8,
+ 0x000200f8,0x000000a8,0x0004003d,0x00000011,0x000000af,0x000000a6,0x0004007c,0x00000006,
+ 0x000000b0,0x000000af,0x0003003e,0x0000007a,0x000000b0,0x000200f9,0x00000073,0x000200f8,
+ 0x00000073,0x0004003d,0x00000006,0x000000b1,0x0000004a,0x00050041,0x0000002b,0x000000b2,
+ 0x00000029,0x00000050,0x0004003d,0x00000006,0x000000b3,0x000000b2,0x000500ae,0x00000053,
+ 0x000000b4,0x000000b1,0x000000b3,0x0004003d,0x00000006,0x000000b5,0x0000004a,0x000500aa,
+ 0x00000053,0x000000b6,0x000000b5,0x00000056,0x000500a7,0x00000053,0x000000b7,0x000000b4,
+ 0x000000b6,0x000300f7,0x000000b9,0x00000000,0x000400fa,0x000000b7,0x000000b8,0x000000bc,
+ 0x000200f8,0x000000b8,0x0003003e,0x000000ba,0x000000bb,0x000200f9,0x000000b9,0x000200f8,
+ 0x000000bc,0x0004003d,0x00000006,0x000000bd,0x00000063,0x0004003d,0x00000006,0x000000be,
+ 0x00000087,0x000500c2,0x00000006,0x000000bf,0x000000bd,0x000000be,0x0004003d,0x00000006,
+ 0x000000c0,0x0000007a,0x000500c7,0x00000006,0x000000c1,0x000000bf,0x000000c0,0x0003003e,
+ 0x000000ba,0x000000c1,0x000200f9,0x000000b9,0x000200f8,0x000000b9,0x0004003d,0x00000006,
+ 0x000000c2,0x00000074,0x000500b0,0x00000053,0x000000c3,0x000000c2,0x000000a4,0x000300f7,
+ 0x000000c5,0x00000000,0x000400fa,0x000000c3,0x000000c4,0x000000c5,0x000200f8,0x000000c4,
+ 0x0004003d,0x00000006,0x000000c8,0x000000ba,0x0004003d,0x00000006,0x000000c9,0x00000074,
+ 0x00050082,0x00000006,0x000000ca,0x000000c9,0x000000bb,0x000500c4,0x00000011,0x000000cb,
+ 0x000000ab,0x000000ca,0x0004007c,0x00000006,0x000000cc,0x000000cb,0x000500c7,0x00000006,
+ 0x000000cd,0x000000c8,0x000000cc,0x000500ab,0x00000053,0x000000ce,0x000000cd,0x00000070,
+ 0x0003003e,0x000000c7,0x000000ce,0x0004003d,0x00000053,0x000000d0,0x000000c7,0x000300f7,
+ 0x000000d3,0x00000000,0x000400fa,0x000000d0,0x000000d2,0x000000d6,0x000200f8,0x000000d2,
+ 0x0004003d,0x00000006,0x000000d4,0x00000074,0x000500c4,0x00000011,0x000000d5,0x000000a9,
+ 0x000000d4,0x0003003e,0x000000d1,0x000000d5,0x000200f9,0x000000d3,0x000200f8,0x000000d6,
+ 0x0003003e,0x000000d1,0x0000005b,0x000200f9,0x000000d3,0x000200f8,0x000000d3,0x0004003d,
+ 0x00000011,0x000000d7,0x000000d1,0x0004007c,0x00000006,0x000000d8,0x000000d7,0x0003003e,
+ 0x000000cf,0x000000d8,0x0004003d,0x00000006,0x000000d9,0x000000cf,0x0004003d,0x00000006,
+ 0x000000da,0x000000ba,0x000500c5,0x00000006,0x000000db,0x000000da,0x000000d9,0x0003003e,
+ 0x000000ba,0x000000db,0x000200f9,0x000000c5,0x000200f8,0x000000c5,0x0004003d,0x00000006,
+ 0x000000dd,0x000000ba,0x0004007c,0x00000011,0x000000de,0x000000dd,0x0003003e,0x000000dc,
+ 0x000000de,0x0004003d,0x00000011,0x000000df,0x000000dc,0x000200fe,0x000000df,0x00010038,
+ 0x00050036,0x00000017,0x0000001a,0x00000000,0x00000018,0x00030037,0x00000016,0x00000019,
+ 0x000200f8,0x0000001b,0x0004003d,0x00000011,0x000000e2,0x00000019,0x0004006f,0x00000017,
+ 0x000000e3,0x000000e2,0x000200fe,0x000000e3,0x00010038,0x00050036,0x00000006,0x00000020,
+ 0x00000000,0x0000001d,0x00030037,0x00000007,0x0000001e,0x00030037,0x0000001c,0x0000001f,
+ 0x000200f8,0x00000021,0x0004003b,0x00000007,0x000000e6,0x00000007,0x0004003d,0x00000017,
+ 0x000000e7,0x0000001f,0x0004007c,0x00000011,0x000000e8,0x000000e7,0x0004007c,0x00000006,
+ 0x000000e9,0x000000e8,0x0003003e,0x000000e6,0x000000e9,0x0004003d,0x00000006,0x000000ea,
+ 0x000000e6,0x000200fe,0x000000ea,0x00010038,0x00050036,0x00000002,0x00000024,0x00000000,
+ 0x00000022,0x00030037,0x00000007,0x00000023,0x000200f8,0x00000025,0x00050041,0x000000f4,
+ 0x000000f5,0x000000f3,0x00000070,0x0004003d,0x00000006,0x000000f6,0x000000f5,0x00050041,
+ 0x0000002b,0x000000f7,0x00000029,0x0000007d,0x0004003d,0x00000006,0x000000f8,0x000000f7,
+ 0x00050086,0x00000006,0x000000f9,0x000000f8,0x0000003d,0x00050080,0x00000006,0x000000fa,
+ 0x000000f6,0x000000f9,0x0004003d,0x00000006,0x000000fb,0x00000023,0x00060041,0x0000006a,
+ 0x000000fc,0x000000f0,0x0000005b,0x000000fa,0x0003003e,0x000000fc,0x000000fb,0x000100fd,
+ 0x00010038
};
// Generated from:
@@ -247,6 +277,9 @@ const uint32_t kConvertVertex_comp_00000002[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -281,9 +314,30 @@ const uint32_t kConvertVertex_comp_00000002[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, params . Bs);
-// uint valueBits = params . Bs * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, params . Bs);
+// valueBits = params . Bs * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc
index f04dd54248b..08a34cb6306 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000003[] = {
- 0x07230203,0x00010000,0x00080007,0x000000ee,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000116,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000af,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000d8,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -24,174 +24,203 @@ const uint32_t kConvertVertex_comp_00000003[] = {
0x00000025,0x00000005,0x00007342,0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,
0x00000025,0x00000007,0x00007345,0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,
0x00000025,0x00000009,0x00006442,0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,
- 0x00000025,0x0000000b,0x00006445,0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,
- 0x0000003a,0x66696873,0x00000074,0x00040005,0x00000043,0x74726576,0x00007865,0x00050005,
- 0x00000049,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x0000005c,0x7366666f,0x00007465,
- 0x00040005,0x0000005d,0x61726170,0x0000006d,0x00040005,0x0000005f,0x61726170,0x0000006d,
- 0x00040005,0x00000062,0x636f6c62,0x0000006b,0x00030005,0x00000064,0x00637273,0x00050006,
- 0x00000064,0x00000000,0x44637273,0x00617461,0x00030005,0x00000066,0x00000000,0x00050005,
- 0x0000006d,0x66696873,0x74694274,0x00000073,0x00040005,0x0000006e,0x61726170,0x0000006d,
- 0x00040005,0x00000070,0x61726170,0x0000006d,0x00050005,0x00000074,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000078,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000091,
- 0x756c6176,0x55734165,0x00746e69,0x00040005,0x00000099,0x756c6176,0x00000065,0x00050005,
- 0x000000a2,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000aa,0x74736564,0x00000000,
- 0x00060006,0x000000aa,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000ac,
- 0x00000000,0x00080005,0x000000af,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,
- 0x00000044,0x00050005,0x000000c2,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000c3,
- 0x00000069,0x00030005,0x000000cb,0x00006463,0x00050005,0x000000d8,0x56637273,0x65756c61,
- 0x00000000,0x00040005,0x000000d9,0x61726170,0x0000006d,0x00050005,0x000000dc,0x74736564,
- 0x756c6156,0x00000065,0x00040005,0x000000dd,0x61726170,0x0000006d,0x00040005,0x000000e0,
- 0x61726170,0x0000006d,0x00040005,0x000000e2,0x61726170,0x0000006d,0x00040005,0x000000e9,
- 0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,
- 0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,
- 0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,
- 0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,
- 0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,
- 0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000025,
- 0x00000002,0x00040047,0x00000063,0x00000006,0x00000004,0x00050048,0x00000064,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000064,0x00000003,0x00040047,0x00000066,0x00000022,
- 0x00000000,0x00040047,0x00000066,0x00000021,0x00000001,0x00040047,0x000000a9,0x00000006,
- 0x00000004,0x00050048,0x000000aa,0x00000000,0x00000023,0x00000000,0x00030047,0x000000aa,
- 0x00000003,0x00040047,0x000000ac,0x00000022,0x00000000,0x00040047,0x000000ac,0x00000021,
- 0x00000000,0x00040047,0x000000af,0x0000000b,0x0000001c,0x00040047,0x000000ed,0x0000000b,
- 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,
- 0x00000006,0x00000007,0x00000007,0x00040021,0x00000011,0x00000006,0x00000007,0x00030016,
- 0x00000015,0x00000020,0x00040021,0x00000016,0x00000015,0x00000007,0x00040020,0x0000001a,
- 0x00000007,0x00000015,0x00050021,0x0000001b,0x00000006,0x00000007,0x0000001a,0x00040021,
- 0x00000020,0x00000002,0x00000007,0x000e001e,0x00000025,0x00000006,0x00000006,0x00000006,
+ 0x00000025,0x0000000b,0x00006445,0x00060006,0x00000025,0x0000000c,0x72537369,0x52444863,
+ 0x00000000,0x00070006,0x00000025,0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,
+ 0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x0000003a,0x66696873,0x00000074,
+ 0x00040005,0x00000043,0x74726576,0x00007865,0x00050005,0x00000049,0x706d6f63,0x6e656e6f,
+ 0x00000074,0x00040005,0x0000005c,0x7366666f,0x00007465,0x00040005,0x0000005d,0x61726170,
+ 0x0000006d,0x00040005,0x0000005f,0x61726170,0x0000006d,0x00040005,0x00000062,0x636f6c62,
+ 0x0000006b,0x00030005,0x00000064,0x00637273,0x00050006,0x00000064,0x00000000,0x44637273,
+ 0x00617461,0x00030005,0x00000066,0x00000000,0x00050005,0x00000073,0x756c6176,0x74694265,
+ 0x00000073,0x00050005,0x00000079,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000086,
+ 0x66696873,0x74694274,0x00000073,0x00040005,0x00000099,0x61726170,0x0000006d,0x00040005,
+ 0x0000009b,0x61726170,0x0000006d,0x00050005,0x000000ba,0x756c6176,0x55734165,0x00746e69,
+ 0x00040005,0x000000c2,0x756c6176,0x00000065,0x00050005,0x000000cb,0x756c6176,0x55734165,
+ 0x00746e69,0x00040005,0x000000d3,0x74736564,0x00000000,0x00060006,0x000000d3,0x00000000,
+ 0x74736564,0x61746144,0x00000000,0x00030005,0x000000d5,0x00000000,0x00080005,0x000000d8,
+ 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000ea,
+ 0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000eb,0x00000069,0x00030005,0x000000f3,
+ 0x00006463,0x00050005,0x00000100,0x56637273,0x65756c61,0x00000000,0x00040005,0x00000101,
+ 0x61726170,0x0000006d,0x00050005,0x00000104,0x74736564,0x756c6156,0x00000065,0x00040005,
+ 0x00000105,0x61726170,0x0000006d,0x00040005,0x00000108,0x61726170,0x0000006d,0x00040005,
+ 0x0000010a,0x61726170,0x0000006d,0x00040005,0x00000111,0x61726170,0x0000006d,0x00050048,
+ 0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,0x00000025,0x00000001,0x00000023,
+ 0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,0x00000008,0x00050048,0x00000025,
+ 0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,0x00000004,0x00000023,0x00000010,
+ 0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,0x00050048,0x00000025,0x00000006,
+ 0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,0x00000023,0x0000001c,0x00050048,
+ 0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,0x00000025,0x00000009,0x00000023,
+ 0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000025,
+ 0x0000000b,0x00000023,0x0000002c,0x00050048,0x00000025,0x0000000c,0x00000023,0x00000030,
+ 0x00050048,0x00000025,0x0000000d,0x00000023,0x00000034,0x00030047,0x00000025,0x00000002,
+ 0x00040047,0x00000063,0x00000006,0x00000004,0x00050048,0x00000064,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000064,0x00000003,0x00040047,0x00000066,0x00000022,0x00000000,
+ 0x00040047,0x00000066,0x00000021,0x00000001,0x00040047,0x000000d2,0x00000006,0x00000004,
+ 0x00050048,0x000000d3,0x00000000,0x00000023,0x00000000,0x00030047,0x000000d3,0x00000003,
+ 0x00040047,0x000000d5,0x00000022,0x00000000,0x00040047,0x000000d5,0x00000021,0x00000000,
+ 0x00040047,0x000000d8,0x0000000b,0x0000001c,0x00040047,0x00000115,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,
+ 0x00000007,0x00000007,0x00040021,0x00000011,0x00000006,0x00000007,0x00030016,0x00000015,
+ 0x00000020,0x00040021,0x00000016,0x00000015,0x00000007,0x00040020,0x0000001a,0x00000007,
+ 0x00000015,0x00050021,0x0000001b,0x00000006,0x00000007,0x0000001a,0x00040021,0x00000020,
+ 0x00000002,0x00000007,0x0010001e,0x00000025,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,0x00000027,
- 0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,0x00000029,
- 0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,0x0000002f,
- 0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000006,0x0000003c,
- 0x00000004,0x0004002b,0x00000006,0x0000003e,0x00000008,0x0004002b,0x00000028,0x00000045,
- 0x00000008,0x0004002b,0x00000028,0x0000004f,0x00000004,0x00020014,0x00000052,0x0004002b,
- 0x00000006,0x00000055,0x00000003,0x0004002b,0x00000006,0x0000005a,0x00000000,0x0003001d,
- 0x00000063,0x00000006,0x0003001e,0x00000064,0x00000063,0x00040020,0x00000065,0x00000002,
- 0x00000064,0x0004003b,0x00000065,0x00000066,0x00000002,0x0004002b,0x00000028,0x00000067,
- 0x00000000,0x00040020,0x0000006a,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000007a,
- 0x00000020,0x00040020,0x0000007c,0x00000007,0x00000028,0x0004002b,0x00000028,0x00000080,
- 0xffffffff,0x0004002b,0x00000028,0x00000082,0x00000001,0x0004002b,0x00000006,0x00000092,
- 0x00000001,0x0003001d,0x000000a9,0x00000006,0x0003001e,0x000000aa,0x000000a9,0x00040020,
- 0x000000ab,0x00000002,0x000000aa,0x0004003b,0x000000ab,0x000000ac,0x00000002,0x00040017,
- 0x000000ad,0x00000006,0x00000003,0x00040020,0x000000ae,0x00000001,0x000000ad,0x0004003b,
- 0x000000ae,0x000000af,0x00000001,0x00040020,0x000000b0,0x00000001,0x00000006,0x0004002b,
- 0x00000028,0x000000b3,0x00000003,0x0004002b,0x00000006,0x000000ec,0x00000040,0x0006002c,
- 0x000000ad,0x000000ed,0x000000ec,0x00000092,0x00000092,0x00050036,0x00000002,0x00000004,
- 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x000000c2,0x00000007,
- 0x0004003b,0x00000007,0x000000c3,0x00000007,0x0004003b,0x00000007,0x000000cb,0x00000007,
- 0x0004003b,0x00000007,0x000000d8,0x00000007,0x0004003b,0x00000007,0x000000d9,0x00000007,
- 0x0004003b,0x0000001a,0x000000dc,0x00000007,0x0004003b,0x00000007,0x000000dd,0x00000007,
- 0x0004003b,0x00000007,0x000000e0,0x00000007,0x0004003b,0x0000001a,0x000000e2,0x00000007,
- 0x0004003b,0x00000007,0x000000e9,0x00000007,0x00050041,0x000000b0,0x000000ba,0x000000af,
- 0x0000005a,0x0004003d,0x00000006,0x000000bb,0x000000ba,0x00050041,0x0000002a,0x000000bc,
- 0x00000027,0x00000067,0x0004003d,0x00000006,0x000000bd,0x000000bc,0x000500ae,0x00000052,
- 0x000000be,0x000000bb,0x000000bd,0x000300f7,0x000000c0,0x00000000,0x000400fa,0x000000be,
- 0x000000bf,0x000000c0,0x000200f8,0x000000bf,0x000100fd,0x000200f8,0x000000c0,0x0003003e,
- 0x000000c2,0x0000005a,0x0003003e,0x000000c3,0x0000005a,0x000200f9,0x000000c4,0x000200f8,
- 0x000000c4,0x000400f6,0x000000c6,0x000000c7,0x00000000,0x000200f9,0x000000c8,0x000200f8,
- 0x000000c8,0x0004003d,0x00000006,0x000000c9,0x000000c3,0x000500b0,0x00000052,0x000000ca,
- 0x000000c9,0x00000092,0x000400fa,0x000000ca,0x000000c5,0x000000c6,0x000200f8,0x000000c5,
- 0x00050041,0x000000b0,0x000000cc,0x000000af,0x0000005a,0x0004003d,0x00000006,0x000000cd,
- 0x000000cc,0x00050084,0x00000006,0x000000ce,0x000000cd,0x00000092,0x0004003d,0x00000006,
- 0x000000cf,0x000000c3,0x00050080,0x00000006,0x000000d0,0x000000ce,0x000000cf,0x0003003e,
- 0x000000cb,0x000000d0,0x0004003d,0x00000006,0x000000d1,0x000000cb,0x00050041,0x0000002a,
- 0x000000d2,0x00000027,0x00000082,0x0004003d,0x00000006,0x000000d3,0x000000d2,0x000500ae,
- 0x00000052,0x000000d4,0x000000d1,0x000000d3,0x000300f7,0x000000d6,0x00000000,0x000400fa,
- 0x000000d4,0x000000d5,0x000000d6,0x000200f8,0x000000d5,0x000200f9,0x000000c6,0x000200f8,
- 0x000000d6,0x0004003d,0x00000006,0x000000da,0x000000cb,0x0003003e,0x000000d9,0x000000da,
- 0x00050039,0x00000006,0x000000db,0x00000013,0x000000d9,0x0003003e,0x000000d8,0x000000db,
- 0x0004003d,0x00000006,0x000000de,0x000000d8,0x0003003e,0x000000dd,0x000000de,0x00050039,
- 0x00000015,0x000000df,0x00000018,0x000000dd,0x0003003e,0x000000dc,0x000000df,0x0004003d,
- 0x00000006,0x000000e1,0x000000cb,0x0003003e,0x000000e0,0x000000e1,0x0004003d,0x00000015,
- 0x000000e3,0x000000dc,0x0003003e,0x000000e2,0x000000e3,0x00060039,0x00000006,0x000000e4,
- 0x0000001e,0x000000e0,0x000000e2,0x0004003d,0x00000006,0x000000e5,0x000000c2,0x000500c5,
- 0x00000006,0x000000e6,0x000000e5,0x000000e4,0x0003003e,0x000000c2,0x000000e6,0x000200f9,
- 0x000000c7,0x000200f8,0x000000c7,0x0004003d,0x00000006,0x000000e7,0x000000c3,0x00050080,
- 0x00000006,0x000000e8,0x000000e7,0x00000082,0x0003003e,0x000000c3,0x000000e8,0x000200f9,
- 0x000000c4,0x000200f8,0x000000c6,0x0004003d,0x00000006,0x000000ea,0x000000c2,0x0003003e,
- 0x000000e9,0x000000ea,0x00050039,0x00000002,0x000000eb,0x00000022,0x000000e9,0x000100fd,
- 0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,
- 0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,
- 0x00000024,0x00000009,0x00050041,0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,
- 0x00000006,0x0000002c,0x0000002b,0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,
- 0x0004003d,0x00000006,0x0000002e,0x0000000a,0x00050041,0x0000002a,0x00000030,0x00000027,
- 0x0000002f,0x0004003d,0x00000006,0x00000031,0x00000030,0x00050084,0x00000006,0x00000032,
- 0x0000002e,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002d,0x00000032,0x00050041,
- 0x0000002a,0x00000035,0x00000027,0x00000034,0x0004003d,0x00000006,0x00000036,0x00000035,
- 0x00050080,0x00000006,0x00000037,0x00000033,0x00000036,0x000200fe,0x00000037,0x00010038,
- 0x00050036,0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,
- 0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,0x0000003a,
- 0x00000007,0x0004003d,0x00000006,0x0000003b,0x0000000d,0x00050089,0x00000006,0x0000003d,
- 0x0000003b,0x0000003c,0x00050084,0x00000006,0x0000003f,0x0000003d,0x0000003e,0x0003003e,
- 0x0000003a,0x0000003f,0x0004003d,0x00000006,0x00000040,0x0000003a,0x000200fe,0x00000040,
- 0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,0x00000011,0x00030037,0x00000007,
- 0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x00000043,0x00000007,0x0004003b,
- 0x00000007,0x00000049,0x00000007,0x0004003b,0x00000007,0x0000005c,0x00000007,0x0004003b,
- 0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,
- 0x00000007,0x00000062,0x00000007,0x0004003b,0x00000007,0x0000006d,0x00000007,0x0004003b,
- 0x00000007,0x0000006e,0x00000007,0x0004003b,0x00000007,0x00000070,0x00000007,0x0004003b,
- 0x00000007,0x00000074,0x00000007,0x0004003b,0x00000007,0x00000078,0x00000007,0x0004003b,
- 0x0000007c,0x0000007d,0x00000007,0x0004003b,0x00000007,0x00000091,0x00000007,0x0004003b,
- 0x00000007,0x00000099,0x00000007,0x0004003d,0x00000006,0x00000044,0x00000012,0x00050041,
- 0x0000002a,0x00000046,0x00000027,0x00000045,0x0004003d,0x00000006,0x00000047,0x00000046,
- 0x00050086,0x00000006,0x00000048,0x00000044,0x00000047,0x0003003e,0x00000043,0x00000048,
- 0x0004003d,0x00000006,0x0000004a,0x00000012,0x00050041,0x0000002a,0x0000004b,0x00000027,
- 0x00000045,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x00050089,0x00000006,0x0000004d,
- 0x0000004a,0x0000004c,0x0003003e,0x00000049,0x0000004d,0x0004003d,0x00000006,0x0000004e,
- 0x00000049,0x00050041,0x0000002a,0x00000050,0x00000027,0x0000004f,0x0004003d,0x00000006,
- 0x00000051,0x00000050,0x000500ae,0x00000052,0x00000053,0x0000004e,0x00000051,0x0004003d,
- 0x00000006,0x00000054,0x00000049,0x000500b0,0x00000052,0x00000056,0x00000054,0x00000055,
- 0x000500a7,0x00000052,0x00000057,0x00000053,0x00000056,0x000300f7,0x00000059,0x00000000,
- 0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x000200fe,0x0000005a,
- 0x000200f8,0x00000059,0x0004003d,0x00000006,0x0000005e,0x00000043,0x0003003e,0x0000005d,
- 0x0000005e,0x0004003d,0x00000006,0x00000060,0x00000049,0x0003003e,0x0000005f,0x00000060,
- 0x00060039,0x00000006,0x00000061,0x0000000b,0x0000005d,0x0000005f,0x0003003e,0x0000005c,
- 0x00000061,0x0004003d,0x00000006,0x00000068,0x0000005c,0x00050086,0x00000006,0x00000069,
- 0x00000068,0x0000003c,0x00060041,0x0000006a,0x0000006b,0x00000066,0x00000067,0x00000069,
- 0x0004003d,0x00000006,0x0000006c,0x0000006b,0x0003003e,0x00000062,0x0000006c,0x0004003d,
- 0x00000006,0x0000006f,0x0000005c,0x0003003e,0x0000006e,0x0000006f,0x00050041,0x0000002a,
- 0x00000071,0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000072,0x00000071,0x0003003e,
- 0x00000070,0x00000072,0x00060039,0x00000006,0x00000073,0x0000000f,0x0000006e,0x00000070,
- 0x0003003e,0x0000006d,0x00000073,0x00050041,0x0000002a,0x00000075,0x00000027,0x0000002f,
- 0x0004003d,0x00000006,0x00000076,0x00000075,0x00050084,0x00000006,0x00000077,0x00000076,
- 0x0000003e,0x0003003e,0x00000074,0x00000077,0x0004003d,0x00000006,0x00000079,0x00000074,
- 0x000500aa,0x00000052,0x0000007b,0x00000079,0x0000007a,0x000300f7,0x0000007f,0x00000000,
- 0x000400fa,0x0000007b,0x0000007e,0x00000081,0x000200f8,0x0000007e,0x0003003e,0x0000007d,
- 0x00000080,0x000200f9,0x0000007f,0x000200f8,0x00000081,0x0004003d,0x00000006,0x00000083,
- 0x00000074,0x000500c4,0x00000028,0x00000084,0x00000082,0x00000083,0x00050082,0x00000028,
- 0x00000085,0x00000084,0x00000082,0x0003003e,0x0000007d,0x00000085,0x000200f9,0x0000007f,
- 0x000200f8,0x0000007f,0x0004003d,0x00000028,0x00000086,0x0000007d,0x0004007c,0x00000006,
- 0x00000087,0x00000086,0x0003003e,0x00000078,0x00000087,0x0004003d,0x00000006,0x00000088,
- 0x00000049,0x00050041,0x0000002a,0x00000089,0x00000027,0x0000004f,0x0004003d,0x00000006,
- 0x0000008a,0x00000089,0x000500ae,0x00000052,0x0000008b,0x00000088,0x0000008a,0x0004003d,
- 0x00000006,0x0000008c,0x00000049,0x000500aa,0x00000052,0x0000008d,0x0000008c,0x00000055,
- 0x000500a7,0x00000052,0x0000008e,0x0000008b,0x0000008d,0x000300f7,0x00000090,0x00000000,
- 0x000400fa,0x0000008e,0x0000008f,0x00000093,0x000200f8,0x0000008f,0x0003003e,0x00000091,
- 0x00000092,0x000200f9,0x00000090,0x000200f8,0x00000093,0x0004003d,0x00000006,0x00000094,
- 0x00000062,0x0004003d,0x00000006,0x00000095,0x0000006d,0x000500c2,0x00000006,0x00000096,
- 0x00000094,0x00000095,0x0004003d,0x00000006,0x00000097,0x00000078,0x000500c7,0x00000006,
- 0x00000098,0x00000096,0x00000097,0x0003003e,0x00000091,0x00000098,0x000200f9,0x00000090,
- 0x000200f8,0x00000090,0x0004003d,0x00000006,0x0000009a,0x00000091,0x0003003e,0x00000099,
- 0x0000009a,0x0004003d,0x00000006,0x0000009b,0x00000099,0x000200fe,0x0000009b,0x00010038,
- 0x00050036,0x00000015,0x00000018,0x00000000,0x00000016,0x00030037,0x00000007,0x00000017,
- 0x000200f8,0x00000019,0x0004003d,0x00000006,0x0000009e,0x00000017,0x00040070,0x00000015,
- 0x0000009f,0x0000009e,0x000200fe,0x0000009f,0x00010038,0x00050036,0x00000006,0x0000001e,
- 0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x0000001a,0x0000001d,
- 0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000a2,0x00000007,0x0004003d,0x00000015,
- 0x000000a3,0x0000001d,0x0004007c,0x00000028,0x000000a4,0x000000a3,0x0004007c,0x00000006,
- 0x000000a5,0x000000a4,0x0003003e,0x000000a2,0x000000a5,0x0004003d,0x00000006,0x000000a6,
- 0x000000a2,0x000200fe,0x000000a6,0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,
- 0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,0x000000b0,
- 0x000000b1,0x000000af,0x0000005a,0x0004003d,0x00000006,0x000000b2,0x000000b1,0x00050041,
- 0x0000002a,0x000000b4,0x00000027,0x000000b3,0x0004003d,0x00000006,0x000000b5,0x000000b4,
- 0x00050086,0x00000006,0x000000b6,0x000000b5,0x0000003c,0x00050080,0x00000006,0x000000b7,
- 0x000000b2,0x000000b6,0x0004003d,0x00000006,0x000000b8,0x00000021,0x00060041,0x0000006a,
- 0x000000b9,0x000000ac,0x00000067,0x000000b7,0x0003003e,0x000000b9,0x000000b8,0x000100fd,
- 0x00010038
+ 0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,
+ 0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,
+ 0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,
+ 0x0000002f,0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000006,
+ 0x0000003c,0x00000004,0x0004002b,0x00000006,0x0000003e,0x00000008,0x0004002b,0x00000028,
+ 0x00000045,0x00000008,0x0004002b,0x00000028,0x0000004f,0x00000004,0x00020014,0x00000052,
+ 0x0004002b,0x00000006,0x00000055,0x00000003,0x0004002b,0x00000006,0x0000005a,0x00000000,
+ 0x0003001d,0x00000063,0x00000006,0x0003001e,0x00000064,0x00000063,0x00040020,0x00000065,
+ 0x00000002,0x00000064,0x0004003b,0x00000065,0x00000066,0x00000002,0x0004002b,0x00000028,
+ 0x00000067,0x00000000,0x00040020,0x0000006a,0x00000002,0x00000006,0x0004002b,0x00000028,
+ 0x0000006d,0x0000000c,0x0004002b,0x00000028,0x00000076,0x0000000a,0x0004002b,0x00000028,
+ 0x0000007c,0x00000003,0x0004002b,0x00000028,0x0000007d,0x000003ff,0x0004002b,0x00000028,
+ 0x00000080,0x0000000d,0x0004002b,0x00000006,0x00000087,0x0000000a,0x0004002b,0x00000006,
+ 0x00000092,0x00000002,0x0004002b,0x00000006,0x000000a3,0x00000020,0x00040020,0x000000a5,
+ 0x00000007,0x00000028,0x0004002b,0x00000028,0x000000a9,0xffffffff,0x0004002b,0x00000028,
+ 0x000000ab,0x00000001,0x0004002b,0x00000006,0x000000bb,0x00000001,0x0003001d,0x000000d2,
+ 0x00000006,0x0003001e,0x000000d3,0x000000d2,0x00040020,0x000000d4,0x00000002,0x000000d3,
+ 0x0004003b,0x000000d4,0x000000d5,0x00000002,0x00040017,0x000000d6,0x00000006,0x00000003,
+ 0x00040020,0x000000d7,0x00000001,0x000000d6,0x0004003b,0x000000d7,0x000000d8,0x00000001,
+ 0x00040020,0x000000d9,0x00000001,0x00000006,0x0004002b,0x00000006,0x00000114,0x00000040,
+ 0x0006002c,0x000000d6,0x00000115,0x00000114,0x000000bb,0x000000bb,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x000000ea,
+ 0x00000007,0x0004003b,0x00000007,0x000000eb,0x00000007,0x0004003b,0x00000007,0x000000f3,
+ 0x00000007,0x0004003b,0x00000007,0x00000100,0x00000007,0x0004003b,0x00000007,0x00000101,
+ 0x00000007,0x0004003b,0x0000001a,0x00000104,0x00000007,0x0004003b,0x00000007,0x00000105,
+ 0x00000007,0x0004003b,0x00000007,0x00000108,0x00000007,0x0004003b,0x0000001a,0x0000010a,
+ 0x00000007,0x0004003b,0x00000007,0x00000111,0x00000007,0x00050041,0x000000d9,0x000000e2,
+ 0x000000d8,0x0000005a,0x0004003d,0x00000006,0x000000e3,0x000000e2,0x00050041,0x0000002a,
+ 0x000000e4,0x00000027,0x00000067,0x0004003d,0x00000006,0x000000e5,0x000000e4,0x000500ae,
+ 0x00000052,0x000000e6,0x000000e3,0x000000e5,0x000300f7,0x000000e8,0x00000000,0x000400fa,
+ 0x000000e6,0x000000e7,0x000000e8,0x000200f8,0x000000e7,0x000100fd,0x000200f8,0x000000e8,
+ 0x0003003e,0x000000ea,0x0000005a,0x0003003e,0x000000eb,0x0000005a,0x000200f9,0x000000ec,
+ 0x000200f8,0x000000ec,0x000400f6,0x000000ee,0x000000ef,0x00000000,0x000200f9,0x000000f0,
+ 0x000200f8,0x000000f0,0x0004003d,0x00000006,0x000000f1,0x000000eb,0x000500b0,0x00000052,
+ 0x000000f2,0x000000f1,0x000000bb,0x000400fa,0x000000f2,0x000000ed,0x000000ee,0x000200f8,
+ 0x000000ed,0x00050041,0x000000d9,0x000000f4,0x000000d8,0x0000005a,0x0004003d,0x00000006,
+ 0x000000f5,0x000000f4,0x00050084,0x00000006,0x000000f6,0x000000f5,0x000000bb,0x0004003d,
+ 0x00000006,0x000000f7,0x000000eb,0x00050080,0x00000006,0x000000f8,0x000000f6,0x000000f7,
+ 0x0003003e,0x000000f3,0x000000f8,0x0004003d,0x00000006,0x000000f9,0x000000f3,0x00050041,
+ 0x0000002a,0x000000fa,0x00000027,0x000000ab,0x0004003d,0x00000006,0x000000fb,0x000000fa,
+ 0x000500ae,0x00000052,0x000000fc,0x000000f9,0x000000fb,0x000300f7,0x000000fe,0x00000000,
+ 0x000400fa,0x000000fc,0x000000fd,0x000000fe,0x000200f8,0x000000fd,0x000200f9,0x000000ee,
+ 0x000200f8,0x000000fe,0x0004003d,0x00000006,0x00000102,0x000000f3,0x0003003e,0x00000101,
+ 0x00000102,0x00050039,0x00000006,0x00000103,0x00000013,0x00000101,0x0003003e,0x00000100,
+ 0x00000103,0x0004003d,0x00000006,0x00000106,0x00000100,0x0003003e,0x00000105,0x00000106,
+ 0x00050039,0x00000015,0x00000107,0x00000018,0x00000105,0x0003003e,0x00000104,0x00000107,
+ 0x0004003d,0x00000006,0x00000109,0x000000f3,0x0003003e,0x00000108,0x00000109,0x0004003d,
+ 0x00000015,0x0000010b,0x00000104,0x0003003e,0x0000010a,0x0000010b,0x00060039,0x00000006,
+ 0x0000010c,0x0000001e,0x00000108,0x0000010a,0x0004003d,0x00000006,0x0000010d,0x000000ea,
+ 0x000500c5,0x00000006,0x0000010e,0x0000010d,0x0000010c,0x0003003e,0x000000ea,0x0000010e,
+ 0x000200f9,0x000000ef,0x000200f8,0x000000ef,0x0004003d,0x00000006,0x0000010f,0x000000eb,
+ 0x00050080,0x00000006,0x00000110,0x0000010f,0x000000ab,0x0003003e,0x000000eb,0x00000110,
+ 0x000200f9,0x000000ec,0x000200f8,0x000000ee,0x0004003d,0x00000006,0x00000112,0x000000ea,
+ 0x0003003e,0x00000111,0x00000112,0x00050039,0x00000002,0x00000113,0x00000022,0x00000111,
+ 0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,
+ 0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,
+ 0x00000006,0x00000024,0x00000009,0x00050041,0x0000002a,0x0000002b,0x00000027,0x00000029,
+ 0x0004003d,0x00000006,0x0000002c,0x0000002b,0x00050084,0x00000006,0x0000002d,0x00000024,
+ 0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000000a,0x00050041,0x0000002a,0x00000030,
+ 0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000031,0x00000030,0x00050084,0x00000006,
+ 0x00000032,0x0000002e,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002d,0x00000032,
+ 0x00050041,0x0000002a,0x00000035,0x00000027,0x00000034,0x0004003d,0x00000006,0x00000036,
+ 0x00000035,0x00050080,0x00000006,0x00000037,0x00000033,0x00000036,0x000200fe,0x00000037,
+ 0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,
+ 0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,
+ 0x0000003a,0x00000007,0x0004003d,0x00000006,0x0000003b,0x0000000d,0x00050089,0x00000006,
+ 0x0000003d,0x0000003b,0x0000003c,0x00050084,0x00000006,0x0000003f,0x0000003d,0x0000003e,
+ 0x0003003e,0x0000003a,0x0000003f,0x0004003d,0x00000006,0x00000040,0x0000003a,0x000200fe,
+ 0x00000040,0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,0x00000011,0x00030037,
+ 0x00000007,0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x00000043,0x00000007,
+ 0x0004003b,0x00000007,0x00000049,0x00000007,0x0004003b,0x00000007,0x0000005c,0x00000007,
+ 0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,
+ 0x0004003b,0x00000007,0x00000062,0x00000007,0x0004003b,0x00000007,0x00000073,0x00000007,
+ 0x0004003b,0x00000007,0x00000079,0x00000007,0x0004003b,0x00000007,0x00000086,0x00000007,
+ 0x0004003b,0x00000007,0x0000008d,0x00000007,0x0004003b,0x00000007,0x00000099,0x00000007,
+ 0x0004003b,0x00000007,0x0000009b,0x00000007,0x0004003b,0x000000a5,0x000000a6,0x00000007,
+ 0x0004003b,0x00000007,0x000000ba,0x00000007,0x0004003b,0x00000007,0x000000c2,0x00000007,
+ 0x0004003d,0x00000006,0x00000044,0x00000012,0x00050041,0x0000002a,0x00000046,0x00000027,
+ 0x00000045,0x0004003d,0x00000006,0x00000047,0x00000046,0x00050086,0x00000006,0x00000048,
+ 0x00000044,0x00000047,0x0003003e,0x00000043,0x00000048,0x0004003d,0x00000006,0x0000004a,
+ 0x00000012,0x00050041,0x0000002a,0x0000004b,0x00000027,0x00000045,0x0004003d,0x00000006,
+ 0x0000004c,0x0000004b,0x00050089,0x00000006,0x0000004d,0x0000004a,0x0000004c,0x0003003e,
+ 0x00000049,0x0000004d,0x0004003d,0x00000006,0x0000004e,0x00000049,0x00050041,0x0000002a,
+ 0x00000050,0x00000027,0x0000004f,0x0004003d,0x00000006,0x00000051,0x00000050,0x000500ae,
+ 0x00000052,0x00000053,0x0000004e,0x00000051,0x0004003d,0x00000006,0x00000054,0x00000049,
+ 0x000500b0,0x00000052,0x00000056,0x00000054,0x00000055,0x000500a7,0x00000052,0x00000057,
+ 0x00000053,0x00000056,0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,
+ 0x00000059,0x000200f8,0x00000058,0x000200fe,0x0000005a,0x000200f8,0x00000059,0x0004003d,
+ 0x00000006,0x0000005e,0x00000043,0x0003003e,0x0000005d,0x0000005e,0x0004003d,0x00000006,
+ 0x00000060,0x00000049,0x0003003e,0x0000005f,0x00000060,0x00060039,0x00000006,0x00000061,
+ 0x0000000b,0x0000005d,0x0000005f,0x0003003e,0x0000005c,0x00000061,0x0004003d,0x00000006,
+ 0x00000068,0x0000005c,0x00050086,0x00000006,0x00000069,0x00000068,0x0000003c,0x00060041,
+ 0x0000006a,0x0000006b,0x00000066,0x00000067,0x00000069,0x0004003d,0x00000006,0x0000006c,
+ 0x0000006b,0x0003003e,0x00000062,0x0000006c,0x00050041,0x0000002a,0x0000006e,0x00000027,
+ 0x0000006d,0x0004003d,0x00000006,0x0000006f,0x0000006e,0x000500ab,0x00000052,0x00000070,
+ 0x0000006f,0x0000005a,0x000300f7,0x00000072,0x00000000,0x000400fa,0x00000070,0x00000071,
+ 0x00000098,0x000200f8,0x00000071,0x0004003d,0x00000006,0x00000074,0x00000049,0x000500aa,
+ 0x00000052,0x00000075,0x00000074,0x00000055,0x000600a9,0x00000028,0x00000077,0x00000075,
+ 0x00000034,0x00000076,0x0004007c,0x00000006,0x00000078,0x00000077,0x0003003e,0x00000073,
+ 0x00000078,0x0004003d,0x00000006,0x0000007a,0x00000049,0x000500aa,0x00000052,0x0000007b,
+ 0x0000007a,0x00000055,0x000600a9,0x00000028,0x0000007e,0x0000007b,0x0000007c,0x0000007d,
+ 0x0004007c,0x00000006,0x0000007f,0x0000007e,0x0003003e,0x00000079,0x0000007f,0x00050041,
+ 0x0000002a,0x00000081,0x00000027,0x00000080,0x0004003d,0x00000006,0x00000082,0x00000081,
+ 0x000500ab,0x00000052,0x00000083,0x00000082,0x0000005a,0x000300f7,0x00000085,0x00000000,
+ 0x000400fa,0x00000083,0x00000084,0x0000008a,0x000200f8,0x00000084,0x0004003d,0x00000006,
+ 0x00000088,0x00000049,0x00050084,0x00000006,0x00000089,0x00000087,0x00000088,0x0003003e,
+ 0x00000086,0x00000089,0x000200f9,0x00000085,0x000200f8,0x0000008a,0x0004003d,0x00000006,
+ 0x0000008b,0x00000049,0x000500aa,0x00000052,0x0000008c,0x0000008b,0x00000055,0x000300f7,
+ 0x0000008f,0x00000000,0x000400fa,0x0000008c,0x0000008e,0x00000090,0x000200f8,0x0000008e,
+ 0x0003003e,0x0000008d,0x0000005a,0x000200f9,0x0000008f,0x000200f8,0x00000090,0x0004003d,
+ 0x00000006,0x00000091,0x00000073,0x0004003d,0x00000006,0x00000093,0x00000049,0x00050082,
+ 0x00000006,0x00000094,0x00000092,0x00000093,0x00050084,0x00000006,0x00000095,0x00000091,
+ 0x00000094,0x00050080,0x00000006,0x00000096,0x00000095,0x00000092,0x0003003e,0x0000008d,
+ 0x00000096,0x000200f9,0x0000008f,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000097,
+ 0x0000008d,0x0003003e,0x00000086,0x00000097,0x000200f9,0x00000085,0x000200f8,0x00000085,
+ 0x000200f9,0x00000072,0x000200f8,0x00000098,0x0004003d,0x00000006,0x0000009a,0x0000005c,
+ 0x0003003e,0x00000099,0x0000009a,0x00050041,0x0000002a,0x0000009c,0x00000027,0x0000002f,
+ 0x0004003d,0x00000006,0x0000009d,0x0000009c,0x0003003e,0x0000009b,0x0000009d,0x00060039,
+ 0x00000006,0x0000009e,0x0000000f,0x00000099,0x0000009b,0x0003003e,0x00000086,0x0000009e,
+ 0x00050041,0x0000002a,0x0000009f,0x00000027,0x0000002f,0x0004003d,0x00000006,0x000000a0,
+ 0x0000009f,0x00050084,0x00000006,0x000000a1,0x000000a0,0x0000003e,0x0003003e,0x00000073,
+ 0x000000a1,0x0004003d,0x00000006,0x000000a2,0x00000073,0x000500aa,0x00000052,0x000000a4,
+ 0x000000a2,0x000000a3,0x000300f7,0x000000a8,0x00000000,0x000400fa,0x000000a4,0x000000a7,
+ 0x000000aa,0x000200f8,0x000000a7,0x0003003e,0x000000a6,0x000000a9,0x000200f9,0x000000a8,
+ 0x000200f8,0x000000aa,0x0004003d,0x00000006,0x000000ac,0x00000073,0x000500c4,0x00000028,
+ 0x000000ad,0x000000ab,0x000000ac,0x00050082,0x00000028,0x000000ae,0x000000ad,0x000000ab,
+ 0x0003003e,0x000000a6,0x000000ae,0x000200f9,0x000000a8,0x000200f8,0x000000a8,0x0004003d,
+ 0x00000028,0x000000af,0x000000a6,0x0004007c,0x00000006,0x000000b0,0x000000af,0x0003003e,
+ 0x00000079,0x000000b0,0x000200f9,0x00000072,0x000200f8,0x00000072,0x0004003d,0x00000006,
+ 0x000000b1,0x00000049,0x00050041,0x0000002a,0x000000b2,0x00000027,0x0000004f,0x0004003d,
+ 0x00000006,0x000000b3,0x000000b2,0x000500ae,0x00000052,0x000000b4,0x000000b1,0x000000b3,
+ 0x0004003d,0x00000006,0x000000b5,0x00000049,0x000500aa,0x00000052,0x000000b6,0x000000b5,
+ 0x00000055,0x000500a7,0x00000052,0x000000b7,0x000000b4,0x000000b6,0x000300f7,0x000000b9,
+ 0x00000000,0x000400fa,0x000000b7,0x000000b8,0x000000bc,0x000200f8,0x000000b8,0x0003003e,
+ 0x000000ba,0x000000bb,0x000200f9,0x000000b9,0x000200f8,0x000000bc,0x0004003d,0x00000006,
+ 0x000000bd,0x00000062,0x0004003d,0x00000006,0x000000be,0x00000086,0x000500c2,0x00000006,
+ 0x000000bf,0x000000bd,0x000000be,0x0004003d,0x00000006,0x000000c0,0x00000079,0x000500c7,
+ 0x00000006,0x000000c1,0x000000bf,0x000000c0,0x0003003e,0x000000ba,0x000000c1,0x000200f9,
+ 0x000000b9,0x000200f8,0x000000b9,0x0004003d,0x00000006,0x000000c3,0x000000ba,0x0003003e,
+ 0x000000c2,0x000000c3,0x0004003d,0x00000006,0x000000c4,0x000000c2,0x000200fe,0x000000c4,
+ 0x00010038,0x00050036,0x00000015,0x00000018,0x00000000,0x00000016,0x00030037,0x00000007,
+ 0x00000017,0x000200f8,0x00000019,0x0004003d,0x00000006,0x000000c7,0x00000017,0x00040070,
+ 0x00000015,0x000000c8,0x000000c7,0x000200fe,0x000000c8,0x00010038,0x00050036,0x00000006,
+ 0x0000001e,0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x0000001a,
+ 0x0000001d,0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000cb,0x00000007,0x0004003d,
+ 0x00000015,0x000000cc,0x0000001d,0x0004007c,0x00000028,0x000000cd,0x000000cc,0x0004007c,
+ 0x00000006,0x000000ce,0x000000cd,0x0003003e,0x000000cb,0x000000ce,0x0004003d,0x00000006,
+ 0x000000cf,0x000000cb,0x000200fe,0x000000cf,0x00010038,0x00050036,0x00000002,0x00000022,
+ 0x00000000,0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,
+ 0x000000d9,0x000000da,0x000000d8,0x0000005a,0x0004003d,0x00000006,0x000000db,0x000000da,
+ 0x00050041,0x0000002a,0x000000dc,0x00000027,0x0000007c,0x0004003d,0x00000006,0x000000dd,
+ 0x000000dc,0x00050086,0x00000006,0x000000de,0x000000dd,0x0000003c,0x00050080,0x00000006,
+ 0x000000df,0x000000db,0x000000de,0x0004003d,0x00000006,0x000000e0,0x00000021,0x00060041,
+ 0x0000006a,0x000000e1,0x000000d5,0x00000067,0x000000df,0x0003003e,0x000000e1,0x000000e0,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -229,6 +258,9 @@ const uint32_t kConvertVertex_comp_00000003[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -263,9 +295,30 @@ const uint32_t kConvertVertex_comp_00000003[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, params . Bs);
-// uint valueBits = params . Bs * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, params . Bs);
+// valueBits = params . Bs * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc
index ff8896a0f48..bddcb6df95e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000004[] = {
- 0x07230203,0x00010000,0x00080007,0x00000115,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x0000013d,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000d6,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000ff,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -24,201 +24,230 @@ const uint32_t kConvertVertex_comp_00000004[] = {
0x00000025,0x00000005,0x00007342,0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,
0x00000025,0x00000007,0x00007345,0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,
0x00000025,0x00000009,0x00006442,0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,
- 0x00000025,0x0000000b,0x00006445,0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,
- 0x0000003a,0x66696873,0x00000074,0x00040005,0x00000043,0x74726576,0x00007865,0x00050005,
- 0x00000049,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x0000005c,0x7366666f,0x00007465,
- 0x00040005,0x0000005d,0x61726170,0x0000006d,0x00040005,0x0000005f,0x61726170,0x0000006d,
- 0x00040005,0x00000062,0x636f6c62,0x0000006b,0x00030005,0x00000064,0x00637273,0x00050006,
- 0x00000064,0x00000000,0x44637273,0x00617461,0x00030005,0x00000066,0x00000000,0x00050005,
- 0x0000006d,0x66696873,0x74694274,0x00000073,0x00040005,0x0000006e,0x61726170,0x0000006d,
- 0x00040005,0x00000070,0x61726170,0x0000006d,0x00050005,0x00000074,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000078,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000091,
- 0x756c6176,0x55734165,0x00746e69,0x00050005,0x0000009f,0x654e7369,0x69746167,0x00006576,
- 0x00060005,0x000000a9,0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00050005,0x000000b6,
- 0x756c6176,0x49734165,0x0000746e,0x00040005,0x000000b9,0x756c6176,0x00000065,0x00050005,
- 0x000000c9,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000d1,0x74736564,0x00000000,
- 0x00060006,0x000000d1,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000d3,
- 0x00000000,0x00080005,0x000000d6,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,
- 0x00000044,0x00050005,0x000000e9,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000ea,
- 0x00000069,0x00030005,0x000000f2,0x00006463,0x00050005,0x000000ff,0x56637273,0x65756c61,
- 0x00000000,0x00040005,0x00000100,0x61726170,0x0000006d,0x00050005,0x00000103,0x74736564,
- 0x756c6156,0x00000065,0x00040005,0x00000104,0x61726170,0x0000006d,0x00040005,0x00000107,
- 0x61726170,0x0000006d,0x00040005,0x00000109,0x61726170,0x0000006d,0x00040005,0x00000110,
- 0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,
- 0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,
- 0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,
- 0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,
- 0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,
- 0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000025,
- 0x00000002,0x00040047,0x00000063,0x00000006,0x00000004,0x00050048,0x00000064,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000064,0x00000003,0x00040047,0x00000066,0x00000022,
- 0x00000000,0x00040047,0x00000066,0x00000021,0x00000001,0x00040047,0x000000d0,0x00000006,
- 0x00000004,0x00050048,0x000000d1,0x00000000,0x00000023,0x00000000,0x00030047,0x000000d1,
- 0x00000003,0x00040047,0x000000d3,0x00000022,0x00000000,0x00040047,0x000000d3,0x00000021,
- 0x00000000,0x00040047,0x000000d6,0x0000000b,0x0000001c,0x00040047,0x00000114,0x0000000b,
- 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,
- 0x00000006,0x00000007,0x00000007,0x00030016,0x00000011,0x00000020,0x00040021,0x00000012,
- 0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,0x00040021,0x00000017,
- 0x00000011,0x00000016,0x00050021,0x0000001b,0x00000006,0x00000007,0x00000016,0x00040021,
- 0x00000020,0x00000002,0x00000007,0x000e001e,0x00000025,0x00000006,0x00000006,0x00000006,
+ 0x00000025,0x0000000b,0x00006445,0x00060006,0x00000025,0x0000000c,0x72537369,0x52444863,
+ 0x00000000,0x00070006,0x00000025,0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,
+ 0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x0000003a,0x66696873,0x00000074,
+ 0x00040005,0x00000043,0x74726576,0x00007865,0x00050005,0x00000049,0x706d6f63,0x6e656e6f,
+ 0x00000074,0x00040005,0x0000005c,0x7366666f,0x00007465,0x00040005,0x0000005d,0x61726170,
+ 0x0000006d,0x00040005,0x0000005f,0x61726170,0x0000006d,0x00040005,0x00000062,0x636f6c62,
+ 0x0000006b,0x00030005,0x00000064,0x00637273,0x00050006,0x00000064,0x00000000,0x44637273,
+ 0x00617461,0x00030005,0x00000066,0x00000000,0x00050005,0x00000074,0x756c6176,0x74694265,
+ 0x00000073,0x00050005,0x0000007a,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000087,
+ 0x66696873,0x74694274,0x00000073,0x00040005,0x0000009a,0x61726170,0x0000006d,0x00040005,
+ 0x0000009c,0x61726170,0x0000006d,0x00050005,0x000000bb,0x756c6176,0x55734165,0x00746e69,
+ 0x00050005,0x000000c9,0x654e7369,0x69746167,0x00006576,0x00060005,0x000000d2,0x6e676973,
+ 0x65747845,0x6f69736e,0x0000006e,0x00050005,0x000000df,0x756c6176,0x49734165,0x0000746e,
+ 0x00040005,0x000000e2,0x756c6176,0x00000065,0x00050005,0x000000f2,0x756c6176,0x55734165,
+ 0x00746e69,0x00040005,0x000000fa,0x74736564,0x00000000,0x00060006,0x000000fa,0x00000000,
+ 0x74736564,0x61746144,0x00000000,0x00030005,0x000000fc,0x00000000,0x00080005,0x000000ff,
+ 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x00000111,
+ 0x756c6176,0x74754f65,0x00000000,0x00030005,0x00000112,0x00000069,0x00030005,0x0000011a,
+ 0x00006463,0x00050005,0x00000127,0x56637273,0x65756c61,0x00000000,0x00040005,0x00000128,
+ 0x61726170,0x0000006d,0x00050005,0x0000012b,0x74736564,0x756c6156,0x00000065,0x00040005,
+ 0x0000012c,0x61726170,0x0000006d,0x00040005,0x0000012f,0x61726170,0x0000006d,0x00040005,
+ 0x00000131,0x61726170,0x0000006d,0x00040005,0x00000138,0x61726170,0x0000006d,0x00050048,
+ 0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,0x00000025,0x00000001,0x00000023,
+ 0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,0x00000008,0x00050048,0x00000025,
+ 0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,0x00000004,0x00000023,0x00000010,
+ 0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,0x00050048,0x00000025,0x00000006,
+ 0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,0x00000023,0x0000001c,0x00050048,
+ 0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,0x00000025,0x00000009,0x00000023,
+ 0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000025,
+ 0x0000000b,0x00000023,0x0000002c,0x00050048,0x00000025,0x0000000c,0x00000023,0x00000030,
+ 0x00050048,0x00000025,0x0000000d,0x00000023,0x00000034,0x00030047,0x00000025,0x00000002,
+ 0x00040047,0x00000063,0x00000006,0x00000004,0x00050048,0x00000064,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000064,0x00000003,0x00040047,0x00000066,0x00000022,0x00000000,
+ 0x00040047,0x00000066,0x00000021,0x00000001,0x00040047,0x000000f9,0x00000006,0x00000004,
+ 0x00050048,0x000000fa,0x00000000,0x00000023,0x00000000,0x00030047,0x000000fa,0x00000003,
+ 0x00040047,0x000000fc,0x00000022,0x00000000,0x00040047,0x000000fc,0x00000021,0x00000000,
+ 0x00040047,0x000000ff,0x0000000b,0x0000001c,0x00040047,0x0000013c,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,
+ 0x00000007,0x00000007,0x00030016,0x00000011,0x00000020,0x00040021,0x00000012,0x00000011,
+ 0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,0x00040021,0x00000017,0x00000011,
+ 0x00000016,0x00050021,0x0000001b,0x00000006,0x00000007,0x00000016,0x00040021,0x00000020,
+ 0x00000002,0x00000007,0x0010001e,0x00000025,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,0x00000027,
- 0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,0x00000029,
- 0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,0x0000002f,
- 0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000006,0x0000003c,
- 0x00000004,0x0004002b,0x00000006,0x0000003e,0x00000008,0x0004002b,0x00000028,0x00000045,
- 0x00000008,0x0004002b,0x00000028,0x0000004f,0x00000004,0x00020014,0x00000052,0x0004002b,
- 0x00000006,0x00000055,0x00000003,0x0004002b,0x00000011,0x0000005a,0x00000000,0x0003001d,
- 0x00000063,0x00000006,0x0003001e,0x00000064,0x00000063,0x00040020,0x00000065,0x00000002,
- 0x00000064,0x0004003b,0x00000065,0x00000066,0x00000002,0x0004002b,0x00000028,0x00000067,
- 0x00000000,0x00040020,0x0000006a,0x00000002,0x00000006,0x0004002b,0x00000006,0x0000007a,
- 0x00000020,0x00040020,0x0000007c,0x00000007,0x00000028,0x0004002b,0x00000028,0x00000080,
- 0xffffffff,0x0004002b,0x00000028,0x00000082,0x00000001,0x00040020,0x0000009e,0x00000007,
- 0x00000052,0x0004002b,0x00000006,0x000000a2,0x00000001,0x0004002b,0x00000006,0x000000a7,
- 0x00000000,0x0004002b,0x00000011,0x000000c1,0xbf800000,0x0003001d,0x000000d0,0x00000006,
- 0x0003001e,0x000000d1,0x000000d0,0x00040020,0x000000d2,0x00000002,0x000000d1,0x0004003b,
- 0x000000d2,0x000000d3,0x00000002,0x00040017,0x000000d4,0x00000006,0x00000003,0x00040020,
- 0x000000d5,0x00000001,0x000000d4,0x0004003b,0x000000d5,0x000000d6,0x00000001,0x00040020,
- 0x000000d7,0x00000001,0x00000006,0x0004002b,0x00000028,0x000000da,0x00000003,0x0004002b,
- 0x00000006,0x00000113,0x00000040,0x0006002c,0x000000d4,0x00000114,0x00000113,0x000000a2,
- 0x000000a2,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000007,0x000000e9,0x00000007,0x0004003b,0x00000007,0x000000ea,0x00000007,
- 0x0004003b,0x00000007,0x000000f2,0x00000007,0x0004003b,0x00000016,0x000000ff,0x00000007,
- 0x0004003b,0x00000007,0x00000100,0x00000007,0x0004003b,0x00000016,0x00000103,0x00000007,
- 0x0004003b,0x00000016,0x00000104,0x00000007,0x0004003b,0x00000007,0x00000107,0x00000007,
- 0x0004003b,0x00000016,0x00000109,0x00000007,0x0004003b,0x00000007,0x00000110,0x00000007,
- 0x00050041,0x000000d7,0x000000e1,0x000000d6,0x000000a7,0x0004003d,0x00000006,0x000000e2,
- 0x000000e1,0x00050041,0x0000002a,0x000000e3,0x00000027,0x00000067,0x0004003d,0x00000006,
- 0x000000e4,0x000000e3,0x000500ae,0x00000052,0x000000e5,0x000000e2,0x000000e4,0x000300f7,
- 0x000000e7,0x00000000,0x000400fa,0x000000e5,0x000000e6,0x000000e7,0x000200f8,0x000000e6,
- 0x000100fd,0x000200f8,0x000000e7,0x0003003e,0x000000e9,0x000000a7,0x0003003e,0x000000ea,
- 0x000000a7,0x000200f9,0x000000eb,0x000200f8,0x000000eb,0x000400f6,0x000000ed,0x000000ee,
- 0x00000000,0x000200f9,0x000000ef,0x000200f8,0x000000ef,0x0004003d,0x00000006,0x000000f0,
- 0x000000ea,0x000500b0,0x00000052,0x000000f1,0x000000f0,0x000000a2,0x000400fa,0x000000f1,
- 0x000000ec,0x000000ed,0x000200f8,0x000000ec,0x00050041,0x000000d7,0x000000f3,0x000000d6,
- 0x000000a7,0x0004003d,0x00000006,0x000000f4,0x000000f3,0x00050084,0x00000006,0x000000f5,
- 0x000000f4,0x000000a2,0x0004003d,0x00000006,0x000000f6,0x000000ea,0x00050080,0x00000006,
- 0x000000f7,0x000000f5,0x000000f6,0x0003003e,0x000000f2,0x000000f7,0x0004003d,0x00000006,
- 0x000000f8,0x000000f2,0x00050041,0x0000002a,0x000000f9,0x00000027,0x00000082,0x0004003d,
- 0x00000006,0x000000fa,0x000000f9,0x000500ae,0x00000052,0x000000fb,0x000000f8,0x000000fa,
- 0x000300f7,0x000000fd,0x00000000,0x000400fa,0x000000fb,0x000000fc,0x000000fd,0x000200f8,
- 0x000000fc,0x000200f9,0x000000ed,0x000200f8,0x000000fd,0x0004003d,0x00000006,0x00000101,
- 0x000000f2,0x0003003e,0x00000100,0x00000101,0x00050039,0x00000011,0x00000102,0x00000014,
- 0x00000100,0x0003003e,0x000000ff,0x00000102,0x0004003d,0x00000011,0x00000105,0x000000ff,
- 0x0003003e,0x00000104,0x00000105,0x00050039,0x00000011,0x00000106,0x00000019,0x00000104,
- 0x0003003e,0x00000103,0x00000106,0x0004003d,0x00000006,0x00000108,0x000000f2,0x0003003e,
- 0x00000107,0x00000108,0x0004003d,0x00000011,0x0000010a,0x00000103,0x0003003e,0x00000109,
- 0x0000010a,0x00060039,0x00000006,0x0000010b,0x0000001e,0x00000107,0x00000109,0x0004003d,
- 0x00000006,0x0000010c,0x000000e9,0x000500c5,0x00000006,0x0000010d,0x0000010c,0x0000010b,
- 0x0003003e,0x000000e9,0x0000010d,0x000200f9,0x000000ee,0x000200f8,0x000000ee,0x0004003d,
- 0x00000006,0x0000010e,0x000000ea,0x00050080,0x00000006,0x0000010f,0x0000010e,0x00000082,
- 0x0003003e,0x000000ea,0x0000010f,0x000200f9,0x000000eb,0x000200f8,0x000000ed,0x0004003d,
- 0x00000006,0x00000111,0x000000e9,0x0003003e,0x00000110,0x00000111,0x00050039,0x00000002,
- 0x00000112,0x00000022,0x00000110,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,
- 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,
- 0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,0x0000002a,
- 0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x00050084,
- 0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000000a,
- 0x00050041,0x0000002a,0x00000030,0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000031,
- 0x00000030,0x00050084,0x00000006,0x00000032,0x0000002e,0x00000031,0x00050080,0x00000006,
- 0x00000033,0x0000002d,0x00000032,0x00050041,0x0000002a,0x00000035,0x00000027,0x00000034,
- 0x0004003d,0x00000006,0x00000036,0x00000035,0x00050080,0x00000006,0x00000037,0x00000033,
- 0x00000036,0x000200fe,0x00000037,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,
- 0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,
- 0x00000010,0x0004003b,0x00000007,0x0000003a,0x00000007,0x0004003d,0x00000006,0x0000003b,
- 0x0000000d,0x00050089,0x00000006,0x0000003d,0x0000003b,0x0000003c,0x00050084,0x00000006,
- 0x0000003f,0x0000003d,0x0000003e,0x0003003e,0x0000003a,0x0000003f,0x0004003d,0x00000006,
- 0x00000040,0x0000003a,0x000200fe,0x00000040,0x00010038,0x00050036,0x00000011,0x00000014,
- 0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003b,
- 0x00000007,0x00000043,0x00000007,0x0004003b,0x00000007,0x00000049,0x00000007,0x0004003b,
- 0x00000007,0x0000005c,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,
- 0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,0x00000062,0x00000007,0x0004003b,
- 0x00000007,0x0000006d,0x00000007,0x0004003b,0x00000007,0x0000006e,0x00000007,0x0004003b,
- 0x00000007,0x00000070,0x00000007,0x0004003b,0x00000007,0x00000074,0x00000007,0x0004003b,
- 0x00000007,0x00000078,0x00000007,0x0004003b,0x0000007c,0x0000007d,0x00000007,0x0004003b,
- 0x00000007,0x00000091,0x00000007,0x0004003b,0x0000009e,0x0000009f,0x00000007,0x0004003b,
- 0x00000007,0x000000a9,0x00000007,0x0004003b,0x0000007c,0x000000ab,0x00000007,0x0004003b,
- 0x0000007c,0x000000b6,0x00000007,0x0004003b,0x00000016,0x000000b9,0x00000007,0x0004003d,
- 0x00000006,0x00000044,0x00000013,0x00050041,0x0000002a,0x00000046,0x00000027,0x00000045,
- 0x0004003d,0x00000006,0x00000047,0x00000046,0x00050086,0x00000006,0x00000048,0x00000044,
- 0x00000047,0x0003003e,0x00000043,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000013,
- 0x00050041,0x0000002a,0x0000004b,0x00000027,0x00000045,0x0004003d,0x00000006,0x0000004c,
- 0x0000004b,0x00050089,0x00000006,0x0000004d,0x0000004a,0x0000004c,0x0003003e,0x00000049,
- 0x0000004d,0x0004003d,0x00000006,0x0000004e,0x00000049,0x00050041,0x0000002a,0x00000050,
- 0x00000027,0x0000004f,0x0004003d,0x00000006,0x00000051,0x00000050,0x000500ae,0x00000052,
- 0x00000053,0x0000004e,0x00000051,0x0004003d,0x00000006,0x00000054,0x00000049,0x000500b0,
- 0x00000052,0x00000056,0x00000054,0x00000055,0x000500a7,0x00000052,0x00000057,0x00000053,
- 0x00000056,0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,
- 0x000200f8,0x00000058,0x000200fe,0x0000005a,0x000200f8,0x00000059,0x0004003d,0x00000006,
- 0x0000005e,0x00000043,0x0003003e,0x0000005d,0x0000005e,0x0004003d,0x00000006,0x00000060,
- 0x00000049,0x0003003e,0x0000005f,0x00000060,0x00060039,0x00000006,0x00000061,0x0000000b,
- 0x0000005d,0x0000005f,0x0003003e,0x0000005c,0x00000061,0x0004003d,0x00000006,0x00000068,
- 0x0000005c,0x00050086,0x00000006,0x00000069,0x00000068,0x0000003c,0x00060041,0x0000006a,
- 0x0000006b,0x00000066,0x00000067,0x00000069,0x0004003d,0x00000006,0x0000006c,0x0000006b,
- 0x0003003e,0x00000062,0x0000006c,0x0004003d,0x00000006,0x0000006f,0x0000005c,0x0003003e,
- 0x0000006e,0x0000006f,0x00050041,0x0000002a,0x00000071,0x00000027,0x0000002f,0x0004003d,
- 0x00000006,0x00000072,0x00000071,0x0003003e,0x00000070,0x00000072,0x00060039,0x00000006,
- 0x00000073,0x0000000f,0x0000006e,0x00000070,0x0003003e,0x0000006d,0x00000073,0x00050041,
- 0x0000002a,0x00000075,0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000076,0x00000075,
- 0x00050084,0x00000006,0x00000077,0x00000076,0x0000003e,0x0003003e,0x00000074,0x00000077,
- 0x0004003d,0x00000006,0x00000079,0x00000074,0x000500aa,0x00000052,0x0000007b,0x00000079,
- 0x0000007a,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007b,0x0000007e,0x00000081,
- 0x000200f8,0x0000007e,0x0003003e,0x0000007d,0x00000080,0x000200f9,0x0000007f,0x000200f8,
- 0x00000081,0x0004003d,0x00000006,0x00000083,0x00000074,0x000500c4,0x00000028,0x00000084,
- 0x00000082,0x00000083,0x00050082,0x00000028,0x00000085,0x00000084,0x00000082,0x0003003e,
- 0x0000007d,0x00000085,0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x0004003d,0x00000028,
- 0x00000086,0x0000007d,0x0004007c,0x00000006,0x00000087,0x00000086,0x0003003e,0x00000078,
- 0x00000087,0x0004003d,0x00000006,0x00000088,0x00000049,0x00050041,0x0000002a,0x00000089,
- 0x00000027,0x0000004f,0x0004003d,0x00000006,0x0000008a,0x00000089,0x000500ae,0x00000052,
- 0x0000008b,0x00000088,0x0000008a,0x0004003d,0x00000006,0x0000008c,0x00000049,0x000500aa,
- 0x00000052,0x0000008d,0x0000008c,0x00000055,0x000500a7,0x00000052,0x0000008e,0x0000008b,
- 0x0000008d,0x000300f7,0x00000090,0x00000000,0x000400fa,0x0000008e,0x0000008f,0x00000094,
- 0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000092,0x00000078,0x000500c2,0x00000006,
- 0x00000093,0x00000092,0x00000082,0x0003003e,0x00000091,0x00000093,0x000200f9,0x00000090,
- 0x000200f8,0x00000094,0x0004003d,0x00000006,0x00000095,0x00000062,0x0004003d,0x00000006,
- 0x00000096,0x0000006d,0x000500c2,0x00000006,0x00000097,0x00000095,0x00000096,0x0004003d,
- 0x00000006,0x00000098,0x00000078,0x000500c7,0x00000006,0x00000099,0x00000097,0x00000098,
- 0x0003003e,0x00000091,0x00000099,0x000200f9,0x00000090,0x000200f8,0x00000090,0x0004003d,
- 0x00000006,0x0000009a,0x00000074,0x000500b0,0x00000052,0x0000009b,0x0000009a,0x0000007a,
- 0x000300f7,0x0000009d,0x00000000,0x000400fa,0x0000009b,0x0000009c,0x0000009d,0x000200f8,
- 0x0000009c,0x0004003d,0x00000006,0x000000a0,0x00000091,0x0004003d,0x00000006,0x000000a1,
- 0x00000074,0x00050082,0x00000006,0x000000a3,0x000000a1,0x000000a2,0x000500c4,0x00000028,
- 0x000000a4,0x00000082,0x000000a3,0x0004007c,0x00000006,0x000000a5,0x000000a4,0x000500c7,
- 0x00000006,0x000000a6,0x000000a0,0x000000a5,0x000500ab,0x00000052,0x000000a8,0x000000a6,
- 0x000000a7,0x0003003e,0x0000009f,0x000000a8,0x0004003d,0x00000052,0x000000aa,0x0000009f,
- 0x000300f7,0x000000ad,0x00000000,0x000400fa,0x000000aa,0x000000ac,0x000000b0,0x000200f8,
- 0x000000ac,0x0004003d,0x00000006,0x000000ae,0x00000074,0x000500c4,0x00000028,0x000000af,
- 0x00000080,0x000000ae,0x0003003e,0x000000ab,0x000000af,0x000200f9,0x000000ad,0x000200f8,
- 0x000000b0,0x0003003e,0x000000ab,0x00000067,0x000200f9,0x000000ad,0x000200f8,0x000000ad,
- 0x0004003d,0x00000028,0x000000b1,0x000000ab,0x0004007c,0x00000006,0x000000b2,0x000000b1,
- 0x0003003e,0x000000a9,0x000000b2,0x0004003d,0x00000006,0x000000b3,0x000000a9,0x0004003d,
- 0x00000006,0x000000b4,0x00000091,0x000500c5,0x00000006,0x000000b5,0x000000b4,0x000000b3,
- 0x0003003e,0x00000091,0x000000b5,0x000200f9,0x0000009d,0x000200f8,0x0000009d,0x0004003d,
- 0x00000006,0x000000b7,0x00000091,0x0004007c,0x00000028,0x000000b8,0x000000b7,0x0003003e,
- 0x000000b6,0x000000b8,0x0004003d,0x00000028,0x000000ba,0x000000b6,0x0004006f,0x00000011,
- 0x000000bb,0x000000ba,0x0004003d,0x00000006,0x000000bc,0x00000078,0x000500c2,0x00000006,
- 0x000000bd,0x000000bc,0x00000082,0x00040070,0x00000011,0x000000be,0x000000bd,0x00050088,
- 0x00000011,0x000000bf,0x000000bb,0x000000be,0x0003003e,0x000000b9,0x000000bf,0x0004003d,
- 0x00000011,0x000000c0,0x000000b9,0x0007000c,0x00000011,0x000000c2,0x00000001,0x00000028,
- 0x000000c0,0x000000c1,0x0003003e,0x000000b9,0x000000c2,0x0004003d,0x00000011,0x000000c3,
- 0x000000b9,0x000200fe,0x000000c3,0x00010038,0x00050036,0x00000011,0x00000019,0x00000000,
- 0x00000017,0x00030037,0x00000016,0x00000018,0x000200f8,0x0000001a,0x0004003d,0x00000011,
- 0x000000c6,0x00000018,0x000200fe,0x000000c6,0x00010038,0x00050036,0x00000006,0x0000001e,
- 0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000016,0x0000001d,
- 0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000c9,0x00000007,0x0004003d,0x00000011,
- 0x000000ca,0x0000001d,0x0004007c,0x00000028,0x000000cb,0x000000ca,0x0004007c,0x00000006,
- 0x000000cc,0x000000cb,0x0003003e,0x000000c9,0x000000cc,0x0004003d,0x00000006,0x000000cd,
- 0x000000c9,0x000200fe,0x000000cd,0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,
- 0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,0x000000d7,
- 0x000000d8,0x000000d6,0x000000a7,0x0004003d,0x00000006,0x000000d9,0x000000d8,0x00050041,
- 0x0000002a,0x000000db,0x00000027,0x000000da,0x0004003d,0x00000006,0x000000dc,0x000000db,
- 0x00050086,0x00000006,0x000000dd,0x000000dc,0x0000003c,0x00050080,0x00000006,0x000000de,
- 0x000000d9,0x000000dd,0x0004003d,0x00000006,0x000000df,0x00000021,0x00060041,0x0000006a,
- 0x000000e0,0x000000d3,0x00000067,0x000000de,0x0003003e,0x000000e0,0x000000df,0x000100fd,
- 0x00010038
+ 0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,
+ 0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,
+ 0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,
+ 0x0000002f,0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000006,
+ 0x0000003c,0x00000004,0x0004002b,0x00000006,0x0000003e,0x00000008,0x0004002b,0x00000028,
+ 0x00000045,0x00000008,0x0004002b,0x00000028,0x0000004f,0x00000004,0x00020014,0x00000052,
+ 0x0004002b,0x00000006,0x00000055,0x00000003,0x0004002b,0x00000011,0x0000005a,0x00000000,
+ 0x0003001d,0x00000063,0x00000006,0x0003001e,0x00000064,0x00000063,0x00040020,0x00000065,
+ 0x00000002,0x00000064,0x0004003b,0x00000065,0x00000066,0x00000002,0x0004002b,0x00000028,
+ 0x00000067,0x00000000,0x00040020,0x0000006a,0x00000002,0x00000006,0x0004002b,0x00000028,
+ 0x0000006d,0x0000000c,0x0004002b,0x00000006,0x00000070,0x00000000,0x0004002b,0x00000028,
+ 0x00000077,0x0000000a,0x0004002b,0x00000028,0x0000007d,0x00000003,0x0004002b,0x00000028,
+ 0x0000007e,0x000003ff,0x0004002b,0x00000028,0x00000081,0x0000000d,0x0004002b,0x00000006,
+ 0x00000088,0x0000000a,0x0004002b,0x00000006,0x00000093,0x00000002,0x0004002b,0x00000006,
+ 0x000000a4,0x00000020,0x00040020,0x000000a6,0x00000007,0x00000028,0x0004002b,0x00000028,
+ 0x000000aa,0xffffffff,0x0004002b,0x00000028,0x000000ac,0x00000001,0x00040020,0x000000c8,
+ 0x00000007,0x00000052,0x0004002b,0x00000006,0x000000cc,0x00000001,0x0004002b,0x00000011,
+ 0x000000ea,0xbf800000,0x0003001d,0x000000f9,0x00000006,0x0003001e,0x000000fa,0x000000f9,
+ 0x00040020,0x000000fb,0x00000002,0x000000fa,0x0004003b,0x000000fb,0x000000fc,0x00000002,
+ 0x00040017,0x000000fd,0x00000006,0x00000003,0x00040020,0x000000fe,0x00000001,0x000000fd,
+ 0x0004003b,0x000000fe,0x000000ff,0x00000001,0x00040020,0x00000100,0x00000001,0x00000006,
+ 0x0004002b,0x00000006,0x0000013b,0x00000040,0x0006002c,0x000000fd,0x0000013c,0x0000013b,
+ 0x000000cc,0x000000cc,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x0004003b,0x00000007,0x00000111,0x00000007,0x0004003b,0x00000007,0x00000112,
+ 0x00000007,0x0004003b,0x00000007,0x0000011a,0x00000007,0x0004003b,0x00000016,0x00000127,
+ 0x00000007,0x0004003b,0x00000007,0x00000128,0x00000007,0x0004003b,0x00000016,0x0000012b,
+ 0x00000007,0x0004003b,0x00000016,0x0000012c,0x00000007,0x0004003b,0x00000007,0x0000012f,
+ 0x00000007,0x0004003b,0x00000016,0x00000131,0x00000007,0x0004003b,0x00000007,0x00000138,
+ 0x00000007,0x00050041,0x00000100,0x00000109,0x000000ff,0x00000070,0x0004003d,0x00000006,
+ 0x0000010a,0x00000109,0x00050041,0x0000002a,0x0000010b,0x00000027,0x00000067,0x0004003d,
+ 0x00000006,0x0000010c,0x0000010b,0x000500ae,0x00000052,0x0000010d,0x0000010a,0x0000010c,
+ 0x000300f7,0x0000010f,0x00000000,0x000400fa,0x0000010d,0x0000010e,0x0000010f,0x000200f8,
+ 0x0000010e,0x000100fd,0x000200f8,0x0000010f,0x0003003e,0x00000111,0x00000070,0x0003003e,
+ 0x00000112,0x00000070,0x000200f9,0x00000113,0x000200f8,0x00000113,0x000400f6,0x00000115,
+ 0x00000116,0x00000000,0x000200f9,0x00000117,0x000200f8,0x00000117,0x0004003d,0x00000006,
+ 0x00000118,0x00000112,0x000500b0,0x00000052,0x00000119,0x00000118,0x000000cc,0x000400fa,
+ 0x00000119,0x00000114,0x00000115,0x000200f8,0x00000114,0x00050041,0x00000100,0x0000011b,
+ 0x000000ff,0x00000070,0x0004003d,0x00000006,0x0000011c,0x0000011b,0x00050084,0x00000006,
+ 0x0000011d,0x0000011c,0x000000cc,0x0004003d,0x00000006,0x0000011e,0x00000112,0x00050080,
+ 0x00000006,0x0000011f,0x0000011d,0x0000011e,0x0003003e,0x0000011a,0x0000011f,0x0004003d,
+ 0x00000006,0x00000120,0x0000011a,0x00050041,0x0000002a,0x00000121,0x00000027,0x000000ac,
+ 0x0004003d,0x00000006,0x00000122,0x00000121,0x000500ae,0x00000052,0x00000123,0x00000120,
+ 0x00000122,0x000300f7,0x00000125,0x00000000,0x000400fa,0x00000123,0x00000124,0x00000125,
+ 0x000200f8,0x00000124,0x000200f9,0x00000115,0x000200f8,0x00000125,0x0004003d,0x00000006,
+ 0x00000129,0x0000011a,0x0003003e,0x00000128,0x00000129,0x00050039,0x00000011,0x0000012a,
+ 0x00000014,0x00000128,0x0003003e,0x00000127,0x0000012a,0x0004003d,0x00000011,0x0000012d,
+ 0x00000127,0x0003003e,0x0000012c,0x0000012d,0x00050039,0x00000011,0x0000012e,0x00000019,
+ 0x0000012c,0x0003003e,0x0000012b,0x0000012e,0x0004003d,0x00000006,0x00000130,0x0000011a,
+ 0x0003003e,0x0000012f,0x00000130,0x0004003d,0x00000011,0x00000132,0x0000012b,0x0003003e,
+ 0x00000131,0x00000132,0x00060039,0x00000006,0x00000133,0x0000001e,0x0000012f,0x00000131,
+ 0x0004003d,0x00000006,0x00000134,0x00000111,0x000500c5,0x00000006,0x00000135,0x00000134,
+ 0x00000133,0x0003003e,0x00000111,0x00000135,0x000200f9,0x00000116,0x000200f8,0x00000116,
+ 0x0004003d,0x00000006,0x00000136,0x00000112,0x00050080,0x00000006,0x00000137,0x00000136,
+ 0x000000ac,0x0003003e,0x00000112,0x00000137,0x000200f9,0x00000113,0x000200f8,0x00000115,
+ 0x0004003d,0x00000006,0x00000139,0x00000111,0x0003003e,0x00000138,0x00000139,0x00050039,
+ 0x00000002,0x0000013a,0x00000022,0x00000138,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,
+ 0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,
+ 0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,
+ 0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,
+ 0x0000000a,0x00050041,0x0000002a,0x00000030,0x00000027,0x0000002f,0x0004003d,0x00000006,
+ 0x00000031,0x00000030,0x00050084,0x00000006,0x00000032,0x0000002e,0x00000031,0x00050080,
+ 0x00000006,0x00000033,0x0000002d,0x00000032,0x00050041,0x0000002a,0x00000035,0x00000027,
+ 0x00000034,0x0004003d,0x00000006,0x00000036,0x00000035,0x00050080,0x00000006,0x00000037,
+ 0x00000033,0x00000036,0x000200fe,0x00000037,0x00010038,0x00050036,0x00000006,0x0000000f,
+ 0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,
+ 0x000200f8,0x00000010,0x0004003b,0x00000007,0x0000003a,0x00000007,0x0004003d,0x00000006,
+ 0x0000003b,0x0000000d,0x00050089,0x00000006,0x0000003d,0x0000003b,0x0000003c,0x00050084,
+ 0x00000006,0x0000003f,0x0000003d,0x0000003e,0x0003003e,0x0000003a,0x0000003f,0x0004003d,
+ 0x00000006,0x00000040,0x0000003a,0x000200fe,0x00000040,0x00010038,0x00050036,0x00000011,
+ 0x00000014,0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,
+ 0x0004003b,0x00000007,0x00000043,0x00000007,0x0004003b,0x00000007,0x00000049,0x00000007,
+ 0x0004003b,0x00000007,0x0000005c,0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,
+ 0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,0x00000062,0x00000007,
+ 0x0004003b,0x00000007,0x00000074,0x00000007,0x0004003b,0x00000007,0x0000007a,0x00000007,
+ 0x0004003b,0x00000007,0x00000087,0x00000007,0x0004003b,0x00000007,0x0000008e,0x00000007,
+ 0x0004003b,0x00000007,0x0000009a,0x00000007,0x0004003b,0x00000007,0x0000009c,0x00000007,
+ 0x0004003b,0x000000a6,0x000000a7,0x00000007,0x0004003b,0x00000007,0x000000bb,0x00000007,
+ 0x0004003b,0x000000c8,0x000000c9,0x00000007,0x0004003b,0x00000007,0x000000d2,0x00000007,
+ 0x0004003b,0x000000a6,0x000000d4,0x00000007,0x0004003b,0x000000a6,0x000000df,0x00000007,
+ 0x0004003b,0x00000016,0x000000e2,0x00000007,0x0004003d,0x00000006,0x00000044,0x00000013,
+ 0x00050041,0x0000002a,0x00000046,0x00000027,0x00000045,0x0004003d,0x00000006,0x00000047,
+ 0x00000046,0x00050086,0x00000006,0x00000048,0x00000044,0x00000047,0x0003003e,0x00000043,
+ 0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000013,0x00050041,0x0000002a,0x0000004b,
+ 0x00000027,0x00000045,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x00050089,0x00000006,
+ 0x0000004d,0x0000004a,0x0000004c,0x0003003e,0x00000049,0x0000004d,0x0004003d,0x00000006,
+ 0x0000004e,0x00000049,0x00050041,0x0000002a,0x00000050,0x00000027,0x0000004f,0x0004003d,
+ 0x00000006,0x00000051,0x00000050,0x000500ae,0x00000052,0x00000053,0x0000004e,0x00000051,
+ 0x0004003d,0x00000006,0x00000054,0x00000049,0x000500b0,0x00000052,0x00000056,0x00000054,
+ 0x00000055,0x000500a7,0x00000052,0x00000057,0x00000053,0x00000056,0x000300f7,0x00000059,
+ 0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x000200fe,
+ 0x0000005a,0x000200f8,0x00000059,0x0004003d,0x00000006,0x0000005e,0x00000043,0x0003003e,
+ 0x0000005d,0x0000005e,0x0004003d,0x00000006,0x00000060,0x00000049,0x0003003e,0x0000005f,
+ 0x00000060,0x00060039,0x00000006,0x00000061,0x0000000b,0x0000005d,0x0000005f,0x0003003e,
+ 0x0000005c,0x00000061,0x0004003d,0x00000006,0x00000068,0x0000005c,0x00050086,0x00000006,
+ 0x00000069,0x00000068,0x0000003c,0x00060041,0x0000006a,0x0000006b,0x00000066,0x00000067,
+ 0x00000069,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x0003003e,0x00000062,0x0000006c,
+ 0x00050041,0x0000002a,0x0000006e,0x00000027,0x0000006d,0x0004003d,0x00000006,0x0000006f,
+ 0x0000006e,0x000500ab,0x00000052,0x00000071,0x0000006f,0x00000070,0x000300f7,0x00000073,
+ 0x00000000,0x000400fa,0x00000071,0x00000072,0x00000099,0x000200f8,0x00000072,0x0004003d,
+ 0x00000006,0x00000075,0x00000049,0x000500aa,0x00000052,0x00000076,0x00000075,0x00000055,
+ 0x000600a9,0x00000028,0x00000078,0x00000076,0x00000034,0x00000077,0x0004007c,0x00000006,
+ 0x00000079,0x00000078,0x0003003e,0x00000074,0x00000079,0x0004003d,0x00000006,0x0000007b,
+ 0x00000049,0x000500aa,0x00000052,0x0000007c,0x0000007b,0x00000055,0x000600a9,0x00000028,
+ 0x0000007f,0x0000007c,0x0000007d,0x0000007e,0x0004007c,0x00000006,0x00000080,0x0000007f,
+ 0x0003003e,0x0000007a,0x00000080,0x00050041,0x0000002a,0x00000082,0x00000027,0x00000081,
+ 0x0004003d,0x00000006,0x00000083,0x00000082,0x000500ab,0x00000052,0x00000084,0x00000083,
+ 0x00000070,0x000300f7,0x00000086,0x00000000,0x000400fa,0x00000084,0x00000085,0x0000008b,
+ 0x000200f8,0x00000085,0x0004003d,0x00000006,0x00000089,0x00000049,0x00050084,0x00000006,
+ 0x0000008a,0x00000088,0x00000089,0x0003003e,0x00000087,0x0000008a,0x000200f9,0x00000086,
+ 0x000200f8,0x0000008b,0x0004003d,0x00000006,0x0000008c,0x00000049,0x000500aa,0x00000052,
+ 0x0000008d,0x0000008c,0x00000055,0x000300f7,0x00000090,0x00000000,0x000400fa,0x0000008d,
+ 0x0000008f,0x00000091,0x000200f8,0x0000008f,0x0003003e,0x0000008e,0x00000070,0x000200f9,
+ 0x00000090,0x000200f8,0x00000091,0x0004003d,0x00000006,0x00000092,0x00000074,0x0004003d,
+ 0x00000006,0x00000094,0x00000049,0x00050082,0x00000006,0x00000095,0x00000093,0x00000094,
+ 0x00050084,0x00000006,0x00000096,0x00000092,0x00000095,0x00050080,0x00000006,0x00000097,
+ 0x00000096,0x00000093,0x0003003e,0x0000008e,0x00000097,0x000200f9,0x00000090,0x000200f8,
+ 0x00000090,0x0004003d,0x00000006,0x00000098,0x0000008e,0x0003003e,0x00000087,0x00000098,
+ 0x000200f9,0x00000086,0x000200f8,0x00000086,0x000200f9,0x00000073,0x000200f8,0x00000099,
+ 0x0004003d,0x00000006,0x0000009b,0x0000005c,0x0003003e,0x0000009a,0x0000009b,0x00050041,
+ 0x0000002a,0x0000009d,0x00000027,0x0000002f,0x0004003d,0x00000006,0x0000009e,0x0000009d,
+ 0x0003003e,0x0000009c,0x0000009e,0x00060039,0x00000006,0x0000009f,0x0000000f,0x0000009a,
+ 0x0000009c,0x0003003e,0x00000087,0x0000009f,0x00050041,0x0000002a,0x000000a0,0x00000027,
+ 0x0000002f,0x0004003d,0x00000006,0x000000a1,0x000000a0,0x00050084,0x00000006,0x000000a2,
+ 0x000000a1,0x0000003e,0x0003003e,0x00000074,0x000000a2,0x0004003d,0x00000006,0x000000a3,
+ 0x00000074,0x000500aa,0x00000052,0x000000a5,0x000000a3,0x000000a4,0x000300f7,0x000000a9,
+ 0x00000000,0x000400fa,0x000000a5,0x000000a8,0x000000ab,0x000200f8,0x000000a8,0x0003003e,
+ 0x000000a7,0x000000aa,0x000200f9,0x000000a9,0x000200f8,0x000000ab,0x0004003d,0x00000006,
+ 0x000000ad,0x00000074,0x000500c4,0x00000028,0x000000ae,0x000000ac,0x000000ad,0x00050082,
+ 0x00000028,0x000000af,0x000000ae,0x000000ac,0x0003003e,0x000000a7,0x000000af,0x000200f9,
+ 0x000000a9,0x000200f8,0x000000a9,0x0004003d,0x00000028,0x000000b0,0x000000a7,0x0004007c,
+ 0x00000006,0x000000b1,0x000000b0,0x0003003e,0x0000007a,0x000000b1,0x000200f9,0x00000073,
+ 0x000200f8,0x00000073,0x0004003d,0x00000006,0x000000b2,0x00000049,0x00050041,0x0000002a,
+ 0x000000b3,0x00000027,0x0000004f,0x0004003d,0x00000006,0x000000b4,0x000000b3,0x000500ae,
+ 0x00000052,0x000000b5,0x000000b2,0x000000b4,0x0004003d,0x00000006,0x000000b6,0x00000049,
+ 0x000500aa,0x00000052,0x000000b7,0x000000b6,0x00000055,0x000500a7,0x00000052,0x000000b8,
+ 0x000000b5,0x000000b7,0x000300f7,0x000000ba,0x00000000,0x000400fa,0x000000b8,0x000000b9,
+ 0x000000be,0x000200f8,0x000000b9,0x0004003d,0x00000006,0x000000bc,0x0000007a,0x000500c2,
+ 0x00000006,0x000000bd,0x000000bc,0x000000ac,0x0003003e,0x000000bb,0x000000bd,0x000200f9,
+ 0x000000ba,0x000200f8,0x000000be,0x0004003d,0x00000006,0x000000bf,0x00000062,0x0004003d,
+ 0x00000006,0x000000c0,0x00000087,0x000500c2,0x00000006,0x000000c1,0x000000bf,0x000000c0,
+ 0x0004003d,0x00000006,0x000000c2,0x0000007a,0x000500c7,0x00000006,0x000000c3,0x000000c1,
+ 0x000000c2,0x0003003e,0x000000bb,0x000000c3,0x000200f9,0x000000ba,0x000200f8,0x000000ba,
+ 0x0004003d,0x00000006,0x000000c4,0x00000074,0x000500b0,0x00000052,0x000000c5,0x000000c4,
+ 0x000000a4,0x000300f7,0x000000c7,0x00000000,0x000400fa,0x000000c5,0x000000c6,0x000000c7,
+ 0x000200f8,0x000000c6,0x0004003d,0x00000006,0x000000ca,0x000000bb,0x0004003d,0x00000006,
+ 0x000000cb,0x00000074,0x00050082,0x00000006,0x000000cd,0x000000cb,0x000000cc,0x000500c4,
+ 0x00000028,0x000000ce,0x000000ac,0x000000cd,0x0004007c,0x00000006,0x000000cf,0x000000ce,
+ 0x000500c7,0x00000006,0x000000d0,0x000000ca,0x000000cf,0x000500ab,0x00000052,0x000000d1,
+ 0x000000d0,0x00000070,0x0003003e,0x000000c9,0x000000d1,0x0004003d,0x00000052,0x000000d3,
+ 0x000000c9,0x000300f7,0x000000d6,0x00000000,0x000400fa,0x000000d3,0x000000d5,0x000000d9,
+ 0x000200f8,0x000000d5,0x0004003d,0x00000006,0x000000d7,0x00000074,0x000500c4,0x00000028,
+ 0x000000d8,0x000000aa,0x000000d7,0x0003003e,0x000000d4,0x000000d8,0x000200f9,0x000000d6,
+ 0x000200f8,0x000000d9,0x0003003e,0x000000d4,0x00000067,0x000200f9,0x000000d6,0x000200f8,
+ 0x000000d6,0x0004003d,0x00000028,0x000000da,0x000000d4,0x0004007c,0x00000006,0x000000db,
+ 0x000000da,0x0003003e,0x000000d2,0x000000db,0x0004003d,0x00000006,0x000000dc,0x000000d2,
+ 0x0004003d,0x00000006,0x000000dd,0x000000bb,0x000500c5,0x00000006,0x000000de,0x000000dd,
+ 0x000000dc,0x0003003e,0x000000bb,0x000000de,0x000200f9,0x000000c7,0x000200f8,0x000000c7,
+ 0x0004003d,0x00000006,0x000000e0,0x000000bb,0x0004007c,0x00000028,0x000000e1,0x000000e0,
+ 0x0003003e,0x000000df,0x000000e1,0x0004003d,0x00000028,0x000000e3,0x000000df,0x0004006f,
+ 0x00000011,0x000000e4,0x000000e3,0x0004003d,0x00000006,0x000000e5,0x0000007a,0x000500c2,
+ 0x00000006,0x000000e6,0x000000e5,0x000000ac,0x00040070,0x00000011,0x000000e7,0x000000e6,
+ 0x00050088,0x00000011,0x000000e8,0x000000e4,0x000000e7,0x0003003e,0x000000e2,0x000000e8,
+ 0x0004003d,0x00000011,0x000000e9,0x000000e2,0x0007000c,0x00000011,0x000000eb,0x00000001,
+ 0x00000028,0x000000e9,0x000000ea,0x0003003e,0x000000e2,0x000000eb,0x0004003d,0x00000011,
+ 0x000000ec,0x000000e2,0x000200fe,0x000000ec,0x00010038,0x00050036,0x00000011,0x00000019,
+ 0x00000000,0x00000017,0x00030037,0x00000016,0x00000018,0x000200f8,0x0000001a,0x0004003d,
+ 0x00000011,0x000000ef,0x00000018,0x000200fe,0x000000ef,0x00010038,0x00050036,0x00000006,
+ 0x0000001e,0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000016,
+ 0x0000001d,0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000f2,0x00000007,0x0004003d,
+ 0x00000011,0x000000f3,0x0000001d,0x0004007c,0x00000028,0x000000f4,0x000000f3,0x0004007c,
+ 0x00000006,0x000000f5,0x000000f4,0x0003003e,0x000000f2,0x000000f5,0x0004003d,0x00000006,
+ 0x000000f6,0x000000f2,0x000200fe,0x000000f6,0x00010038,0x00050036,0x00000002,0x00000022,
+ 0x00000000,0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,
+ 0x00000100,0x00000101,0x000000ff,0x00000070,0x0004003d,0x00000006,0x00000102,0x00000101,
+ 0x00050041,0x0000002a,0x00000103,0x00000027,0x0000007d,0x0004003d,0x00000006,0x00000104,
+ 0x00000103,0x00050086,0x00000006,0x00000105,0x00000104,0x0000003c,0x00050080,0x00000006,
+ 0x00000106,0x00000102,0x00000105,0x0004003d,0x00000006,0x00000107,0x00000021,0x00060041,
+ 0x0000006a,0x00000108,0x000000fc,0x00000067,0x00000106,0x0003003e,0x00000108,0x00000107,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -256,6 +285,9 @@ const uint32_t kConvertVertex_comp_00000004[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -290,9 +322,30 @@ const uint32_t kConvertVertex_comp_00000004[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, params . Bs);
-// uint valueBits = params . Bs * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, params . Bs);
+// valueBits = params . Bs * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc
index 5fa15031d8a..43daa4ed8bb 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000005[] = {
- 0x07230203,0x00010000,0x00080007,0x000000f5,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x0000011d,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000b4,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000de,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -24,178 +24,207 @@ const uint32_t kConvertVertex_comp_00000005[] = {
0x00000025,0x00000005,0x00007342,0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,
0x00000025,0x00000007,0x00007345,0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,
0x00000025,0x00000009,0x00006442,0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,
- 0x00000025,0x0000000b,0x00006445,0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,
- 0x0000003a,0x66696873,0x00000074,0x00040005,0x00000043,0x74726576,0x00007865,0x00050005,
- 0x00000049,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x0000005c,0x7366666f,0x00007465,
- 0x00040005,0x0000005d,0x61726170,0x0000006d,0x00040005,0x0000005f,0x61726170,0x0000006d,
- 0x00040005,0x00000062,0x636f6c62,0x0000006b,0x00030005,0x00000064,0x00637273,0x00050006,
- 0x00000064,0x00000000,0x44637273,0x00617461,0x00030005,0x00000066,0x00000000,0x00050005,
- 0x0000006d,0x66696873,0x74694274,0x00000073,0x00040005,0x0000006e,0x61726170,0x0000006d,
- 0x00040005,0x00000070,0x61726170,0x0000006d,0x00050005,0x00000074,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000078,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000091,
- 0x756c6176,0x55734165,0x00746e69,0x00050005,0x00000099,0x69736f70,0x65766974,0x0078614d,
- 0x00040005,0x0000009c,0x756c6176,0x00000065,0x00050005,0x000000a7,0x756c6176,0x55734165,
- 0x00746e69,0x00040005,0x000000af,0x74736564,0x00000000,0x00060006,0x000000af,0x00000000,
- 0x74736564,0x61746144,0x00000000,0x00030005,0x000000b1,0x00000000,0x00080005,0x000000b4,
- 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000c8,
- 0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000c9,0x00000069,0x00030005,0x000000d2,
- 0x00006463,0x00050005,0x000000df,0x56637273,0x65756c61,0x00000000,0x00040005,0x000000e0,
- 0x61726170,0x0000006d,0x00050005,0x000000e3,0x74736564,0x756c6156,0x00000065,0x00040005,
- 0x000000e4,0x61726170,0x0000006d,0x00040005,0x000000e7,0x61726170,0x0000006d,0x00040005,
- 0x000000e9,0x61726170,0x0000006d,0x00040005,0x000000f0,0x61726170,0x0000006d,0x00050048,
- 0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,0x00000025,0x00000001,0x00000023,
- 0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,0x00000008,0x00050048,0x00000025,
- 0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,0x00000004,0x00000023,0x00000010,
- 0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,0x00050048,0x00000025,0x00000006,
- 0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,0x00000023,0x0000001c,0x00050048,
- 0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,0x00000025,0x00000009,0x00000023,
- 0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000025,
- 0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000025,0x00000002,0x00040047,0x00000063,
- 0x00000006,0x00000004,0x00050048,0x00000064,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x00000064,0x00000003,0x00040047,0x00000066,0x00000022,0x00000000,0x00040047,0x00000066,
- 0x00000021,0x00000001,0x00040047,0x000000ae,0x00000006,0x00000004,0x00050048,0x000000af,
- 0x00000000,0x00000023,0x00000000,0x00030047,0x000000af,0x00000003,0x00040047,0x000000b1,
- 0x00000022,0x00000000,0x00040047,0x000000b1,0x00000021,0x00000000,0x00040047,0x000000b4,
- 0x0000000b,0x0000001c,0x00040047,0x000000f4,0x0000000b,0x00000019,0x00020013,0x00000002,
- 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,
- 0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,
- 0x00030016,0x00000011,0x00000020,0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,
- 0x00000016,0x00000007,0x00000011,0x00040021,0x00000017,0x00000011,0x00000016,0x00050021,
- 0x0000001b,0x00000006,0x00000007,0x00000016,0x00040021,0x00000020,0x00000002,0x00000007,
- 0x000e001e,0x00000025,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000026,
- 0x00000009,0x00000025,0x0004003b,0x00000026,0x00000027,0x00000009,0x00040015,0x00000028,
- 0x00000020,0x00000001,0x0004002b,0x00000028,0x00000029,0x00000006,0x00040020,0x0000002a,
- 0x00000009,0x00000006,0x0004002b,0x00000028,0x0000002f,0x00000005,0x0004002b,0x00000028,
- 0x00000034,0x00000002,0x0004002b,0x00000006,0x0000003c,0x00000004,0x0004002b,0x00000006,
- 0x0000003e,0x00000008,0x0004002b,0x00000028,0x00000045,0x00000008,0x0004002b,0x00000028,
- 0x0000004f,0x00000004,0x00020014,0x00000052,0x0004002b,0x00000006,0x00000055,0x00000003,
- 0x0004002b,0x00000011,0x0000005a,0x00000000,0x0003001d,0x00000063,0x00000006,0x0003001e,
- 0x00000064,0x00000063,0x00040020,0x00000065,0x00000002,0x00000064,0x0004003b,0x00000065,
- 0x00000066,0x00000002,0x0004002b,0x00000028,0x00000067,0x00000000,0x00040020,0x0000006a,
- 0x00000002,0x00000006,0x0004002b,0x00000006,0x0000007a,0x00000020,0x00040020,0x0000007c,
- 0x00000007,0x00000028,0x0004002b,0x00000028,0x00000080,0xffffffff,0x0004002b,0x00000028,
- 0x00000082,0x00000001,0x0003001d,0x000000ae,0x00000006,0x0003001e,0x000000af,0x000000ae,
- 0x00040020,0x000000b0,0x00000002,0x000000af,0x0004003b,0x000000b0,0x000000b1,0x00000002,
- 0x00040017,0x000000b2,0x00000006,0x00000003,0x00040020,0x000000b3,0x00000001,0x000000b2,
- 0x0004003b,0x000000b3,0x000000b4,0x00000001,0x0004002b,0x00000006,0x000000b5,0x00000000,
- 0x00040020,0x000000b6,0x00000001,0x00000006,0x0004002b,0x00000028,0x000000b9,0x00000003,
- 0x0004002b,0x00000006,0x000000d0,0x00000001,0x0004002b,0x00000006,0x000000f3,0x00000040,
- 0x0006002c,0x000000b2,0x000000f4,0x000000f3,0x000000d0,0x000000d0,0x00050036,0x00000002,
- 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x000000c8,
- 0x00000007,0x0004003b,0x00000007,0x000000c9,0x00000007,0x0004003b,0x00000007,0x000000d2,
- 0x00000007,0x0004003b,0x00000016,0x000000df,0x00000007,0x0004003b,0x00000007,0x000000e0,
- 0x00000007,0x0004003b,0x00000016,0x000000e3,0x00000007,0x0004003b,0x00000016,0x000000e4,
- 0x00000007,0x0004003b,0x00000007,0x000000e7,0x00000007,0x0004003b,0x00000016,0x000000e9,
- 0x00000007,0x0004003b,0x00000007,0x000000f0,0x00000007,0x00050041,0x000000b6,0x000000c0,
- 0x000000b4,0x000000b5,0x0004003d,0x00000006,0x000000c1,0x000000c0,0x00050041,0x0000002a,
- 0x000000c2,0x00000027,0x00000067,0x0004003d,0x00000006,0x000000c3,0x000000c2,0x000500ae,
- 0x00000052,0x000000c4,0x000000c1,0x000000c3,0x000300f7,0x000000c6,0x00000000,0x000400fa,
- 0x000000c4,0x000000c5,0x000000c6,0x000200f8,0x000000c5,0x000100fd,0x000200f8,0x000000c6,
- 0x0003003e,0x000000c8,0x000000b5,0x0003003e,0x000000c9,0x000000b5,0x000200f9,0x000000ca,
- 0x000200f8,0x000000ca,0x000400f6,0x000000cc,0x000000cd,0x00000000,0x000200f9,0x000000ce,
- 0x000200f8,0x000000ce,0x0004003d,0x00000006,0x000000cf,0x000000c9,0x000500b0,0x00000052,
- 0x000000d1,0x000000cf,0x000000d0,0x000400fa,0x000000d1,0x000000cb,0x000000cc,0x000200f8,
- 0x000000cb,0x00050041,0x000000b6,0x000000d3,0x000000b4,0x000000b5,0x0004003d,0x00000006,
- 0x000000d4,0x000000d3,0x00050084,0x00000006,0x000000d5,0x000000d4,0x000000d0,0x0004003d,
- 0x00000006,0x000000d6,0x000000c9,0x00050080,0x00000006,0x000000d7,0x000000d5,0x000000d6,
- 0x0003003e,0x000000d2,0x000000d7,0x0004003d,0x00000006,0x000000d8,0x000000d2,0x00050041,
- 0x0000002a,0x000000d9,0x00000027,0x00000082,0x0004003d,0x00000006,0x000000da,0x000000d9,
- 0x000500ae,0x00000052,0x000000db,0x000000d8,0x000000da,0x000300f7,0x000000dd,0x00000000,
- 0x000400fa,0x000000db,0x000000dc,0x000000dd,0x000200f8,0x000000dc,0x000200f9,0x000000cc,
- 0x000200f8,0x000000dd,0x0004003d,0x00000006,0x000000e1,0x000000d2,0x0003003e,0x000000e0,
- 0x000000e1,0x00050039,0x00000011,0x000000e2,0x00000014,0x000000e0,0x0003003e,0x000000df,
- 0x000000e2,0x0004003d,0x00000011,0x000000e5,0x000000df,0x0003003e,0x000000e4,0x000000e5,
- 0x00050039,0x00000011,0x000000e6,0x00000019,0x000000e4,0x0003003e,0x000000e3,0x000000e6,
- 0x0004003d,0x00000006,0x000000e8,0x000000d2,0x0003003e,0x000000e7,0x000000e8,0x0004003d,
- 0x00000011,0x000000ea,0x000000e3,0x0003003e,0x000000e9,0x000000ea,0x00060039,0x00000006,
- 0x000000eb,0x0000001e,0x000000e7,0x000000e9,0x0004003d,0x00000006,0x000000ec,0x000000c8,
- 0x000500c5,0x00000006,0x000000ed,0x000000ec,0x000000eb,0x0003003e,0x000000c8,0x000000ed,
- 0x000200f9,0x000000cd,0x000200f8,0x000000cd,0x0004003d,0x00000006,0x000000ee,0x000000c9,
- 0x00050080,0x00000006,0x000000ef,0x000000ee,0x00000082,0x0003003e,0x000000c9,0x000000ef,
- 0x000200f9,0x000000ca,0x000200f8,0x000000cc,0x0004003d,0x00000006,0x000000f1,0x000000c8,
- 0x0003003e,0x000000f0,0x000000f1,0x00050039,0x00000002,0x000000f2,0x00000022,0x000000f0,
- 0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,
- 0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,
- 0x00000006,0x00000024,0x00000009,0x00050041,0x0000002a,0x0000002b,0x00000027,0x00000029,
- 0x0004003d,0x00000006,0x0000002c,0x0000002b,0x00050084,0x00000006,0x0000002d,0x00000024,
- 0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000000a,0x00050041,0x0000002a,0x00000030,
- 0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000031,0x00000030,0x00050084,0x00000006,
- 0x00000032,0x0000002e,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002d,0x00000032,
- 0x00050041,0x0000002a,0x00000035,0x00000027,0x00000034,0x0004003d,0x00000006,0x00000036,
- 0x00000035,0x00050080,0x00000006,0x00000037,0x00000033,0x00000036,0x000200fe,0x00000037,
- 0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,
- 0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,
- 0x0000003a,0x00000007,0x0004003d,0x00000006,0x0000003b,0x0000000d,0x00050089,0x00000006,
- 0x0000003d,0x0000003b,0x0000003c,0x00050084,0x00000006,0x0000003f,0x0000003d,0x0000003e,
- 0x0003003e,0x0000003a,0x0000003f,0x0004003d,0x00000006,0x00000040,0x0000003a,0x000200fe,
- 0x00000040,0x00010038,0x00050036,0x00000011,0x00000014,0x00000000,0x00000012,0x00030037,
- 0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003b,0x00000007,0x00000043,0x00000007,
- 0x0004003b,0x00000007,0x00000049,0x00000007,0x0004003b,0x00000007,0x0000005c,0x00000007,
- 0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,
- 0x0004003b,0x00000007,0x00000062,0x00000007,0x0004003b,0x00000007,0x0000006d,0x00000007,
- 0x0004003b,0x00000007,0x0000006e,0x00000007,0x0004003b,0x00000007,0x00000070,0x00000007,
- 0x0004003b,0x00000007,0x00000074,0x00000007,0x0004003b,0x00000007,0x00000078,0x00000007,
- 0x0004003b,0x0000007c,0x0000007d,0x00000007,0x0004003b,0x00000007,0x00000091,0x00000007,
- 0x0004003b,0x00000016,0x00000099,0x00000007,0x0004003b,0x00000016,0x0000009c,0x00000007,
- 0x0004003d,0x00000006,0x00000044,0x00000013,0x00050041,0x0000002a,0x00000046,0x00000027,
- 0x00000045,0x0004003d,0x00000006,0x00000047,0x00000046,0x00050086,0x00000006,0x00000048,
- 0x00000044,0x00000047,0x0003003e,0x00000043,0x00000048,0x0004003d,0x00000006,0x0000004a,
- 0x00000013,0x00050041,0x0000002a,0x0000004b,0x00000027,0x00000045,0x0004003d,0x00000006,
- 0x0000004c,0x0000004b,0x00050089,0x00000006,0x0000004d,0x0000004a,0x0000004c,0x0003003e,
- 0x00000049,0x0000004d,0x0004003d,0x00000006,0x0000004e,0x00000049,0x00050041,0x0000002a,
- 0x00000050,0x00000027,0x0000004f,0x0004003d,0x00000006,0x00000051,0x00000050,0x000500ae,
- 0x00000052,0x00000053,0x0000004e,0x00000051,0x0004003d,0x00000006,0x00000054,0x00000049,
- 0x000500b0,0x00000052,0x00000056,0x00000054,0x00000055,0x000500a7,0x00000052,0x00000057,
- 0x00000053,0x00000056,0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,
- 0x00000059,0x000200f8,0x00000058,0x000200fe,0x0000005a,0x000200f8,0x00000059,0x0004003d,
- 0x00000006,0x0000005e,0x00000043,0x0003003e,0x0000005d,0x0000005e,0x0004003d,0x00000006,
- 0x00000060,0x00000049,0x0003003e,0x0000005f,0x00000060,0x00060039,0x00000006,0x00000061,
- 0x0000000b,0x0000005d,0x0000005f,0x0003003e,0x0000005c,0x00000061,0x0004003d,0x00000006,
- 0x00000068,0x0000005c,0x00050086,0x00000006,0x00000069,0x00000068,0x0000003c,0x00060041,
- 0x0000006a,0x0000006b,0x00000066,0x00000067,0x00000069,0x0004003d,0x00000006,0x0000006c,
- 0x0000006b,0x0003003e,0x00000062,0x0000006c,0x0004003d,0x00000006,0x0000006f,0x0000005c,
- 0x0003003e,0x0000006e,0x0000006f,0x00050041,0x0000002a,0x00000071,0x00000027,0x0000002f,
- 0x0004003d,0x00000006,0x00000072,0x00000071,0x0003003e,0x00000070,0x00000072,0x00060039,
- 0x00000006,0x00000073,0x0000000f,0x0000006e,0x00000070,0x0003003e,0x0000006d,0x00000073,
- 0x00050041,0x0000002a,0x00000075,0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000076,
- 0x00000075,0x00050084,0x00000006,0x00000077,0x00000076,0x0000003e,0x0003003e,0x00000074,
- 0x00000077,0x0004003d,0x00000006,0x00000079,0x00000074,0x000500aa,0x00000052,0x0000007b,
- 0x00000079,0x0000007a,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007b,0x0000007e,
- 0x00000081,0x000200f8,0x0000007e,0x0003003e,0x0000007d,0x00000080,0x000200f9,0x0000007f,
- 0x000200f8,0x00000081,0x0004003d,0x00000006,0x00000083,0x00000074,0x000500c4,0x00000028,
- 0x00000084,0x00000082,0x00000083,0x00050082,0x00000028,0x00000085,0x00000084,0x00000082,
- 0x0003003e,0x0000007d,0x00000085,0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x0004003d,
- 0x00000028,0x00000086,0x0000007d,0x0004007c,0x00000006,0x00000087,0x00000086,0x0003003e,
- 0x00000078,0x00000087,0x0004003d,0x00000006,0x00000088,0x00000049,0x00050041,0x0000002a,
- 0x00000089,0x00000027,0x0000004f,0x0004003d,0x00000006,0x0000008a,0x00000089,0x000500ae,
- 0x00000052,0x0000008b,0x00000088,0x0000008a,0x0004003d,0x00000006,0x0000008c,0x00000049,
- 0x000500aa,0x00000052,0x0000008d,0x0000008c,0x00000055,0x000500a7,0x00000052,0x0000008e,
- 0x0000008b,0x0000008d,0x000300f7,0x00000090,0x00000000,0x000400fa,0x0000008e,0x0000008f,
- 0x00000093,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000092,0x00000078,0x0003003e,
- 0x00000091,0x00000092,0x000200f9,0x00000090,0x000200f8,0x00000093,0x0004003d,0x00000006,
- 0x00000094,0x00000062,0x0004003d,0x00000006,0x00000095,0x0000006d,0x000500c2,0x00000006,
- 0x00000096,0x00000094,0x00000095,0x0004003d,0x00000006,0x00000097,0x00000078,0x000500c7,
- 0x00000006,0x00000098,0x00000096,0x00000097,0x0003003e,0x00000091,0x00000098,0x000200f9,
- 0x00000090,0x000200f8,0x00000090,0x0004003d,0x00000006,0x0000009a,0x00000078,0x00040070,
- 0x00000011,0x0000009b,0x0000009a,0x0003003e,0x00000099,0x0000009b,0x0004003d,0x00000006,
- 0x0000009d,0x00000091,0x00040070,0x00000011,0x0000009e,0x0000009d,0x0004003d,0x00000011,
- 0x0000009f,0x00000099,0x00050088,0x00000011,0x000000a0,0x0000009e,0x0000009f,0x0003003e,
- 0x0000009c,0x000000a0,0x0004003d,0x00000011,0x000000a1,0x0000009c,0x000200fe,0x000000a1,
- 0x00010038,0x00050036,0x00000011,0x00000019,0x00000000,0x00000017,0x00030037,0x00000016,
- 0x00000018,0x000200f8,0x0000001a,0x0004003d,0x00000011,0x000000a4,0x00000018,0x000200fe,
- 0x000000a4,0x00010038,0x00050036,0x00000006,0x0000001e,0x00000000,0x0000001b,0x00030037,
- 0x00000007,0x0000001c,0x00030037,0x00000016,0x0000001d,0x000200f8,0x0000001f,0x0004003b,
- 0x00000007,0x000000a7,0x00000007,0x0004003d,0x00000011,0x000000a8,0x0000001d,0x0004007c,
- 0x00000028,0x000000a9,0x000000a8,0x0004007c,0x00000006,0x000000aa,0x000000a9,0x0003003e,
- 0x000000a7,0x000000aa,0x0004003d,0x00000006,0x000000ab,0x000000a7,0x000200fe,0x000000ab,
- 0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,0x00000020,0x00030037,0x00000007,
- 0x00000021,0x000200f8,0x00000023,0x00050041,0x000000b6,0x000000b7,0x000000b4,0x000000b5,
- 0x0004003d,0x00000006,0x000000b8,0x000000b7,0x00050041,0x0000002a,0x000000ba,0x00000027,
- 0x000000b9,0x0004003d,0x00000006,0x000000bb,0x000000ba,0x00050086,0x00000006,0x000000bc,
- 0x000000bb,0x0000003c,0x00050080,0x00000006,0x000000bd,0x000000b8,0x000000bc,0x0004003d,
- 0x00000006,0x000000be,0x00000021,0x00060041,0x0000006a,0x000000bf,0x000000b1,0x00000067,
- 0x000000bd,0x0003003e,0x000000bf,0x000000be,0x000100fd,0x00010038
+ 0x00000025,0x0000000b,0x00006445,0x00060006,0x00000025,0x0000000c,0x72537369,0x52444863,
+ 0x00000000,0x00070006,0x00000025,0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,
+ 0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x0000003a,0x66696873,0x00000074,
+ 0x00040005,0x00000043,0x74726576,0x00007865,0x00050005,0x00000049,0x706d6f63,0x6e656e6f,
+ 0x00000074,0x00040005,0x0000005c,0x7366666f,0x00007465,0x00040005,0x0000005d,0x61726170,
+ 0x0000006d,0x00040005,0x0000005f,0x61726170,0x0000006d,0x00040005,0x00000062,0x636f6c62,
+ 0x0000006b,0x00030005,0x00000064,0x00637273,0x00050006,0x00000064,0x00000000,0x44637273,
+ 0x00617461,0x00030005,0x00000066,0x00000000,0x00050005,0x00000074,0x756c6176,0x74694265,
+ 0x00000073,0x00050005,0x0000007a,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000087,
+ 0x66696873,0x74694274,0x00000073,0x00040005,0x0000009a,0x61726170,0x0000006d,0x00040005,
+ 0x0000009c,0x61726170,0x0000006d,0x00050005,0x000000bb,0x756c6176,0x55734165,0x00746e69,
+ 0x00050005,0x000000c3,0x69736f70,0x65766974,0x0078614d,0x00040005,0x000000c6,0x756c6176,
+ 0x00000065,0x00050005,0x000000d1,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000d9,
+ 0x74736564,0x00000000,0x00060006,0x000000d9,0x00000000,0x74736564,0x61746144,0x00000000,
+ 0x00030005,0x000000db,0x00000000,0x00080005,0x000000de,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000f0,0x756c6176,0x74754f65,0x00000000,
+ 0x00030005,0x000000f1,0x00000069,0x00030005,0x000000fa,0x00006463,0x00050005,0x00000107,
+ 0x56637273,0x65756c61,0x00000000,0x00040005,0x00000108,0x61726170,0x0000006d,0x00050005,
+ 0x0000010b,0x74736564,0x756c6156,0x00000065,0x00040005,0x0000010c,0x61726170,0x0000006d,
+ 0x00040005,0x0000010f,0x61726170,0x0000006d,0x00040005,0x00000111,0x61726170,0x0000006d,
+ 0x00040005,0x00000118,0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,
+ 0x00000002,0x00000023,0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,
+ 0x00050048,0x00000025,0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,
+ 0x00000023,0x00000014,0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,
+ 0x00000025,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,
+ 0x00000020,0x00050048,0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,
+ 0x0000000a,0x00000023,0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,
+ 0x00050048,0x00000025,0x0000000c,0x00000023,0x00000030,0x00050048,0x00000025,0x0000000d,
+ 0x00000023,0x00000034,0x00030047,0x00000025,0x00000002,0x00040047,0x00000063,0x00000006,
+ 0x00000004,0x00050048,0x00000064,0x00000000,0x00000023,0x00000000,0x00030047,0x00000064,
+ 0x00000003,0x00040047,0x00000066,0x00000022,0x00000000,0x00040047,0x00000066,0x00000021,
+ 0x00000001,0x00040047,0x000000d8,0x00000006,0x00000004,0x00050048,0x000000d9,0x00000000,
+ 0x00000023,0x00000000,0x00030047,0x000000d9,0x00000003,0x00040047,0x000000db,0x00000022,
+ 0x00000000,0x00040047,0x000000db,0x00000021,0x00000000,0x00040047,0x000000de,0x0000000b,
+ 0x0000001c,0x00040047,0x0000011c,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00030016,
+ 0x00000011,0x00000020,0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,
+ 0x00000007,0x00000011,0x00040021,0x00000017,0x00000011,0x00000016,0x00050021,0x0000001b,
+ 0x00000006,0x00000007,0x00000016,0x00040021,0x00000020,0x00000002,0x00000007,0x0010001e,
+ 0x00000025,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
+ 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
+ 0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,0x00000027,0x00000009,0x00040015,
+ 0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,0x00000029,0x00000006,0x00040020,
+ 0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,0x0000002f,0x00000005,0x0004002b,
+ 0x00000028,0x00000034,0x00000002,0x0004002b,0x00000006,0x0000003c,0x00000004,0x0004002b,
+ 0x00000006,0x0000003e,0x00000008,0x0004002b,0x00000028,0x00000045,0x00000008,0x0004002b,
+ 0x00000028,0x0000004f,0x00000004,0x00020014,0x00000052,0x0004002b,0x00000006,0x00000055,
+ 0x00000003,0x0004002b,0x00000011,0x0000005a,0x00000000,0x0003001d,0x00000063,0x00000006,
+ 0x0003001e,0x00000064,0x00000063,0x00040020,0x00000065,0x00000002,0x00000064,0x0004003b,
+ 0x00000065,0x00000066,0x00000002,0x0004002b,0x00000028,0x00000067,0x00000000,0x00040020,
+ 0x0000006a,0x00000002,0x00000006,0x0004002b,0x00000028,0x0000006d,0x0000000c,0x0004002b,
+ 0x00000006,0x00000070,0x00000000,0x0004002b,0x00000028,0x00000077,0x0000000a,0x0004002b,
+ 0x00000028,0x0000007d,0x00000003,0x0004002b,0x00000028,0x0000007e,0x000003ff,0x0004002b,
+ 0x00000028,0x00000081,0x0000000d,0x0004002b,0x00000006,0x00000088,0x0000000a,0x0004002b,
+ 0x00000006,0x00000093,0x00000002,0x0004002b,0x00000006,0x000000a4,0x00000020,0x00040020,
+ 0x000000a6,0x00000007,0x00000028,0x0004002b,0x00000028,0x000000aa,0xffffffff,0x0004002b,
+ 0x00000028,0x000000ac,0x00000001,0x0003001d,0x000000d8,0x00000006,0x0003001e,0x000000d9,
+ 0x000000d8,0x00040020,0x000000da,0x00000002,0x000000d9,0x0004003b,0x000000da,0x000000db,
+ 0x00000002,0x00040017,0x000000dc,0x00000006,0x00000003,0x00040020,0x000000dd,0x00000001,
+ 0x000000dc,0x0004003b,0x000000dd,0x000000de,0x00000001,0x00040020,0x000000df,0x00000001,
+ 0x00000006,0x0004002b,0x00000006,0x000000f8,0x00000001,0x0004002b,0x00000006,0x0000011b,
+ 0x00000040,0x0006002c,0x000000dc,0x0000011c,0x0000011b,0x000000f8,0x000000f8,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
+ 0x000000f0,0x00000007,0x0004003b,0x00000007,0x000000f1,0x00000007,0x0004003b,0x00000007,
+ 0x000000fa,0x00000007,0x0004003b,0x00000016,0x00000107,0x00000007,0x0004003b,0x00000007,
+ 0x00000108,0x00000007,0x0004003b,0x00000016,0x0000010b,0x00000007,0x0004003b,0x00000016,
+ 0x0000010c,0x00000007,0x0004003b,0x00000007,0x0000010f,0x00000007,0x0004003b,0x00000016,
+ 0x00000111,0x00000007,0x0004003b,0x00000007,0x00000118,0x00000007,0x00050041,0x000000df,
+ 0x000000e8,0x000000de,0x00000070,0x0004003d,0x00000006,0x000000e9,0x000000e8,0x00050041,
+ 0x0000002a,0x000000ea,0x00000027,0x00000067,0x0004003d,0x00000006,0x000000eb,0x000000ea,
+ 0x000500ae,0x00000052,0x000000ec,0x000000e9,0x000000eb,0x000300f7,0x000000ee,0x00000000,
+ 0x000400fa,0x000000ec,0x000000ed,0x000000ee,0x000200f8,0x000000ed,0x000100fd,0x000200f8,
+ 0x000000ee,0x0003003e,0x000000f0,0x00000070,0x0003003e,0x000000f1,0x00000070,0x000200f9,
+ 0x000000f2,0x000200f8,0x000000f2,0x000400f6,0x000000f4,0x000000f5,0x00000000,0x000200f9,
+ 0x000000f6,0x000200f8,0x000000f6,0x0004003d,0x00000006,0x000000f7,0x000000f1,0x000500b0,
+ 0x00000052,0x000000f9,0x000000f7,0x000000f8,0x000400fa,0x000000f9,0x000000f3,0x000000f4,
+ 0x000200f8,0x000000f3,0x00050041,0x000000df,0x000000fb,0x000000de,0x00000070,0x0004003d,
+ 0x00000006,0x000000fc,0x000000fb,0x00050084,0x00000006,0x000000fd,0x000000fc,0x000000f8,
+ 0x0004003d,0x00000006,0x000000fe,0x000000f1,0x00050080,0x00000006,0x000000ff,0x000000fd,
+ 0x000000fe,0x0003003e,0x000000fa,0x000000ff,0x0004003d,0x00000006,0x00000100,0x000000fa,
+ 0x00050041,0x0000002a,0x00000101,0x00000027,0x000000ac,0x0004003d,0x00000006,0x00000102,
+ 0x00000101,0x000500ae,0x00000052,0x00000103,0x00000100,0x00000102,0x000300f7,0x00000105,
+ 0x00000000,0x000400fa,0x00000103,0x00000104,0x00000105,0x000200f8,0x00000104,0x000200f9,
+ 0x000000f4,0x000200f8,0x00000105,0x0004003d,0x00000006,0x00000109,0x000000fa,0x0003003e,
+ 0x00000108,0x00000109,0x00050039,0x00000011,0x0000010a,0x00000014,0x00000108,0x0003003e,
+ 0x00000107,0x0000010a,0x0004003d,0x00000011,0x0000010d,0x00000107,0x0003003e,0x0000010c,
+ 0x0000010d,0x00050039,0x00000011,0x0000010e,0x00000019,0x0000010c,0x0003003e,0x0000010b,
+ 0x0000010e,0x0004003d,0x00000006,0x00000110,0x000000fa,0x0003003e,0x0000010f,0x00000110,
+ 0x0004003d,0x00000011,0x00000112,0x0000010b,0x0003003e,0x00000111,0x00000112,0x00060039,
+ 0x00000006,0x00000113,0x0000001e,0x0000010f,0x00000111,0x0004003d,0x00000006,0x00000114,
+ 0x000000f0,0x000500c5,0x00000006,0x00000115,0x00000114,0x00000113,0x0003003e,0x000000f0,
+ 0x00000115,0x000200f9,0x000000f5,0x000200f8,0x000000f5,0x0004003d,0x00000006,0x00000116,
+ 0x000000f1,0x00050080,0x00000006,0x00000117,0x00000116,0x000000ac,0x0003003e,0x000000f1,
+ 0x00000117,0x000200f9,0x000000f2,0x000200f8,0x000000f4,0x0004003d,0x00000006,0x00000119,
+ 0x000000f0,0x0003003e,0x00000118,0x00000119,0x00050039,0x00000002,0x0000011a,0x00000022,
+ 0x00000118,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,
+ 0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,
+ 0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,0x0000002a,0x0000002b,0x00000027,
+ 0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x00050084,0x00000006,0x0000002d,
+ 0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000000a,0x00050041,0x0000002a,
+ 0x00000030,0x00000027,0x0000002f,0x0004003d,0x00000006,0x00000031,0x00000030,0x00050084,
+ 0x00000006,0x00000032,0x0000002e,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002d,
+ 0x00000032,0x00050041,0x0000002a,0x00000035,0x00000027,0x00000034,0x0004003d,0x00000006,
+ 0x00000036,0x00000035,0x00050080,0x00000006,0x00000037,0x00000033,0x00000036,0x000200fe,
+ 0x00000037,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,
+ 0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,
+ 0x00000007,0x0000003a,0x00000007,0x0004003d,0x00000006,0x0000003b,0x0000000d,0x00050089,
+ 0x00000006,0x0000003d,0x0000003b,0x0000003c,0x00050084,0x00000006,0x0000003f,0x0000003d,
+ 0x0000003e,0x0003003e,0x0000003a,0x0000003f,0x0004003d,0x00000006,0x00000040,0x0000003a,
+ 0x000200fe,0x00000040,0x00010038,0x00050036,0x00000011,0x00000014,0x00000000,0x00000012,
+ 0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003b,0x00000007,0x00000043,
+ 0x00000007,0x0004003b,0x00000007,0x00000049,0x00000007,0x0004003b,0x00000007,0x0000005c,
+ 0x00000007,0x0004003b,0x00000007,0x0000005d,0x00000007,0x0004003b,0x00000007,0x0000005f,
+ 0x00000007,0x0004003b,0x00000007,0x00000062,0x00000007,0x0004003b,0x00000007,0x00000074,
+ 0x00000007,0x0004003b,0x00000007,0x0000007a,0x00000007,0x0004003b,0x00000007,0x00000087,
+ 0x00000007,0x0004003b,0x00000007,0x0000008e,0x00000007,0x0004003b,0x00000007,0x0000009a,
+ 0x00000007,0x0004003b,0x00000007,0x0000009c,0x00000007,0x0004003b,0x000000a6,0x000000a7,
+ 0x00000007,0x0004003b,0x00000007,0x000000bb,0x00000007,0x0004003b,0x00000016,0x000000c3,
+ 0x00000007,0x0004003b,0x00000016,0x000000c6,0x00000007,0x0004003d,0x00000006,0x00000044,
+ 0x00000013,0x00050041,0x0000002a,0x00000046,0x00000027,0x00000045,0x0004003d,0x00000006,
+ 0x00000047,0x00000046,0x00050086,0x00000006,0x00000048,0x00000044,0x00000047,0x0003003e,
+ 0x00000043,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000013,0x00050041,0x0000002a,
+ 0x0000004b,0x00000027,0x00000045,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x00050089,
+ 0x00000006,0x0000004d,0x0000004a,0x0000004c,0x0003003e,0x00000049,0x0000004d,0x0004003d,
+ 0x00000006,0x0000004e,0x00000049,0x00050041,0x0000002a,0x00000050,0x00000027,0x0000004f,
+ 0x0004003d,0x00000006,0x00000051,0x00000050,0x000500ae,0x00000052,0x00000053,0x0000004e,
+ 0x00000051,0x0004003d,0x00000006,0x00000054,0x00000049,0x000500b0,0x00000052,0x00000056,
+ 0x00000054,0x00000055,0x000500a7,0x00000052,0x00000057,0x00000053,0x00000056,0x000300f7,
+ 0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,
+ 0x000200fe,0x0000005a,0x000200f8,0x00000059,0x0004003d,0x00000006,0x0000005e,0x00000043,
+ 0x0003003e,0x0000005d,0x0000005e,0x0004003d,0x00000006,0x00000060,0x00000049,0x0003003e,
+ 0x0000005f,0x00000060,0x00060039,0x00000006,0x00000061,0x0000000b,0x0000005d,0x0000005f,
+ 0x0003003e,0x0000005c,0x00000061,0x0004003d,0x00000006,0x00000068,0x0000005c,0x00050086,
+ 0x00000006,0x00000069,0x00000068,0x0000003c,0x00060041,0x0000006a,0x0000006b,0x00000066,
+ 0x00000067,0x00000069,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x0003003e,0x00000062,
+ 0x0000006c,0x00050041,0x0000002a,0x0000006e,0x00000027,0x0000006d,0x0004003d,0x00000006,
+ 0x0000006f,0x0000006e,0x000500ab,0x00000052,0x00000071,0x0000006f,0x00000070,0x000300f7,
+ 0x00000073,0x00000000,0x000400fa,0x00000071,0x00000072,0x00000099,0x000200f8,0x00000072,
+ 0x0004003d,0x00000006,0x00000075,0x00000049,0x000500aa,0x00000052,0x00000076,0x00000075,
+ 0x00000055,0x000600a9,0x00000028,0x00000078,0x00000076,0x00000034,0x00000077,0x0004007c,
+ 0x00000006,0x00000079,0x00000078,0x0003003e,0x00000074,0x00000079,0x0004003d,0x00000006,
+ 0x0000007b,0x00000049,0x000500aa,0x00000052,0x0000007c,0x0000007b,0x00000055,0x000600a9,
+ 0x00000028,0x0000007f,0x0000007c,0x0000007d,0x0000007e,0x0004007c,0x00000006,0x00000080,
+ 0x0000007f,0x0003003e,0x0000007a,0x00000080,0x00050041,0x0000002a,0x00000082,0x00000027,
+ 0x00000081,0x0004003d,0x00000006,0x00000083,0x00000082,0x000500ab,0x00000052,0x00000084,
+ 0x00000083,0x00000070,0x000300f7,0x00000086,0x00000000,0x000400fa,0x00000084,0x00000085,
+ 0x0000008b,0x000200f8,0x00000085,0x0004003d,0x00000006,0x00000089,0x00000049,0x00050084,
+ 0x00000006,0x0000008a,0x00000088,0x00000089,0x0003003e,0x00000087,0x0000008a,0x000200f9,
+ 0x00000086,0x000200f8,0x0000008b,0x0004003d,0x00000006,0x0000008c,0x00000049,0x000500aa,
+ 0x00000052,0x0000008d,0x0000008c,0x00000055,0x000300f7,0x00000090,0x00000000,0x000400fa,
+ 0x0000008d,0x0000008f,0x00000091,0x000200f8,0x0000008f,0x0003003e,0x0000008e,0x00000070,
+ 0x000200f9,0x00000090,0x000200f8,0x00000091,0x0004003d,0x00000006,0x00000092,0x00000074,
+ 0x0004003d,0x00000006,0x00000094,0x00000049,0x00050082,0x00000006,0x00000095,0x00000093,
+ 0x00000094,0x00050084,0x00000006,0x00000096,0x00000092,0x00000095,0x00050080,0x00000006,
+ 0x00000097,0x00000096,0x00000093,0x0003003e,0x0000008e,0x00000097,0x000200f9,0x00000090,
+ 0x000200f8,0x00000090,0x0004003d,0x00000006,0x00000098,0x0000008e,0x0003003e,0x00000087,
+ 0x00000098,0x000200f9,0x00000086,0x000200f8,0x00000086,0x000200f9,0x00000073,0x000200f8,
+ 0x00000099,0x0004003d,0x00000006,0x0000009b,0x0000005c,0x0003003e,0x0000009a,0x0000009b,
+ 0x00050041,0x0000002a,0x0000009d,0x00000027,0x0000002f,0x0004003d,0x00000006,0x0000009e,
+ 0x0000009d,0x0003003e,0x0000009c,0x0000009e,0x00060039,0x00000006,0x0000009f,0x0000000f,
+ 0x0000009a,0x0000009c,0x0003003e,0x00000087,0x0000009f,0x00050041,0x0000002a,0x000000a0,
+ 0x00000027,0x0000002f,0x0004003d,0x00000006,0x000000a1,0x000000a0,0x00050084,0x00000006,
+ 0x000000a2,0x000000a1,0x0000003e,0x0003003e,0x00000074,0x000000a2,0x0004003d,0x00000006,
+ 0x000000a3,0x00000074,0x000500aa,0x00000052,0x000000a5,0x000000a3,0x000000a4,0x000300f7,
+ 0x000000a9,0x00000000,0x000400fa,0x000000a5,0x000000a8,0x000000ab,0x000200f8,0x000000a8,
+ 0x0003003e,0x000000a7,0x000000aa,0x000200f9,0x000000a9,0x000200f8,0x000000ab,0x0004003d,
+ 0x00000006,0x000000ad,0x00000074,0x000500c4,0x00000028,0x000000ae,0x000000ac,0x000000ad,
+ 0x00050082,0x00000028,0x000000af,0x000000ae,0x000000ac,0x0003003e,0x000000a7,0x000000af,
+ 0x000200f9,0x000000a9,0x000200f8,0x000000a9,0x0004003d,0x00000028,0x000000b0,0x000000a7,
+ 0x0004007c,0x00000006,0x000000b1,0x000000b0,0x0003003e,0x0000007a,0x000000b1,0x000200f9,
+ 0x00000073,0x000200f8,0x00000073,0x0004003d,0x00000006,0x000000b2,0x00000049,0x00050041,
+ 0x0000002a,0x000000b3,0x00000027,0x0000004f,0x0004003d,0x00000006,0x000000b4,0x000000b3,
+ 0x000500ae,0x00000052,0x000000b5,0x000000b2,0x000000b4,0x0004003d,0x00000006,0x000000b6,
+ 0x00000049,0x000500aa,0x00000052,0x000000b7,0x000000b6,0x00000055,0x000500a7,0x00000052,
+ 0x000000b8,0x000000b5,0x000000b7,0x000300f7,0x000000ba,0x00000000,0x000400fa,0x000000b8,
+ 0x000000b9,0x000000bd,0x000200f8,0x000000b9,0x0004003d,0x00000006,0x000000bc,0x0000007a,
+ 0x0003003e,0x000000bb,0x000000bc,0x000200f9,0x000000ba,0x000200f8,0x000000bd,0x0004003d,
+ 0x00000006,0x000000be,0x00000062,0x0004003d,0x00000006,0x000000bf,0x00000087,0x000500c2,
+ 0x00000006,0x000000c0,0x000000be,0x000000bf,0x0004003d,0x00000006,0x000000c1,0x0000007a,
+ 0x000500c7,0x00000006,0x000000c2,0x000000c0,0x000000c1,0x0003003e,0x000000bb,0x000000c2,
+ 0x000200f9,0x000000ba,0x000200f8,0x000000ba,0x0004003d,0x00000006,0x000000c4,0x0000007a,
+ 0x00040070,0x00000011,0x000000c5,0x000000c4,0x0003003e,0x000000c3,0x000000c5,0x0004003d,
+ 0x00000006,0x000000c7,0x000000bb,0x00040070,0x00000011,0x000000c8,0x000000c7,0x0004003d,
+ 0x00000011,0x000000c9,0x000000c3,0x00050088,0x00000011,0x000000ca,0x000000c8,0x000000c9,
+ 0x0003003e,0x000000c6,0x000000ca,0x0004003d,0x00000011,0x000000cb,0x000000c6,0x000200fe,
+ 0x000000cb,0x00010038,0x00050036,0x00000011,0x00000019,0x00000000,0x00000017,0x00030037,
+ 0x00000016,0x00000018,0x000200f8,0x0000001a,0x0004003d,0x00000011,0x000000ce,0x00000018,
+ 0x000200fe,0x000000ce,0x00010038,0x00050036,0x00000006,0x0000001e,0x00000000,0x0000001b,
+ 0x00030037,0x00000007,0x0000001c,0x00030037,0x00000016,0x0000001d,0x000200f8,0x0000001f,
+ 0x0004003b,0x00000007,0x000000d1,0x00000007,0x0004003d,0x00000011,0x000000d2,0x0000001d,
+ 0x0004007c,0x00000028,0x000000d3,0x000000d2,0x0004007c,0x00000006,0x000000d4,0x000000d3,
+ 0x0003003e,0x000000d1,0x000000d4,0x0004003d,0x00000006,0x000000d5,0x000000d1,0x000200fe,
+ 0x000000d5,0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,0x00000020,0x00030037,
+ 0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,0x000000df,0x000000e0,0x000000de,
+ 0x00000070,0x0004003d,0x00000006,0x000000e1,0x000000e0,0x00050041,0x0000002a,0x000000e2,
+ 0x00000027,0x0000007d,0x0004003d,0x00000006,0x000000e3,0x000000e2,0x00050086,0x00000006,
+ 0x000000e4,0x000000e3,0x0000003c,0x00050080,0x00000006,0x000000e5,0x000000e1,0x000000e4,
+ 0x0004003d,0x00000006,0x000000e6,0x00000021,0x00060041,0x0000006a,0x000000e7,0x000000db,
+ 0x00000067,0x000000e5,0x0003003e,0x000000e7,0x000000e6,0x000100fd,0x00010038
};
// Generated from:
@@ -233,6 +262,9 @@ const uint32_t kConvertVertex_comp_00000005[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -267,9 +299,30 @@ const uint32_t kConvertVertex_comp_00000005[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, params . Bs);
-// uint valueBits = params . Bs * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, params . Bs);
+// valueBits = params . Bs * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc
index 9ca9880fa81..0c489581eea 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000006[] = {
- 0x07230203,0x00010000,0x00080007,0x000000ed,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000115,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000ac,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000d6,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -24,174 +24,203 @@ const uint32_t kConvertVertex_comp_00000006[] = {
0x00000025,0x00000005,0x00007342,0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,
0x00000025,0x00000007,0x00007345,0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,
0x00000025,0x00000009,0x00006442,0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,
- 0x00000025,0x0000000b,0x00006445,0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,
- 0x00000038,0x66696873,0x00000074,0x00040005,0x00000040,0x74726576,0x00007865,0x00050005,
- 0x00000046,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x00000059,0x7366666f,0x00007465,
- 0x00040005,0x0000005a,0x61726170,0x0000006d,0x00040005,0x0000005c,0x61726170,0x0000006d,
- 0x00040005,0x0000005f,0x636f6c62,0x0000006b,0x00030005,0x00000061,0x00637273,0x00050006,
- 0x00000061,0x00000000,0x44637273,0x00617461,0x00030005,0x00000063,0x00000000,0x00050005,
- 0x0000006a,0x66696873,0x74694274,0x00000073,0x00040005,0x0000006b,0x61726170,0x0000006d,
- 0x00040005,0x0000006d,0x61726170,0x0000006d,0x00050005,0x0000006f,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000071,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000089,
- 0x756c6176,0x55734165,0x00746e69,0x00040005,0x00000091,0x69766964,0x00726f73,0x00040005,
- 0x00000093,0x756c6176,0x00000065,0x00050005,0x0000009f,0x756c6176,0x55734165,0x00746e69,
- 0x00040005,0x000000a7,0x74736564,0x00000000,0x00060006,0x000000a7,0x00000000,0x74736564,
- 0x61746144,0x00000000,0x00030005,0x000000a9,0x00000000,0x00080005,0x000000ac,0x475f6c67,
- 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000c0,0x756c6176,
- 0x74754f65,0x00000000,0x00030005,0x000000c1,0x00000069,0x00030005,0x000000ca,0x00006463,
- 0x00050005,0x000000d7,0x56637273,0x65756c61,0x00000000,0x00040005,0x000000d8,0x61726170,
- 0x0000006d,0x00050005,0x000000db,0x74736564,0x756c6156,0x00000065,0x00040005,0x000000dc,
- 0x61726170,0x0000006d,0x00040005,0x000000df,0x61726170,0x0000006d,0x00040005,0x000000e1,
- 0x61726170,0x0000006d,0x00040005,0x000000e8,0x61726170,0x0000006d,0x00050048,0x00000025,
- 0x00000000,0x00000023,0x00000000,0x00050048,0x00000025,0x00000001,0x00000023,0x00000004,
- 0x00050048,0x00000025,0x00000002,0x00000023,0x00000008,0x00050048,0x00000025,0x00000003,
- 0x00000023,0x0000000c,0x00050048,0x00000025,0x00000004,0x00000023,0x00000010,0x00050048,
- 0x00000025,0x00000005,0x00000023,0x00000014,0x00050048,0x00000025,0x00000006,0x00000023,
- 0x00000018,0x00050048,0x00000025,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000025,
- 0x00000008,0x00000023,0x00000020,0x00050048,0x00000025,0x00000009,0x00000023,0x00000024,
- 0x00050048,0x00000025,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000025,0x0000000b,
- 0x00000023,0x0000002c,0x00030047,0x00000025,0x00000002,0x00040047,0x00000060,0x00000006,
- 0x00000004,0x00050048,0x00000061,0x00000000,0x00000023,0x00000000,0x00030047,0x00000061,
- 0x00000003,0x00040047,0x00000063,0x00000022,0x00000000,0x00040047,0x00000063,0x00000021,
- 0x00000001,0x00040047,0x000000a6,0x00000006,0x00000004,0x00050048,0x000000a7,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x000000a7,0x00000003,0x00040047,0x000000a9,0x00000022,
- 0x00000000,0x00040047,0x000000a9,0x00000021,0x00000000,0x00040047,0x000000ac,0x0000000b,
- 0x0000001c,0x00040047,0x000000ec,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,
- 0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00030016,
- 0x00000011,0x00000020,0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,
- 0x00000007,0x00000011,0x00040021,0x00000017,0x00000011,0x00000016,0x00050021,0x0000001b,
- 0x00000006,0x00000007,0x00000016,0x00040021,0x00000020,0x00000002,0x00000007,0x000e001e,
- 0x00000025,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,
- 0x00000025,0x0004003b,0x00000026,0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,
- 0x00000001,0x0004002b,0x00000028,0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,
- 0x00000006,0x0004002b,0x00000006,0x0000002f,0x00000004,0x0004002b,0x00000028,0x00000032,
- 0x00000002,0x0004002b,0x00000006,0x0000003b,0x00000008,0x0004002b,0x00000028,0x00000042,
- 0x00000008,0x0004002b,0x00000028,0x0000004c,0x00000004,0x00020014,0x0000004f,0x0004002b,
- 0x00000006,0x00000052,0x00000003,0x0004002b,0x00000011,0x00000057,0x00000000,0x0003001d,
- 0x00000060,0x00000006,0x0003001e,0x00000061,0x00000060,0x00040020,0x00000062,0x00000002,
- 0x00000061,0x0004003b,0x00000062,0x00000063,0x00000002,0x0004002b,0x00000028,0x00000064,
- 0x00000000,0x00040020,0x00000067,0x00000002,0x00000006,0x0004002b,0x00000006,0x00000070,
- 0x00000020,0x00040020,0x00000074,0x00000007,0x00000028,0x0004002b,0x00000028,0x00000078,
- 0xffffffff,0x0004002b,0x00000028,0x0000007a,0x00000001,0x0004002b,0x00000006,0x0000008a,
- 0x00010000,0x0004002b,0x00000011,0x00000092,0x37800000,0x0003001d,0x000000a6,0x00000006,
- 0x0003001e,0x000000a7,0x000000a6,0x00040020,0x000000a8,0x00000002,0x000000a7,0x0004003b,
- 0x000000a8,0x000000a9,0x00000002,0x00040017,0x000000aa,0x00000006,0x00000003,0x00040020,
- 0x000000ab,0x00000001,0x000000aa,0x0004003b,0x000000ab,0x000000ac,0x00000001,0x0004002b,
- 0x00000006,0x000000ad,0x00000000,0x00040020,0x000000ae,0x00000001,0x00000006,0x0004002b,
- 0x00000028,0x000000b1,0x00000003,0x0004002b,0x00000006,0x000000c8,0x00000001,0x0004002b,
- 0x00000006,0x000000eb,0x00000040,0x0006002c,0x000000aa,0x000000ec,0x000000eb,0x000000c8,
- 0x000000c8,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000007,0x000000c0,0x00000007,0x0004003b,0x00000007,0x000000c1,0x00000007,
- 0x0004003b,0x00000007,0x000000ca,0x00000007,0x0004003b,0x00000016,0x000000d7,0x00000007,
- 0x0004003b,0x00000007,0x000000d8,0x00000007,0x0004003b,0x00000016,0x000000db,0x00000007,
- 0x0004003b,0x00000016,0x000000dc,0x00000007,0x0004003b,0x00000007,0x000000df,0x00000007,
- 0x0004003b,0x00000016,0x000000e1,0x00000007,0x0004003b,0x00000007,0x000000e8,0x00000007,
- 0x00050041,0x000000ae,0x000000b8,0x000000ac,0x000000ad,0x0004003d,0x00000006,0x000000b9,
- 0x000000b8,0x00050041,0x0000002a,0x000000ba,0x00000027,0x00000064,0x0004003d,0x00000006,
- 0x000000bb,0x000000ba,0x000500ae,0x0000004f,0x000000bc,0x000000b9,0x000000bb,0x000300f7,
- 0x000000be,0x00000000,0x000400fa,0x000000bc,0x000000bd,0x000000be,0x000200f8,0x000000bd,
- 0x000100fd,0x000200f8,0x000000be,0x0003003e,0x000000c0,0x000000ad,0x0003003e,0x000000c1,
- 0x000000ad,0x000200f9,0x000000c2,0x000200f8,0x000000c2,0x000400f6,0x000000c4,0x000000c5,
- 0x00000000,0x000200f9,0x000000c6,0x000200f8,0x000000c6,0x0004003d,0x00000006,0x000000c7,
- 0x000000c1,0x000500b0,0x0000004f,0x000000c9,0x000000c7,0x000000c8,0x000400fa,0x000000c9,
- 0x000000c3,0x000000c4,0x000200f8,0x000000c3,0x00050041,0x000000ae,0x000000cb,0x000000ac,
- 0x000000ad,0x0004003d,0x00000006,0x000000cc,0x000000cb,0x00050084,0x00000006,0x000000cd,
- 0x000000cc,0x000000c8,0x0004003d,0x00000006,0x000000ce,0x000000c1,0x00050080,0x00000006,
- 0x000000cf,0x000000cd,0x000000ce,0x0003003e,0x000000ca,0x000000cf,0x0004003d,0x00000006,
- 0x000000d0,0x000000ca,0x00050041,0x0000002a,0x000000d1,0x00000027,0x0000007a,0x0004003d,
- 0x00000006,0x000000d2,0x000000d1,0x000500ae,0x0000004f,0x000000d3,0x000000d0,0x000000d2,
- 0x000300f7,0x000000d5,0x00000000,0x000400fa,0x000000d3,0x000000d4,0x000000d5,0x000200f8,
- 0x000000d4,0x000200f9,0x000000c4,0x000200f8,0x000000d5,0x0004003d,0x00000006,0x000000d9,
- 0x000000ca,0x0003003e,0x000000d8,0x000000d9,0x00050039,0x00000011,0x000000da,0x00000014,
- 0x000000d8,0x0003003e,0x000000d7,0x000000da,0x0004003d,0x00000011,0x000000dd,0x000000d7,
- 0x0003003e,0x000000dc,0x000000dd,0x00050039,0x00000011,0x000000de,0x00000019,0x000000dc,
- 0x0003003e,0x000000db,0x000000de,0x0004003d,0x00000006,0x000000e0,0x000000ca,0x0003003e,
- 0x000000df,0x000000e0,0x0004003d,0x00000011,0x000000e2,0x000000db,0x0003003e,0x000000e1,
- 0x000000e2,0x00060039,0x00000006,0x000000e3,0x0000001e,0x000000df,0x000000e1,0x0004003d,
- 0x00000006,0x000000e4,0x000000c0,0x000500c5,0x00000006,0x000000e5,0x000000e4,0x000000e3,
- 0x0003003e,0x000000c0,0x000000e5,0x000200f9,0x000000c5,0x000200f8,0x000000c5,0x0004003d,
- 0x00000006,0x000000e6,0x000000c1,0x00050080,0x00000006,0x000000e7,0x000000e6,0x0000007a,
- 0x0003003e,0x000000c1,0x000000e7,0x000200f9,0x000000c2,0x000200f8,0x000000c4,0x0004003d,
- 0x00000006,0x000000e9,0x000000c0,0x0003003e,0x000000e8,0x000000e9,0x00050039,0x00000002,
- 0x000000ea,0x00000022,0x000000e8,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,
- 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,
- 0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,0x0000002a,
- 0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x00050084,
- 0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000000a,
- 0x00050084,0x00000006,0x00000030,0x0000002e,0x0000002f,0x00050080,0x00000006,0x00000031,
- 0x0000002d,0x00000030,0x00050041,0x0000002a,0x00000033,0x00000027,0x00000032,0x0004003d,
- 0x00000006,0x00000034,0x00000033,0x00050080,0x00000006,0x00000035,0x00000031,0x00000034,
- 0x000200fe,0x00000035,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,0x00000008,
- 0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,
- 0x0004003b,0x00000007,0x00000038,0x00000007,0x0004003d,0x00000006,0x00000039,0x0000000d,
- 0x00050089,0x00000006,0x0000003a,0x00000039,0x0000002f,0x00050084,0x00000006,0x0000003c,
- 0x0000003a,0x0000003b,0x0003003e,0x00000038,0x0000003c,0x0004003d,0x00000006,0x0000003d,
- 0x00000038,0x000200fe,0x0000003d,0x00010038,0x00050036,0x00000011,0x00000014,0x00000000,
- 0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003b,0x00000007,
- 0x00000040,0x00000007,0x0004003b,0x00000007,0x00000046,0x00000007,0x0004003b,0x00000007,
- 0x00000059,0x00000007,0x0004003b,0x00000007,0x0000005a,0x00000007,0x0004003b,0x00000007,
- 0x0000005c,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,
- 0x0000006a,0x00000007,0x0004003b,0x00000007,0x0000006b,0x00000007,0x0004003b,0x00000007,
- 0x0000006d,0x00000007,0x0004003b,0x00000007,0x0000006f,0x00000007,0x0004003b,0x00000007,
- 0x00000071,0x00000007,0x0004003b,0x00000074,0x00000075,0x00000007,0x0004003b,0x00000007,
- 0x00000089,0x00000007,0x0004003b,0x00000016,0x00000091,0x00000007,0x0004003b,0x00000016,
- 0x00000093,0x00000007,0x0004003d,0x00000006,0x00000041,0x00000013,0x00050041,0x0000002a,
- 0x00000043,0x00000027,0x00000042,0x0004003d,0x00000006,0x00000044,0x00000043,0x00050086,
- 0x00000006,0x00000045,0x00000041,0x00000044,0x0003003e,0x00000040,0x00000045,0x0004003d,
- 0x00000006,0x00000047,0x00000013,0x00050041,0x0000002a,0x00000048,0x00000027,0x00000042,
- 0x0004003d,0x00000006,0x00000049,0x00000048,0x00050089,0x00000006,0x0000004a,0x00000047,
- 0x00000049,0x0003003e,0x00000046,0x0000004a,0x0004003d,0x00000006,0x0000004b,0x00000046,
- 0x00050041,0x0000002a,0x0000004d,0x00000027,0x0000004c,0x0004003d,0x00000006,0x0000004e,
- 0x0000004d,0x000500ae,0x0000004f,0x00000050,0x0000004b,0x0000004e,0x0004003d,0x00000006,
- 0x00000051,0x00000046,0x000500b0,0x0000004f,0x00000053,0x00000051,0x00000052,0x000500a7,
- 0x0000004f,0x00000054,0x00000050,0x00000053,0x000300f7,0x00000056,0x00000000,0x000400fa,
- 0x00000054,0x00000055,0x00000056,0x000200f8,0x00000055,0x000200fe,0x00000057,0x000200f8,
- 0x00000056,0x0004003d,0x00000006,0x0000005b,0x00000040,0x0003003e,0x0000005a,0x0000005b,
- 0x0004003d,0x00000006,0x0000005d,0x00000046,0x0003003e,0x0000005c,0x0000005d,0x00060039,
- 0x00000006,0x0000005e,0x0000000b,0x0000005a,0x0000005c,0x0003003e,0x00000059,0x0000005e,
- 0x0004003d,0x00000006,0x00000065,0x00000059,0x00050086,0x00000006,0x00000066,0x00000065,
- 0x0000002f,0x00060041,0x00000067,0x00000068,0x00000063,0x00000064,0x00000066,0x0004003d,
- 0x00000006,0x00000069,0x00000068,0x0003003e,0x0000005f,0x00000069,0x0004003d,0x00000006,
- 0x0000006c,0x00000059,0x0003003e,0x0000006b,0x0000006c,0x0003003e,0x0000006d,0x0000002f,
- 0x00060039,0x00000006,0x0000006e,0x0000000f,0x0000006b,0x0000006d,0x0003003e,0x0000006a,
- 0x0000006e,0x0003003e,0x0000006f,0x00000070,0x0004003d,0x00000006,0x00000072,0x0000006f,
- 0x000500aa,0x0000004f,0x00000073,0x00000072,0x00000070,0x000300f7,0x00000077,0x00000000,
- 0x000400fa,0x00000073,0x00000076,0x00000079,0x000200f8,0x00000076,0x0003003e,0x00000075,
- 0x00000078,0x000200f9,0x00000077,0x000200f8,0x00000079,0x0004003d,0x00000006,0x0000007b,
- 0x0000006f,0x000500c4,0x00000028,0x0000007c,0x0000007a,0x0000007b,0x00050082,0x00000028,
- 0x0000007d,0x0000007c,0x0000007a,0x0003003e,0x00000075,0x0000007d,0x000200f9,0x00000077,
- 0x000200f8,0x00000077,0x0004003d,0x00000028,0x0000007e,0x00000075,0x0004007c,0x00000006,
- 0x0000007f,0x0000007e,0x0003003e,0x00000071,0x0000007f,0x0004003d,0x00000006,0x00000080,
- 0x00000046,0x00050041,0x0000002a,0x00000081,0x00000027,0x0000004c,0x0004003d,0x00000006,
- 0x00000082,0x00000081,0x000500ae,0x0000004f,0x00000083,0x00000080,0x00000082,0x0004003d,
- 0x00000006,0x00000084,0x00000046,0x000500aa,0x0000004f,0x00000085,0x00000084,0x00000052,
- 0x000500a7,0x0000004f,0x00000086,0x00000083,0x00000085,0x000300f7,0x00000088,0x00000000,
- 0x000400fa,0x00000086,0x00000087,0x0000008b,0x000200f8,0x00000087,0x0003003e,0x00000089,
- 0x0000008a,0x000200f9,0x00000088,0x000200f8,0x0000008b,0x0004003d,0x00000006,0x0000008c,
- 0x0000005f,0x0004003d,0x00000006,0x0000008d,0x0000006a,0x000500c2,0x00000006,0x0000008e,
- 0x0000008c,0x0000008d,0x0004003d,0x00000006,0x0000008f,0x00000071,0x000500c7,0x00000006,
- 0x00000090,0x0000008e,0x0000008f,0x0003003e,0x00000089,0x00000090,0x000200f9,0x00000088,
- 0x000200f8,0x00000088,0x0003003e,0x00000091,0x00000092,0x0004003d,0x00000006,0x00000094,
- 0x00000089,0x0004007c,0x00000028,0x00000095,0x00000094,0x0004006f,0x00000011,0x00000096,
- 0x00000095,0x0004003d,0x00000011,0x00000097,0x00000091,0x00050085,0x00000011,0x00000098,
- 0x00000096,0x00000097,0x0003003e,0x00000093,0x00000098,0x0004003d,0x00000011,0x00000099,
- 0x00000093,0x000200fe,0x00000099,0x00010038,0x00050036,0x00000011,0x00000019,0x00000000,
- 0x00000017,0x00030037,0x00000016,0x00000018,0x000200f8,0x0000001a,0x0004003d,0x00000011,
- 0x0000009c,0x00000018,0x000200fe,0x0000009c,0x00010038,0x00050036,0x00000006,0x0000001e,
- 0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000016,0x0000001d,
- 0x000200f8,0x0000001f,0x0004003b,0x00000007,0x0000009f,0x00000007,0x0004003d,0x00000011,
- 0x000000a0,0x0000001d,0x0004007c,0x00000028,0x000000a1,0x000000a0,0x0004007c,0x00000006,
- 0x000000a2,0x000000a1,0x0003003e,0x0000009f,0x000000a2,0x0004003d,0x00000006,0x000000a3,
- 0x0000009f,0x000200fe,0x000000a3,0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,
- 0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,0x000000ae,
- 0x000000af,0x000000ac,0x000000ad,0x0004003d,0x00000006,0x000000b0,0x000000af,0x00050041,
- 0x0000002a,0x000000b2,0x00000027,0x000000b1,0x0004003d,0x00000006,0x000000b3,0x000000b2,
- 0x00050086,0x00000006,0x000000b4,0x000000b3,0x0000002f,0x00050080,0x00000006,0x000000b5,
- 0x000000b0,0x000000b4,0x0004003d,0x00000006,0x000000b6,0x00000021,0x00060041,0x00000067,
- 0x000000b7,0x000000a9,0x00000064,0x000000b5,0x0003003e,0x000000b7,0x000000b6,0x000100fd,
- 0x00010038
+ 0x00000025,0x0000000b,0x00006445,0x00060006,0x00000025,0x0000000c,0x72537369,0x52444863,
+ 0x00000000,0x00070006,0x00000025,0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,
+ 0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x00000038,0x66696873,0x00000074,
+ 0x00040005,0x00000040,0x74726576,0x00007865,0x00050005,0x00000046,0x706d6f63,0x6e656e6f,
+ 0x00000074,0x00040005,0x00000059,0x7366666f,0x00007465,0x00040005,0x0000005a,0x61726170,
+ 0x0000006d,0x00040005,0x0000005c,0x61726170,0x0000006d,0x00040005,0x0000005f,0x636f6c62,
+ 0x0000006b,0x00030005,0x00000061,0x00637273,0x00050006,0x00000061,0x00000000,0x44637273,
+ 0x00617461,0x00030005,0x00000063,0x00000000,0x00050005,0x00000071,0x756c6176,0x74694265,
+ 0x00000073,0x00050005,0x00000077,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000084,
+ 0x66696873,0x74694274,0x00000073,0x00040005,0x00000097,0x61726170,0x0000006d,0x00040005,
+ 0x00000099,0x61726170,0x0000006d,0x00050005,0x000000b3,0x756c6176,0x55734165,0x00746e69,
+ 0x00040005,0x000000bb,0x69766964,0x00726f73,0x00040005,0x000000bd,0x756c6176,0x00000065,
+ 0x00050005,0x000000c9,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000d1,0x74736564,
+ 0x00000000,0x00060006,0x000000d1,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
+ 0x000000d3,0x00000000,0x00080005,0x000000d6,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
+ 0x496e6f69,0x00000044,0x00050005,0x000000e8,0x756c6176,0x74754f65,0x00000000,0x00030005,
+ 0x000000e9,0x00000069,0x00030005,0x000000f2,0x00006463,0x00050005,0x000000ff,0x56637273,
+ 0x65756c61,0x00000000,0x00040005,0x00000100,0x61726170,0x0000006d,0x00050005,0x00000103,
+ 0x74736564,0x756c6156,0x00000065,0x00040005,0x00000104,0x61726170,0x0000006d,0x00040005,
+ 0x00000107,0x61726170,0x0000006d,0x00040005,0x00000109,0x61726170,0x0000006d,0x00040005,
+ 0x00000110,0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,
+ 0x00000023,0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,
+ 0x00000025,0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,
+ 0x00000014,0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,
+ 0x00000007,0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,
+ 0x00050048,0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,
+ 0x00000023,0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00050048,
+ 0x00000025,0x0000000c,0x00000023,0x00000030,0x00050048,0x00000025,0x0000000d,0x00000023,
+ 0x00000034,0x00030047,0x00000025,0x00000002,0x00040047,0x00000060,0x00000006,0x00000004,
+ 0x00050048,0x00000061,0x00000000,0x00000023,0x00000000,0x00030047,0x00000061,0x00000003,
+ 0x00040047,0x00000063,0x00000022,0x00000000,0x00040047,0x00000063,0x00000021,0x00000001,
+ 0x00040047,0x000000d0,0x00000006,0x00000004,0x00050048,0x000000d1,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x000000d1,0x00000003,0x00040047,0x000000d3,0x00000022,0x00000000,
+ 0x00040047,0x000000d3,0x00000021,0x00000000,0x00040047,0x000000d6,0x0000000b,0x0000001c,
+ 0x00040047,0x00000114,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
+ 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,
+ 0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00030016,0x00000011,
+ 0x00000020,0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,
+ 0x00000011,0x00040021,0x00000017,0x00000011,0x00000016,0x00050021,0x0000001b,0x00000006,
+ 0x00000007,0x00000016,0x00040021,0x00000020,0x00000002,0x00000007,0x0010001e,0x00000025,
+ 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
+ 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000026,
+ 0x00000009,0x00000025,0x0004003b,0x00000026,0x00000027,0x00000009,0x00040015,0x00000028,
+ 0x00000020,0x00000001,0x0004002b,0x00000028,0x00000029,0x00000006,0x00040020,0x0000002a,
+ 0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002f,0x00000004,0x0004002b,0x00000028,
+ 0x00000032,0x00000002,0x0004002b,0x00000006,0x0000003b,0x00000008,0x0004002b,0x00000028,
+ 0x00000042,0x00000008,0x0004002b,0x00000028,0x0000004c,0x00000004,0x00020014,0x0000004f,
+ 0x0004002b,0x00000006,0x00000052,0x00000003,0x0004002b,0x00000011,0x00000057,0x00000000,
+ 0x0003001d,0x00000060,0x00000006,0x0003001e,0x00000061,0x00000060,0x00040020,0x00000062,
+ 0x00000002,0x00000061,0x0004003b,0x00000062,0x00000063,0x00000002,0x0004002b,0x00000028,
+ 0x00000064,0x00000000,0x00040020,0x00000067,0x00000002,0x00000006,0x0004002b,0x00000028,
+ 0x0000006a,0x0000000c,0x0004002b,0x00000006,0x0000006d,0x00000000,0x0004002b,0x00000028,
+ 0x00000074,0x0000000a,0x0004002b,0x00000028,0x0000007a,0x00000003,0x0004002b,0x00000028,
+ 0x0000007b,0x000003ff,0x0004002b,0x00000028,0x0000007e,0x0000000d,0x0004002b,0x00000006,
+ 0x00000085,0x0000000a,0x0004002b,0x00000006,0x00000090,0x00000002,0x0004002b,0x00000006,
+ 0x0000009b,0x00000020,0x00040020,0x0000009e,0x00000007,0x00000028,0x0004002b,0x00000028,
+ 0x000000a2,0xffffffff,0x0004002b,0x00000028,0x000000a4,0x00000001,0x0004002b,0x00000006,
+ 0x000000b4,0x00010000,0x0004002b,0x00000011,0x000000bc,0x37800000,0x0003001d,0x000000d0,
+ 0x00000006,0x0003001e,0x000000d1,0x000000d0,0x00040020,0x000000d2,0x00000002,0x000000d1,
+ 0x0004003b,0x000000d2,0x000000d3,0x00000002,0x00040017,0x000000d4,0x00000006,0x00000003,
+ 0x00040020,0x000000d5,0x00000001,0x000000d4,0x0004003b,0x000000d5,0x000000d6,0x00000001,
+ 0x00040020,0x000000d7,0x00000001,0x00000006,0x0004002b,0x00000006,0x000000f0,0x00000001,
+ 0x0004002b,0x00000006,0x00000113,0x00000040,0x0006002c,0x000000d4,0x00000114,0x00000113,
+ 0x000000f0,0x000000f0,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x0004003b,0x00000007,0x000000e8,0x00000007,0x0004003b,0x00000007,0x000000e9,
+ 0x00000007,0x0004003b,0x00000007,0x000000f2,0x00000007,0x0004003b,0x00000016,0x000000ff,
+ 0x00000007,0x0004003b,0x00000007,0x00000100,0x00000007,0x0004003b,0x00000016,0x00000103,
+ 0x00000007,0x0004003b,0x00000016,0x00000104,0x00000007,0x0004003b,0x00000007,0x00000107,
+ 0x00000007,0x0004003b,0x00000016,0x00000109,0x00000007,0x0004003b,0x00000007,0x00000110,
+ 0x00000007,0x00050041,0x000000d7,0x000000e0,0x000000d6,0x0000006d,0x0004003d,0x00000006,
+ 0x000000e1,0x000000e0,0x00050041,0x0000002a,0x000000e2,0x00000027,0x00000064,0x0004003d,
+ 0x00000006,0x000000e3,0x000000e2,0x000500ae,0x0000004f,0x000000e4,0x000000e1,0x000000e3,
+ 0x000300f7,0x000000e6,0x00000000,0x000400fa,0x000000e4,0x000000e5,0x000000e6,0x000200f8,
+ 0x000000e5,0x000100fd,0x000200f8,0x000000e6,0x0003003e,0x000000e8,0x0000006d,0x0003003e,
+ 0x000000e9,0x0000006d,0x000200f9,0x000000ea,0x000200f8,0x000000ea,0x000400f6,0x000000ec,
+ 0x000000ed,0x00000000,0x000200f9,0x000000ee,0x000200f8,0x000000ee,0x0004003d,0x00000006,
+ 0x000000ef,0x000000e9,0x000500b0,0x0000004f,0x000000f1,0x000000ef,0x000000f0,0x000400fa,
+ 0x000000f1,0x000000eb,0x000000ec,0x000200f8,0x000000eb,0x00050041,0x000000d7,0x000000f3,
+ 0x000000d6,0x0000006d,0x0004003d,0x00000006,0x000000f4,0x000000f3,0x00050084,0x00000006,
+ 0x000000f5,0x000000f4,0x000000f0,0x0004003d,0x00000006,0x000000f6,0x000000e9,0x00050080,
+ 0x00000006,0x000000f7,0x000000f5,0x000000f6,0x0003003e,0x000000f2,0x000000f7,0x0004003d,
+ 0x00000006,0x000000f8,0x000000f2,0x00050041,0x0000002a,0x000000f9,0x00000027,0x000000a4,
+ 0x0004003d,0x00000006,0x000000fa,0x000000f9,0x000500ae,0x0000004f,0x000000fb,0x000000f8,
+ 0x000000fa,0x000300f7,0x000000fd,0x00000000,0x000400fa,0x000000fb,0x000000fc,0x000000fd,
+ 0x000200f8,0x000000fc,0x000200f9,0x000000ec,0x000200f8,0x000000fd,0x0004003d,0x00000006,
+ 0x00000101,0x000000f2,0x0003003e,0x00000100,0x00000101,0x00050039,0x00000011,0x00000102,
+ 0x00000014,0x00000100,0x0003003e,0x000000ff,0x00000102,0x0004003d,0x00000011,0x00000105,
+ 0x000000ff,0x0003003e,0x00000104,0x00000105,0x00050039,0x00000011,0x00000106,0x00000019,
+ 0x00000104,0x0003003e,0x00000103,0x00000106,0x0004003d,0x00000006,0x00000108,0x000000f2,
+ 0x0003003e,0x00000107,0x00000108,0x0004003d,0x00000011,0x0000010a,0x00000103,0x0003003e,
+ 0x00000109,0x0000010a,0x00060039,0x00000006,0x0000010b,0x0000001e,0x00000107,0x00000109,
+ 0x0004003d,0x00000006,0x0000010c,0x000000e8,0x000500c5,0x00000006,0x0000010d,0x0000010c,
+ 0x0000010b,0x0003003e,0x000000e8,0x0000010d,0x000200f9,0x000000ed,0x000200f8,0x000000ed,
+ 0x0004003d,0x00000006,0x0000010e,0x000000e9,0x00050080,0x00000006,0x0000010f,0x0000010e,
+ 0x000000a4,0x0003003e,0x000000e9,0x0000010f,0x000200f9,0x000000ea,0x000200f8,0x000000ec,
+ 0x0004003d,0x00000006,0x00000111,0x000000e8,0x0003003e,0x00000110,0x00000111,0x00050039,
+ 0x00000002,0x00000112,0x00000022,0x00000110,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,
+ 0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,
+ 0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,
+ 0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,
+ 0x0000000a,0x00050084,0x00000006,0x00000030,0x0000002e,0x0000002f,0x00050080,0x00000006,
+ 0x00000031,0x0000002d,0x00000030,0x00050041,0x0000002a,0x00000033,0x00000027,0x00000032,
+ 0x0004003d,0x00000006,0x00000034,0x00000033,0x00050080,0x00000006,0x00000035,0x00000031,
+ 0x00000034,0x000200fe,0x00000035,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,
+ 0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,
+ 0x00000010,0x0004003b,0x00000007,0x00000038,0x00000007,0x0004003d,0x00000006,0x00000039,
+ 0x0000000d,0x00050089,0x00000006,0x0000003a,0x00000039,0x0000002f,0x00050084,0x00000006,
+ 0x0000003c,0x0000003a,0x0000003b,0x0003003e,0x00000038,0x0000003c,0x0004003d,0x00000006,
+ 0x0000003d,0x00000038,0x000200fe,0x0000003d,0x00010038,0x00050036,0x00000011,0x00000014,
+ 0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003b,
+ 0x00000007,0x00000040,0x00000007,0x0004003b,0x00000007,0x00000046,0x00000007,0x0004003b,
+ 0x00000007,0x00000059,0x00000007,0x0004003b,0x00000007,0x0000005a,0x00000007,0x0004003b,
+ 0x00000007,0x0000005c,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,
+ 0x00000007,0x00000071,0x00000007,0x0004003b,0x00000007,0x00000077,0x00000007,0x0004003b,
+ 0x00000007,0x00000084,0x00000007,0x0004003b,0x00000007,0x0000008b,0x00000007,0x0004003b,
+ 0x00000007,0x00000097,0x00000007,0x0004003b,0x00000007,0x00000099,0x00000007,0x0004003b,
+ 0x0000009e,0x0000009f,0x00000007,0x0004003b,0x00000007,0x000000b3,0x00000007,0x0004003b,
+ 0x00000016,0x000000bb,0x00000007,0x0004003b,0x00000016,0x000000bd,0x00000007,0x0004003d,
+ 0x00000006,0x00000041,0x00000013,0x00050041,0x0000002a,0x00000043,0x00000027,0x00000042,
+ 0x0004003d,0x00000006,0x00000044,0x00000043,0x00050086,0x00000006,0x00000045,0x00000041,
+ 0x00000044,0x0003003e,0x00000040,0x00000045,0x0004003d,0x00000006,0x00000047,0x00000013,
+ 0x00050041,0x0000002a,0x00000048,0x00000027,0x00000042,0x0004003d,0x00000006,0x00000049,
+ 0x00000048,0x00050089,0x00000006,0x0000004a,0x00000047,0x00000049,0x0003003e,0x00000046,
+ 0x0000004a,0x0004003d,0x00000006,0x0000004b,0x00000046,0x00050041,0x0000002a,0x0000004d,
+ 0x00000027,0x0000004c,0x0004003d,0x00000006,0x0000004e,0x0000004d,0x000500ae,0x0000004f,
+ 0x00000050,0x0000004b,0x0000004e,0x0004003d,0x00000006,0x00000051,0x00000046,0x000500b0,
+ 0x0000004f,0x00000053,0x00000051,0x00000052,0x000500a7,0x0000004f,0x00000054,0x00000050,
+ 0x00000053,0x000300f7,0x00000056,0x00000000,0x000400fa,0x00000054,0x00000055,0x00000056,
+ 0x000200f8,0x00000055,0x000200fe,0x00000057,0x000200f8,0x00000056,0x0004003d,0x00000006,
+ 0x0000005b,0x00000040,0x0003003e,0x0000005a,0x0000005b,0x0004003d,0x00000006,0x0000005d,
+ 0x00000046,0x0003003e,0x0000005c,0x0000005d,0x00060039,0x00000006,0x0000005e,0x0000000b,
+ 0x0000005a,0x0000005c,0x0003003e,0x00000059,0x0000005e,0x0004003d,0x00000006,0x00000065,
+ 0x00000059,0x00050086,0x00000006,0x00000066,0x00000065,0x0000002f,0x00060041,0x00000067,
+ 0x00000068,0x00000063,0x00000064,0x00000066,0x0004003d,0x00000006,0x00000069,0x00000068,
+ 0x0003003e,0x0000005f,0x00000069,0x00050041,0x0000002a,0x0000006b,0x00000027,0x0000006a,
+ 0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500ab,0x0000004f,0x0000006e,0x0000006c,
+ 0x0000006d,0x000300f7,0x00000070,0x00000000,0x000400fa,0x0000006e,0x0000006f,0x00000096,
+ 0x000200f8,0x0000006f,0x0004003d,0x00000006,0x00000072,0x00000046,0x000500aa,0x0000004f,
+ 0x00000073,0x00000072,0x00000052,0x000600a9,0x00000028,0x00000075,0x00000073,0x00000032,
+ 0x00000074,0x0004007c,0x00000006,0x00000076,0x00000075,0x0003003e,0x00000071,0x00000076,
+ 0x0004003d,0x00000006,0x00000078,0x00000046,0x000500aa,0x0000004f,0x00000079,0x00000078,
+ 0x00000052,0x000600a9,0x00000028,0x0000007c,0x00000079,0x0000007a,0x0000007b,0x0004007c,
+ 0x00000006,0x0000007d,0x0000007c,0x0003003e,0x00000077,0x0000007d,0x00050041,0x0000002a,
+ 0x0000007f,0x00000027,0x0000007e,0x0004003d,0x00000006,0x00000080,0x0000007f,0x000500ab,
+ 0x0000004f,0x00000081,0x00000080,0x0000006d,0x000300f7,0x00000083,0x00000000,0x000400fa,
+ 0x00000081,0x00000082,0x00000088,0x000200f8,0x00000082,0x0004003d,0x00000006,0x00000086,
+ 0x00000046,0x00050084,0x00000006,0x00000087,0x00000085,0x00000086,0x0003003e,0x00000084,
+ 0x00000087,0x000200f9,0x00000083,0x000200f8,0x00000088,0x0004003d,0x00000006,0x00000089,
+ 0x00000046,0x000500aa,0x0000004f,0x0000008a,0x00000089,0x00000052,0x000300f7,0x0000008d,
+ 0x00000000,0x000400fa,0x0000008a,0x0000008c,0x0000008e,0x000200f8,0x0000008c,0x0003003e,
+ 0x0000008b,0x0000006d,0x000200f9,0x0000008d,0x000200f8,0x0000008e,0x0004003d,0x00000006,
+ 0x0000008f,0x00000071,0x0004003d,0x00000006,0x00000091,0x00000046,0x00050082,0x00000006,
+ 0x00000092,0x00000090,0x00000091,0x00050084,0x00000006,0x00000093,0x0000008f,0x00000092,
+ 0x00050080,0x00000006,0x00000094,0x00000093,0x00000090,0x0003003e,0x0000008b,0x00000094,
+ 0x000200f9,0x0000008d,0x000200f8,0x0000008d,0x0004003d,0x00000006,0x00000095,0x0000008b,
+ 0x0003003e,0x00000084,0x00000095,0x000200f9,0x00000083,0x000200f8,0x00000083,0x000200f9,
+ 0x00000070,0x000200f8,0x00000096,0x0004003d,0x00000006,0x00000098,0x00000059,0x0003003e,
+ 0x00000097,0x00000098,0x0003003e,0x00000099,0x0000002f,0x00060039,0x00000006,0x0000009a,
+ 0x0000000f,0x00000097,0x00000099,0x0003003e,0x00000084,0x0000009a,0x0003003e,0x00000071,
+ 0x0000009b,0x0004003d,0x00000006,0x0000009c,0x00000071,0x000500aa,0x0000004f,0x0000009d,
+ 0x0000009c,0x0000009b,0x000300f7,0x000000a1,0x00000000,0x000400fa,0x0000009d,0x000000a0,
+ 0x000000a3,0x000200f8,0x000000a0,0x0003003e,0x0000009f,0x000000a2,0x000200f9,0x000000a1,
+ 0x000200f8,0x000000a3,0x0004003d,0x00000006,0x000000a5,0x00000071,0x000500c4,0x00000028,
+ 0x000000a6,0x000000a4,0x000000a5,0x00050082,0x00000028,0x000000a7,0x000000a6,0x000000a4,
+ 0x0003003e,0x0000009f,0x000000a7,0x000200f9,0x000000a1,0x000200f8,0x000000a1,0x0004003d,
+ 0x00000028,0x000000a8,0x0000009f,0x0004007c,0x00000006,0x000000a9,0x000000a8,0x0003003e,
+ 0x00000077,0x000000a9,0x000200f9,0x00000070,0x000200f8,0x00000070,0x0004003d,0x00000006,
+ 0x000000aa,0x00000046,0x00050041,0x0000002a,0x000000ab,0x00000027,0x0000004c,0x0004003d,
+ 0x00000006,0x000000ac,0x000000ab,0x000500ae,0x0000004f,0x000000ad,0x000000aa,0x000000ac,
+ 0x0004003d,0x00000006,0x000000ae,0x00000046,0x000500aa,0x0000004f,0x000000af,0x000000ae,
+ 0x00000052,0x000500a7,0x0000004f,0x000000b0,0x000000ad,0x000000af,0x000300f7,0x000000b2,
+ 0x00000000,0x000400fa,0x000000b0,0x000000b1,0x000000b5,0x000200f8,0x000000b1,0x0003003e,
+ 0x000000b3,0x000000b4,0x000200f9,0x000000b2,0x000200f8,0x000000b5,0x0004003d,0x00000006,
+ 0x000000b6,0x0000005f,0x0004003d,0x00000006,0x000000b7,0x00000084,0x000500c2,0x00000006,
+ 0x000000b8,0x000000b6,0x000000b7,0x0004003d,0x00000006,0x000000b9,0x00000077,0x000500c7,
+ 0x00000006,0x000000ba,0x000000b8,0x000000b9,0x0003003e,0x000000b3,0x000000ba,0x000200f9,
+ 0x000000b2,0x000200f8,0x000000b2,0x0003003e,0x000000bb,0x000000bc,0x0004003d,0x00000006,
+ 0x000000be,0x000000b3,0x0004007c,0x00000028,0x000000bf,0x000000be,0x0004006f,0x00000011,
+ 0x000000c0,0x000000bf,0x0004003d,0x00000011,0x000000c1,0x000000bb,0x00050085,0x00000011,
+ 0x000000c2,0x000000c0,0x000000c1,0x0003003e,0x000000bd,0x000000c2,0x0004003d,0x00000011,
+ 0x000000c3,0x000000bd,0x000200fe,0x000000c3,0x00010038,0x00050036,0x00000011,0x00000019,
+ 0x00000000,0x00000017,0x00030037,0x00000016,0x00000018,0x000200f8,0x0000001a,0x0004003d,
+ 0x00000011,0x000000c6,0x00000018,0x000200fe,0x000000c6,0x00010038,0x00050036,0x00000006,
+ 0x0000001e,0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000016,
+ 0x0000001d,0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000c9,0x00000007,0x0004003d,
+ 0x00000011,0x000000ca,0x0000001d,0x0004007c,0x00000028,0x000000cb,0x000000ca,0x0004007c,
+ 0x00000006,0x000000cc,0x000000cb,0x0003003e,0x000000c9,0x000000cc,0x0004003d,0x00000006,
+ 0x000000cd,0x000000c9,0x000200fe,0x000000cd,0x00010038,0x00050036,0x00000002,0x00000022,
+ 0x00000000,0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,
+ 0x000000d7,0x000000d8,0x000000d6,0x0000006d,0x0004003d,0x00000006,0x000000d9,0x000000d8,
+ 0x00050041,0x0000002a,0x000000da,0x00000027,0x0000007a,0x0004003d,0x00000006,0x000000db,
+ 0x000000da,0x00050086,0x00000006,0x000000dc,0x000000db,0x0000002f,0x00050080,0x00000006,
+ 0x000000dd,0x000000d9,0x000000dc,0x0004003d,0x00000006,0x000000de,0x00000021,0x00060041,
+ 0x00000067,0x000000df,0x000000d3,0x00000064,0x000000dd,0x0003003e,0x000000df,0x000000de,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -229,6 +258,9 @@ const uint32_t kConvertVertex_comp_00000006[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -263,9 +295,30 @@ const uint32_t kConvertVertex_comp_00000006[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, 4);
-// uint valueBits = 4 * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, 4);
+// valueBits = 4 * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc
index 3ef593b9f0b..e196adbc96f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kConvertVertex_comp_00000007[] = {
- 0x07230203,0x00010000,0x00080007,0x000000e9,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000111,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000a8,0x00060010,0x00000004,
+ 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000d2,0x00060010,0x00000004,
0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
@@ -24,171 +24,200 @@ const uint32_t kConvertVertex_comp_00000007[] = {
0x00000025,0x00000005,0x00007342,0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,
0x00000025,0x00000007,0x00007345,0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,
0x00000025,0x00000009,0x00006442,0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,
- 0x00000025,0x0000000b,0x00006445,0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,
- 0x00000038,0x66696873,0x00000074,0x00040005,0x00000040,0x74726576,0x00007865,0x00050005,
- 0x00000046,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x00000059,0x7366666f,0x00007465,
- 0x00040005,0x0000005a,0x61726170,0x0000006d,0x00040005,0x0000005c,0x61726170,0x0000006d,
- 0x00040005,0x0000005f,0x636f6c62,0x0000006b,0x00030005,0x00000061,0x00637273,0x00050006,
- 0x00000061,0x00000000,0x44637273,0x00617461,0x00030005,0x00000063,0x00000000,0x00050005,
- 0x0000006a,0x66696873,0x74694274,0x00000073,0x00040005,0x0000006b,0x61726170,0x0000006d,
- 0x00040005,0x0000006d,0x61726170,0x0000006d,0x00050005,0x0000006f,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000071,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000089,
- 0x756c6176,0x55734165,0x00746e69,0x00040005,0x00000092,0x756c6176,0x00000065,0x00050005,
- 0x0000009b,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000a3,0x74736564,0x00000000,
- 0x00060006,0x000000a3,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000a5,
- 0x00000000,0x00080005,0x000000a8,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,
- 0x00000044,0x00050005,0x000000bc,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000bd,
- 0x00000069,0x00030005,0x000000c6,0x00006463,0x00050005,0x000000d3,0x56637273,0x65756c61,
- 0x00000000,0x00040005,0x000000d4,0x61726170,0x0000006d,0x00050005,0x000000d7,0x74736564,
- 0x756c6156,0x00000065,0x00040005,0x000000d8,0x61726170,0x0000006d,0x00040005,0x000000db,
- 0x61726170,0x0000006d,0x00040005,0x000000dd,0x61726170,0x0000006d,0x00040005,0x000000e4,
- 0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,
- 0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,
- 0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,
- 0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,
- 0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,
- 0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,
- 0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,
- 0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000025,
- 0x00000002,0x00040047,0x00000060,0x00000006,0x00000004,0x00050048,0x00000061,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x00000061,0x00000003,0x00040047,0x00000063,0x00000022,
- 0x00000000,0x00040047,0x00000063,0x00000021,0x00000001,0x00040047,0x000000a2,0x00000006,
- 0x00000004,0x00050048,0x000000a3,0x00000000,0x00000023,0x00000000,0x00030047,0x000000a3,
- 0x00000003,0x00040047,0x000000a5,0x00000022,0x00000000,0x00040047,0x000000a5,0x00000021,
- 0x00000000,0x00040047,0x000000a8,0x0000000b,0x0000001c,0x00040047,0x000000e8,0x0000000b,
- 0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,
- 0x00000006,0x00000007,0x00000007,0x00030016,0x00000011,0x00000020,0x00040021,0x00000012,
- 0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,0x00040021,0x00000017,
- 0x00000011,0x00000016,0x00050021,0x0000001b,0x00000006,0x00000007,0x00000016,0x00040021,
- 0x00000020,0x00000002,0x00000007,0x000e001e,0x00000025,0x00000006,0x00000006,0x00000006,
+ 0x00000025,0x0000000b,0x00006445,0x00060006,0x00000025,0x0000000c,0x72537369,0x52444863,
+ 0x00000000,0x00070006,0x00000025,0x0000000d,0x72537369,0x42324163,0x30315247,0x00000000,
+ 0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x00000038,0x66696873,0x00000074,
+ 0x00040005,0x00000040,0x74726576,0x00007865,0x00050005,0x00000046,0x706d6f63,0x6e656e6f,
+ 0x00000074,0x00040005,0x00000059,0x7366666f,0x00007465,0x00040005,0x0000005a,0x61726170,
+ 0x0000006d,0x00040005,0x0000005c,0x61726170,0x0000006d,0x00040005,0x0000005f,0x636f6c62,
+ 0x0000006b,0x00030005,0x00000061,0x00637273,0x00050006,0x00000061,0x00000000,0x44637273,
+ 0x00617461,0x00030005,0x00000063,0x00000000,0x00050005,0x00000071,0x756c6176,0x74694265,
+ 0x00000073,0x00050005,0x00000077,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000084,
+ 0x66696873,0x74694274,0x00000073,0x00040005,0x00000097,0x61726170,0x0000006d,0x00040005,
+ 0x00000099,0x61726170,0x0000006d,0x00050005,0x000000b3,0x756c6176,0x55734165,0x00746e69,
+ 0x00040005,0x000000bc,0x756c6176,0x00000065,0x00050005,0x000000c5,0x756c6176,0x55734165,
+ 0x00746e69,0x00040005,0x000000cd,0x74736564,0x00000000,0x00060006,0x000000cd,0x00000000,
+ 0x74736564,0x61746144,0x00000000,0x00030005,0x000000cf,0x00000000,0x00080005,0x000000d2,
+ 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000e4,
+ 0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000e5,0x00000069,0x00030005,0x000000ee,
+ 0x00006463,0x00050005,0x000000fb,0x56637273,0x65756c61,0x00000000,0x00040005,0x000000fc,
+ 0x61726170,0x0000006d,0x00050005,0x000000ff,0x74736564,0x756c6156,0x00000065,0x00040005,
+ 0x00000100,0x61726170,0x0000006d,0x00040005,0x00000103,0x61726170,0x0000006d,0x00040005,
+ 0x00000105,0x61726170,0x0000006d,0x00040005,0x0000010c,0x61726170,0x0000006d,0x00050048,
+ 0x00000025,0x00000000,0x00000023,0x00000000,0x00050048,0x00000025,0x00000001,0x00000023,
+ 0x00000004,0x00050048,0x00000025,0x00000002,0x00000023,0x00000008,0x00050048,0x00000025,
+ 0x00000003,0x00000023,0x0000000c,0x00050048,0x00000025,0x00000004,0x00000023,0x00000010,
+ 0x00050048,0x00000025,0x00000005,0x00000023,0x00000014,0x00050048,0x00000025,0x00000006,
+ 0x00000023,0x00000018,0x00050048,0x00000025,0x00000007,0x00000023,0x0000001c,0x00050048,
+ 0x00000025,0x00000008,0x00000023,0x00000020,0x00050048,0x00000025,0x00000009,0x00000023,
+ 0x00000024,0x00050048,0x00000025,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000025,
+ 0x0000000b,0x00000023,0x0000002c,0x00050048,0x00000025,0x0000000c,0x00000023,0x00000030,
+ 0x00050048,0x00000025,0x0000000d,0x00000023,0x00000034,0x00030047,0x00000025,0x00000002,
+ 0x00040047,0x00000060,0x00000006,0x00000004,0x00050048,0x00000061,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x00000061,0x00000003,0x00040047,0x00000063,0x00000022,0x00000000,
+ 0x00040047,0x00000063,0x00000021,0x00000001,0x00040047,0x000000cc,0x00000006,0x00000004,
+ 0x00050048,0x000000cd,0x00000000,0x00000023,0x00000000,0x00030047,0x000000cd,0x00000003,
+ 0x00040047,0x000000cf,0x00000022,0x00000000,0x00040047,0x000000cf,0x00000021,0x00000000,
+ 0x00040047,0x000000d2,0x0000000b,0x0000001c,0x00040047,0x00000110,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,
+ 0x00000007,0x00000007,0x00030016,0x00000011,0x00000020,0x00040021,0x00000012,0x00000011,
+ 0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,0x00040021,0x00000017,0x00000011,
+ 0x00000016,0x00050021,0x0000001b,0x00000006,0x00000007,0x00000016,0x00040021,0x00000020,
+ 0x00000002,0x00000007,0x0010001e,0x00000025,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,0x00000027,
- 0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,0x00000029,
- 0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002f,
- 0x00000004,0x0004002b,0x00000028,0x00000032,0x00000002,0x0004002b,0x00000006,0x0000003b,
- 0x00000008,0x0004002b,0x00000028,0x00000042,0x00000008,0x0004002b,0x00000028,0x0000004c,
- 0x00000004,0x00020014,0x0000004f,0x0004002b,0x00000006,0x00000052,0x00000003,0x0004002b,
- 0x00000011,0x00000057,0x00000000,0x0003001d,0x00000060,0x00000006,0x0003001e,0x00000061,
- 0x00000060,0x00040020,0x00000062,0x00000002,0x00000061,0x0004003b,0x00000062,0x00000063,
- 0x00000002,0x0004002b,0x00000028,0x00000064,0x00000000,0x00040020,0x00000067,0x00000002,
- 0x00000006,0x0004002b,0x00000006,0x00000070,0x00000020,0x00040020,0x00000074,0x00000007,
- 0x00000028,0x0004002b,0x00000028,0x00000078,0xffffffff,0x0004002b,0x00000028,0x0000007a,
- 0x00000001,0x0004002b,0x00000011,0x0000008a,0x3f800000,0x0003001d,0x000000a2,0x00000006,
- 0x0003001e,0x000000a3,0x000000a2,0x00040020,0x000000a4,0x00000002,0x000000a3,0x0004003b,
- 0x000000a4,0x000000a5,0x00000002,0x00040017,0x000000a6,0x00000006,0x00000003,0x00040020,
- 0x000000a7,0x00000001,0x000000a6,0x0004003b,0x000000a7,0x000000a8,0x00000001,0x0004002b,
- 0x00000006,0x000000a9,0x00000000,0x00040020,0x000000aa,0x00000001,0x00000006,0x0004002b,
- 0x00000028,0x000000ad,0x00000003,0x0004002b,0x00000006,0x000000c4,0x00000001,0x0004002b,
- 0x00000006,0x000000e7,0x00000040,0x0006002c,0x000000a6,0x000000e8,0x000000e7,0x000000c4,
- 0x000000c4,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x00000007,0x000000bc,0x00000007,0x0004003b,0x00000007,0x000000bd,0x00000007,
- 0x0004003b,0x00000007,0x000000c6,0x00000007,0x0004003b,0x00000016,0x000000d3,0x00000007,
- 0x0004003b,0x00000007,0x000000d4,0x00000007,0x0004003b,0x00000016,0x000000d7,0x00000007,
- 0x0004003b,0x00000016,0x000000d8,0x00000007,0x0004003b,0x00000007,0x000000db,0x00000007,
- 0x0004003b,0x00000016,0x000000dd,0x00000007,0x0004003b,0x00000007,0x000000e4,0x00000007,
- 0x00050041,0x000000aa,0x000000b4,0x000000a8,0x000000a9,0x0004003d,0x00000006,0x000000b5,
- 0x000000b4,0x00050041,0x0000002a,0x000000b6,0x00000027,0x00000064,0x0004003d,0x00000006,
- 0x000000b7,0x000000b6,0x000500ae,0x0000004f,0x000000b8,0x000000b5,0x000000b7,0x000300f7,
- 0x000000ba,0x00000000,0x000400fa,0x000000b8,0x000000b9,0x000000ba,0x000200f8,0x000000b9,
- 0x000100fd,0x000200f8,0x000000ba,0x0003003e,0x000000bc,0x000000a9,0x0003003e,0x000000bd,
- 0x000000a9,0x000200f9,0x000000be,0x000200f8,0x000000be,0x000400f6,0x000000c0,0x000000c1,
- 0x00000000,0x000200f9,0x000000c2,0x000200f8,0x000000c2,0x0004003d,0x00000006,0x000000c3,
- 0x000000bd,0x000500b0,0x0000004f,0x000000c5,0x000000c3,0x000000c4,0x000400fa,0x000000c5,
- 0x000000bf,0x000000c0,0x000200f8,0x000000bf,0x00050041,0x000000aa,0x000000c7,0x000000a8,
- 0x000000a9,0x0004003d,0x00000006,0x000000c8,0x000000c7,0x00050084,0x00000006,0x000000c9,
- 0x000000c8,0x000000c4,0x0004003d,0x00000006,0x000000ca,0x000000bd,0x00050080,0x00000006,
- 0x000000cb,0x000000c9,0x000000ca,0x0003003e,0x000000c6,0x000000cb,0x0004003d,0x00000006,
- 0x000000cc,0x000000c6,0x00050041,0x0000002a,0x000000cd,0x00000027,0x0000007a,0x0004003d,
- 0x00000006,0x000000ce,0x000000cd,0x000500ae,0x0000004f,0x000000cf,0x000000cc,0x000000ce,
- 0x000300f7,0x000000d1,0x00000000,0x000400fa,0x000000cf,0x000000d0,0x000000d1,0x000200f8,
- 0x000000d0,0x000200f9,0x000000c0,0x000200f8,0x000000d1,0x0004003d,0x00000006,0x000000d5,
- 0x000000c6,0x0003003e,0x000000d4,0x000000d5,0x00050039,0x00000011,0x000000d6,0x00000014,
- 0x000000d4,0x0003003e,0x000000d3,0x000000d6,0x0004003d,0x00000011,0x000000d9,0x000000d3,
- 0x0003003e,0x000000d8,0x000000d9,0x00050039,0x00000011,0x000000da,0x00000019,0x000000d8,
- 0x0003003e,0x000000d7,0x000000da,0x0004003d,0x00000006,0x000000dc,0x000000c6,0x0003003e,
- 0x000000db,0x000000dc,0x0004003d,0x00000011,0x000000de,0x000000d7,0x0003003e,0x000000dd,
- 0x000000de,0x00060039,0x00000006,0x000000df,0x0000001e,0x000000db,0x000000dd,0x0004003d,
- 0x00000006,0x000000e0,0x000000bc,0x000500c5,0x00000006,0x000000e1,0x000000e0,0x000000df,
- 0x0003003e,0x000000bc,0x000000e1,0x000200f9,0x000000c1,0x000200f8,0x000000c1,0x0004003d,
- 0x00000006,0x000000e2,0x000000bd,0x00050080,0x00000006,0x000000e3,0x000000e2,0x0000007a,
- 0x0003003e,0x000000bd,0x000000e3,0x000200f9,0x000000be,0x000200f8,0x000000c0,0x0004003d,
- 0x00000006,0x000000e5,0x000000bc,0x0003003e,0x000000e4,0x000000e5,0x00050039,0x00000002,
- 0x000000e6,0x00000022,0x000000e4,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,
- 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,
- 0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,0x0000002a,
- 0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x00050084,
- 0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,0x0000000a,
- 0x00050084,0x00000006,0x00000030,0x0000002e,0x0000002f,0x00050080,0x00000006,0x00000031,
- 0x0000002d,0x00000030,0x00050041,0x0000002a,0x00000033,0x00000027,0x00000032,0x0004003d,
- 0x00000006,0x00000034,0x00000033,0x00050080,0x00000006,0x00000035,0x00000031,0x00000034,
- 0x000200fe,0x00000035,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,0x00000008,
- 0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,0x00000010,
- 0x0004003b,0x00000007,0x00000038,0x00000007,0x0004003d,0x00000006,0x00000039,0x0000000d,
- 0x00050089,0x00000006,0x0000003a,0x00000039,0x0000002f,0x00050084,0x00000006,0x0000003c,
- 0x0000003a,0x0000003b,0x0003003e,0x00000038,0x0000003c,0x0004003d,0x00000006,0x0000003d,
- 0x00000038,0x000200fe,0x0000003d,0x00010038,0x00050036,0x00000011,0x00000014,0x00000000,
- 0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003b,0x00000007,
- 0x00000040,0x00000007,0x0004003b,0x00000007,0x00000046,0x00000007,0x0004003b,0x00000007,
- 0x00000059,0x00000007,0x0004003b,0x00000007,0x0000005a,0x00000007,0x0004003b,0x00000007,
- 0x0000005c,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,
- 0x0000006a,0x00000007,0x0004003b,0x00000007,0x0000006b,0x00000007,0x0004003b,0x00000007,
- 0x0000006d,0x00000007,0x0004003b,0x00000007,0x0000006f,0x00000007,0x0004003b,0x00000007,
- 0x00000071,0x00000007,0x0004003b,0x00000074,0x00000075,0x00000007,0x0004003b,0x00000007,
- 0x00000089,0x00000007,0x0004003b,0x00000016,0x00000092,0x00000007,0x0004003d,0x00000006,
- 0x00000041,0x00000013,0x00050041,0x0000002a,0x00000043,0x00000027,0x00000042,0x0004003d,
- 0x00000006,0x00000044,0x00000043,0x00050086,0x00000006,0x00000045,0x00000041,0x00000044,
- 0x0003003e,0x00000040,0x00000045,0x0004003d,0x00000006,0x00000047,0x00000013,0x00050041,
- 0x0000002a,0x00000048,0x00000027,0x00000042,0x0004003d,0x00000006,0x00000049,0x00000048,
- 0x00050089,0x00000006,0x0000004a,0x00000047,0x00000049,0x0003003e,0x00000046,0x0000004a,
- 0x0004003d,0x00000006,0x0000004b,0x00000046,0x00050041,0x0000002a,0x0000004d,0x00000027,
- 0x0000004c,0x0004003d,0x00000006,0x0000004e,0x0000004d,0x000500ae,0x0000004f,0x00000050,
- 0x0000004b,0x0000004e,0x0004003d,0x00000006,0x00000051,0x00000046,0x000500b0,0x0000004f,
- 0x00000053,0x00000051,0x00000052,0x000500a7,0x0000004f,0x00000054,0x00000050,0x00000053,
- 0x000300f7,0x00000056,0x00000000,0x000400fa,0x00000054,0x00000055,0x00000056,0x000200f8,
- 0x00000055,0x000200fe,0x00000057,0x000200f8,0x00000056,0x0004003d,0x00000006,0x0000005b,
- 0x00000040,0x0003003e,0x0000005a,0x0000005b,0x0004003d,0x00000006,0x0000005d,0x00000046,
- 0x0003003e,0x0000005c,0x0000005d,0x00060039,0x00000006,0x0000005e,0x0000000b,0x0000005a,
- 0x0000005c,0x0003003e,0x00000059,0x0000005e,0x0004003d,0x00000006,0x00000065,0x00000059,
- 0x00050086,0x00000006,0x00000066,0x00000065,0x0000002f,0x00060041,0x00000067,0x00000068,
- 0x00000063,0x00000064,0x00000066,0x0004003d,0x00000006,0x00000069,0x00000068,0x0003003e,
- 0x0000005f,0x00000069,0x0004003d,0x00000006,0x0000006c,0x00000059,0x0003003e,0x0000006b,
- 0x0000006c,0x0003003e,0x0000006d,0x0000002f,0x00060039,0x00000006,0x0000006e,0x0000000f,
- 0x0000006b,0x0000006d,0x0003003e,0x0000006a,0x0000006e,0x0003003e,0x0000006f,0x00000070,
- 0x0004003d,0x00000006,0x00000072,0x0000006f,0x000500aa,0x0000004f,0x00000073,0x00000072,
- 0x00000070,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000073,0x00000076,0x00000079,
- 0x000200f8,0x00000076,0x0003003e,0x00000075,0x00000078,0x000200f9,0x00000077,0x000200f8,
- 0x00000079,0x0004003d,0x00000006,0x0000007b,0x0000006f,0x000500c4,0x00000028,0x0000007c,
- 0x0000007a,0x0000007b,0x00050082,0x00000028,0x0000007d,0x0000007c,0x0000007a,0x0003003e,
- 0x00000075,0x0000007d,0x000200f9,0x00000077,0x000200f8,0x00000077,0x0004003d,0x00000028,
- 0x0000007e,0x00000075,0x0004007c,0x00000006,0x0000007f,0x0000007e,0x0003003e,0x00000071,
- 0x0000007f,0x0004003d,0x00000006,0x00000080,0x00000046,0x00050041,0x0000002a,0x00000081,
- 0x00000027,0x0000004c,0x0004003d,0x00000006,0x00000082,0x00000081,0x000500ae,0x0000004f,
- 0x00000083,0x00000080,0x00000082,0x0004003d,0x00000006,0x00000084,0x00000046,0x000500aa,
- 0x0000004f,0x00000085,0x00000084,0x00000052,0x000500a7,0x0000004f,0x00000086,0x00000083,
- 0x00000085,0x000300f7,0x00000088,0x00000000,0x000400fa,0x00000086,0x00000087,0x0000008c,
- 0x000200f8,0x00000087,0x0004007c,0x00000006,0x0000008b,0x0000008a,0x0003003e,0x00000089,
- 0x0000008b,0x000200f9,0x00000088,0x000200f8,0x0000008c,0x0004003d,0x00000006,0x0000008d,
- 0x0000005f,0x0004003d,0x00000006,0x0000008e,0x0000006a,0x000500c2,0x00000006,0x0000008f,
- 0x0000008d,0x0000008e,0x0004003d,0x00000006,0x00000090,0x00000071,0x000500c7,0x00000006,
- 0x00000091,0x0000008f,0x00000090,0x0003003e,0x00000089,0x00000091,0x000200f9,0x00000088,
- 0x000200f8,0x00000088,0x0004003d,0x00000006,0x00000093,0x00000089,0x0004007c,0x00000011,
- 0x00000094,0x00000093,0x0003003e,0x00000092,0x00000094,0x0004003d,0x00000011,0x00000095,
- 0x00000092,0x000200fe,0x00000095,0x00010038,0x00050036,0x00000011,0x00000019,0x00000000,
- 0x00000017,0x00030037,0x00000016,0x00000018,0x000200f8,0x0000001a,0x0004003d,0x00000011,
- 0x00000098,0x00000018,0x000200fe,0x00000098,0x00010038,0x00050036,0x00000006,0x0000001e,
- 0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000016,0x0000001d,
- 0x000200f8,0x0000001f,0x0004003b,0x00000007,0x0000009b,0x00000007,0x0004003d,0x00000011,
- 0x0000009c,0x0000001d,0x0004007c,0x00000028,0x0000009d,0x0000009c,0x0004007c,0x00000006,
- 0x0000009e,0x0000009d,0x0003003e,0x0000009b,0x0000009e,0x0004003d,0x00000006,0x0000009f,
- 0x0000009b,0x000200fe,0x0000009f,0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,
- 0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,0x000000aa,
- 0x000000ab,0x000000a8,0x000000a9,0x0004003d,0x00000006,0x000000ac,0x000000ab,0x00050041,
- 0x0000002a,0x000000ae,0x00000027,0x000000ad,0x0004003d,0x00000006,0x000000af,0x000000ae,
- 0x00050086,0x00000006,0x000000b0,0x000000af,0x0000002f,0x00050080,0x00000006,0x000000b1,
- 0x000000ac,0x000000b0,0x0004003d,0x00000006,0x000000b2,0x00000021,0x00060041,0x00000067,
- 0x000000b3,0x000000a5,0x00000064,0x000000b1,0x0003003e,0x000000b3,0x000000b2,0x000100fd,
- 0x00010038
+ 0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,
+ 0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,
+ 0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000006,
+ 0x0000002f,0x00000004,0x0004002b,0x00000028,0x00000032,0x00000002,0x0004002b,0x00000006,
+ 0x0000003b,0x00000008,0x0004002b,0x00000028,0x00000042,0x00000008,0x0004002b,0x00000028,
+ 0x0000004c,0x00000004,0x00020014,0x0000004f,0x0004002b,0x00000006,0x00000052,0x00000003,
+ 0x0004002b,0x00000011,0x00000057,0x00000000,0x0003001d,0x00000060,0x00000006,0x0003001e,
+ 0x00000061,0x00000060,0x00040020,0x00000062,0x00000002,0x00000061,0x0004003b,0x00000062,
+ 0x00000063,0x00000002,0x0004002b,0x00000028,0x00000064,0x00000000,0x00040020,0x00000067,
+ 0x00000002,0x00000006,0x0004002b,0x00000028,0x0000006a,0x0000000c,0x0004002b,0x00000006,
+ 0x0000006d,0x00000000,0x0004002b,0x00000028,0x00000074,0x0000000a,0x0004002b,0x00000028,
+ 0x0000007a,0x00000003,0x0004002b,0x00000028,0x0000007b,0x000003ff,0x0004002b,0x00000028,
+ 0x0000007e,0x0000000d,0x0004002b,0x00000006,0x00000085,0x0000000a,0x0004002b,0x00000006,
+ 0x00000090,0x00000002,0x0004002b,0x00000006,0x0000009b,0x00000020,0x00040020,0x0000009e,
+ 0x00000007,0x00000028,0x0004002b,0x00000028,0x000000a2,0xffffffff,0x0004002b,0x00000028,
+ 0x000000a4,0x00000001,0x0004002b,0x00000011,0x000000b4,0x3f800000,0x0003001d,0x000000cc,
+ 0x00000006,0x0003001e,0x000000cd,0x000000cc,0x00040020,0x000000ce,0x00000002,0x000000cd,
+ 0x0004003b,0x000000ce,0x000000cf,0x00000002,0x00040017,0x000000d0,0x00000006,0x00000003,
+ 0x00040020,0x000000d1,0x00000001,0x000000d0,0x0004003b,0x000000d1,0x000000d2,0x00000001,
+ 0x00040020,0x000000d3,0x00000001,0x00000006,0x0004002b,0x00000006,0x000000ec,0x00000001,
+ 0x0004002b,0x00000006,0x0000010f,0x00000040,0x0006002c,0x000000d0,0x00000110,0x0000010f,
+ 0x000000ec,0x000000ec,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
+ 0x00000005,0x0004003b,0x00000007,0x000000e4,0x00000007,0x0004003b,0x00000007,0x000000e5,
+ 0x00000007,0x0004003b,0x00000007,0x000000ee,0x00000007,0x0004003b,0x00000016,0x000000fb,
+ 0x00000007,0x0004003b,0x00000007,0x000000fc,0x00000007,0x0004003b,0x00000016,0x000000ff,
+ 0x00000007,0x0004003b,0x00000016,0x00000100,0x00000007,0x0004003b,0x00000007,0x00000103,
+ 0x00000007,0x0004003b,0x00000016,0x00000105,0x00000007,0x0004003b,0x00000007,0x0000010c,
+ 0x00000007,0x00050041,0x000000d3,0x000000dc,0x000000d2,0x0000006d,0x0004003d,0x00000006,
+ 0x000000dd,0x000000dc,0x00050041,0x0000002a,0x000000de,0x00000027,0x00000064,0x0004003d,
+ 0x00000006,0x000000df,0x000000de,0x000500ae,0x0000004f,0x000000e0,0x000000dd,0x000000df,
+ 0x000300f7,0x000000e2,0x00000000,0x000400fa,0x000000e0,0x000000e1,0x000000e2,0x000200f8,
+ 0x000000e1,0x000100fd,0x000200f8,0x000000e2,0x0003003e,0x000000e4,0x0000006d,0x0003003e,
+ 0x000000e5,0x0000006d,0x000200f9,0x000000e6,0x000200f8,0x000000e6,0x000400f6,0x000000e8,
+ 0x000000e9,0x00000000,0x000200f9,0x000000ea,0x000200f8,0x000000ea,0x0004003d,0x00000006,
+ 0x000000eb,0x000000e5,0x000500b0,0x0000004f,0x000000ed,0x000000eb,0x000000ec,0x000400fa,
+ 0x000000ed,0x000000e7,0x000000e8,0x000200f8,0x000000e7,0x00050041,0x000000d3,0x000000ef,
+ 0x000000d2,0x0000006d,0x0004003d,0x00000006,0x000000f0,0x000000ef,0x00050084,0x00000006,
+ 0x000000f1,0x000000f0,0x000000ec,0x0004003d,0x00000006,0x000000f2,0x000000e5,0x00050080,
+ 0x00000006,0x000000f3,0x000000f1,0x000000f2,0x0003003e,0x000000ee,0x000000f3,0x0004003d,
+ 0x00000006,0x000000f4,0x000000ee,0x00050041,0x0000002a,0x000000f5,0x00000027,0x000000a4,
+ 0x0004003d,0x00000006,0x000000f6,0x000000f5,0x000500ae,0x0000004f,0x000000f7,0x000000f4,
+ 0x000000f6,0x000300f7,0x000000f9,0x00000000,0x000400fa,0x000000f7,0x000000f8,0x000000f9,
+ 0x000200f8,0x000000f8,0x000200f9,0x000000e8,0x000200f8,0x000000f9,0x0004003d,0x00000006,
+ 0x000000fd,0x000000ee,0x0003003e,0x000000fc,0x000000fd,0x00050039,0x00000011,0x000000fe,
+ 0x00000014,0x000000fc,0x0003003e,0x000000fb,0x000000fe,0x0004003d,0x00000011,0x00000101,
+ 0x000000fb,0x0003003e,0x00000100,0x00000101,0x00050039,0x00000011,0x00000102,0x00000019,
+ 0x00000100,0x0003003e,0x000000ff,0x00000102,0x0004003d,0x00000006,0x00000104,0x000000ee,
+ 0x0003003e,0x00000103,0x00000104,0x0004003d,0x00000011,0x00000106,0x000000ff,0x0003003e,
+ 0x00000105,0x00000106,0x00060039,0x00000006,0x00000107,0x0000001e,0x00000103,0x00000105,
+ 0x0004003d,0x00000006,0x00000108,0x000000e4,0x000500c5,0x00000006,0x00000109,0x00000108,
+ 0x00000107,0x0003003e,0x000000e4,0x00000109,0x000200f9,0x000000e9,0x000200f8,0x000000e9,
+ 0x0004003d,0x00000006,0x0000010a,0x000000e5,0x00050080,0x00000006,0x0000010b,0x0000010a,
+ 0x000000a4,0x0003003e,0x000000e5,0x0000010b,0x000200f9,0x000000e6,0x000200f8,0x000000e8,
+ 0x0004003d,0x00000006,0x0000010d,0x000000e4,0x0003003e,0x0000010c,0x0000010d,0x00050039,
+ 0x00000002,0x0000010e,0x00000022,0x0000010c,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,
+ 0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,0x00000009,0x00050041,
+ 0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,0x0000002c,0x0000002b,
+ 0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,0x00000006,0x0000002e,
+ 0x0000000a,0x00050084,0x00000006,0x00000030,0x0000002e,0x0000002f,0x00050080,0x00000006,
+ 0x00000031,0x0000002d,0x00000030,0x00050041,0x0000002a,0x00000033,0x00000027,0x00000032,
+ 0x0004003d,0x00000006,0x00000034,0x00000033,0x00050080,0x00000006,0x00000035,0x00000031,
+ 0x00000034,0x000200fe,0x00000035,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,
+ 0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,0x00000007,0x0000000e,0x000200f8,
+ 0x00000010,0x0004003b,0x00000007,0x00000038,0x00000007,0x0004003d,0x00000006,0x00000039,
+ 0x0000000d,0x00050089,0x00000006,0x0000003a,0x00000039,0x0000002f,0x00050084,0x00000006,
+ 0x0000003c,0x0000003a,0x0000003b,0x0003003e,0x00000038,0x0000003c,0x0004003d,0x00000006,
+ 0x0000003d,0x00000038,0x000200fe,0x0000003d,0x00010038,0x00050036,0x00000011,0x00000014,
+ 0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003b,
+ 0x00000007,0x00000040,0x00000007,0x0004003b,0x00000007,0x00000046,0x00000007,0x0004003b,
+ 0x00000007,0x00000059,0x00000007,0x0004003b,0x00000007,0x0000005a,0x00000007,0x0004003b,
+ 0x00000007,0x0000005c,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,
+ 0x00000007,0x00000071,0x00000007,0x0004003b,0x00000007,0x00000077,0x00000007,0x0004003b,
+ 0x00000007,0x00000084,0x00000007,0x0004003b,0x00000007,0x0000008b,0x00000007,0x0004003b,
+ 0x00000007,0x00000097,0x00000007,0x0004003b,0x00000007,0x00000099,0x00000007,0x0004003b,
+ 0x0000009e,0x0000009f,0x00000007,0x0004003b,0x00000007,0x000000b3,0x00000007,0x0004003b,
+ 0x00000016,0x000000bc,0x00000007,0x0004003d,0x00000006,0x00000041,0x00000013,0x00050041,
+ 0x0000002a,0x00000043,0x00000027,0x00000042,0x0004003d,0x00000006,0x00000044,0x00000043,
+ 0x00050086,0x00000006,0x00000045,0x00000041,0x00000044,0x0003003e,0x00000040,0x00000045,
+ 0x0004003d,0x00000006,0x00000047,0x00000013,0x00050041,0x0000002a,0x00000048,0x00000027,
+ 0x00000042,0x0004003d,0x00000006,0x00000049,0x00000048,0x00050089,0x00000006,0x0000004a,
+ 0x00000047,0x00000049,0x0003003e,0x00000046,0x0000004a,0x0004003d,0x00000006,0x0000004b,
+ 0x00000046,0x00050041,0x0000002a,0x0000004d,0x00000027,0x0000004c,0x0004003d,0x00000006,
+ 0x0000004e,0x0000004d,0x000500ae,0x0000004f,0x00000050,0x0000004b,0x0000004e,0x0004003d,
+ 0x00000006,0x00000051,0x00000046,0x000500b0,0x0000004f,0x00000053,0x00000051,0x00000052,
+ 0x000500a7,0x0000004f,0x00000054,0x00000050,0x00000053,0x000300f7,0x00000056,0x00000000,
+ 0x000400fa,0x00000054,0x00000055,0x00000056,0x000200f8,0x00000055,0x000200fe,0x00000057,
+ 0x000200f8,0x00000056,0x0004003d,0x00000006,0x0000005b,0x00000040,0x0003003e,0x0000005a,
+ 0x0000005b,0x0004003d,0x00000006,0x0000005d,0x00000046,0x0003003e,0x0000005c,0x0000005d,
+ 0x00060039,0x00000006,0x0000005e,0x0000000b,0x0000005a,0x0000005c,0x0003003e,0x00000059,
+ 0x0000005e,0x0004003d,0x00000006,0x00000065,0x00000059,0x00050086,0x00000006,0x00000066,
+ 0x00000065,0x0000002f,0x00060041,0x00000067,0x00000068,0x00000063,0x00000064,0x00000066,
+ 0x0004003d,0x00000006,0x00000069,0x00000068,0x0003003e,0x0000005f,0x00000069,0x00050041,
+ 0x0000002a,0x0000006b,0x00000027,0x0000006a,0x0004003d,0x00000006,0x0000006c,0x0000006b,
+ 0x000500ab,0x0000004f,0x0000006e,0x0000006c,0x0000006d,0x000300f7,0x00000070,0x00000000,
+ 0x000400fa,0x0000006e,0x0000006f,0x00000096,0x000200f8,0x0000006f,0x0004003d,0x00000006,
+ 0x00000072,0x00000046,0x000500aa,0x0000004f,0x00000073,0x00000072,0x00000052,0x000600a9,
+ 0x00000028,0x00000075,0x00000073,0x00000032,0x00000074,0x0004007c,0x00000006,0x00000076,
+ 0x00000075,0x0003003e,0x00000071,0x00000076,0x0004003d,0x00000006,0x00000078,0x00000046,
+ 0x000500aa,0x0000004f,0x00000079,0x00000078,0x00000052,0x000600a9,0x00000028,0x0000007c,
+ 0x00000079,0x0000007a,0x0000007b,0x0004007c,0x00000006,0x0000007d,0x0000007c,0x0003003e,
+ 0x00000077,0x0000007d,0x00050041,0x0000002a,0x0000007f,0x00000027,0x0000007e,0x0004003d,
+ 0x00000006,0x00000080,0x0000007f,0x000500ab,0x0000004f,0x00000081,0x00000080,0x0000006d,
+ 0x000300f7,0x00000083,0x00000000,0x000400fa,0x00000081,0x00000082,0x00000088,0x000200f8,
+ 0x00000082,0x0004003d,0x00000006,0x00000086,0x00000046,0x00050084,0x00000006,0x00000087,
+ 0x00000085,0x00000086,0x0003003e,0x00000084,0x00000087,0x000200f9,0x00000083,0x000200f8,
+ 0x00000088,0x0004003d,0x00000006,0x00000089,0x00000046,0x000500aa,0x0000004f,0x0000008a,
+ 0x00000089,0x00000052,0x000300f7,0x0000008d,0x00000000,0x000400fa,0x0000008a,0x0000008c,
+ 0x0000008e,0x000200f8,0x0000008c,0x0003003e,0x0000008b,0x0000006d,0x000200f9,0x0000008d,
+ 0x000200f8,0x0000008e,0x0004003d,0x00000006,0x0000008f,0x00000071,0x0004003d,0x00000006,
+ 0x00000091,0x00000046,0x00050082,0x00000006,0x00000092,0x00000090,0x00000091,0x00050084,
+ 0x00000006,0x00000093,0x0000008f,0x00000092,0x00050080,0x00000006,0x00000094,0x00000093,
+ 0x00000090,0x0003003e,0x0000008b,0x00000094,0x000200f9,0x0000008d,0x000200f8,0x0000008d,
+ 0x0004003d,0x00000006,0x00000095,0x0000008b,0x0003003e,0x00000084,0x00000095,0x000200f9,
+ 0x00000083,0x000200f8,0x00000083,0x000200f9,0x00000070,0x000200f8,0x00000096,0x0004003d,
+ 0x00000006,0x00000098,0x00000059,0x0003003e,0x00000097,0x00000098,0x0003003e,0x00000099,
+ 0x0000002f,0x00060039,0x00000006,0x0000009a,0x0000000f,0x00000097,0x00000099,0x0003003e,
+ 0x00000084,0x0000009a,0x0003003e,0x00000071,0x0000009b,0x0004003d,0x00000006,0x0000009c,
+ 0x00000071,0x000500aa,0x0000004f,0x0000009d,0x0000009c,0x0000009b,0x000300f7,0x000000a1,
+ 0x00000000,0x000400fa,0x0000009d,0x000000a0,0x000000a3,0x000200f8,0x000000a0,0x0003003e,
+ 0x0000009f,0x000000a2,0x000200f9,0x000000a1,0x000200f8,0x000000a3,0x0004003d,0x00000006,
+ 0x000000a5,0x00000071,0x000500c4,0x00000028,0x000000a6,0x000000a4,0x000000a5,0x00050082,
+ 0x00000028,0x000000a7,0x000000a6,0x000000a4,0x0003003e,0x0000009f,0x000000a7,0x000200f9,
+ 0x000000a1,0x000200f8,0x000000a1,0x0004003d,0x00000028,0x000000a8,0x0000009f,0x0004007c,
+ 0x00000006,0x000000a9,0x000000a8,0x0003003e,0x00000077,0x000000a9,0x000200f9,0x00000070,
+ 0x000200f8,0x00000070,0x0004003d,0x00000006,0x000000aa,0x00000046,0x00050041,0x0000002a,
+ 0x000000ab,0x00000027,0x0000004c,0x0004003d,0x00000006,0x000000ac,0x000000ab,0x000500ae,
+ 0x0000004f,0x000000ad,0x000000aa,0x000000ac,0x0004003d,0x00000006,0x000000ae,0x00000046,
+ 0x000500aa,0x0000004f,0x000000af,0x000000ae,0x00000052,0x000500a7,0x0000004f,0x000000b0,
+ 0x000000ad,0x000000af,0x000300f7,0x000000b2,0x00000000,0x000400fa,0x000000b0,0x000000b1,
+ 0x000000b6,0x000200f8,0x000000b1,0x0004007c,0x00000006,0x000000b5,0x000000b4,0x0003003e,
+ 0x000000b3,0x000000b5,0x000200f9,0x000000b2,0x000200f8,0x000000b6,0x0004003d,0x00000006,
+ 0x000000b7,0x0000005f,0x0004003d,0x00000006,0x000000b8,0x00000084,0x000500c2,0x00000006,
+ 0x000000b9,0x000000b7,0x000000b8,0x0004003d,0x00000006,0x000000ba,0x00000077,0x000500c7,
+ 0x00000006,0x000000bb,0x000000b9,0x000000ba,0x0003003e,0x000000b3,0x000000bb,0x000200f9,
+ 0x000000b2,0x000200f8,0x000000b2,0x0004003d,0x00000006,0x000000bd,0x000000b3,0x0004007c,
+ 0x00000011,0x000000be,0x000000bd,0x0003003e,0x000000bc,0x000000be,0x0004003d,0x00000011,
+ 0x000000bf,0x000000bc,0x000200fe,0x000000bf,0x00010038,0x00050036,0x00000011,0x00000019,
+ 0x00000000,0x00000017,0x00030037,0x00000016,0x00000018,0x000200f8,0x0000001a,0x0004003d,
+ 0x00000011,0x000000c2,0x00000018,0x000200fe,0x000000c2,0x00010038,0x00050036,0x00000006,
+ 0x0000001e,0x00000000,0x0000001b,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000016,
+ 0x0000001d,0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000c5,0x00000007,0x0004003d,
+ 0x00000011,0x000000c6,0x0000001d,0x0004007c,0x00000028,0x000000c7,0x000000c6,0x0004007c,
+ 0x00000006,0x000000c8,0x000000c7,0x0003003e,0x000000c5,0x000000c8,0x0004003d,0x00000006,
+ 0x000000c9,0x000000c5,0x000200fe,0x000000c9,0x00010038,0x00050036,0x00000002,0x00000022,
+ 0x00000000,0x00000020,0x00030037,0x00000007,0x00000021,0x000200f8,0x00000023,0x00050041,
+ 0x000000d3,0x000000d4,0x000000d2,0x0000006d,0x0004003d,0x00000006,0x000000d5,0x000000d4,
+ 0x00050041,0x0000002a,0x000000d6,0x00000027,0x0000007a,0x0004003d,0x00000006,0x000000d7,
+ 0x000000d6,0x00050086,0x00000006,0x000000d8,0x000000d7,0x0000002f,0x00050080,0x00000006,
+ 0x000000d9,0x000000d5,0x000000d8,0x0004003d,0x00000006,0x000000da,0x00000021,0x00060041,
+ 0x00000067,0x000000db,0x000000cf,0x00000064,0x000000d9,0x0003003e,0x000000db,0x000000da,
+ 0x000100fd,0x00010038
};
// Generated from:
@@ -226,6 +255,9 @@ const uint32_t kConvertVertex_comp_00000007[] = {
// uint Bd;
// uint Sd;
// uint Ed;
+//
+// bool isSrcHDR;
+// bool isSrcA2BGR10;
// } params;
//
// uint getSourceComponentOffset(uint vertex, uint component)
@@ -260,9 +292,30 @@ const uint32_t kConvertVertex_comp_00000007[] = {
// uint offset = getSourceComponentOffset(vertex, component);
// uint block = srcData[offset / 4];
//
-// uint shiftBits = getShiftBits(offset, 4);
-// uint valueBits = 4 * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// uint shiftBits;
+// uint valueBits;
+// uint valueMask;
+//
+// if(params . isSrcHDR)
+// {
+// valueBits = component == 3 ? 2 : 10;
+// valueMask = component == 3 ? 0x03 : 0x3FF;
+// if(params . isSrcA2BGR10)
+// {
+// shiftBits = 10 * component;
+// }
+// else
+// {
+//
+// shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
+// }
+// }
+// else
+// {
+// shiftBits = getShiftBits(offset, 4);
+// valueBits = 4 * 8;
+// valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
+// }
//
// uint valueAsUint;
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc
deleted file mode 100644
index a554a1cff52..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc
+++ /dev/null
@@ -1,402 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_00000008[] = {
- 0x07230203,0x00010000,0x00080007,0x00000141,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000fe,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x000c0005,0x0000000f,
- 0x44746567,0x69747365,0x6974616e,0x6f436e6f,0x6e6f706d,0x4f746e65,0x65736666,0x31752874,
- 0x3b31753b,0x00000000,0x00040005,0x0000000d,0x74726576,0x00007865,0x00050005,0x0000000e,
- 0x706d6f63,0x6e656e6f,0x00000074,0x00070005,0x00000013,0x53746567,0x74666968,0x73746942,
- 0x3b317528,0x003b3175,0x00040005,0x00000011,0x7366666f,0x00007465,0x00030005,0x00000012,
- 0x00000042,0x00080005,0x00000018,0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,
- 0x003b3175,0x00030005,0x00000017,0x00006463,0x00080005,0x0000001d,0x766e6f63,0x43747265,
- 0x6f706d6f,0x746e656e,0x3b316928,0x00000000,0x00050005,0x0000001c,0x56637273,0x65756c61,
- 0x00000000,0x000a0005,0x00000022,0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,
- 0x746e656e,0x3b317528,0x003b3169,0x00030005,0x00000020,0x00006463,0x00040005,0x00000021,
- 0x756c6176,0x00000065,0x000a0005,0x00000026,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,
- 0x706d6f43,0x6e656e6f,0x75287374,0x00003b31,0x00050005,0x00000025,0x756c6176,0x55734165,
- 0x00746e69,0x00060005,0x00000029,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000029,0x00000000,0x7074756f,0x6f437475,0x00746e75,0x00070006,0x00000029,0x00000001,
- 0x706d6f63,0x6e656e6f,0x756f4374,0x0000746e,0x00060006,0x00000029,0x00000002,0x4f637273,
- 0x65736666,0x00000074,0x00060006,0x00000029,0x00000003,0x74736564,0x7366664f,0x00007465,
- 0x00040006,0x00000029,0x00000004,0x0000734e,0x00040006,0x00000029,0x00000005,0x00007342,
- 0x00040006,0x00000029,0x00000006,0x00007353,0x00040006,0x00000029,0x00000007,0x00007345,
- 0x00040006,0x00000029,0x00000008,0x0000644e,0x00040006,0x00000029,0x00000009,0x00006442,
- 0x00040006,0x00000029,0x0000000a,0x00006453,0x00040006,0x00000029,0x0000000b,0x00006445,
- 0x00040005,0x0000002b,0x61726170,0x0000736d,0x00040005,0x0000004e,0x66696873,0x00000074,
- 0x00040005,0x00000057,0x74726576,0x00007865,0x00050005,0x0000005d,0x706d6f63,0x6e656e6f,
- 0x00000074,0x00040005,0x00000070,0x7366666f,0x00007465,0x00040005,0x00000071,0x61726170,
- 0x0000006d,0x00040005,0x00000073,0x61726170,0x0000006d,0x00040005,0x00000076,0x636f6c62,
- 0x0000006b,0x00030005,0x00000078,0x00637273,0x00050006,0x00000078,0x00000000,0x44637273,
- 0x00617461,0x00030005,0x0000007a,0x00000000,0x00050005,0x00000080,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000085,0x66696873,0x74694274,0x00000073,0x00050005,0x00000089,
- 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000098,0x756c6176,0x55734165,0x00746e69,
- 0x00050005,0x000000a6,0x654e7369,0x69746167,0x00006576,0x00060005,0x000000b0,0x6e676973,
- 0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000be,0x756c6176,0x00000065,0x00040005,
- 0x000000c7,0x74726576,0x00007865,0x00050005,0x000000cc,0x706d6f63,0x6e656e6f,0x00000074,
- 0x00040005,0x000000d1,0x7366666f,0x00007465,0x00040005,0x000000d2,0x61726170,0x0000006d,
- 0x00040005,0x000000d4,0x61726170,0x0000006d,0x00050005,0x000000d7,0x66696873,0x74694274,
- 0x00000073,0x00040005,0x000000d8,0x61726170,0x0000006d,0x00040005,0x000000da,0x61726170,
- 0x0000006d,0x00050005,0x000000de,0x756c6176,0x74694265,0x00000073,0x00050005,0x000000e2,
- 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x000000ee,0x756c6176,0x55734165,0x00746e69,
- 0x00040005,0x000000f9,0x74736564,0x00000000,0x00060006,0x000000f9,0x00000000,0x74736564,
- 0x61746144,0x00000000,0x00030005,0x000000fb,0x00000000,0x00080005,0x000000fe,0x475f6c67,
- 0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x00000110,0x756c6176,
- 0x74754f65,0x00000000,0x00030005,0x00000111,0x00000069,0x00030005,0x0000011c,0x00006463,
- 0x00050005,0x0000012b,0x56637273,0x65756c61,0x00000000,0x00040005,0x0000012c,0x61726170,
- 0x0000006d,0x00050005,0x0000012f,0x74736564,0x756c6156,0x00000065,0x00040005,0x00000130,
- 0x61726170,0x0000006d,0x00040005,0x00000133,0x61726170,0x0000006d,0x00040005,0x00000135,
- 0x61726170,0x0000006d,0x00040005,0x0000013c,0x61726170,0x0000006d,0x00050048,0x00000029,
- 0x00000000,0x00000023,0x00000000,0x00050048,0x00000029,0x00000001,0x00000023,0x00000004,
- 0x00050048,0x00000029,0x00000002,0x00000023,0x00000008,0x00050048,0x00000029,0x00000003,
- 0x00000023,0x0000000c,0x00050048,0x00000029,0x00000004,0x00000023,0x00000010,0x00050048,
- 0x00000029,0x00000005,0x00000023,0x00000014,0x00050048,0x00000029,0x00000006,0x00000023,
- 0x00000018,0x00050048,0x00000029,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000029,
- 0x00000008,0x00000023,0x00000020,0x00050048,0x00000029,0x00000009,0x00000023,0x00000024,
- 0x00050048,0x00000029,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000029,0x0000000b,
- 0x00000023,0x0000002c,0x00030047,0x00000029,0x00000002,0x00040047,0x00000077,0x00000006,
- 0x00000004,0x00050048,0x00000078,0x00000000,0x00000023,0x00000000,0x00030047,0x00000078,
- 0x00000003,0x00040047,0x0000007a,0x00000022,0x00000000,0x00040047,0x0000007a,0x00000021,
- 0x00000001,0x00040047,0x000000f8,0x00000006,0x00000004,0x00050048,0x000000f9,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x000000f9,0x00000003,0x00040047,0x000000fb,0x00000022,
- 0x00000000,0x00040047,0x000000fb,0x00000021,0x00000000,0x00040047,0x000000fe,0x0000000b,
- 0x0000001c,0x00040047,0x00000140,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
- 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,
- 0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,
- 0x00000015,0x00000020,0x00000001,0x00040021,0x00000016,0x00000015,0x00000007,0x00040020,
- 0x0000001a,0x00000007,0x00000015,0x00040021,0x0000001b,0x00000015,0x0000001a,0x00050021,
- 0x0000001f,0x00000006,0x00000007,0x0000001a,0x00040021,0x00000024,0x00000002,0x00000007,
- 0x000e001e,0x00000029,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000002a,
- 0x00000009,0x00000029,0x0004003b,0x0000002a,0x0000002b,0x00000009,0x0004002b,0x00000015,
- 0x0000002c,0x00000006,0x00040020,0x0000002d,0x00000009,0x00000006,0x0004002b,0x00000015,
- 0x00000032,0x00000005,0x0004002b,0x00000015,0x00000037,0x00000002,0x0004002b,0x00000015,
- 0x0000003e,0x0000000a,0x0004002b,0x00000015,0x00000043,0x00000009,0x0004002b,0x00000015,
- 0x00000048,0x00000003,0x0004002b,0x00000006,0x00000050,0x00000004,0x0004002b,0x00000006,
- 0x00000052,0x00000008,0x0004002b,0x00000015,0x00000059,0x00000008,0x0004002b,0x00000015,
- 0x00000063,0x00000004,0x00020014,0x00000066,0x0004002b,0x00000006,0x00000069,0x00000003,
- 0x0004002b,0x00000015,0x0000006e,0x00000000,0x0003001d,0x00000077,0x00000006,0x0003001e,
- 0x00000078,0x00000077,0x00040020,0x00000079,0x00000002,0x00000078,0x0004003b,0x00000079,
- 0x0000007a,0x00000002,0x00040020,0x0000007d,0x00000002,0x00000006,0x0004002b,0x00000006,
- 0x00000086,0x0000000a,0x0004002b,0x00000015,0x0000008c,0x000003ff,0x0004002b,0x00000006,
- 0x00000099,0x00000001,0x0004002b,0x00000006,0x000000a1,0x00000020,0x00040020,0x000000a5,
- 0x00000007,0x00000066,0x0004002b,0x00000015,0x000000a8,0x00000001,0x0004002b,0x00000006,
- 0x000000ae,0x00000000,0x0004002b,0x00000015,0x000000b5,0xffffffff,0x0003001d,0x000000f8,
- 0x00000006,0x0003001e,0x000000f9,0x000000f8,0x00040020,0x000000fa,0x00000002,0x000000f9,
- 0x0004003b,0x000000fa,0x000000fb,0x00000002,0x00040017,0x000000fc,0x00000006,0x00000003,
- 0x00040020,0x000000fd,0x00000001,0x000000fc,0x0004003b,0x000000fd,0x000000fe,0x00000001,
- 0x00040020,0x000000ff,0x00000001,0x00000006,0x0004002b,0x00000015,0x00000118,0x0000000b,
- 0x0004002b,0x00000006,0x0000013f,0x00000040,0x0006002c,0x000000fc,0x00000140,0x0000013f,
- 0x00000099,0x00000099,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000007,0x00000110,0x00000007,0x0004003b,0x00000007,0x00000111,
- 0x00000007,0x0004003b,0x00000007,0x0000011c,0x00000007,0x0004003b,0x0000001a,0x0000012b,
- 0x00000007,0x0004003b,0x00000007,0x0000012c,0x00000007,0x0004003b,0x0000001a,0x0000012f,
- 0x00000007,0x0004003b,0x0000001a,0x00000130,0x00000007,0x0004003b,0x00000007,0x00000133,
- 0x00000007,0x0004003b,0x0000001a,0x00000135,0x00000007,0x0004003b,0x00000007,0x0000013c,
- 0x00000007,0x00050041,0x000000ff,0x00000108,0x000000fe,0x000000ae,0x0004003d,0x00000006,
- 0x00000109,0x00000108,0x00050041,0x0000002d,0x0000010a,0x0000002b,0x0000006e,0x0004003d,
- 0x00000006,0x0000010b,0x0000010a,0x000500ae,0x00000066,0x0000010c,0x00000109,0x0000010b,
- 0x000300f7,0x0000010e,0x00000000,0x000400fa,0x0000010c,0x0000010d,0x0000010e,0x000200f8,
- 0x0000010d,0x000100fd,0x000200f8,0x0000010e,0x0003003e,0x00000110,0x000000ae,0x0003003e,
- 0x00000111,0x000000ae,0x000200f9,0x00000112,0x000200f8,0x00000112,0x000400f6,0x00000114,
- 0x00000115,0x00000000,0x000200f9,0x00000116,0x000200f8,0x00000116,0x0004003d,0x00000006,
- 0x00000117,0x00000111,0x00050041,0x0000002d,0x00000119,0x0000002b,0x00000118,0x0004003d,
- 0x00000006,0x0000011a,0x00000119,0x000500b0,0x00000066,0x0000011b,0x00000117,0x0000011a,
- 0x000400fa,0x0000011b,0x00000113,0x00000114,0x000200f8,0x00000113,0x00050041,0x000000ff,
- 0x0000011d,0x000000fe,0x000000ae,0x0004003d,0x00000006,0x0000011e,0x0000011d,0x00050041,
- 0x0000002d,0x0000011f,0x0000002b,0x00000118,0x0004003d,0x00000006,0x00000120,0x0000011f,
- 0x00050084,0x00000006,0x00000121,0x0000011e,0x00000120,0x0004003d,0x00000006,0x00000122,
- 0x00000111,0x00050080,0x00000006,0x00000123,0x00000121,0x00000122,0x0003003e,0x0000011c,
- 0x00000123,0x0004003d,0x00000006,0x00000124,0x0000011c,0x00050041,0x0000002d,0x00000125,
- 0x0000002b,0x000000a8,0x0004003d,0x00000006,0x00000126,0x00000125,0x000500ae,0x00000066,
- 0x00000127,0x00000124,0x00000126,0x000300f7,0x00000129,0x00000000,0x000400fa,0x00000127,
- 0x00000128,0x00000129,0x000200f8,0x00000128,0x000200f9,0x00000114,0x000200f8,0x00000129,
- 0x0004003d,0x00000006,0x0000012d,0x0000011c,0x0003003e,0x0000012c,0x0000012d,0x00050039,
- 0x00000015,0x0000012e,0x00000018,0x0000012c,0x0003003e,0x0000012b,0x0000012e,0x0004003d,
- 0x00000015,0x00000131,0x0000012b,0x0003003e,0x00000130,0x00000131,0x00050039,0x00000015,
- 0x00000132,0x0000001d,0x00000130,0x0003003e,0x0000012f,0x00000132,0x0004003d,0x00000006,
- 0x00000134,0x0000011c,0x0003003e,0x00000133,0x00000134,0x0004003d,0x00000015,0x00000136,
- 0x0000012f,0x0003003e,0x00000135,0x00000136,0x00060039,0x00000006,0x00000137,0x00000022,
- 0x00000133,0x00000135,0x0004003d,0x00000006,0x00000138,0x00000110,0x000500c5,0x00000006,
- 0x00000139,0x00000138,0x00000137,0x0003003e,0x00000110,0x00000139,0x000200f9,0x00000115,
- 0x000200f8,0x00000115,0x0004003d,0x00000006,0x0000013a,0x00000111,0x00050080,0x00000006,
- 0x0000013b,0x0000013a,0x000000a8,0x0003003e,0x00000111,0x0000013b,0x000200f9,0x00000112,
- 0x000200f8,0x00000114,0x0004003d,0x00000006,0x0000013d,0x00000110,0x0003003e,0x0000013c,
- 0x0000013d,0x00050039,0x00000002,0x0000013e,0x00000026,0x0000013c,0x000100fd,0x00010038,
- 0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
- 0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000028,
- 0x00000009,0x00050041,0x0000002d,0x0000002e,0x0000002b,0x0000002c,0x0004003d,0x00000006,
- 0x0000002f,0x0000002e,0x00050084,0x00000006,0x00000030,0x00000028,0x0000002f,0x0004003d,
- 0x00000006,0x00000031,0x0000000a,0x00050041,0x0000002d,0x00000033,0x0000002b,0x00000032,
- 0x0004003d,0x00000006,0x00000034,0x00000033,0x00050084,0x00000006,0x00000035,0x00000031,
- 0x00000034,0x00050080,0x00000006,0x00000036,0x00000030,0x00000035,0x00050041,0x0000002d,
- 0x00000038,0x0000002b,0x00000037,0x0004003d,0x00000006,0x00000039,0x00000038,0x00050080,
- 0x00000006,0x0000003a,0x00000036,0x00000039,0x000200fe,0x0000003a,0x00010038,0x00050036,
- 0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003d,0x0000000d,
- 0x00050041,0x0000002d,0x0000003f,0x0000002b,0x0000003e,0x0004003d,0x00000006,0x00000040,
- 0x0000003f,0x00050084,0x00000006,0x00000041,0x0000003d,0x00000040,0x0004003d,0x00000006,
- 0x00000042,0x0000000e,0x00050041,0x0000002d,0x00000044,0x0000002b,0x00000043,0x0004003d,
- 0x00000006,0x00000045,0x00000044,0x00050084,0x00000006,0x00000046,0x00000042,0x00000045,
- 0x00050080,0x00000006,0x00000047,0x00000041,0x00000046,0x00050041,0x0000002d,0x00000049,
- 0x0000002b,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050080,0x00000006,
- 0x0000004b,0x00000047,0x0000004a,0x000200fe,0x0000004b,0x00010038,0x00050036,0x00000006,
- 0x00000013,0x00000000,0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,
- 0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x0000004e,0x00000007,0x0004003d,
- 0x00000006,0x0000004f,0x00000011,0x00050089,0x00000006,0x00000051,0x0000004f,0x00000050,
- 0x00050084,0x00000006,0x00000053,0x00000051,0x00000052,0x0003003e,0x0000004e,0x00000053,
- 0x0004003d,0x00000006,0x00000054,0x0000004e,0x000200fe,0x00000054,0x00010038,0x00050036,
- 0x00000015,0x00000018,0x00000000,0x00000016,0x00030037,0x00000007,0x00000017,0x000200f8,
- 0x00000019,0x0004003b,0x00000007,0x00000057,0x00000007,0x0004003b,0x00000007,0x0000005d,
- 0x00000007,0x0004003b,0x00000007,0x00000070,0x00000007,0x0004003b,0x00000007,0x00000071,
- 0x00000007,0x0004003b,0x00000007,0x00000073,0x00000007,0x0004003b,0x00000007,0x00000076,
- 0x00000007,0x0004003b,0x00000007,0x00000080,0x00000007,0x0004003b,0x00000007,0x00000085,
- 0x00000007,0x0004003b,0x00000007,0x00000089,0x00000007,0x0004003b,0x00000007,0x00000098,
- 0x00000007,0x0004003b,0x000000a5,0x000000a6,0x00000007,0x0004003b,0x00000007,0x000000b0,
- 0x00000007,0x0004003b,0x0000001a,0x000000b2,0x00000007,0x0004003b,0x0000001a,0x000000be,
- 0x00000007,0x0004003d,0x00000006,0x00000058,0x00000017,0x00050041,0x0000002d,0x0000005a,
- 0x0000002b,0x00000059,0x0004003d,0x00000006,0x0000005b,0x0000005a,0x00050086,0x00000006,
- 0x0000005c,0x00000058,0x0000005b,0x0003003e,0x00000057,0x0000005c,0x0004003d,0x00000006,
- 0x0000005e,0x00000017,0x00050041,0x0000002d,0x0000005f,0x0000002b,0x00000059,0x0004003d,
- 0x00000006,0x00000060,0x0000005f,0x00050089,0x00000006,0x00000061,0x0000005e,0x00000060,
- 0x0003003e,0x0000005d,0x00000061,0x0004003d,0x00000006,0x00000062,0x0000005d,0x00050041,
- 0x0000002d,0x00000064,0x0000002b,0x00000063,0x0004003d,0x00000006,0x00000065,0x00000064,
- 0x000500ae,0x00000066,0x00000067,0x00000062,0x00000065,0x0004003d,0x00000006,0x00000068,
- 0x0000005d,0x000500b0,0x00000066,0x0000006a,0x00000068,0x00000069,0x000500a7,0x00000066,
- 0x0000006b,0x00000067,0x0000006a,0x000300f7,0x0000006d,0x00000000,0x000400fa,0x0000006b,
- 0x0000006c,0x0000006d,0x000200f8,0x0000006c,0x000200fe,0x0000006e,0x000200f8,0x0000006d,
- 0x0004003d,0x00000006,0x00000072,0x00000057,0x0003003e,0x00000071,0x00000072,0x0004003d,
- 0x00000006,0x00000074,0x0000005d,0x0003003e,0x00000073,0x00000074,0x00060039,0x00000006,
- 0x00000075,0x0000000b,0x00000071,0x00000073,0x0003003e,0x00000070,0x00000075,0x0004003d,
- 0x00000006,0x0000007b,0x00000070,0x00050086,0x00000006,0x0000007c,0x0000007b,0x00000050,
- 0x00060041,0x0000007d,0x0000007e,0x0000007a,0x0000006e,0x0000007c,0x0004003d,0x00000006,
- 0x0000007f,0x0000007e,0x0003003e,0x00000076,0x0000007f,0x0004003d,0x00000006,0x00000081,
- 0x0000005d,0x000500aa,0x00000066,0x00000082,0x00000081,0x00000069,0x000600a9,0x00000015,
- 0x00000083,0x00000082,0x00000037,0x0000003e,0x0004007c,0x00000006,0x00000084,0x00000083,
- 0x0003003e,0x00000080,0x00000084,0x0004003d,0x00000006,0x00000087,0x0000005d,0x00050084,
- 0x00000006,0x00000088,0x00000086,0x00000087,0x0003003e,0x00000085,0x00000088,0x0004003d,
- 0x00000006,0x0000008a,0x0000005d,0x000500aa,0x00000066,0x0000008b,0x0000008a,0x00000069,
- 0x000600a9,0x00000015,0x0000008d,0x0000008b,0x00000048,0x0000008c,0x0004007c,0x00000006,
- 0x0000008e,0x0000008d,0x0003003e,0x00000089,0x0000008e,0x0004003d,0x00000006,0x0000008f,
- 0x0000005d,0x00050041,0x0000002d,0x00000090,0x0000002b,0x00000063,0x0004003d,0x00000006,
- 0x00000091,0x00000090,0x000500ae,0x00000066,0x00000092,0x0000008f,0x00000091,0x0004003d,
- 0x00000006,0x00000093,0x0000005d,0x000500aa,0x00000066,0x00000094,0x00000093,0x00000069,
- 0x000500a7,0x00000066,0x00000095,0x00000092,0x00000094,0x000300f7,0x00000097,0x00000000,
- 0x000400fa,0x00000095,0x00000096,0x0000009a,0x000200f8,0x00000096,0x0003003e,0x00000098,
- 0x00000099,0x000200f9,0x00000097,0x000200f8,0x0000009a,0x0004003d,0x00000006,0x0000009b,
- 0x00000076,0x0004003d,0x00000006,0x0000009c,0x00000085,0x000500c2,0x00000006,0x0000009d,
- 0x0000009b,0x0000009c,0x0004003d,0x00000006,0x0000009e,0x00000089,0x000500c7,0x00000006,
- 0x0000009f,0x0000009d,0x0000009e,0x0003003e,0x00000098,0x0000009f,0x000200f9,0x00000097,
- 0x000200f8,0x00000097,0x0004003d,0x00000006,0x000000a0,0x00000080,0x000500b0,0x00000066,
- 0x000000a2,0x000000a0,0x000000a1,0x000300f7,0x000000a4,0x00000000,0x000400fa,0x000000a2,
- 0x000000a3,0x000000a4,0x000200f8,0x000000a3,0x0004003d,0x00000006,0x000000a7,0x00000098,
- 0x0004003d,0x00000006,0x000000a9,0x00000080,0x00050082,0x00000006,0x000000aa,0x000000a9,
- 0x00000099,0x000500c4,0x00000015,0x000000ab,0x000000a8,0x000000aa,0x0004007c,0x00000006,
- 0x000000ac,0x000000ab,0x000500c7,0x00000006,0x000000ad,0x000000a7,0x000000ac,0x000500ab,
- 0x00000066,0x000000af,0x000000ad,0x000000ae,0x0003003e,0x000000a6,0x000000af,0x0004003d,
- 0x00000066,0x000000b1,0x000000a6,0x000300f7,0x000000b4,0x00000000,0x000400fa,0x000000b1,
- 0x000000b3,0x000000b8,0x000200f8,0x000000b3,0x0004003d,0x00000006,0x000000b6,0x00000080,
- 0x000500c4,0x00000015,0x000000b7,0x000000b5,0x000000b6,0x0003003e,0x000000b2,0x000000b7,
- 0x000200f9,0x000000b4,0x000200f8,0x000000b8,0x0003003e,0x000000b2,0x0000006e,0x000200f9,
- 0x000000b4,0x000200f8,0x000000b4,0x0004003d,0x00000015,0x000000b9,0x000000b2,0x0004007c,
- 0x00000006,0x000000ba,0x000000b9,0x0003003e,0x000000b0,0x000000ba,0x0004003d,0x00000006,
- 0x000000bb,0x000000b0,0x0004003d,0x00000006,0x000000bc,0x00000098,0x000500c5,0x00000006,
- 0x000000bd,0x000000bc,0x000000bb,0x0003003e,0x00000098,0x000000bd,0x000200f9,0x000000a4,
- 0x000200f8,0x000000a4,0x0004003d,0x00000006,0x000000bf,0x00000098,0x0004007c,0x00000015,
- 0x000000c0,0x000000bf,0x0003003e,0x000000be,0x000000c0,0x0004003d,0x00000015,0x000000c1,
- 0x000000be,0x000200fe,0x000000c1,0x00010038,0x00050036,0x00000015,0x0000001d,0x00000000,
- 0x0000001b,0x00030037,0x0000001a,0x0000001c,0x000200f8,0x0000001e,0x0004003d,0x00000015,
- 0x000000c4,0x0000001c,0x000200fe,0x000000c4,0x00010038,0x00050036,0x00000006,0x00000022,
- 0x00000000,0x0000001f,0x00030037,0x00000007,0x00000020,0x00030037,0x0000001a,0x00000021,
- 0x000200f8,0x00000023,0x0004003b,0x00000007,0x000000c7,0x00000007,0x0004003b,0x00000007,
- 0x000000cc,0x00000007,0x0004003b,0x00000007,0x000000d1,0x00000007,0x0004003b,0x00000007,
- 0x000000d2,0x00000007,0x0004003b,0x00000007,0x000000d4,0x00000007,0x0004003b,0x00000007,
- 0x000000d7,0x00000007,0x0004003b,0x00000007,0x000000d8,0x00000007,0x0004003b,0x00000007,
- 0x000000da,0x00000007,0x0004003b,0x00000007,0x000000de,0x00000007,0x0004003b,0x00000007,
- 0x000000e2,0x00000007,0x0004003b,0x0000001a,0x000000e5,0x00000007,0x0004003b,0x00000007,
- 0x000000ee,0x00000007,0x0004003d,0x00000006,0x000000c8,0x00000020,0x00050041,0x0000002d,
- 0x000000c9,0x0000002b,0x00000059,0x0004003d,0x00000006,0x000000ca,0x000000c9,0x00050086,
- 0x00000006,0x000000cb,0x000000c8,0x000000ca,0x0003003e,0x000000c7,0x000000cb,0x0004003d,
- 0x00000006,0x000000cd,0x00000020,0x00050041,0x0000002d,0x000000ce,0x0000002b,0x00000059,
- 0x0004003d,0x00000006,0x000000cf,0x000000ce,0x00050089,0x00000006,0x000000d0,0x000000cd,
- 0x000000cf,0x0003003e,0x000000cc,0x000000d0,0x0004003d,0x00000006,0x000000d3,0x000000c7,
- 0x0003003e,0x000000d2,0x000000d3,0x0004003d,0x00000006,0x000000d5,0x000000cc,0x0003003e,
- 0x000000d4,0x000000d5,0x00060039,0x00000006,0x000000d6,0x0000000f,0x000000d2,0x000000d4,
- 0x0003003e,0x000000d1,0x000000d6,0x0004003d,0x00000006,0x000000d9,0x000000d1,0x0003003e,
- 0x000000d8,0x000000d9,0x00050041,0x0000002d,0x000000db,0x0000002b,0x00000043,0x0004003d,
- 0x00000006,0x000000dc,0x000000db,0x0003003e,0x000000da,0x000000dc,0x00060039,0x00000006,
- 0x000000dd,0x00000013,0x000000d8,0x000000da,0x0003003e,0x000000d7,0x000000dd,0x00050041,
- 0x0000002d,0x000000df,0x0000002b,0x00000043,0x0004003d,0x00000006,0x000000e0,0x000000df,
- 0x00050084,0x00000006,0x000000e1,0x000000e0,0x00000052,0x0003003e,0x000000de,0x000000e1,
- 0x0004003d,0x00000006,0x000000e3,0x000000de,0x000500aa,0x00000066,0x000000e4,0x000000e3,
- 0x000000a1,0x000300f7,0x000000e7,0x00000000,0x000400fa,0x000000e4,0x000000e6,0x000000e8,
- 0x000200f8,0x000000e6,0x0003003e,0x000000e5,0x000000b5,0x000200f9,0x000000e7,0x000200f8,
- 0x000000e8,0x0004003d,0x00000006,0x000000e9,0x000000de,0x000500c4,0x00000015,0x000000ea,
- 0x000000a8,0x000000e9,0x00050082,0x00000015,0x000000eb,0x000000ea,0x000000a8,0x0003003e,
- 0x000000e5,0x000000eb,0x000200f9,0x000000e7,0x000200f8,0x000000e7,0x0004003d,0x00000015,
- 0x000000ec,0x000000e5,0x0004007c,0x00000006,0x000000ed,0x000000ec,0x0003003e,0x000000e2,
- 0x000000ed,0x0004003d,0x00000015,0x000000ef,0x00000021,0x0004007c,0x00000006,0x000000f0,
- 0x000000ef,0x0004003d,0x00000006,0x000000f1,0x000000e2,0x000500c7,0x00000006,0x000000f2,
- 0x000000f0,0x000000f1,0x0004003d,0x00000006,0x000000f3,0x000000d7,0x000500c4,0x00000006,
- 0x000000f4,0x000000f2,0x000000f3,0x0003003e,0x000000ee,0x000000f4,0x0004003d,0x00000006,
- 0x000000f5,0x000000ee,0x000200fe,0x000000f5,0x00010038,0x00050036,0x00000002,0x00000026,
- 0x00000000,0x00000024,0x00030037,0x00000007,0x00000025,0x000200f8,0x00000027,0x00050041,
- 0x000000ff,0x00000100,0x000000fe,0x000000ae,0x0004003d,0x00000006,0x00000101,0x00000100,
- 0x00050041,0x0000002d,0x00000102,0x0000002b,0x00000048,0x0004003d,0x00000006,0x00000103,
- 0x00000102,0x00050086,0x00000006,0x00000104,0x00000103,0x00000050,0x00050080,0x00000006,
- 0x00000105,0x00000101,0x00000104,0x0004003d,0x00000006,0x00000106,0x00000025,0x00060041,
- 0x0000007d,0x00000107,0x000000fb,0x0000006e,0x00000105,0x0003003e,0x00000107,0x00000106,
- 0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * params . Bd + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// int loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-// uint shiftBits = 10 * component;
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// if(valueBits < 32)
-// {
-// bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
-//
-// uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
-// valueAsUint |= signExtension;
-// }
-// int value = int(valueAsUint);
-//
-// return value;
-// }
-//
-// int convertComponent(int srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, int value)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// uint offset = getDestinationComponentOffset(vertex, component);
-// uint shiftBits = getShiftBits(offset, params . Bd);
-//
-// uint valueBits = params . Bd * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
-// uint valueAsUint =(uint(value)& valueMask)<< shiftBits;
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < params . Ed;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * params . Ed + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// int srcValue = loadSourceComponent(cd);
-// int destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc
deleted file mode 100644
index de23af5998f..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc
+++ /dev/null
@@ -1,374 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_00000009[] = {
- 0x07230203,0x00010000,0x00080007,0x00000123,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000e0,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x000c0005,0x0000000f,
- 0x44746567,0x69747365,0x6974616e,0x6f436e6f,0x6e6f706d,0x4f746e65,0x65736666,0x31752874,
- 0x3b31753b,0x00000000,0x00040005,0x0000000d,0x74726576,0x00007865,0x00050005,0x0000000e,
- 0x706d6f63,0x6e656e6f,0x00000074,0x00070005,0x00000013,0x53746567,0x74666968,0x73746942,
- 0x3b317528,0x003b3175,0x00040005,0x00000011,0x7366666f,0x00007465,0x00030005,0x00000012,
- 0x00000042,0x00080005,0x00000017,0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,
- 0x003b3175,0x00030005,0x00000016,0x00006463,0x00080005,0x0000001a,0x766e6f63,0x43747265,
- 0x6f706d6f,0x746e656e,0x3b317528,0x00000000,0x00050005,0x00000019,0x56637273,0x65756c61,
- 0x00000000,0x000a0005,0x0000001e,0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,
- 0x746e656e,0x3b317528,0x003b3175,0x00030005,0x0000001c,0x00006463,0x00040005,0x0000001d,
- 0x756c6176,0x00000065,0x000a0005,0x00000022,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,
- 0x706d6f43,0x6e656e6f,0x75287374,0x00003b31,0x00050005,0x00000021,0x756c6176,0x55734165,
- 0x00746e69,0x00060005,0x00000025,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000025,0x00000000,0x7074756f,0x6f437475,0x00746e75,0x00070006,0x00000025,0x00000001,
- 0x706d6f63,0x6e656e6f,0x756f4374,0x0000746e,0x00060006,0x00000025,0x00000002,0x4f637273,
- 0x65736666,0x00000074,0x00060006,0x00000025,0x00000003,0x74736564,0x7366664f,0x00007465,
- 0x00040006,0x00000025,0x00000004,0x0000734e,0x00040006,0x00000025,0x00000005,0x00007342,
- 0x00040006,0x00000025,0x00000006,0x00007353,0x00040006,0x00000025,0x00000007,0x00007345,
- 0x00040006,0x00000025,0x00000008,0x0000644e,0x00040006,0x00000025,0x00000009,0x00006442,
- 0x00040006,0x00000025,0x0000000a,0x00006453,0x00040006,0x00000025,0x0000000b,0x00006445,
- 0x00040005,0x00000027,0x61726170,0x0000736d,0x00040005,0x0000004b,0x66696873,0x00000074,
- 0x00040005,0x00000054,0x74726576,0x00007865,0x00050005,0x0000005a,0x706d6f63,0x6e656e6f,
- 0x00000074,0x00040005,0x0000006d,0x7366666f,0x00007465,0x00040005,0x0000006e,0x61726170,
- 0x0000006d,0x00040005,0x00000070,0x61726170,0x0000006d,0x00040005,0x00000073,0x636f6c62,
- 0x0000006b,0x00030005,0x00000075,0x00637273,0x00050006,0x00000075,0x00000000,0x44637273,
- 0x00617461,0x00030005,0x00000077,0x00000000,0x00050005,0x0000007e,0x756c6176,0x74694265,
- 0x00000073,0x00050005,0x00000083,0x66696873,0x74694274,0x00000073,0x00050005,0x00000087,
- 0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000096,0x756c6176,0x55734165,0x00746e69,
- 0x00040005,0x0000009e,0x756c6176,0x00000065,0x00040005,0x000000a6,0x74726576,0x00007865,
- 0x00050005,0x000000ab,0x706d6f63,0x6e656e6f,0x00000074,0x00040005,0x000000b0,0x7366666f,
- 0x00007465,0x00040005,0x000000b1,0x61726170,0x0000006d,0x00040005,0x000000b3,0x61726170,
- 0x0000006d,0x00050005,0x000000b6,0x66696873,0x74694274,0x00000073,0x00040005,0x000000b7,
- 0x61726170,0x0000006d,0x00040005,0x000000b9,0x61726170,0x0000006d,0x00050005,0x000000bd,
- 0x756c6176,0x74694265,0x00000073,0x00050005,0x000000c1,0x756c6176,0x73614d65,0x0000006b,
- 0x00050005,0x000000d1,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000db,0x74736564,
- 0x00000000,0x00060006,0x000000db,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
- 0x000000dd,0x00000000,0x00080005,0x000000e0,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x000000f2,0x756c6176,0x74754f65,0x00000000,0x00030005,
- 0x000000f3,0x00000069,0x00030005,0x000000fe,0x00006463,0x00050005,0x0000010d,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x0000010e,0x61726170,0x0000006d,0x00050005,0x00000111,
- 0x74736564,0x756c6156,0x00000065,0x00040005,0x00000112,0x61726170,0x0000006d,0x00040005,
- 0x00000115,0x61726170,0x0000006d,0x00040005,0x00000117,0x61726170,0x0000006d,0x00040005,
- 0x0000011e,0x61726170,0x0000006d,0x00050048,0x00000025,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x00000025,0x00000001,0x00000023,0x00000004,0x00050048,0x00000025,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x00000025,0x00000003,0x00000023,0x0000000c,0x00050048,
- 0x00000025,0x00000004,0x00000023,0x00000010,0x00050048,0x00000025,0x00000005,0x00000023,
- 0x00000014,0x00050048,0x00000025,0x00000006,0x00000023,0x00000018,0x00050048,0x00000025,
- 0x00000007,0x00000023,0x0000001c,0x00050048,0x00000025,0x00000008,0x00000023,0x00000020,
- 0x00050048,0x00000025,0x00000009,0x00000023,0x00000024,0x00050048,0x00000025,0x0000000a,
- 0x00000023,0x00000028,0x00050048,0x00000025,0x0000000b,0x00000023,0x0000002c,0x00030047,
- 0x00000025,0x00000002,0x00040047,0x00000074,0x00000006,0x00000004,0x00050048,0x00000075,
- 0x00000000,0x00000023,0x00000000,0x00030047,0x00000075,0x00000003,0x00040047,0x00000077,
- 0x00000022,0x00000000,0x00040047,0x00000077,0x00000021,0x00000001,0x00040047,0x000000da,
- 0x00000006,0x00000004,0x00050048,0x000000db,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x000000db,0x00000003,0x00040047,0x000000dd,0x00000022,0x00000000,0x00040047,0x000000dd,
- 0x00000021,0x00000000,0x00040047,0x000000e0,0x0000000b,0x0000001c,0x00040047,0x00000122,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
- 0x00000008,0x00000006,0x00000007,0x00000007,0x00040021,0x00000015,0x00000006,0x00000007,
- 0x00040021,0x00000020,0x00000002,0x00000007,0x000e001e,0x00000025,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00040020,0x00000026,0x00000009,0x00000025,0x0004003b,0x00000026,
- 0x00000027,0x00000009,0x00040015,0x00000028,0x00000020,0x00000001,0x0004002b,0x00000028,
- 0x00000029,0x00000006,0x00040020,0x0000002a,0x00000009,0x00000006,0x0004002b,0x00000028,
- 0x0000002f,0x00000005,0x0004002b,0x00000028,0x00000034,0x00000002,0x0004002b,0x00000028,
- 0x0000003b,0x0000000a,0x0004002b,0x00000028,0x00000040,0x00000009,0x0004002b,0x00000028,
- 0x00000045,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000004,0x0004002b,0x00000006,
- 0x0000004f,0x00000008,0x0004002b,0x00000028,0x00000056,0x00000008,0x0004002b,0x00000028,
- 0x00000060,0x00000004,0x00020014,0x00000063,0x0004002b,0x00000006,0x00000066,0x00000003,
- 0x0004002b,0x00000006,0x0000006b,0x00000000,0x0003001d,0x00000074,0x00000006,0x0003001e,
- 0x00000075,0x00000074,0x00040020,0x00000076,0x00000002,0x00000075,0x0004003b,0x00000076,
- 0x00000077,0x00000002,0x0004002b,0x00000028,0x00000078,0x00000000,0x00040020,0x0000007b,
- 0x00000002,0x00000006,0x0004002b,0x00000006,0x00000084,0x0000000a,0x0004002b,0x00000028,
- 0x0000008a,0x000003ff,0x0004002b,0x00000006,0x00000097,0x00000001,0x0004002b,0x00000006,
- 0x000000c3,0x00000020,0x00040020,0x000000c5,0x00000007,0x00000028,0x0004002b,0x00000028,
- 0x000000c9,0xffffffff,0x0004002b,0x00000028,0x000000cb,0x00000001,0x0003001d,0x000000da,
- 0x00000006,0x0003001e,0x000000db,0x000000da,0x00040020,0x000000dc,0x00000002,0x000000db,
- 0x0004003b,0x000000dc,0x000000dd,0x00000002,0x00040017,0x000000de,0x00000006,0x00000003,
- 0x00040020,0x000000df,0x00000001,0x000000de,0x0004003b,0x000000df,0x000000e0,0x00000001,
- 0x00040020,0x000000e1,0x00000001,0x00000006,0x0004002b,0x00000028,0x000000fa,0x0000000b,
- 0x0004002b,0x00000006,0x00000121,0x00000040,0x0006002c,0x000000de,0x00000122,0x00000121,
- 0x00000097,0x00000097,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000007,0x000000f2,0x00000007,0x0004003b,0x00000007,0x000000f3,
- 0x00000007,0x0004003b,0x00000007,0x000000fe,0x00000007,0x0004003b,0x00000007,0x0000010d,
- 0x00000007,0x0004003b,0x00000007,0x0000010e,0x00000007,0x0004003b,0x00000007,0x00000111,
- 0x00000007,0x0004003b,0x00000007,0x00000112,0x00000007,0x0004003b,0x00000007,0x00000115,
- 0x00000007,0x0004003b,0x00000007,0x00000117,0x00000007,0x0004003b,0x00000007,0x0000011e,
- 0x00000007,0x00050041,0x000000e1,0x000000ea,0x000000e0,0x0000006b,0x0004003d,0x00000006,
- 0x000000eb,0x000000ea,0x00050041,0x0000002a,0x000000ec,0x00000027,0x00000078,0x0004003d,
- 0x00000006,0x000000ed,0x000000ec,0x000500ae,0x00000063,0x000000ee,0x000000eb,0x000000ed,
- 0x000300f7,0x000000f0,0x00000000,0x000400fa,0x000000ee,0x000000ef,0x000000f0,0x000200f8,
- 0x000000ef,0x000100fd,0x000200f8,0x000000f0,0x0003003e,0x000000f2,0x0000006b,0x0003003e,
- 0x000000f3,0x0000006b,0x000200f9,0x000000f4,0x000200f8,0x000000f4,0x000400f6,0x000000f6,
- 0x000000f7,0x00000000,0x000200f9,0x000000f8,0x000200f8,0x000000f8,0x0004003d,0x00000006,
- 0x000000f9,0x000000f3,0x00050041,0x0000002a,0x000000fb,0x00000027,0x000000fa,0x0004003d,
- 0x00000006,0x000000fc,0x000000fb,0x000500b0,0x00000063,0x000000fd,0x000000f9,0x000000fc,
- 0x000400fa,0x000000fd,0x000000f5,0x000000f6,0x000200f8,0x000000f5,0x00050041,0x000000e1,
- 0x000000ff,0x000000e0,0x0000006b,0x0004003d,0x00000006,0x00000100,0x000000ff,0x00050041,
- 0x0000002a,0x00000101,0x00000027,0x000000fa,0x0004003d,0x00000006,0x00000102,0x00000101,
- 0x00050084,0x00000006,0x00000103,0x00000100,0x00000102,0x0004003d,0x00000006,0x00000104,
- 0x000000f3,0x00050080,0x00000006,0x00000105,0x00000103,0x00000104,0x0003003e,0x000000fe,
- 0x00000105,0x0004003d,0x00000006,0x00000106,0x000000fe,0x00050041,0x0000002a,0x00000107,
- 0x00000027,0x000000cb,0x0004003d,0x00000006,0x00000108,0x00000107,0x000500ae,0x00000063,
- 0x00000109,0x00000106,0x00000108,0x000300f7,0x0000010b,0x00000000,0x000400fa,0x00000109,
- 0x0000010a,0x0000010b,0x000200f8,0x0000010a,0x000200f9,0x000000f6,0x000200f8,0x0000010b,
- 0x0004003d,0x00000006,0x0000010f,0x000000fe,0x0003003e,0x0000010e,0x0000010f,0x00050039,
- 0x00000006,0x00000110,0x00000017,0x0000010e,0x0003003e,0x0000010d,0x00000110,0x0004003d,
- 0x00000006,0x00000113,0x0000010d,0x0003003e,0x00000112,0x00000113,0x00050039,0x00000006,
- 0x00000114,0x0000001a,0x00000112,0x0003003e,0x00000111,0x00000114,0x0004003d,0x00000006,
- 0x00000116,0x000000fe,0x0003003e,0x00000115,0x00000116,0x0004003d,0x00000006,0x00000118,
- 0x00000111,0x0003003e,0x00000117,0x00000118,0x00060039,0x00000006,0x00000119,0x0000001e,
- 0x00000115,0x00000117,0x0004003d,0x00000006,0x0000011a,0x000000f2,0x000500c5,0x00000006,
- 0x0000011b,0x0000011a,0x00000119,0x0003003e,0x000000f2,0x0000011b,0x000200f9,0x000000f7,
- 0x000200f8,0x000000f7,0x0004003d,0x00000006,0x0000011c,0x000000f3,0x00050080,0x00000006,
- 0x0000011d,0x0000011c,0x000000cb,0x0003003e,0x000000f3,0x0000011d,0x000200f9,0x000000f4,
- 0x000200f8,0x000000f6,0x0004003d,0x00000006,0x0000011f,0x000000f2,0x0003003e,0x0000011e,
- 0x0000011f,0x00050039,0x00000002,0x00000120,0x00000022,0x0000011e,0x000100fd,0x00010038,
- 0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,
- 0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000024,
- 0x00000009,0x00050041,0x0000002a,0x0000002b,0x00000027,0x00000029,0x0004003d,0x00000006,
- 0x0000002c,0x0000002b,0x00050084,0x00000006,0x0000002d,0x00000024,0x0000002c,0x0004003d,
- 0x00000006,0x0000002e,0x0000000a,0x00050041,0x0000002a,0x00000030,0x00000027,0x0000002f,
- 0x0004003d,0x00000006,0x00000031,0x00000030,0x00050084,0x00000006,0x00000032,0x0000002e,
- 0x00000031,0x00050080,0x00000006,0x00000033,0x0000002d,0x00000032,0x00050041,0x0000002a,
- 0x00000035,0x00000027,0x00000034,0x0004003d,0x00000006,0x00000036,0x00000035,0x00050080,
- 0x00000006,0x00000037,0x00000033,0x00000036,0x000200fe,0x00000037,0x00010038,0x00050036,
- 0x00000006,0x0000000f,0x00000000,0x00000008,0x00030037,0x00000007,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003d,0x00000006,0x0000003a,0x0000000d,
- 0x00050041,0x0000002a,0x0000003c,0x00000027,0x0000003b,0x0004003d,0x00000006,0x0000003d,
- 0x0000003c,0x00050084,0x00000006,0x0000003e,0x0000003a,0x0000003d,0x0004003d,0x00000006,
- 0x0000003f,0x0000000e,0x00050041,0x0000002a,0x00000041,0x00000027,0x00000040,0x0004003d,
- 0x00000006,0x00000042,0x00000041,0x00050084,0x00000006,0x00000043,0x0000003f,0x00000042,
- 0x00050080,0x00000006,0x00000044,0x0000003e,0x00000043,0x00050041,0x0000002a,0x00000046,
- 0x00000027,0x00000045,0x0004003d,0x00000006,0x00000047,0x00000046,0x00050080,0x00000006,
- 0x00000048,0x00000044,0x00000047,0x000200fe,0x00000048,0x00010038,0x00050036,0x00000006,
- 0x00000013,0x00000000,0x00000008,0x00030037,0x00000007,0x00000011,0x00030037,0x00000007,
- 0x00000012,0x000200f8,0x00000014,0x0004003b,0x00000007,0x0000004b,0x00000007,0x0004003d,
- 0x00000006,0x0000004c,0x00000011,0x00050089,0x00000006,0x0000004e,0x0000004c,0x0000004d,
- 0x00050084,0x00000006,0x00000050,0x0000004e,0x0000004f,0x0003003e,0x0000004b,0x00000050,
- 0x0004003d,0x00000006,0x00000051,0x0000004b,0x000200fe,0x00000051,0x00010038,0x00050036,
- 0x00000006,0x00000017,0x00000000,0x00000015,0x00030037,0x00000007,0x00000016,0x000200f8,
- 0x00000018,0x0004003b,0x00000007,0x00000054,0x00000007,0x0004003b,0x00000007,0x0000005a,
- 0x00000007,0x0004003b,0x00000007,0x0000006d,0x00000007,0x0004003b,0x00000007,0x0000006e,
- 0x00000007,0x0004003b,0x00000007,0x00000070,0x00000007,0x0004003b,0x00000007,0x00000073,
- 0x00000007,0x0004003b,0x00000007,0x0000007e,0x00000007,0x0004003b,0x00000007,0x00000083,
- 0x00000007,0x0004003b,0x00000007,0x00000087,0x00000007,0x0004003b,0x00000007,0x00000096,
- 0x00000007,0x0004003b,0x00000007,0x0000009e,0x00000007,0x0004003d,0x00000006,0x00000055,
- 0x00000016,0x00050041,0x0000002a,0x00000057,0x00000027,0x00000056,0x0004003d,0x00000006,
- 0x00000058,0x00000057,0x00050086,0x00000006,0x00000059,0x00000055,0x00000058,0x0003003e,
- 0x00000054,0x00000059,0x0004003d,0x00000006,0x0000005b,0x00000016,0x00050041,0x0000002a,
- 0x0000005c,0x00000027,0x00000056,0x0004003d,0x00000006,0x0000005d,0x0000005c,0x00050089,
- 0x00000006,0x0000005e,0x0000005b,0x0000005d,0x0003003e,0x0000005a,0x0000005e,0x0004003d,
- 0x00000006,0x0000005f,0x0000005a,0x00050041,0x0000002a,0x00000061,0x00000027,0x00000060,
- 0x0004003d,0x00000006,0x00000062,0x00000061,0x000500ae,0x00000063,0x00000064,0x0000005f,
- 0x00000062,0x0004003d,0x00000006,0x00000065,0x0000005a,0x000500b0,0x00000063,0x00000067,
- 0x00000065,0x00000066,0x000500a7,0x00000063,0x00000068,0x00000064,0x00000067,0x000300f7,
- 0x0000006a,0x00000000,0x000400fa,0x00000068,0x00000069,0x0000006a,0x000200f8,0x00000069,
- 0x000200fe,0x0000006b,0x000200f8,0x0000006a,0x0004003d,0x00000006,0x0000006f,0x00000054,
- 0x0003003e,0x0000006e,0x0000006f,0x0004003d,0x00000006,0x00000071,0x0000005a,0x0003003e,
- 0x00000070,0x00000071,0x00060039,0x00000006,0x00000072,0x0000000b,0x0000006e,0x00000070,
- 0x0003003e,0x0000006d,0x00000072,0x0004003d,0x00000006,0x00000079,0x0000006d,0x00050086,
- 0x00000006,0x0000007a,0x00000079,0x0000004d,0x00060041,0x0000007b,0x0000007c,0x00000077,
- 0x00000078,0x0000007a,0x0004003d,0x00000006,0x0000007d,0x0000007c,0x0003003e,0x00000073,
- 0x0000007d,0x0004003d,0x00000006,0x0000007f,0x0000005a,0x000500aa,0x00000063,0x00000080,
- 0x0000007f,0x00000066,0x000600a9,0x00000028,0x00000081,0x00000080,0x00000034,0x0000003b,
- 0x0004007c,0x00000006,0x00000082,0x00000081,0x0003003e,0x0000007e,0x00000082,0x0004003d,
- 0x00000006,0x00000085,0x0000005a,0x00050084,0x00000006,0x00000086,0x00000084,0x00000085,
- 0x0003003e,0x00000083,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000005a,0x000500aa,
- 0x00000063,0x00000089,0x00000088,0x00000066,0x000600a9,0x00000028,0x0000008b,0x00000089,
- 0x00000045,0x0000008a,0x0004007c,0x00000006,0x0000008c,0x0000008b,0x0003003e,0x00000087,
- 0x0000008c,0x0004003d,0x00000006,0x0000008d,0x0000005a,0x00050041,0x0000002a,0x0000008e,
- 0x00000027,0x00000060,0x0004003d,0x00000006,0x0000008f,0x0000008e,0x000500ae,0x00000063,
- 0x00000090,0x0000008d,0x0000008f,0x0004003d,0x00000006,0x00000091,0x0000005a,0x000500aa,
- 0x00000063,0x00000092,0x00000091,0x00000066,0x000500a7,0x00000063,0x00000093,0x00000090,
- 0x00000092,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,0x00000098,
- 0x000200f8,0x00000094,0x0003003e,0x00000096,0x00000097,0x000200f9,0x00000095,0x000200f8,
- 0x00000098,0x0004003d,0x00000006,0x00000099,0x00000073,0x0004003d,0x00000006,0x0000009a,
- 0x00000083,0x000500c2,0x00000006,0x0000009b,0x00000099,0x0000009a,0x0004003d,0x00000006,
- 0x0000009c,0x00000087,0x000500c7,0x00000006,0x0000009d,0x0000009b,0x0000009c,0x0003003e,
- 0x00000096,0x0000009d,0x000200f9,0x00000095,0x000200f8,0x00000095,0x0004003d,0x00000006,
- 0x0000009f,0x00000096,0x0003003e,0x0000009e,0x0000009f,0x0004003d,0x00000006,0x000000a0,
- 0x0000009e,0x000200fe,0x000000a0,0x00010038,0x00050036,0x00000006,0x0000001a,0x00000000,
- 0x00000015,0x00030037,0x00000007,0x00000019,0x000200f8,0x0000001b,0x0004003d,0x00000006,
- 0x000000a3,0x00000019,0x000200fe,0x000000a3,0x00010038,0x00050036,0x00000006,0x0000001e,
- 0x00000000,0x00000008,0x00030037,0x00000007,0x0000001c,0x00030037,0x00000007,0x0000001d,
- 0x000200f8,0x0000001f,0x0004003b,0x00000007,0x000000a6,0x00000007,0x0004003b,0x00000007,
- 0x000000ab,0x00000007,0x0004003b,0x00000007,0x000000b0,0x00000007,0x0004003b,0x00000007,
- 0x000000b1,0x00000007,0x0004003b,0x00000007,0x000000b3,0x00000007,0x0004003b,0x00000007,
- 0x000000b6,0x00000007,0x0004003b,0x00000007,0x000000b7,0x00000007,0x0004003b,0x00000007,
- 0x000000b9,0x00000007,0x0004003b,0x00000007,0x000000bd,0x00000007,0x0004003b,0x00000007,
- 0x000000c1,0x00000007,0x0004003b,0x000000c5,0x000000c6,0x00000007,0x0004003b,0x00000007,
- 0x000000d1,0x00000007,0x0004003d,0x00000006,0x000000a7,0x0000001c,0x00050041,0x0000002a,
- 0x000000a8,0x00000027,0x00000056,0x0004003d,0x00000006,0x000000a9,0x000000a8,0x00050086,
- 0x00000006,0x000000aa,0x000000a7,0x000000a9,0x0003003e,0x000000a6,0x000000aa,0x0004003d,
- 0x00000006,0x000000ac,0x0000001c,0x00050041,0x0000002a,0x000000ad,0x00000027,0x00000056,
- 0x0004003d,0x00000006,0x000000ae,0x000000ad,0x00050089,0x00000006,0x000000af,0x000000ac,
- 0x000000ae,0x0003003e,0x000000ab,0x000000af,0x0004003d,0x00000006,0x000000b2,0x000000a6,
- 0x0003003e,0x000000b1,0x000000b2,0x0004003d,0x00000006,0x000000b4,0x000000ab,0x0003003e,
- 0x000000b3,0x000000b4,0x00060039,0x00000006,0x000000b5,0x0000000f,0x000000b1,0x000000b3,
- 0x0003003e,0x000000b0,0x000000b5,0x0004003d,0x00000006,0x000000b8,0x000000b0,0x0003003e,
- 0x000000b7,0x000000b8,0x00050041,0x0000002a,0x000000ba,0x00000027,0x00000040,0x0004003d,
- 0x00000006,0x000000bb,0x000000ba,0x0003003e,0x000000b9,0x000000bb,0x00060039,0x00000006,
- 0x000000bc,0x00000013,0x000000b7,0x000000b9,0x0003003e,0x000000b6,0x000000bc,0x00050041,
- 0x0000002a,0x000000be,0x00000027,0x00000040,0x0004003d,0x00000006,0x000000bf,0x000000be,
- 0x00050084,0x00000006,0x000000c0,0x000000bf,0x0000004f,0x0003003e,0x000000bd,0x000000c0,
- 0x0004003d,0x00000006,0x000000c2,0x000000bd,0x000500aa,0x00000063,0x000000c4,0x000000c2,
- 0x000000c3,0x000300f7,0x000000c8,0x00000000,0x000400fa,0x000000c4,0x000000c7,0x000000ca,
- 0x000200f8,0x000000c7,0x0003003e,0x000000c6,0x000000c9,0x000200f9,0x000000c8,0x000200f8,
- 0x000000ca,0x0004003d,0x00000006,0x000000cc,0x000000bd,0x000500c4,0x00000028,0x000000cd,
- 0x000000cb,0x000000cc,0x00050082,0x00000028,0x000000ce,0x000000cd,0x000000cb,0x0003003e,
- 0x000000c6,0x000000ce,0x000200f9,0x000000c8,0x000200f8,0x000000c8,0x0004003d,0x00000028,
- 0x000000cf,0x000000c6,0x0004007c,0x00000006,0x000000d0,0x000000cf,0x0003003e,0x000000c1,
- 0x000000d0,0x0004003d,0x00000006,0x000000d2,0x0000001d,0x0004003d,0x00000006,0x000000d3,
- 0x000000c1,0x000500c7,0x00000006,0x000000d4,0x000000d2,0x000000d3,0x0004003d,0x00000006,
- 0x000000d5,0x000000b6,0x000500c4,0x00000006,0x000000d6,0x000000d4,0x000000d5,0x0003003e,
- 0x000000d1,0x000000d6,0x0004003d,0x00000006,0x000000d7,0x000000d1,0x000200fe,0x000000d7,
- 0x00010038,0x00050036,0x00000002,0x00000022,0x00000000,0x00000020,0x00030037,0x00000007,
- 0x00000021,0x000200f8,0x00000023,0x00050041,0x000000e1,0x000000e2,0x000000e0,0x0000006b,
- 0x0004003d,0x00000006,0x000000e3,0x000000e2,0x00050041,0x0000002a,0x000000e4,0x00000027,
- 0x00000045,0x0004003d,0x00000006,0x000000e5,0x000000e4,0x00050086,0x00000006,0x000000e6,
- 0x000000e5,0x0000004d,0x00050080,0x00000006,0x000000e7,0x000000e3,0x000000e6,0x0004003d,
- 0x00000006,0x000000e8,0x00000021,0x00060041,0x0000007b,0x000000e9,0x000000dd,0x00000078,
- 0x000000e7,0x0003003e,0x000000e9,0x000000e8,0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * params . Bd + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// uint loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-// uint shiftBits = 10 * component;
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// uint value = valueAsUint;
-//
-// return value;
-// }
-//
-// uint convertComponent(uint srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, uint value)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// uint offset = getDestinationComponentOffset(vertex, component);
-// uint shiftBits = getShiftBits(offset, params . Bd);
-//
-// uint valueBits = params . Bd * 8;
-// uint valueMask = valueBits == 32 ? - 1 :(1 << valueBits)- 1;
-// uint valueAsUint =(uint(value)& valueMask)<< shiftBits;
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < params . Ed;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * params . Ed + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// uint srcValue = loadSourceComponent(cd);
-// uint destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc
deleted file mode 100644
index a121c3cbbef..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc
+++ /dev/null
@@ -1,339 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_0000000A[] = {
- 0x07230203,0x00010000,0x00080007,0x000000f6,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000b8,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
- 0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
- 0x00006463,0x00080005,0x00000016,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316928,
- 0x00000000,0x00050005,0x00000015,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001c,
- 0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
- 0x00030005,0x0000001a,0x00006463,0x00040005,0x0000001b,0x756c6176,0x00000065,0x000a0005,
- 0x00000020,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
- 0x00003b31,0x00050005,0x0000001f,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000023,
- 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000023,0x00000000,0x7074756f,
- 0x6f437475,0x00746e75,0x00070006,0x00000023,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
- 0x0000746e,0x00060006,0x00000023,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
- 0x00000023,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000023,0x00000004,
- 0x0000734e,0x00040006,0x00000023,0x00000005,0x00007342,0x00040006,0x00000023,0x00000006,
- 0x00007353,0x00040006,0x00000023,0x00000007,0x00007345,0x00040006,0x00000023,0x00000008,
- 0x0000644e,0x00040006,0x00000023,0x00000009,0x00006442,0x00040006,0x00000023,0x0000000a,
- 0x00006453,0x00040006,0x00000023,0x0000000b,0x00006445,0x00040005,0x00000025,0x61726170,
- 0x0000736d,0x00040005,0x00000037,0x74726576,0x00007865,0x00050005,0x0000003d,0x706d6f63,
- 0x6e656e6f,0x00000074,0x00040005,0x00000050,0x7366666f,0x00007465,0x00040005,0x00000051,
- 0x61726170,0x0000006d,0x00040005,0x00000053,0x61726170,0x0000006d,0x00040005,0x00000056,
- 0x636f6c62,0x0000006b,0x00030005,0x00000058,0x00637273,0x00050006,0x00000058,0x00000000,
- 0x44637273,0x00617461,0x00030005,0x0000005a,0x00000000,0x00050005,0x00000061,0x756c6176,
- 0x74694265,0x00000073,0x00050005,0x00000067,0x66696873,0x74694274,0x00000073,0x00050005,
- 0x0000006b,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000007b,0x756c6176,0x55734165,
- 0x00746e69,0x00050005,0x00000089,0x654e7369,0x69746167,0x00006576,0x00060005,0x00000093,
- 0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000a1,0x756c6176,0x00000065,
- 0x00050005,0x000000ab,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000b3,0x74736564,
- 0x00000000,0x00060006,0x000000b3,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
- 0x000000b5,0x00000000,0x00080005,0x000000b8,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x000000ca,0x756c6176,0x74754f65,0x00000000,0x00030005,
- 0x000000cb,0x00000069,0x00030005,0x000000d3,0x00006463,0x00050005,0x000000e0,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x000000e1,0x61726170,0x0000006d,0x00050005,0x000000e4,
- 0x74736564,0x756c6156,0x00000065,0x00040005,0x000000e5,0x61726170,0x0000006d,0x00040005,
- 0x000000e8,0x61726170,0x0000006d,0x00040005,0x000000ea,0x61726170,0x0000006d,0x00040005,
- 0x000000f1,0x61726170,0x0000006d,0x00050048,0x00000023,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x00000023,0x00000001,0x00000023,0x00000004,0x00050048,0x00000023,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x00000023,0x00000003,0x00000023,0x0000000c,0x00050048,
- 0x00000023,0x00000004,0x00000023,0x00000010,0x00050048,0x00000023,0x00000005,0x00000023,
- 0x00000014,0x00050048,0x00000023,0x00000006,0x00000023,0x00000018,0x00050048,0x00000023,
- 0x00000007,0x00000023,0x0000001c,0x00050048,0x00000023,0x00000008,0x00000023,0x00000020,
- 0x00050048,0x00000023,0x00000009,0x00000023,0x00000024,0x00050048,0x00000023,0x0000000a,
- 0x00000023,0x00000028,0x00050048,0x00000023,0x0000000b,0x00000023,0x0000002c,0x00030047,
- 0x00000023,0x00000002,0x00040047,0x00000057,0x00000006,0x00000004,0x00050048,0x00000058,
- 0x00000000,0x00000023,0x00000000,0x00030047,0x00000058,0x00000003,0x00040047,0x0000005a,
- 0x00000022,0x00000000,0x00040047,0x0000005a,0x00000021,0x00000001,0x00040047,0x000000b2,
- 0x00000006,0x00000004,0x00050048,0x000000b3,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x000000b3,0x00000003,0x00040047,0x000000b5,0x00000022,0x00000000,0x00040047,0x000000b5,
- 0x00000021,0x00000000,0x00040047,0x000000b8,0x0000000b,0x0000001c,0x00040047,0x000000f5,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
- 0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,0x0000000d,0x00000020,0x00000001,
- 0x00040021,0x0000000e,0x0000000d,0x00000007,0x00040020,0x00000012,0x00000007,0x0000000d,
- 0x00030016,0x00000013,0x00000020,0x00040021,0x00000014,0x00000013,0x00000012,0x00040020,
- 0x00000018,0x00000007,0x00000013,0x00050021,0x00000019,0x00000006,0x00000007,0x00000018,
- 0x00040021,0x0000001e,0x00000002,0x00000007,0x000e001e,0x00000023,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00040020,0x00000024,0x00000009,0x00000023,0x0004003b,0x00000024,
- 0x00000025,0x00000009,0x0004002b,0x0000000d,0x00000026,0x00000006,0x00040020,0x00000027,
- 0x00000009,0x00000006,0x0004002b,0x0000000d,0x0000002c,0x00000005,0x0004002b,0x0000000d,
- 0x00000031,0x00000002,0x0004002b,0x0000000d,0x00000039,0x00000008,0x0004002b,0x0000000d,
- 0x00000043,0x00000004,0x00020014,0x00000046,0x0004002b,0x00000006,0x00000049,0x00000003,
- 0x0004002b,0x0000000d,0x0000004e,0x00000000,0x0003001d,0x00000057,0x00000006,0x0003001e,
- 0x00000058,0x00000057,0x00040020,0x00000059,0x00000002,0x00000058,0x0004003b,0x00000059,
- 0x0000005a,0x00000002,0x0004002b,0x00000006,0x0000005c,0x00000004,0x00040020,0x0000005e,
- 0x00000002,0x00000006,0x0004002b,0x0000000d,0x00000064,0x0000000a,0x0004002b,0x00000006,
- 0x00000068,0x0000000a,0x0004002b,0x0000000d,0x0000006e,0x00000003,0x0004002b,0x0000000d,
- 0x0000006f,0x000003ff,0x0004002b,0x00000006,0x0000007c,0x00000001,0x0004002b,0x00000006,
- 0x00000084,0x00000020,0x00040020,0x00000088,0x00000007,0x00000046,0x0004002b,0x0000000d,
- 0x0000008b,0x00000001,0x0004002b,0x00000006,0x00000091,0x00000000,0x0004002b,0x0000000d,
- 0x00000098,0xffffffff,0x0003001d,0x000000b2,0x00000006,0x0003001e,0x000000b3,0x000000b2,
- 0x00040020,0x000000b4,0x00000002,0x000000b3,0x0004003b,0x000000b4,0x000000b5,0x00000002,
- 0x00040017,0x000000b6,0x00000006,0x00000003,0x00040020,0x000000b7,0x00000001,0x000000b6,
- 0x0004003b,0x000000b7,0x000000b8,0x00000001,0x00040020,0x000000b9,0x00000001,0x00000006,
- 0x0004002b,0x00000006,0x000000f4,0x00000040,0x0006002c,0x000000b6,0x000000f5,0x000000f4,
- 0x0000007c,0x0000007c,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000007,0x000000ca,0x00000007,0x0004003b,0x00000007,0x000000cb,
- 0x00000007,0x0004003b,0x00000007,0x000000d3,0x00000007,0x0004003b,0x00000012,0x000000e0,
- 0x00000007,0x0004003b,0x00000007,0x000000e1,0x00000007,0x0004003b,0x00000018,0x000000e4,
- 0x00000007,0x0004003b,0x00000012,0x000000e5,0x00000007,0x0004003b,0x00000007,0x000000e8,
- 0x00000007,0x0004003b,0x00000018,0x000000ea,0x00000007,0x0004003b,0x00000007,0x000000f1,
- 0x00000007,0x00050041,0x000000b9,0x000000c2,0x000000b8,0x00000091,0x0004003d,0x00000006,
- 0x000000c3,0x000000c2,0x00050041,0x00000027,0x000000c4,0x00000025,0x0000004e,0x0004003d,
- 0x00000006,0x000000c5,0x000000c4,0x000500ae,0x00000046,0x000000c6,0x000000c3,0x000000c5,
- 0x000300f7,0x000000c8,0x00000000,0x000400fa,0x000000c6,0x000000c7,0x000000c8,0x000200f8,
- 0x000000c7,0x000100fd,0x000200f8,0x000000c8,0x0003003e,0x000000ca,0x00000091,0x0003003e,
- 0x000000cb,0x00000091,0x000200f9,0x000000cc,0x000200f8,0x000000cc,0x000400f6,0x000000ce,
- 0x000000cf,0x00000000,0x000200f9,0x000000d0,0x000200f8,0x000000d0,0x0004003d,0x00000006,
- 0x000000d1,0x000000cb,0x000500b0,0x00000046,0x000000d2,0x000000d1,0x0000007c,0x000400fa,
- 0x000000d2,0x000000cd,0x000000ce,0x000200f8,0x000000cd,0x00050041,0x000000b9,0x000000d4,
- 0x000000b8,0x00000091,0x0004003d,0x00000006,0x000000d5,0x000000d4,0x00050084,0x00000006,
- 0x000000d6,0x000000d5,0x0000007c,0x0004003d,0x00000006,0x000000d7,0x000000cb,0x00050080,
- 0x00000006,0x000000d8,0x000000d6,0x000000d7,0x0003003e,0x000000d3,0x000000d8,0x0004003d,
- 0x00000006,0x000000d9,0x000000d3,0x00050041,0x00000027,0x000000da,0x00000025,0x0000008b,
- 0x0004003d,0x00000006,0x000000db,0x000000da,0x000500ae,0x00000046,0x000000dc,0x000000d9,
- 0x000000db,0x000300f7,0x000000de,0x00000000,0x000400fa,0x000000dc,0x000000dd,0x000000de,
- 0x000200f8,0x000000dd,0x000200f9,0x000000ce,0x000200f8,0x000000de,0x0004003d,0x00000006,
- 0x000000e2,0x000000d3,0x0003003e,0x000000e1,0x000000e2,0x00050039,0x0000000d,0x000000e3,
- 0x00000010,0x000000e1,0x0003003e,0x000000e0,0x000000e3,0x0004003d,0x0000000d,0x000000e6,
- 0x000000e0,0x0003003e,0x000000e5,0x000000e6,0x00050039,0x00000013,0x000000e7,0x00000016,
- 0x000000e5,0x0003003e,0x000000e4,0x000000e7,0x0004003d,0x00000006,0x000000e9,0x000000d3,
- 0x0003003e,0x000000e8,0x000000e9,0x0004003d,0x00000013,0x000000eb,0x000000e4,0x0003003e,
- 0x000000ea,0x000000eb,0x00060039,0x00000006,0x000000ec,0x0000001c,0x000000e8,0x000000ea,
- 0x0004003d,0x00000006,0x000000ed,0x000000ca,0x000500c5,0x00000006,0x000000ee,0x000000ed,
- 0x000000ec,0x0003003e,0x000000ca,0x000000ee,0x000200f9,0x000000cf,0x000200f8,0x000000cf,
- 0x0004003d,0x00000006,0x000000ef,0x000000cb,0x00050080,0x00000006,0x000000f0,0x000000ef,
- 0x0000008b,0x0003003e,0x000000cb,0x000000f0,0x000200f9,0x000000cc,0x000200f8,0x000000ce,
- 0x0004003d,0x00000006,0x000000f2,0x000000ca,0x0003003e,0x000000f1,0x000000f2,0x00050039,
- 0x00000002,0x000000f3,0x00000020,0x000000f1,0x000100fd,0x00010038,0x00050036,0x00000006,
- 0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,
- 0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000022,0x00000009,0x00050041,
- 0x00000027,0x00000028,0x00000025,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,
- 0x00050084,0x00000006,0x0000002a,0x00000022,0x00000029,0x0004003d,0x00000006,0x0000002b,
- 0x0000000a,0x00050041,0x00000027,0x0000002d,0x00000025,0x0000002c,0x0004003d,0x00000006,
- 0x0000002e,0x0000002d,0x00050084,0x00000006,0x0000002f,0x0000002b,0x0000002e,0x00050080,
- 0x00000006,0x00000030,0x0000002a,0x0000002f,0x00050041,0x00000027,0x00000032,0x00000025,
- 0x00000031,0x0004003d,0x00000006,0x00000033,0x00000032,0x00050080,0x00000006,0x00000034,
- 0x00000030,0x00000033,0x000200fe,0x00000034,0x00010038,0x00050036,0x0000000d,0x00000010,
- 0x00000000,0x0000000e,0x00030037,0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003b,
- 0x00000007,0x00000037,0x00000007,0x0004003b,0x00000007,0x0000003d,0x00000007,0x0004003b,
- 0x00000007,0x00000050,0x00000007,0x0004003b,0x00000007,0x00000051,0x00000007,0x0004003b,
- 0x00000007,0x00000053,0x00000007,0x0004003b,0x00000007,0x00000056,0x00000007,0x0004003b,
- 0x00000007,0x00000061,0x00000007,0x0004003b,0x00000007,0x00000067,0x00000007,0x0004003b,
- 0x00000007,0x0000006b,0x00000007,0x0004003b,0x00000007,0x0000007b,0x00000007,0x0004003b,
- 0x00000088,0x00000089,0x00000007,0x0004003b,0x00000007,0x00000093,0x00000007,0x0004003b,
- 0x00000012,0x00000095,0x00000007,0x0004003b,0x00000012,0x000000a1,0x00000007,0x0004003d,
- 0x00000006,0x00000038,0x0000000f,0x00050041,0x00000027,0x0000003a,0x00000025,0x00000039,
- 0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050086,0x00000006,0x0000003c,0x00000038,
- 0x0000003b,0x0003003e,0x00000037,0x0000003c,0x0004003d,0x00000006,0x0000003e,0x0000000f,
- 0x00050041,0x00000027,0x0000003f,0x00000025,0x00000039,0x0004003d,0x00000006,0x00000040,
- 0x0000003f,0x00050089,0x00000006,0x00000041,0x0000003e,0x00000040,0x0003003e,0x0000003d,
- 0x00000041,0x0004003d,0x00000006,0x00000042,0x0000003d,0x00050041,0x00000027,0x00000044,
- 0x00000025,0x00000043,0x0004003d,0x00000006,0x00000045,0x00000044,0x000500ae,0x00000046,
- 0x00000047,0x00000042,0x00000045,0x0004003d,0x00000006,0x00000048,0x0000003d,0x000500b0,
- 0x00000046,0x0000004a,0x00000048,0x00000049,0x000500a7,0x00000046,0x0000004b,0x00000047,
- 0x0000004a,0x000300f7,0x0000004d,0x00000000,0x000400fa,0x0000004b,0x0000004c,0x0000004d,
- 0x000200f8,0x0000004c,0x000200fe,0x0000004e,0x000200f8,0x0000004d,0x0004003d,0x00000006,
- 0x00000052,0x00000037,0x0003003e,0x00000051,0x00000052,0x0004003d,0x00000006,0x00000054,
- 0x0000003d,0x0003003e,0x00000053,0x00000054,0x00060039,0x00000006,0x00000055,0x0000000b,
- 0x00000051,0x00000053,0x0003003e,0x00000050,0x00000055,0x0004003d,0x00000006,0x0000005b,
- 0x00000050,0x00050086,0x00000006,0x0000005d,0x0000005b,0x0000005c,0x00060041,0x0000005e,
- 0x0000005f,0x0000005a,0x0000004e,0x0000005d,0x0004003d,0x00000006,0x00000060,0x0000005f,
- 0x0003003e,0x00000056,0x00000060,0x0004003d,0x00000006,0x00000062,0x0000003d,0x000500aa,
- 0x00000046,0x00000063,0x00000062,0x00000049,0x000600a9,0x0000000d,0x00000065,0x00000063,
- 0x00000031,0x00000064,0x0004007c,0x00000006,0x00000066,0x00000065,0x0003003e,0x00000061,
- 0x00000066,0x0004003d,0x00000006,0x00000069,0x0000003d,0x00050084,0x00000006,0x0000006a,
- 0x00000068,0x00000069,0x0003003e,0x00000067,0x0000006a,0x0004003d,0x00000006,0x0000006c,
- 0x0000003d,0x000500aa,0x00000046,0x0000006d,0x0000006c,0x00000049,0x000600a9,0x0000000d,
- 0x00000070,0x0000006d,0x0000006e,0x0000006f,0x0004007c,0x00000006,0x00000071,0x00000070,
- 0x0003003e,0x0000006b,0x00000071,0x0004003d,0x00000006,0x00000072,0x0000003d,0x00050041,
- 0x00000027,0x00000073,0x00000025,0x00000043,0x0004003d,0x00000006,0x00000074,0x00000073,
- 0x000500ae,0x00000046,0x00000075,0x00000072,0x00000074,0x0004003d,0x00000006,0x00000076,
- 0x0000003d,0x000500aa,0x00000046,0x00000077,0x00000076,0x00000049,0x000500a7,0x00000046,
- 0x00000078,0x00000075,0x00000077,0x000300f7,0x0000007a,0x00000000,0x000400fa,0x00000078,
- 0x00000079,0x0000007d,0x000200f8,0x00000079,0x0003003e,0x0000007b,0x0000007c,0x000200f9,
- 0x0000007a,0x000200f8,0x0000007d,0x0004003d,0x00000006,0x0000007e,0x00000056,0x0004003d,
- 0x00000006,0x0000007f,0x00000067,0x000500c2,0x00000006,0x00000080,0x0000007e,0x0000007f,
- 0x0004003d,0x00000006,0x00000081,0x0000006b,0x000500c7,0x00000006,0x00000082,0x00000080,
- 0x00000081,0x0003003e,0x0000007b,0x00000082,0x000200f9,0x0000007a,0x000200f8,0x0000007a,
- 0x0004003d,0x00000006,0x00000083,0x00000061,0x000500b0,0x00000046,0x00000085,0x00000083,
- 0x00000084,0x000300f7,0x00000087,0x00000000,0x000400fa,0x00000085,0x00000086,0x00000087,
- 0x000200f8,0x00000086,0x0004003d,0x00000006,0x0000008a,0x0000007b,0x0004003d,0x00000006,
- 0x0000008c,0x00000061,0x00050082,0x00000006,0x0000008d,0x0000008c,0x0000007c,0x000500c4,
- 0x0000000d,0x0000008e,0x0000008b,0x0000008d,0x0004007c,0x00000006,0x0000008f,0x0000008e,
- 0x000500c7,0x00000006,0x00000090,0x0000008a,0x0000008f,0x000500ab,0x00000046,0x00000092,
- 0x00000090,0x00000091,0x0003003e,0x00000089,0x00000092,0x0004003d,0x00000046,0x00000094,
- 0x00000089,0x000300f7,0x00000097,0x00000000,0x000400fa,0x00000094,0x00000096,0x0000009b,
- 0x000200f8,0x00000096,0x0004003d,0x00000006,0x00000099,0x00000061,0x000500c4,0x0000000d,
- 0x0000009a,0x00000098,0x00000099,0x0003003e,0x00000095,0x0000009a,0x000200f9,0x00000097,
- 0x000200f8,0x0000009b,0x0003003e,0x00000095,0x0000004e,0x000200f9,0x00000097,0x000200f8,
- 0x00000097,0x0004003d,0x0000000d,0x0000009c,0x00000095,0x0004007c,0x00000006,0x0000009d,
- 0x0000009c,0x0003003e,0x00000093,0x0000009d,0x0004003d,0x00000006,0x0000009e,0x00000093,
- 0x0004003d,0x00000006,0x0000009f,0x0000007b,0x000500c5,0x00000006,0x000000a0,0x0000009f,
- 0x0000009e,0x0003003e,0x0000007b,0x000000a0,0x000200f9,0x00000087,0x000200f8,0x00000087,
- 0x0004003d,0x00000006,0x000000a2,0x0000007b,0x0004007c,0x0000000d,0x000000a3,0x000000a2,
- 0x0003003e,0x000000a1,0x000000a3,0x0004003d,0x0000000d,0x000000a4,0x000000a1,0x000200fe,
- 0x000000a4,0x00010038,0x00050036,0x00000013,0x00000016,0x00000000,0x00000014,0x00030037,
- 0x00000012,0x00000015,0x000200f8,0x00000017,0x0004003d,0x0000000d,0x000000a7,0x00000015,
- 0x0004006f,0x00000013,0x000000a8,0x000000a7,0x000200fe,0x000000a8,0x00010038,0x00050036,
- 0x00000006,0x0000001c,0x00000000,0x00000019,0x00030037,0x00000007,0x0000001a,0x00030037,
- 0x00000018,0x0000001b,0x000200f8,0x0000001d,0x0004003b,0x00000007,0x000000ab,0x00000007,
- 0x0004003d,0x00000013,0x000000ac,0x0000001b,0x0004007c,0x0000000d,0x000000ad,0x000000ac,
- 0x0004007c,0x00000006,0x000000ae,0x000000ad,0x0003003e,0x000000ab,0x000000ae,0x0004003d,
- 0x00000006,0x000000af,0x000000ab,0x000200fe,0x000000af,0x00010038,0x00050036,0x00000002,
- 0x00000020,0x00000000,0x0000001e,0x00030037,0x00000007,0x0000001f,0x000200f8,0x00000021,
- 0x00050041,0x000000b9,0x000000ba,0x000000b8,0x00000091,0x0004003d,0x00000006,0x000000bb,
- 0x000000ba,0x00050041,0x00000027,0x000000bc,0x00000025,0x0000006e,0x0004003d,0x00000006,
- 0x000000bd,0x000000bc,0x00050086,0x00000006,0x000000be,0x000000bd,0x0000005c,0x00050080,
- 0x00000006,0x000000bf,0x000000bb,0x000000be,0x0004003d,0x00000006,0x000000c0,0x0000001f,
- 0x00060041,0x0000005e,0x000000c1,0x000000b5,0x0000004e,0x000000bf,0x0003003e,0x000000c1,
- 0x000000c0,0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * 4 + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// int loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-// uint shiftBits = 10 * component;
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// if(valueBits < 32)
-// {
-// bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
-//
-// uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
-// valueAsUint |= signExtension;
-// }
-// int value = int(valueAsUint);
-//
-// return value;
-// }
-//
-// float convertComponent(int srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, float value)
-// {
-//
-// uint valueAsUint = floatBitsToInt(value);
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < 1;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * 1 + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// int srcValue = loadSourceComponent(cd);
-// float destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc
deleted file mode 100644
index 31b91fef587..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc
+++ /dev/null
@@ -1,311 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_0000000B[] = {
- 0x07230203,0x00010000,0x00080007,0x000000d8,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000099,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x0000000f,
- 0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000e,
- 0x00006463,0x00080005,0x00000014,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b317528,
- 0x00000000,0x00050005,0x00000013,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
- 0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
- 0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
- 0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
- 0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
- 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
- 0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
- 0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
- 0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
- 0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
- 0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
- 0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
- 0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
- 0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
- 0x6e656e6f,0x00000074,0x00040005,0x0000004f,0x7366666f,0x00007465,0x00040005,0x00000050,
- 0x61726170,0x0000006d,0x00040005,0x00000052,0x61726170,0x0000006d,0x00040005,0x00000055,
- 0x636f6c62,0x0000006b,0x00030005,0x00000057,0x00637273,0x00050006,0x00000057,0x00000000,
- 0x44637273,0x00617461,0x00030005,0x00000059,0x00000000,0x00050005,0x00000061,0x756c6176,
- 0x74694265,0x00000073,0x00050005,0x00000067,0x66696873,0x74694274,0x00000073,0x00050005,
- 0x0000006b,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000007b,0x756c6176,0x55734165,
- 0x00746e69,0x00040005,0x00000083,0x756c6176,0x00000065,0x00050005,0x0000008c,0x756c6176,
- 0x55734165,0x00746e69,0x00040005,0x00000094,0x74736564,0x00000000,0x00060006,0x00000094,
- 0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x00000096,0x00000000,0x00080005,
- 0x00000099,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
- 0x000000ab,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000ac,0x00000069,0x00030005,
- 0x000000b4,0x00006463,0x00050005,0x000000c2,0x56637273,0x65756c61,0x00000000,0x00040005,
- 0x000000c3,0x61726170,0x0000006d,0x00050005,0x000000c6,0x74736564,0x756c6156,0x00000065,
- 0x00040005,0x000000c7,0x61726170,0x0000006d,0x00040005,0x000000ca,0x61726170,0x0000006d,
- 0x00040005,0x000000cc,0x61726170,0x0000006d,0x00040005,0x000000d3,0x61726170,0x0000006d,
- 0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
- 0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
- 0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
- 0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
- 0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
- 0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
- 0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
- 0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
- 0x00000056,0x00000006,0x00000004,0x00050048,0x00000057,0x00000000,0x00000023,0x00000000,
- 0x00030047,0x00000057,0x00000003,0x00040047,0x00000059,0x00000022,0x00000000,0x00040047,
- 0x00000059,0x00000021,0x00000001,0x00040047,0x00000093,0x00000006,0x00000004,0x00050048,
- 0x00000094,0x00000000,0x00000023,0x00000000,0x00030047,0x00000094,0x00000003,0x00040047,
- 0x00000096,0x00000022,0x00000000,0x00040047,0x00000096,0x00000021,0x00000000,0x00040047,
- 0x00000099,0x0000000b,0x0000001c,0x00040047,0x000000d7,0x0000000b,0x00000019,0x00020013,
- 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
- 0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
- 0x00000007,0x00040021,0x0000000d,0x00000006,0x00000007,0x00030016,0x00000011,0x00000020,
- 0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,
- 0x00050021,0x00000017,0x00000006,0x00000007,0x00000016,0x00040021,0x0000001c,0x00000002,
- 0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
- 0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
- 0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
- 0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
- 0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
- 0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x00000006,0x00000048,
- 0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000000,0x0003001d,0x00000056,0x00000006,
- 0x0003001e,0x00000057,0x00000056,0x00040020,0x00000058,0x00000002,0x00000057,0x0004003b,
- 0x00000058,0x00000059,0x00000002,0x0004002b,0x00000024,0x0000005a,0x00000000,0x0004002b,
- 0x00000006,0x0000005c,0x00000004,0x00040020,0x0000005e,0x00000002,0x00000006,0x0004002b,
- 0x00000024,0x00000064,0x0000000a,0x0004002b,0x00000006,0x00000068,0x0000000a,0x0004002b,
- 0x00000024,0x0000006e,0x00000003,0x0004002b,0x00000024,0x0000006f,0x000003ff,0x0004002b,
- 0x00000006,0x0000007c,0x00000001,0x0003001d,0x00000093,0x00000006,0x0003001e,0x00000094,
- 0x00000093,0x00040020,0x00000095,0x00000002,0x00000094,0x0004003b,0x00000095,0x00000096,
- 0x00000002,0x00040017,0x00000097,0x00000006,0x00000003,0x00040020,0x00000098,0x00000001,
- 0x00000097,0x0004003b,0x00000098,0x00000099,0x00000001,0x00040020,0x0000009a,0x00000001,
- 0x00000006,0x0004002b,0x00000024,0x000000bb,0x00000001,0x0004002b,0x00000006,0x000000d6,
- 0x00000040,0x0006002c,0x00000097,0x000000d7,0x000000d6,0x0000007c,0x0000007c,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
- 0x000000ab,0x00000007,0x0004003b,0x00000007,0x000000ac,0x00000007,0x0004003b,0x00000007,
- 0x000000b4,0x00000007,0x0004003b,0x00000007,0x000000c2,0x00000007,0x0004003b,0x00000007,
- 0x000000c3,0x00000007,0x0004003b,0x00000016,0x000000c6,0x00000007,0x0004003b,0x00000007,
- 0x000000c7,0x00000007,0x0004003b,0x00000007,0x000000ca,0x00000007,0x0004003b,0x00000016,
- 0x000000cc,0x00000007,0x0004003b,0x00000007,0x000000d3,0x00000007,0x00050041,0x0000009a,
- 0x000000a3,0x00000099,0x0000004d,0x0004003d,0x00000006,0x000000a4,0x000000a3,0x00050041,
- 0x00000026,0x000000a5,0x00000023,0x0000005a,0x0004003d,0x00000006,0x000000a6,0x000000a5,
- 0x000500ae,0x00000045,0x000000a7,0x000000a4,0x000000a6,0x000300f7,0x000000a9,0x00000000,
- 0x000400fa,0x000000a7,0x000000a8,0x000000a9,0x000200f8,0x000000a8,0x000100fd,0x000200f8,
- 0x000000a9,0x0003003e,0x000000ab,0x0000004d,0x0003003e,0x000000ac,0x0000004d,0x000200f9,
- 0x000000ad,0x000200f8,0x000000ad,0x000400f6,0x000000af,0x000000b0,0x00000000,0x000200f9,
- 0x000000b1,0x000200f8,0x000000b1,0x0004003d,0x00000006,0x000000b2,0x000000ac,0x000500b0,
- 0x00000045,0x000000b3,0x000000b2,0x0000007c,0x000400fa,0x000000b3,0x000000ae,0x000000af,
- 0x000200f8,0x000000ae,0x00050041,0x0000009a,0x000000b5,0x00000099,0x0000004d,0x0004003d,
- 0x00000006,0x000000b6,0x000000b5,0x00050084,0x00000006,0x000000b7,0x000000b6,0x0000007c,
- 0x0004003d,0x00000006,0x000000b8,0x000000ac,0x00050080,0x00000006,0x000000b9,0x000000b7,
- 0x000000b8,0x0003003e,0x000000b4,0x000000b9,0x0004003d,0x00000006,0x000000ba,0x000000b4,
- 0x00050041,0x00000026,0x000000bc,0x00000023,0x000000bb,0x0004003d,0x00000006,0x000000bd,
- 0x000000bc,0x000500ae,0x00000045,0x000000be,0x000000ba,0x000000bd,0x000300f7,0x000000c0,
- 0x00000000,0x000400fa,0x000000be,0x000000bf,0x000000c0,0x000200f8,0x000000bf,0x000200f9,
- 0x000000af,0x000200f8,0x000000c0,0x0004003d,0x00000006,0x000000c4,0x000000b4,0x0003003e,
- 0x000000c3,0x000000c4,0x00050039,0x00000006,0x000000c5,0x0000000f,0x000000c3,0x0003003e,
- 0x000000c2,0x000000c5,0x0004003d,0x00000006,0x000000c8,0x000000c2,0x0003003e,0x000000c7,
- 0x000000c8,0x00050039,0x00000011,0x000000c9,0x00000014,0x000000c7,0x0003003e,0x000000c6,
- 0x000000c9,0x0004003d,0x00000006,0x000000cb,0x000000b4,0x0003003e,0x000000ca,0x000000cb,
- 0x0004003d,0x00000011,0x000000cd,0x000000c6,0x0003003e,0x000000cc,0x000000cd,0x00060039,
- 0x00000006,0x000000ce,0x0000001a,0x000000ca,0x000000cc,0x0004003d,0x00000006,0x000000cf,
- 0x000000ab,0x000500c5,0x00000006,0x000000d0,0x000000cf,0x000000ce,0x0003003e,0x000000ab,
- 0x000000d0,0x000200f9,0x000000b0,0x000200f8,0x000000b0,0x0004003d,0x00000006,0x000000d1,
- 0x000000ac,0x00050080,0x00000006,0x000000d2,0x000000d1,0x000000bb,0x0003003e,0x000000ac,
- 0x000000d2,0x000200f9,0x000000ad,0x000200f8,0x000000af,0x0004003d,0x00000006,0x000000d4,
- 0x000000ab,0x0003003e,0x000000d3,0x000000d4,0x00050039,0x00000002,0x000000d5,0x0000001e,
- 0x000000d3,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,
- 0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,
- 0x0004003d,0x00000006,0x00000020,0x00000009,0x00050041,0x00000026,0x00000027,0x00000023,
- 0x00000025,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050084,0x00000006,0x00000029,
- 0x00000020,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000a,0x00050041,0x00000026,
- 0x0000002c,0x00000023,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x00050084,
- 0x00000006,0x0000002e,0x0000002a,0x0000002d,0x00050080,0x00000006,0x0000002f,0x00000029,
- 0x0000002e,0x00050041,0x00000026,0x00000031,0x00000023,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002f,0x00000032,0x000200fe,
- 0x00000033,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,0x00000036,0x00000007,
- 0x0004003b,0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004f,0x00000007,
- 0x0004003b,0x00000007,0x00000050,0x00000007,0x0004003b,0x00000007,0x00000052,0x00000007,
- 0x0004003b,0x00000007,0x00000055,0x00000007,0x0004003b,0x00000007,0x00000061,0x00000007,
- 0x0004003b,0x00000007,0x00000067,0x00000007,0x0004003b,0x00000007,0x0000006b,0x00000007,
- 0x0004003b,0x00000007,0x0000007b,0x00000007,0x0004003b,0x00000007,0x00000083,0x00000007,
- 0x0004003d,0x00000006,0x00000037,0x0000000e,0x00050041,0x00000026,0x00000039,0x00000023,
- 0x00000038,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050086,0x00000006,0x0000003b,
- 0x00000037,0x0000003a,0x0003003e,0x00000036,0x0000003b,0x0004003d,0x00000006,0x0000003d,
- 0x0000000e,0x00050041,0x00000026,0x0000003e,0x00000023,0x00000038,0x0004003d,0x00000006,
- 0x0000003f,0x0000003e,0x00050089,0x00000006,0x00000040,0x0000003d,0x0000003f,0x0003003e,
- 0x0000003c,0x00000040,0x0004003d,0x00000006,0x00000041,0x0000003c,0x00050041,0x00000026,
- 0x00000043,0x00000023,0x00000042,0x0004003d,0x00000006,0x00000044,0x00000043,0x000500ae,
- 0x00000045,0x00000046,0x00000041,0x00000044,0x0004003d,0x00000006,0x00000047,0x0000003c,
- 0x000500b0,0x00000045,0x00000049,0x00000047,0x00000048,0x000500a7,0x00000045,0x0000004a,
- 0x00000046,0x00000049,0x000300f7,0x0000004c,0x00000000,0x000400fa,0x0000004a,0x0000004b,
- 0x0000004c,0x000200f8,0x0000004b,0x000200fe,0x0000004d,0x000200f8,0x0000004c,0x0004003d,
- 0x00000006,0x00000051,0x00000036,0x0003003e,0x00000050,0x00000051,0x0004003d,0x00000006,
- 0x00000053,0x0000003c,0x0003003e,0x00000052,0x00000053,0x00060039,0x00000006,0x00000054,
- 0x0000000b,0x00000050,0x00000052,0x0003003e,0x0000004f,0x00000054,0x0004003d,0x00000006,
- 0x0000005b,0x0000004f,0x00050086,0x00000006,0x0000005d,0x0000005b,0x0000005c,0x00060041,
- 0x0000005e,0x0000005f,0x00000059,0x0000005a,0x0000005d,0x0004003d,0x00000006,0x00000060,
- 0x0000005f,0x0003003e,0x00000055,0x00000060,0x0004003d,0x00000006,0x00000062,0x0000003c,
- 0x000500aa,0x00000045,0x00000063,0x00000062,0x00000048,0x000600a9,0x00000024,0x00000065,
- 0x00000063,0x00000030,0x00000064,0x0004007c,0x00000006,0x00000066,0x00000065,0x0003003e,
- 0x00000061,0x00000066,0x0004003d,0x00000006,0x00000069,0x0000003c,0x00050084,0x00000006,
- 0x0000006a,0x00000068,0x00000069,0x0003003e,0x00000067,0x0000006a,0x0004003d,0x00000006,
- 0x0000006c,0x0000003c,0x000500aa,0x00000045,0x0000006d,0x0000006c,0x00000048,0x000600a9,
- 0x00000024,0x00000070,0x0000006d,0x0000006e,0x0000006f,0x0004007c,0x00000006,0x00000071,
- 0x00000070,0x0003003e,0x0000006b,0x00000071,0x0004003d,0x00000006,0x00000072,0x0000003c,
- 0x00050041,0x00000026,0x00000073,0x00000023,0x00000042,0x0004003d,0x00000006,0x00000074,
- 0x00000073,0x000500ae,0x00000045,0x00000075,0x00000072,0x00000074,0x0004003d,0x00000006,
- 0x00000076,0x0000003c,0x000500aa,0x00000045,0x00000077,0x00000076,0x00000048,0x000500a7,
- 0x00000045,0x00000078,0x00000075,0x00000077,0x000300f7,0x0000007a,0x00000000,0x000400fa,
- 0x00000078,0x00000079,0x0000007d,0x000200f8,0x00000079,0x0003003e,0x0000007b,0x0000007c,
- 0x000200f9,0x0000007a,0x000200f8,0x0000007d,0x0004003d,0x00000006,0x0000007e,0x00000055,
- 0x0004003d,0x00000006,0x0000007f,0x00000067,0x000500c2,0x00000006,0x00000080,0x0000007e,
- 0x0000007f,0x0004003d,0x00000006,0x00000081,0x0000006b,0x000500c7,0x00000006,0x00000082,
- 0x00000080,0x00000081,0x0003003e,0x0000007b,0x00000082,0x000200f9,0x0000007a,0x000200f8,
- 0x0000007a,0x0004003d,0x00000006,0x00000084,0x0000007b,0x0003003e,0x00000083,0x00000084,
- 0x0004003d,0x00000006,0x00000085,0x00000083,0x000200fe,0x00000085,0x00010038,0x00050036,
- 0x00000011,0x00000014,0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,
- 0x00000015,0x0004003d,0x00000006,0x00000088,0x00000013,0x00040070,0x00000011,0x00000089,
- 0x00000088,0x000200fe,0x00000089,0x00010038,0x00050036,0x00000006,0x0000001a,0x00000000,
- 0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,0x00000016,0x00000019,0x000200f8,
- 0x0000001b,0x0004003b,0x00000007,0x0000008c,0x00000007,0x0004003d,0x00000011,0x0000008d,
- 0x00000019,0x0004007c,0x00000024,0x0000008e,0x0000008d,0x0004007c,0x00000006,0x0000008f,
- 0x0000008e,0x0003003e,0x0000008c,0x0000008f,0x0004003d,0x00000006,0x00000090,0x0000008c,
- 0x000200fe,0x00000090,0x00010038,0x00050036,0x00000002,0x0000001e,0x00000000,0x0000001c,
- 0x00030037,0x00000007,0x0000001d,0x000200f8,0x0000001f,0x00050041,0x0000009a,0x0000009b,
- 0x00000099,0x0000004d,0x0004003d,0x00000006,0x0000009c,0x0000009b,0x00050041,0x00000026,
- 0x0000009d,0x00000023,0x0000006e,0x0004003d,0x00000006,0x0000009e,0x0000009d,0x00050086,
- 0x00000006,0x0000009f,0x0000009e,0x0000005c,0x00050080,0x00000006,0x000000a0,0x0000009c,
- 0x0000009f,0x0004003d,0x00000006,0x000000a1,0x0000001d,0x00060041,0x0000005e,0x000000a2,
- 0x00000096,0x0000005a,0x000000a0,0x0003003e,0x000000a2,0x000000a1,0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * 4 + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// uint loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-// uint shiftBits = 10 * component;
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// uint value = valueAsUint;
-//
-// return value;
-// }
-//
-// float convertComponent(uint srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, float value)
-// {
-//
-// uint valueAsUint = floatBitsToInt(value);
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < 1;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * 1 + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// uint srcValue = loadSourceComponent(cd);
-// float destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc
deleted file mode 100644
index f658dccb158..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc
+++ /dev/null
@@ -1,348 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_0000000C[] = {
- 0x07230203,0x00010000,0x00080007,0x00000102,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000c4,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
- 0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
- 0x00006463,0x00080005,0x00000015,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316628,
- 0x00000000,0x00050005,0x00000014,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
- 0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
- 0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
- 0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
- 0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
- 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
- 0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
- 0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
- 0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
- 0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
- 0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
- 0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
- 0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
- 0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
- 0x6e656e6f,0x00000074,0x00040005,0x0000004f,0x7366666f,0x00007465,0x00040005,0x00000050,
- 0x61726170,0x0000006d,0x00040005,0x00000052,0x61726170,0x0000006d,0x00040005,0x00000055,
- 0x636f6c62,0x0000006b,0x00030005,0x00000057,0x00637273,0x00050006,0x00000057,0x00000000,
- 0x44637273,0x00617461,0x00030005,0x00000059,0x00000000,0x00050005,0x00000061,0x756c6176,
- 0x74694265,0x00000073,0x00050005,0x00000067,0x66696873,0x74694274,0x00000073,0x00050005,
- 0x0000006b,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x0000007b,0x756c6176,0x55734165,
- 0x00746e69,0x00050005,0x0000008b,0x654e7369,0x69746167,0x00006576,0x00060005,0x00000095,
- 0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00050005,0x000000a4,0x756c6176,0x49734165,
- 0x0000746e,0x00040005,0x000000a7,0x756c6176,0x00000065,0x00050005,0x000000b7,0x756c6176,
- 0x55734165,0x00746e69,0x00040005,0x000000bf,0x74736564,0x00000000,0x00060006,0x000000bf,
- 0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000c1,0x00000000,0x00080005,
- 0x000000c4,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
- 0x000000d6,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000d7,0x00000069,0x00030005,
- 0x000000df,0x00006463,0x00050005,0x000000ec,0x56637273,0x65756c61,0x00000000,0x00040005,
- 0x000000ed,0x61726170,0x0000006d,0x00050005,0x000000f0,0x74736564,0x756c6156,0x00000065,
- 0x00040005,0x000000f1,0x61726170,0x0000006d,0x00040005,0x000000f4,0x61726170,0x0000006d,
- 0x00040005,0x000000f6,0x61726170,0x0000006d,0x00040005,0x000000fd,0x61726170,0x0000006d,
- 0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
- 0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
- 0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
- 0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
- 0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
- 0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
- 0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
- 0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
- 0x00000056,0x00000006,0x00000004,0x00050048,0x00000057,0x00000000,0x00000023,0x00000000,
- 0x00030047,0x00000057,0x00000003,0x00040047,0x00000059,0x00000022,0x00000000,0x00040047,
- 0x00000059,0x00000021,0x00000001,0x00040047,0x000000be,0x00000006,0x00000004,0x00050048,
- 0x000000bf,0x00000000,0x00000023,0x00000000,0x00030047,0x000000bf,0x00000003,0x00040047,
- 0x000000c1,0x00000022,0x00000000,0x00040047,0x000000c1,0x00000021,0x00000000,0x00040047,
- 0x000000c4,0x0000000b,0x0000001c,0x00040047,0x00000101,0x0000000b,0x00000019,0x00020013,
- 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
- 0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
- 0x00000007,0x00030016,0x0000000d,0x00000020,0x00040021,0x0000000e,0x0000000d,0x00000007,
- 0x00040020,0x00000012,0x00000007,0x0000000d,0x00040021,0x00000013,0x0000000d,0x00000012,
- 0x00050021,0x00000017,0x00000006,0x00000007,0x00000012,0x00040021,0x0000001c,0x00000002,
- 0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
- 0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
- 0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
- 0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
- 0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
- 0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x00000006,0x00000048,
- 0x00000003,0x0004002b,0x0000000d,0x0000004d,0x00000000,0x0003001d,0x00000056,0x00000006,
- 0x0003001e,0x00000057,0x00000056,0x00040020,0x00000058,0x00000002,0x00000057,0x0004003b,
- 0x00000058,0x00000059,0x00000002,0x0004002b,0x00000024,0x0000005a,0x00000000,0x0004002b,
- 0x00000006,0x0000005c,0x00000004,0x00040020,0x0000005e,0x00000002,0x00000006,0x0004002b,
- 0x00000024,0x00000064,0x0000000a,0x0004002b,0x00000006,0x00000068,0x0000000a,0x0004002b,
- 0x00000024,0x0000006e,0x00000003,0x0004002b,0x00000024,0x0000006f,0x000003ff,0x0004002b,
- 0x00000024,0x0000007d,0x00000001,0x0004002b,0x00000006,0x00000086,0x00000020,0x00040020,
- 0x0000008a,0x00000007,0x00000045,0x0004002b,0x00000006,0x0000008e,0x00000001,0x0004002b,
- 0x00000006,0x00000093,0x00000000,0x00040020,0x00000097,0x00000007,0x00000024,0x0004002b,
- 0x00000024,0x0000009b,0xffffffff,0x0004002b,0x0000000d,0x000000af,0xbf800000,0x0003001d,
- 0x000000be,0x00000006,0x0003001e,0x000000bf,0x000000be,0x00040020,0x000000c0,0x00000002,
- 0x000000bf,0x0004003b,0x000000c0,0x000000c1,0x00000002,0x00040017,0x000000c2,0x00000006,
- 0x00000003,0x00040020,0x000000c3,0x00000001,0x000000c2,0x0004003b,0x000000c3,0x000000c4,
- 0x00000001,0x00040020,0x000000c5,0x00000001,0x00000006,0x0004002b,0x00000006,0x00000100,
- 0x00000040,0x0006002c,0x000000c2,0x00000101,0x00000100,0x0000008e,0x0000008e,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
- 0x000000d6,0x00000007,0x0004003b,0x00000007,0x000000d7,0x00000007,0x0004003b,0x00000007,
- 0x000000df,0x00000007,0x0004003b,0x00000012,0x000000ec,0x00000007,0x0004003b,0x00000007,
- 0x000000ed,0x00000007,0x0004003b,0x00000012,0x000000f0,0x00000007,0x0004003b,0x00000012,
- 0x000000f1,0x00000007,0x0004003b,0x00000007,0x000000f4,0x00000007,0x0004003b,0x00000012,
- 0x000000f6,0x00000007,0x0004003b,0x00000007,0x000000fd,0x00000007,0x00050041,0x000000c5,
- 0x000000ce,0x000000c4,0x00000093,0x0004003d,0x00000006,0x000000cf,0x000000ce,0x00050041,
- 0x00000026,0x000000d0,0x00000023,0x0000005a,0x0004003d,0x00000006,0x000000d1,0x000000d0,
- 0x000500ae,0x00000045,0x000000d2,0x000000cf,0x000000d1,0x000300f7,0x000000d4,0x00000000,
- 0x000400fa,0x000000d2,0x000000d3,0x000000d4,0x000200f8,0x000000d3,0x000100fd,0x000200f8,
- 0x000000d4,0x0003003e,0x000000d6,0x00000093,0x0003003e,0x000000d7,0x00000093,0x000200f9,
- 0x000000d8,0x000200f8,0x000000d8,0x000400f6,0x000000da,0x000000db,0x00000000,0x000200f9,
- 0x000000dc,0x000200f8,0x000000dc,0x0004003d,0x00000006,0x000000dd,0x000000d7,0x000500b0,
- 0x00000045,0x000000de,0x000000dd,0x0000008e,0x000400fa,0x000000de,0x000000d9,0x000000da,
- 0x000200f8,0x000000d9,0x00050041,0x000000c5,0x000000e0,0x000000c4,0x00000093,0x0004003d,
- 0x00000006,0x000000e1,0x000000e0,0x00050084,0x00000006,0x000000e2,0x000000e1,0x0000008e,
- 0x0004003d,0x00000006,0x000000e3,0x000000d7,0x00050080,0x00000006,0x000000e4,0x000000e2,
- 0x000000e3,0x0003003e,0x000000df,0x000000e4,0x0004003d,0x00000006,0x000000e5,0x000000df,
- 0x00050041,0x00000026,0x000000e6,0x00000023,0x0000007d,0x0004003d,0x00000006,0x000000e7,
- 0x000000e6,0x000500ae,0x00000045,0x000000e8,0x000000e5,0x000000e7,0x000300f7,0x000000ea,
- 0x00000000,0x000400fa,0x000000e8,0x000000e9,0x000000ea,0x000200f8,0x000000e9,0x000200f9,
- 0x000000da,0x000200f8,0x000000ea,0x0004003d,0x00000006,0x000000ee,0x000000df,0x0003003e,
- 0x000000ed,0x000000ee,0x00050039,0x0000000d,0x000000ef,0x00000010,0x000000ed,0x0003003e,
- 0x000000ec,0x000000ef,0x0004003d,0x0000000d,0x000000f2,0x000000ec,0x0003003e,0x000000f1,
- 0x000000f2,0x00050039,0x0000000d,0x000000f3,0x00000015,0x000000f1,0x0003003e,0x000000f0,
- 0x000000f3,0x0004003d,0x00000006,0x000000f5,0x000000df,0x0003003e,0x000000f4,0x000000f5,
- 0x0004003d,0x0000000d,0x000000f7,0x000000f0,0x0003003e,0x000000f6,0x000000f7,0x00060039,
- 0x00000006,0x000000f8,0x0000001a,0x000000f4,0x000000f6,0x0004003d,0x00000006,0x000000f9,
- 0x000000d6,0x000500c5,0x00000006,0x000000fa,0x000000f9,0x000000f8,0x0003003e,0x000000d6,
- 0x000000fa,0x000200f9,0x000000db,0x000200f8,0x000000db,0x0004003d,0x00000006,0x000000fb,
- 0x000000d7,0x00050080,0x00000006,0x000000fc,0x000000fb,0x0000007d,0x0003003e,0x000000d7,
- 0x000000fc,0x000200f9,0x000000d8,0x000200f8,0x000000da,0x0004003d,0x00000006,0x000000fe,
- 0x000000d6,0x0003003e,0x000000fd,0x000000fe,0x00050039,0x00000002,0x000000ff,0x0000001e,
- 0x000000fd,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,
- 0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,
- 0x0004003d,0x00000006,0x00000020,0x00000009,0x00050041,0x00000026,0x00000027,0x00000023,
- 0x00000025,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050084,0x00000006,0x00000029,
- 0x00000020,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000a,0x00050041,0x00000026,
- 0x0000002c,0x00000023,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x00050084,
- 0x00000006,0x0000002e,0x0000002a,0x0000002d,0x00050080,0x00000006,0x0000002f,0x00000029,
- 0x0000002e,0x00050041,0x00000026,0x00000031,0x00000023,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002f,0x00000032,0x000200fe,
- 0x00000033,0x00010038,0x00050036,0x0000000d,0x00000010,0x00000000,0x0000000e,0x00030037,
- 0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003b,0x00000007,0x00000036,0x00000007,
- 0x0004003b,0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004f,0x00000007,
- 0x0004003b,0x00000007,0x00000050,0x00000007,0x0004003b,0x00000007,0x00000052,0x00000007,
- 0x0004003b,0x00000007,0x00000055,0x00000007,0x0004003b,0x00000007,0x00000061,0x00000007,
- 0x0004003b,0x00000007,0x00000067,0x00000007,0x0004003b,0x00000007,0x0000006b,0x00000007,
- 0x0004003b,0x00000007,0x0000007b,0x00000007,0x0004003b,0x0000008a,0x0000008b,0x00000007,
- 0x0004003b,0x00000007,0x00000095,0x00000007,0x0004003b,0x00000097,0x00000098,0x00000007,
- 0x0004003b,0x00000097,0x000000a4,0x00000007,0x0004003b,0x00000012,0x000000a7,0x00000007,
- 0x0004003d,0x00000006,0x00000037,0x0000000f,0x00050041,0x00000026,0x00000039,0x00000023,
- 0x00000038,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050086,0x00000006,0x0000003b,
- 0x00000037,0x0000003a,0x0003003e,0x00000036,0x0000003b,0x0004003d,0x00000006,0x0000003d,
- 0x0000000f,0x00050041,0x00000026,0x0000003e,0x00000023,0x00000038,0x0004003d,0x00000006,
- 0x0000003f,0x0000003e,0x00050089,0x00000006,0x00000040,0x0000003d,0x0000003f,0x0003003e,
- 0x0000003c,0x00000040,0x0004003d,0x00000006,0x00000041,0x0000003c,0x00050041,0x00000026,
- 0x00000043,0x00000023,0x00000042,0x0004003d,0x00000006,0x00000044,0x00000043,0x000500ae,
- 0x00000045,0x00000046,0x00000041,0x00000044,0x0004003d,0x00000006,0x00000047,0x0000003c,
- 0x000500b0,0x00000045,0x00000049,0x00000047,0x00000048,0x000500a7,0x00000045,0x0000004a,
- 0x00000046,0x00000049,0x000300f7,0x0000004c,0x00000000,0x000400fa,0x0000004a,0x0000004b,
- 0x0000004c,0x000200f8,0x0000004b,0x000200fe,0x0000004d,0x000200f8,0x0000004c,0x0004003d,
- 0x00000006,0x00000051,0x00000036,0x0003003e,0x00000050,0x00000051,0x0004003d,0x00000006,
- 0x00000053,0x0000003c,0x0003003e,0x00000052,0x00000053,0x00060039,0x00000006,0x00000054,
- 0x0000000b,0x00000050,0x00000052,0x0003003e,0x0000004f,0x00000054,0x0004003d,0x00000006,
- 0x0000005b,0x0000004f,0x00050086,0x00000006,0x0000005d,0x0000005b,0x0000005c,0x00060041,
- 0x0000005e,0x0000005f,0x00000059,0x0000005a,0x0000005d,0x0004003d,0x00000006,0x00000060,
- 0x0000005f,0x0003003e,0x00000055,0x00000060,0x0004003d,0x00000006,0x00000062,0x0000003c,
- 0x000500aa,0x00000045,0x00000063,0x00000062,0x00000048,0x000600a9,0x00000024,0x00000065,
- 0x00000063,0x00000030,0x00000064,0x0004007c,0x00000006,0x00000066,0x00000065,0x0003003e,
- 0x00000061,0x00000066,0x0004003d,0x00000006,0x00000069,0x0000003c,0x00050084,0x00000006,
- 0x0000006a,0x00000068,0x00000069,0x0003003e,0x00000067,0x0000006a,0x0004003d,0x00000006,
- 0x0000006c,0x0000003c,0x000500aa,0x00000045,0x0000006d,0x0000006c,0x00000048,0x000600a9,
- 0x00000024,0x00000070,0x0000006d,0x0000006e,0x0000006f,0x0004007c,0x00000006,0x00000071,
- 0x00000070,0x0003003e,0x0000006b,0x00000071,0x0004003d,0x00000006,0x00000072,0x0000003c,
- 0x00050041,0x00000026,0x00000073,0x00000023,0x00000042,0x0004003d,0x00000006,0x00000074,
- 0x00000073,0x000500ae,0x00000045,0x00000075,0x00000072,0x00000074,0x0004003d,0x00000006,
- 0x00000076,0x0000003c,0x000500aa,0x00000045,0x00000077,0x00000076,0x00000048,0x000500a7,
- 0x00000045,0x00000078,0x00000075,0x00000077,0x000300f7,0x0000007a,0x00000000,0x000400fa,
- 0x00000078,0x00000079,0x0000007f,0x000200f8,0x00000079,0x0004003d,0x00000006,0x0000007c,
- 0x0000006b,0x000500c2,0x00000006,0x0000007e,0x0000007c,0x0000007d,0x0003003e,0x0000007b,
- 0x0000007e,0x000200f9,0x0000007a,0x000200f8,0x0000007f,0x0004003d,0x00000006,0x00000080,
- 0x00000055,0x0004003d,0x00000006,0x00000081,0x00000067,0x000500c2,0x00000006,0x00000082,
- 0x00000080,0x00000081,0x0004003d,0x00000006,0x00000083,0x0000006b,0x000500c7,0x00000006,
- 0x00000084,0x00000082,0x00000083,0x0003003e,0x0000007b,0x00000084,0x000200f9,0x0000007a,
- 0x000200f8,0x0000007a,0x0004003d,0x00000006,0x00000085,0x00000061,0x000500b0,0x00000045,
- 0x00000087,0x00000085,0x00000086,0x000300f7,0x00000089,0x00000000,0x000400fa,0x00000087,
- 0x00000088,0x00000089,0x000200f8,0x00000088,0x0004003d,0x00000006,0x0000008c,0x0000007b,
- 0x0004003d,0x00000006,0x0000008d,0x00000061,0x00050082,0x00000006,0x0000008f,0x0000008d,
- 0x0000008e,0x000500c4,0x00000024,0x00000090,0x0000007d,0x0000008f,0x0004007c,0x00000006,
- 0x00000091,0x00000090,0x000500c7,0x00000006,0x00000092,0x0000008c,0x00000091,0x000500ab,
- 0x00000045,0x00000094,0x00000092,0x00000093,0x0003003e,0x0000008b,0x00000094,0x0004003d,
- 0x00000045,0x00000096,0x0000008b,0x000300f7,0x0000009a,0x00000000,0x000400fa,0x00000096,
- 0x00000099,0x0000009e,0x000200f8,0x00000099,0x0004003d,0x00000006,0x0000009c,0x00000061,
- 0x000500c4,0x00000024,0x0000009d,0x0000009b,0x0000009c,0x0003003e,0x00000098,0x0000009d,
- 0x000200f9,0x0000009a,0x000200f8,0x0000009e,0x0003003e,0x00000098,0x0000005a,0x000200f9,
- 0x0000009a,0x000200f8,0x0000009a,0x0004003d,0x00000024,0x0000009f,0x00000098,0x0004007c,
- 0x00000006,0x000000a0,0x0000009f,0x0003003e,0x00000095,0x000000a0,0x0004003d,0x00000006,
- 0x000000a1,0x00000095,0x0004003d,0x00000006,0x000000a2,0x0000007b,0x000500c5,0x00000006,
- 0x000000a3,0x000000a2,0x000000a1,0x0003003e,0x0000007b,0x000000a3,0x000200f9,0x00000089,
- 0x000200f8,0x00000089,0x0004003d,0x00000006,0x000000a5,0x0000007b,0x0004007c,0x00000024,
- 0x000000a6,0x000000a5,0x0003003e,0x000000a4,0x000000a6,0x0004003d,0x00000024,0x000000a8,
- 0x000000a4,0x0004006f,0x0000000d,0x000000a9,0x000000a8,0x0004003d,0x00000006,0x000000aa,
- 0x0000006b,0x000500c2,0x00000006,0x000000ab,0x000000aa,0x0000007d,0x00040070,0x0000000d,
- 0x000000ac,0x000000ab,0x00050088,0x0000000d,0x000000ad,0x000000a9,0x000000ac,0x0003003e,
- 0x000000a7,0x000000ad,0x0004003d,0x0000000d,0x000000ae,0x000000a7,0x0007000c,0x0000000d,
- 0x000000b0,0x00000001,0x00000028,0x000000ae,0x000000af,0x0003003e,0x000000a7,0x000000b0,
- 0x0004003d,0x0000000d,0x000000b1,0x000000a7,0x000200fe,0x000000b1,0x00010038,0x00050036,
- 0x0000000d,0x00000015,0x00000000,0x00000013,0x00030037,0x00000012,0x00000014,0x000200f8,
- 0x00000016,0x0004003d,0x0000000d,0x000000b4,0x00000014,0x000200fe,0x000000b4,0x00010038,
- 0x00050036,0x00000006,0x0000001a,0x00000000,0x00000017,0x00030037,0x00000007,0x00000018,
- 0x00030037,0x00000012,0x00000019,0x000200f8,0x0000001b,0x0004003b,0x00000007,0x000000b7,
- 0x00000007,0x0004003d,0x0000000d,0x000000b8,0x00000019,0x0004007c,0x00000024,0x000000b9,
- 0x000000b8,0x0004007c,0x00000006,0x000000ba,0x000000b9,0x0003003e,0x000000b7,0x000000ba,
- 0x0004003d,0x00000006,0x000000bb,0x000000b7,0x000200fe,0x000000bb,0x00010038,0x00050036,
- 0x00000002,0x0000001e,0x00000000,0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,
- 0x0000001f,0x00050041,0x000000c5,0x000000c6,0x000000c4,0x00000093,0x0004003d,0x00000006,
- 0x000000c7,0x000000c6,0x00050041,0x00000026,0x000000c8,0x00000023,0x0000006e,0x0004003d,
- 0x00000006,0x000000c9,0x000000c8,0x00050086,0x00000006,0x000000ca,0x000000c9,0x0000005c,
- 0x00050080,0x00000006,0x000000cb,0x000000c7,0x000000ca,0x0004003d,0x00000006,0x000000cc,
- 0x0000001d,0x00060041,0x0000005e,0x000000cd,0x000000c1,0x0000005a,0x000000cb,0x0003003e,
- 0x000000cd,0x000000cc,0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * 4 + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// float loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-// uint shiftBits = 10 * component;
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = valueMask >> 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// if(valueBits < 32)
-// {
-// bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
-// uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
-// valueAsUint |= signExtension;
-// }
-// int valueAsInt = int(valueAsUint);
-// float value = float(valueAsInt)/(valueMask >> 1);
-// value = max(value, float(- 1));
-//
-// return value;
-// }
-//
-// float convertComponent(float srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, float value)
-// {
-//
-// uint valueAsUint = floatBitsToInt(value);
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < 1;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * 1 + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// float srcValue = loadSourceComponent(cd);
-// float destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc
deleted file mode 100644
index 57856a1b96d..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc
+++ /dev/null
@@ -1,347 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_0000000D[] = {
- 0x07230203,0x00010000,0x00080007,0x00000100,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000c2,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
- 0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
- 0x00006463,0x00080005,0x00000016,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316928,
- 0x00000000,0x00050005,0x00000015,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001c,
- 0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
- 0x00030005,0x0000001a,0x00006463,0x00040005,0x0000001b,0x756c6176,0x00000065,0x000a0005,
- 0x00000020,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
- 0x00003b31,0x00050005,0x0000001f,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000023,
- 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000023,0x00000000,0x7074756f,
- 0x6f437475,0x00746e75,0x00070006,0x00000023,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
- 0x0000746e,0x00060006,0x00000023,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
- 0x00000023,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000023,0x00000004,
- 0x0000734e,0x00040006,0x00000023,0x00000005,0x00007342,0x00040006,0x00000023,0x00000006,
- 0x00007353,0x00040006,0x00000023,0x00000007,0x00007345,0x00040006,0x00000023,0x00000008,
- 0x0000644e,0x00040006,0x00000023,0x00000009,0x00006442,0x00040006,0x00000023,0x0000000a,
- 0x00006453,0x00040006,0x00000023,0x0000000b,0x00006445,0x00040005,0x00000025,0x61726170,
- 0x0000736d,0x00040005,0x00000037,0x74726576,0x00007865,0x00050005,0x0000003d,0x706d6f63,
- 0x6e656e6f,0x00000074,0x00040005,0x00000050,0x7366666f,0x00007465,0x00040005,0x00000051,
- 0x61726170,0x0000006d,0x00040005,0x00000053,0x61726170,0x0000006d,0x00040005,0x00000056,
- 0x636f6c62,0x0000006b,0x00030005,0x00000058,0x00637273,0x00050006,0x00000058,0x00000000,
- 0x44637273,0x00617461,0x00030005,0x0000005a,0x00000000,0x00050005,0x00000061,0x756c6176,
- 0x74694265,0x00000073,0x00050005,0x00000067,0x66696873,0x74694274,0x00000073,0x00050005,
- 0x00000076,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000086,0x756c6176,0x55734165,
- 0x00746e69,0x00050005,0x00000094,0x654e7369,0x69746167,0x00006576,0x00060005,0x0000009d,
- 0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00040005,0x000000ab,0x756c6176,0x00000065,
- 0x00050005,0x000000b5,0x756c6176,0x55734165,0x00746e69,0x00040005,0x000000bd,0x74736564,
- 0x00000000,0x00060006,0x000000bd,0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,
- 0x000000bf,0x00000000,0x00080005,0x000000c2,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,
- 0x496e6f69,0x00000044,0x00050005,0x000000d4,0x756c6176,0x74754f65,0x00000000,0x00030005,
- 0x000000d5,0x00000069,0x00030005,0x000000dd,0x00006463,0x00050005,0x000000ea,0x56637273,
- 0x65756c61,0x00000000,0x00040005,0x000000eb,0x61726170,0x0000006d,0x00050005,0x000000ee,
- 0x74736564,0x756c6156,0x00000065,0x00040005,0x000000ef,0x61726170,0x0000006d,0x00040005,
- 0x000000f2,0x61726170,0x0000006d,0x00040005,0x000000f4,0x61726170,0x0000006d,0x00040005,
- 0x000000fb,0x61726170,0x0000006d,0x00050048,0x00000023,0x00000000,0x00000023,0x00000000,
- 0x00050048,0x00000023,0x00000001,0x00000023,0x00000004,0x00050048,0x00000023,0x00000002,
- 0x00000023,0x00000008,0x00050048,0x00000023,0x00000003,0x00000023,0x0000000c,0x00050048,
- 0x00000023,0x00000004,0x00000023,0x00000010,0x00050048,0x00000023,0x00000005,0x00000023,
- 0x00000014,0x00050048,0x00000023,0x00000006,0x00000023,0x00000018,0x00050048,0x00000023,
- 0x00000007,0x00000023,0x0000001c,0x00050048,0x00000023,0x00000008,0x00000023,0x00000020,
- 0x00050048,0x00000023,0x00000009,0x00000023,0x00000024,0x00050048,0x00000023,0x0000000a,
- 0x00000023,0x00000028,0x00050048,0x00000023,0x0000000b,0x00000023,0x0000002c,0x00030047,
- 0x00000023,0x00000002,0x00040047,0x00000057,0x00000006,0x00000004,0x00050048,0x00000058,
- 0x00000000,0x00000023,0x00000000,0x00030047,0x00000058,0x00000003,0x00040047,0x0000005a,
- 0x00000022,0x00000000,0x00040047,0x0000005a,0x00000021,0x00000001,0x00040047,0x000000bc,
- 0x00000006,0x00000004,0x00050048,0x000000bd,0x00000000,0x00000023,0x00000000,0x00030047,
- 0x000000bd,0x00000003,0x00040047,0x000000bf,0x00000022,0x00000000,0x00040047,0x000000bf,
- 0x00000021,0x00000000,0x00040047,0x000000c2,0x0000000b,0x0000001c,0x00040047,0x000000ff,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,
- 0x00000008,0x00000006,0x00000007,0x00000007,0x00040015,0x0000000d,0x00000020,0x00000001,
- 0x00040021,0x0000000e,0x0000000d,0x00000007,0x00040020,0x00000012,0x00000007,0x0000000d,
- 0x00030016,0x00000013,0x00000020,0x00040021,0x00000014,0x00000013,0x00000012,0x00040020,
- 0x00000018,0x00000007,0x00000013,0x00050021,0x00000019,0x00000006,0x00000007,0x00000018,
- 0x00040021,0x0000001e,0x00000002,0x00000007,0x000e001e,0x00000023,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00040020,0x00000024,0x00000009,0x00000023,0x0004003b,0x00000024,
- 0x00000025,0x00000009,0x0004002b,0x0000000d,0x00000026,0x00000006,0x00040020,0x00000027,
- 0x00000009,0x00000006,0x0004002b,0x0000000d,0x0000002c,0x00000005,0x0004002b,0x0000000d,
- 0x00000031,0x00000002,0x0004002b,0x0000000d,0x00000039,0x00000008,0x0004002b,0x0000000d,
- 0x00000043,0x00000004,0x00020014,0x00000046,0x0004002b,0x00000006,0x00000049,0x00000003,
- 0x0004002b,0x0000000d,0x0000004e,0x00000000,0x0003001d,0x00000057,0x00000006,0x0003001e,
- 0x00000058,0x00000057,0x00040020,0x00000059,0x00000002,0x00000058,0x0004003b,0x00000059,
- 0x0000005a,0x00000002,0x0004002b,0x00000006,0x0000005c,0x00000004,0x00040020,0x0000005e,
- 0x00000002,0x00000006,0x0004002b,0x0000000d,0x00000064,0x0000000a,0x0004002b,0x00000006,
- 0x0000006d,0x00000000,0x0004002b,0x00000006,0x00000070,0x00000002,0x0004002b,0x0000000d,
- 0x00000079,0x00000003,0x0004002b,0x0000000d,0x0000007a,0x000003ff,0x0004002b,0x00000006,
- 0x00000087,0x00000001,0x0004002b,0x00000006,0x0000008f,0x00000020,0x00040020,0x00000093,
- 0x00000007,0x00000046,0x0004002b,0x0000000d,0x00000096,0x00000001,0x0004002b,0x0000000d,
- 0x000000a2,0xffffffff,0x0003001d,0x000000bc,0x00000006,0x0003001e,0x000000bd,0x000000bc,
- 0x00040020,0x000000be,0x00000002,0x000000bd,0x0004003b,0x000000be,0x000000bf,0x00000002,
- 0x00040017,0x000000c0,0x00000006,0x00000003,0x00040020,0x000000c1,0x00000001,0x000000c0,
- 0x0004003b,0x000000c1,0x000000c2,0x00000001,0x00040020,0x000000c3,0x00000001,0x00000006,
- 0x0004002b,0x00000006,0x000000fe,0x00000040,0x0006002c,0x000000c0,0x000000ff,0x000000fe,
- 0x00000087,0x00000087,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
- 0x00000005,0x0004003b,0x00000007,0x000000d4,0x00000007,0x0004003b,0x00000007,0x000000d5,
- 0x00000007,0x0004003b,0x00000007,0x000000dd,0x00000007,0x0004003b,0x00000012,0x000000ea,
- 0x00000007,0x0004003b,0x00000007,0x000000eb,0x00000007,0x0004003b,0x00000018,0x000000ee,
- 0x00000007,0x0004003b,0x00000012,0x000000ef,0x00000007,0x0004003b,0x00000007,0x000000f2,
- 0x00000007,0x0004003b,0x00000018,0x000000f4,0x00000007,0x0004003b,0x00000007,0x000000fb,
- 0x00000007,0x00050041,0x000000c3,0x000000cc,0x000000c2,0x0000006d,0x0004003d,0x00000006,
- 0x000000cd,0x000000cc,0x00050041,0x00000027,0x000000ce,0x00000025,0x0000004e,0x0004003d,
- 0x00000006,0x000000cf,0x000000ce,0x000500ae,0x00000046,0x000000d0,0x000000cd,0x000000cf,
- 0x000300f7,0x000000d2,0x00000000,0x000400fa,0x000000d0,0x000000d1,0x000000d2,0x000200f8,
- 0x000000d1,0x000100fd,0x000200f8,0x000000d2,0x0003003e,0x000000d4,0x0000006d,0x0003003e,
- 0x000000d5,0x0000006d,0x000200f9,0x000000d6,0x000200f8,0x000000d6,0x000400f6,0x000000d8,
- 0x000000d9,0x00000000,0x000200f9,0x000000da,0x000200f8,0x000000da,0x0004003d,0x00000006,
- 0x000000db,0x000000d5,0x000500b0,0x00000046,0x000000dc,0x000000db,0x00000087,0x000400fa,
- 0x000000dc,0x000000d7,0x000000d8,0x000200f8,0x000000d7,0x00050041,0x000000c3,0x000000de,
- 0x000000c2,0x0000006d,0x0004003d,0x00000006,0x000000df,0x000000de,0x00050084,0x00000006,
- 0x000000e0,0x000000df,0x00000087,0x0004003d,0x00000006,0x000000e1,0x000000d5,0x00050080,
- 0x00000006,0x000000e2,0x000000e0,0x000000e1,0x0003003e,0x000000dd,0x000000e2,0x0004003d,
- 0x00000006,0x000000e3,0x000000dd,0x00050041,0x00000027,0x000000e4,0x00000025,0x00000096,
- 0x0004003d,0x00000006,0x000000e5,0x000000e4,0x000500ae,0x00000046,0x000000e6,0x000000e3,
- 0x000000e5,0x000300f7,0x000000e8,0x00000000,0x000400fa,0x000000e6,0x000000e7,0x000000e8,
- 0x000200f8,0x000000e7,0x000200f9,0x000000d8,0x000200f8,0x000000e8,0x0004003d,0x00000006,
- 0x000000ec,0x000000dd,0x0003003e,0x000000eb,0x000000ec,0x00050039,0x0000000d,0x000000ed,
- 0x00000010,0x000000eb,0x0003003e,0x000000ea,0x000000ed,0x0004003d,0x0000000d,0x000000f0,
- 0x000000ea,0x0003003e,0x000000ef,0x000000f0,0x00050039,0x00000013,0x000000f1,0x00000016,
- 0x000000ef,0x0003003e,0x000000ee,0x000000f1,0x0004003d,0x00000006,0x000000f3,0x000000dd,
- 0x0003003e,0x000000f2,0x000000f3,0x0004003d,0x00000013,0x000000f5,0x000000ee,0x0003003e,
- 0x000000f4,0x000000f5,0x00060039,0x00000006,0x000000f6,0x0000001c,0x000000f2,0x000000f4,
- 0x0004003d,0x00000006,0x000000f7,0x000000d4,0x000500c5,0x00000006,0x000000f8,0x000000f7,
- 0x000000f6,0x0003003e,0x000000d4,0x000000f8,0x000200f9,0x000000d9,0x000200f8,0x000000d9,
- 0x0004003d,0x00000006,0x000000f9,0x000000d5,0x00050080,0x00000006,0x000000fa,0x000000f9,
- 0x00000096,0x0003003e,0x000000d5,0x000000fa,0x000200f9,0x000000d6,0x000200f8,0x000000d8,
- 0x0004003d,0x00000006,0x000000fc,0x000000d4,0x0003003e,0x000000fb,0x000000fc,0x00050039,
- 0x00000002,0x000000fd,0x00000020,0x000000fb,0x000100fd,0x00010038,0x00050036,0x00000006,
- 0x0000000b,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,
- 0x0000000a,0x000200f8,0x0000000c,0x0004003d,0x00000006,0x00000022,0x00000009,0x00050041,
- 0x00000027,0x00000028,0x00000025,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,
- 0x00050084,0x00000006,0x0000002a,0x00000022,0x00000029,0x0004003d,0x00000006,0x0000002b,
- 0x0000000a,0x00050041,0x00000027,0x0000002d,0x00000025,0x0000002c,0x0004003d,0x00000006,
- 0x0000002e,0x0000002d,0x00050084,0x00000006,0x0000002f,0x0000002b,0x0000002e,0x00050080,
- 0x00000006,0x00000030,0x0000002a,0x0000002f,0x00050041,0x00000027,0x00000032,0x00000025,
- 0x00000031,0x0004003d,0x00000006,0x00000033,0x00000032,0x00050080,0x00000006,0x00000034,
- 0x00000030,0x00000033,0x000200fe,0x00000034,0x00010038,0x00050036,0x0000000d,0x00000010,
- 0x00000000,0x0000000e,0x00030037,0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003b,
- 0x00000007,0x00000037,0x00000007,0x0004003b,0x00000007,0x0000003d,0x00000007,0x0004003b,
- 0x00000007,0x00000050,0x00000007,0x0004003b,0x00000007,0x00000051,0x00000007,0x0004003b,
- 0x00000007,0x00000053,0x00000007,0x0004003b,0x00000007,0x00000056,0x00000007,0x0004003b,
- 0x00000007,0x00000061,0x00000007,0x0004003b,0x00000007,0x00000067,0x00000007,0x0004003b,
- 0x00000007,0x0000006a,0x00000007,0x0004003b,0x00000007,0x00000076,0x00000007,0x0004003b,
- 0x00000007,0x00000086,0x00000007,0x0004003b,0x00000093,0x00000094,0x00000007,0x0004003b,
- 0x00000007,0x0000009d,0x00000007,0x0004003b,0x00000012,0x0000009f,0x00000007,0x0004003b,
- 0x00000012,0x000000ab,0x00000007,0x0004003d,0x00000006,0x00000038,0x0000000f,0x00050041,
- 0x00000027,0x0000003a,0x00000025,0x00000039,0x0004003d,0x00000006,0x0000003b,0x0000003a,
- 0x00050086,0x00000006,0x0000003c,0x00000038,0x0000003b,0x0003003e,0x00000037,0x0000003c,
- 0x0004003d,0x00000006,0x0000003e,0x0000000f,0x00050041,0x00000027,0x0000003f,0x00000025,
- 0x00000039,0x0004003d,0x00000006,0x00000040,0x0000003f,0x00050089,0x00000006,0x00000041,
- 0x0000003e,0x00000040,0x0003003e,0x0000003d,0x00000041,0x0004003d,0x00000006,0x00000042,
- 0x0000003d,0x00050041,0x00000027,0x00000044,0x00000025,0x00000043,0x0004003d,0x00000006,
- 0x00000045,0x00000044,0x000500ae,0x00000046,0x00000047,0x00000042,0x00000045,0x0004003d,
- 0x00000006,0x00000048,0x0000003d,0x000500b0,0x00000046,0x0000004a,0x00000048,0x00000049,
- 0x000500a7,0x00000046,0x0000004b,0x00000047,0x0000004a,0x000300f7,0x0000004d,0x00000000,
- 0x000400fa,0x0000004b,0x0000004c,0x0000004d,0x000200f8,0x0000004c,0x000200fe,0x0000004e,
- 0x000200f8,0x0000004d,0x0004003d,0x00000006,0x00000052,0x00000037,0x0003003e,0x00000051,
- 0x00000052,0x0004003d,0x00000006,0x00000054,0x0000003d,0x0003003e,0x00000053,0x00000054,
- 0x00060039,0x00000006,0x00000055,0x0000000b,0x00000051,0x00000053,0x0003003e,0x00000050,
- 0x00000055,0x0004003d,0x00000006,0x0000005b,0x00000050,0x00050086,0x00000006,0x0000005d,
- 0x0000005b,0x0000005c,0x00060041,0x0000005e,0x0000005f,0x0000005a,0x0000004e,0x0000005d,
- 0x0004003d,0x00000006,0x00000060,0x0000005f,0x0003003e,0x00000056,0x00000060,0x0004003d,
- 0x00000006,0x00000062,0x0000003d,0x000500aa,0x00000046,0x00000063,0x00000062,0x00000049,
- 0x000600a9,0x0000000d,0x00000065,0x00000063,0x00000031,0x00000064,0x0004007c,0x00000006,
- 0x00000066,0x00000065,0x0003003e,0x00000061,0x00000066,0x0004003d,0x00000006,0x00000068,
- 0x0000003d,0x000500aa,0x00000046,0x00000069,0x00000068,0x00000049,0x000300f7,0x0000006c,
- 0x00000000,0x000400fa,0x00000069,0x0000006b,0x0000006e,0x000200f8,0x0000006b,0x0003003e,
- 0x0000006a,0x0000006d,0x000200f9,0x0000006c,0x000200f8,0x0000006e,0x0004003d,0x00000006,
- 0x0000006f,0x00000061,0x0004003d,0x00000006,0x00000071,0x0000003d,0x00050082,0x00000006,
- 0x00000072,0x00000070,0x00000071,0x00050084,0x00000006,0x00000073,0x0000006f,0x00000072,
- 0x00050080,0x00000006,0x00000074,0x00000073,0x00000070,0x0003003e,0x0000006a,0x00000074,
- 0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x0004003d,0x00000006,0x00000075,0x0000006a,
- 0x0003003e,0x00000067,0x00000075,0x0004003d,0x00000006,0x00000077,0x0000003d,0x000500aa,
- 0x00000046,0x00000078,0x00000077,0x00000049,0x000600a9,0x0000000d,0x0000007b,0x00000078,
- 0x00000079,0x0000007a,0x0004007c,0x00000006,0x0000007c,0x0000007b,0x0003003e,0x00000076,
- 0x0000007c,0x0004003d,0x00000006,0x0000007d,0x0000003d,0x00050041,0x00000027,0x0000007e,
- 0x00000025,0x00000043,0x0004003d,0x00000006,0x0000007f,0x0000007e,0x000500ae,0x00000046,
- 0x00000080,0x0000007d,0x0000007f,0x0004003d,0x00000006,0x00000081,0x0000003d,0x000500aa,
- 0x00000046,0x00000082,0x00000081,0x00000049,0x000500a7,0x00000046,0x00000083,0x00000080,
- 0x00000082,0x000300f7,0x00000085,0x00000000,0x000400fa,0x00000083,0x00000084,0x00000088,
- 0x000200f8,0x00000084,0x0003003e,0x00000086,0x00000087,0x000200f9,0x00000085,0x000200f8,
- 0x00000088,0x0004003d,0x00000006,0x00000089,0x00000056,0x0004003d,0x00000006,0x0000008a,
- 0x00000067,0x000500c2,0x00000006,0x0000008b,0x00000089,0x0000008a,0x0004003d,0x00000006,
- 0x0000008c,0x00000076,0x000500c7,0x00000006,0x0000008d,0x0000008b,0x0000008c,0x0003003e,
- 0x00000086,0x0000008d,0x000200f9,0x00000085,0x000200f8,0x00000085,0x0004003d,0x00000006,
- 0x0000008e,0x00000061,0x000500b0,0x00000046,0x00000090,0x0000008e,0x0000008f,0x000300f7,
- 0x00000092,0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,
- 0x0004003d,0x00000006,0x00000095,0x00000086,0x0004003d,0x00000006,0x00000097,0x00000061,
- 0x00050082,0x00000006,0x00000098,0x00000097,0x00000087,0x000500c4,0x0000000d,0x00000099,
- 0x00000096,0x00000098,0x0004007c,0x00000006,0x0000009a,0x00000099,0x000500c7,0x00000006,
- 0x0000009b,0x00000095,0x0000009a,0x000500ab,0x00000046,0x0000009c,0x0000009b,0x0000006d,
- 0x0003003e,0x00000094,0x0000009c,0x0004003d,0x00000046,0x0000009e,0x00000094,0x000300f7,
- 0x000000a1,0x00000000,0x000400fa,0x0000009e,0x000000a0,0x000000a5,0x000200f8,0x000000a0,
- 0x0004003d,0x00000006,0x000000a3,0x00000061,0x000500c4,0x0000000d,0x000000a4,0x000000a2,
- 0x000000a3,0x0003003e,0x0000009f,0x000000a4,0x000200f9,0x000000a1,0x000200f8,0x000000a5,
- 0x0003003e,0x0000009f,0x0000004e,0x000200f9,0x000000a1,0x000200f8,0x000000a1,0x0004003d,
- 0x0000000d,0x000000a6,0x0000009f,0x0004007c,0x00000006,0x000000a7,0x000000a6,0x0003003e,
- 0x0000009d,0x000000a7,0x0004003d,0x00000006,0x000000a8,0x0000009d,0x0004003d,0x00000006,
- 0x000000a9,0x00000086,0x000500c5,0x00000006,0x000000aa,0x000000a9,0x000000a8,0x0003003e,
- 0x00000086,0x000000aa,0x000200f9,0x00000092,0x000200f8,0x00000092,0x0004003d,0x00000006,
- 0x000000ac,0x00000086,0x0004007c,0x0000000d,0x000000ad,0x000000ac,0x0003003e,0x000000ab,
- 0x000000ad,0x0004003d,0x0000000d,0x000000ae,0x000000ab,0x000200fe,0x000000ae,0x00010038,
- 0x00050036,0x00000013,0x00000016,0x00000000,0x00000014,0x00030037,0x00000012,0x00000015,
- 0x000200f8,0x00000017,0x0004003d,0x0000000d,0x000000b1,0x00000015,0x0004006f,0x00000013,
- 0x000000b2,0x000000b1,0x000200fe,0x000000b2,0x00010038,0x00050036,0x00000006,0x0000001c,
- 0x00000000,0x00000019,0x00030037,0x00000007,0x0000001a,0x00030037,0x00000018,0x0000001b,
- 0x000200f8,0x0000001d,0x0004003b,0x00000007,0x000000b5,0x00000007,0x0004003d,0x00000013,
- 0x000000b6,0x0000001b,0x0004007c,0x0000000d,0x000000b7,0x000000b6,0x0004007c,0x00000006,
- 0x000000b8,0x000000b7,0x0003003e,0x000000b5,0x000000b8,0x0004003d,0x00000006,0x000000b9,
- 0x000000b5,0x000200fe,0x000000b9,0x00010038,0x00050036,0x00000002,0x00000020,0x00000000,
- 0x0000001e,0x00030037,0x00000007,0x0000001f,0x000200f8,0x00000021,0x00050041,0x000000c3,
- 0x000000c4,0x000000c2,0x0000006d,0x0004003d,0x00000006,0x000000c5,0x000000c4,0x00050041,
- 0x00000027,0x000000c6,0x00000025,0x00000079,0x0004003d,0x00000006,0x000000c7,0x000000c6,
- 0x00050086,0x00000006,0x000000c8,0x000000c7,0x0000005c,0x00050080,0x00000006,0x000000c9,
- 0x000000c5,0x000000c8,0x0004003d,0x00000006,0x000000ca,0x0000001f,0x00060041,0x0000005e,
- 0x000000cb,0x000000bf,0x0000004e,0x000000c9,0x0003003e,0x000000cb,0x000000ca,0x000100fd,
- 0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * 4 + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// int loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-//
-// uint shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// if(valueBits < 32)
-// {
-// bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
-//
-// uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
-// valueAsUint |= signExtension;
-// }
-// int value = int(valueAsUint);
-//
-// return value;
-// }
-//
-// float convertComponent(int srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, float value)
-// {
-//
-// uint valueAsUint = floatBitsToInt(value);
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < 1;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * 1 + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// int srcValue = loadSourceComponent(cd);
-// float destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc
deleted file mode 100644
index a6411a34958..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc
+++ /dev/null
@@ -1,319 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_0000000E[] = {
- 0x07230203,0x00010000,0x00080007,0x000000e2,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000a3,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x0000000f,
- 0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000e,
- 0x00006463,0x00080005,0x00000014,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b317528,
- 0x00000000,0x00050005,0x00000013,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
- 0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
- 0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
- 0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
- 0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
- 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
- 0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
- 0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
- 0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
- 0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
- 0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
- 0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
- 0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
- 0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
- 0x6e656e6f,0x00000074,0x00040005,0x0000004f,0x7366666f,0x00007465,0x00040005,0x00000050,
- 0x61726170,0x0000006d,0x00040005,0x00000052,0x61726170,0x0000006d,0x00040005,0x00000055,
- 0x636f6c62,0x0000006b,0x00030005,0x00000057,0x00637273,0x00050006,0x00000057,0x00000000,
- 0x44637273,0x00617461,0x00030005,0x00000059,0x00000000,0x00050005,0x00000061,0x756c6176,
- 0x74694265,0x00000073,0x00050005,0x00000067,0x66696873,0x74694274,0x00000073,0x00050005,
- 0x00000075,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000085,0x756c6176,0x55734165,
- 0x00746e69,0x00040005,0x0000008d,0x756c6176,0x00000065,0x00050005,0x00000096,0x756c6176,
- 0x55734165,0x00746e69,0x00040005,0x0000009e,0x74736564,0x00000000,0x00060006,0x0000009e,
- 0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000a0,0x00000000,0x00080005,
- 0x000000a3,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
- 0x000000b5,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000b6,0x00000069,0x00030005,
- 0x000000be,0x00006463,0x00050005,0x000000cc,0x56637273,0x65756c61,0x00000000,0x00040005,
- 0x000000cd,0x61726170,0x0000006d,0x00050005,0x000000d0,0x74736564,0x756c6156,0x00000065,
- 0x00040005,0x000000d1,0x61726170,0x0000006d,0x00040005,0x000000d4,0x61726170,0x0000006d,
- 0x00040005,0x000000d6,0x61726170,0x0000006d,0x00040005,0x000000dd,0x61726170,0x0000006d,
- 0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
- 0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
- 0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
- 0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
- 0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
- 0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
- 0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
- 0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
- 0x00000056,0x00000006,0x00000004,0x00050048,0x00000057,0x00000000,0x00000023,0x00000000,
- 0x00030047,0x00000057,0x00000003,0x00040047,0x00000059,0x00000022,0x00000000,0x00040047,
- 0x00000059,0x00000021,0x00000001,0x00040047,0x0000009d,0x00000006,0x00000004,0x00050048,
- 0x0000009e,0x00000000,0x00000023,0x00000000,0x00030047,0x0000009e,0x00000003,0x00040047,
- 0x000000a0,0x00000022,0x00000000,0x00040047,0x000000a0,0x00000021,0x00000000,0x00040047,
- 0x000000a3,0x0000000b,0x0000001c,0x00040047,0x000000e1,0x0000000b,0x00000019,0x00020013,
- 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
- 0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
- 0x00000007,0x00040021,0x0000000d,0x00000006,0x00000007,0x00030016,0x00000011,0x00000020,
- 0x00040021,0x00000012,0x00000011,0x00000007,0x00040020,0x00000016,0x00000007,0x00000011,
- 0x00050021,0x00000017,0x00000006,0x00000007,0x00000016,0x00040021,0x0000001c,0x00000002,
- 0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
- 0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
- 0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
- 0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
- 0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
- 0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x00000006,0x00000048,
- 0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000000,0x0003001d,0x00000056,0x00000006,
- 0x0003001e,0x00000057,0x00000056,0x00040020,0x00000058,0x00000002,0x00000057,0x0004003b,
- 0x00000058,0x00000059,0x00000002,0x0004002b,0x00000024,0x0000005a,0x00000000,0x0004002b,
- 0x00000006,0x0000005c,0x00000004,0x00040020,0x0000005e,0x00000002,0x00000006,0x0004002b,
- 0x00000024,0x00000064,0x0000000a,0x0004002b,0x00000006,0x0000006f,0x00000002,0x0004002b,
- 0x00000024,0x00000078,0x00000003,0x0004002b,0x00000024,0x00000079,0x000003ff,0x0004002b,
- 0x00000006,0x00000086,0x00000001,0x0003001d,0x0000009d,0x00000006,0x0003001e,0x0000009e,
- 0x0000009d,0x00040020,0x0000009f,0x00000002,0x0000009e,0x0004003b,0x0000009f,0x000000a0,
- 0x00000002,0x00040017,0x000000a1,0x00000006,0x00000003,0x00040020,0x000000a2,0x00000001,
- 0x000000a1,0x0004003b,0x000000a2,0x000000a3,0x00000001,0x00040020,0x000000a4,0x00000001,
- 0x00000006,0x0004002b,0x00000024,0x000000c5,0x00000001,0x0004002b,0x00000006,0x000000e0,
- 0x00000040,0x0006002c,0x000000a1,0x000000e1,0x000000e0,0x00000086,0x00000086,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
- 0x000000b5,0x00000007,0x0004003b,0x00000007,0x000000b6,0x00000007,0x0004003b,0x00000007,
- 0x000000be,0x00000007,0x0004003b,0x00000007,0x000000cc,0x00000007,0x0004003b,0x00000007,
- 0x000000cd,0x00000007,0x0004003b,0x00000016,0x000000d0,0x00000007,0x0004003b,0x00000007,
- 0x000000d1,0x00000007,0x0004003b,0x00000007,0x000000d4,0x00000007,0x0004003b,0x00000016,
- 0x000000d6,0x00000007,0x0004003b,0x00000007,0x000000dd,0x00000007,0x00050041,0x000000a4,
- 0x000000ad,0x000000a3,0x0000004d,0x0004003d,0x00000006,0x000000ae,0x000000ad,0x00050041,
- 0x00000026,0x000000af,0x00000023,0x0000005a,0x0004003d,0x00000006,0x000000b0,0x000000af,
- 0x000500ae,0x00000045,0x000000b1,0x000000ae,0x000000b0,0x000300f7,0x000000b3,0x00000000,
- 0x000400fa,0x000000b1,0x000000b2,0x000000b3,0x000200f8,0x000000b2,0x000100fd,0x000200f8,
- 0x000000b3,0x0003003e,0x000000b5,0x0000004d,0x0003003e,0x000000b6,0x0000004d,0x000200f9,
- 0x000000b7,0x000200f8,0x000000b7,0x000400f6,0x000000b9,0x000000ba,0x00000000,0x000200f9,
- 0x000000bb,0x000200f8,0x000000bb,0x0004003d,0x00000006,0x000000bc,0x000000b6,0x000500b0,
- 0x00000045,0x000000bd,0x000000bc,0x00000086,0x000400fa,0x000000bd,0x000000b8,0x000000b9,
- 0x000200f8,0x000000b8,0x00050041,0x000000a4,0x000000bf,0x000000a3,0x0000004d,0x0004003d,
- 0x00000006,0x000000c0,0x000000bf,0x00050084,0x00000006,0x000000c1,0x000000c0,0x00000086,
- 0x0004003d,0x00000006,0x000000c2,0x000000b6,0x00050080,0x00000006,0x000000c3,0x000000c1,
- 0x000000c2,0x0003003e,0x000000be,0x000000c3,0x0004003d,0x00000006,0x000000c4,0x000000be,
- 0x00050041,0x00000026,0x000000c6,0x00000023,0x000000c5,0x0004003d,0x00000006,0x000000c7,
- 0x000000c6,0x000500ae,0x00000045,0x000000c8,0x000000c4,0x000000c7,0x000300f7,0x000000ca,
- 0x00000000,0x000400fa,0x000000c8,0x000000c9,0x000000ca,0x000200f8,0x000000c9,0x000200f9,
- 0x000000b9,0x000200f8,0x000000ca,0x0004003d,0x00000006,0x000000ce,0x000000be,0x0003003e,
- 0x000000cd,0x000000ce,0x00050039,0x00000006,0x000000cf,0x0000000f,0x000000cd,0x0003003e,
- 0x000000cc,0x000000cf,0x0004003d,0x00000006,0x000000d2,0x000000cc,0x0003003e,0x000000d1,
- 0x000000d2,0x00050039,0x00000011,0x000000d3,0x00000014,0x000000d1,0x0003003e,0x000000d0,
- 0x000000d3,0x0004003d,0x00000006,0x000000d5,0x000000be,0x0003003e,0x000000d4,0x000000d5,
- 0x0004003d,0x00000011,0x000000d7,0x000000d0,0x0003003e,0x000000d6,0x000000d7,0x00060039,
- 0x00000006,0x000000d8,0x0000001a,0x000000d4,0x000000d6,0x0004003d,0x00000006,0x000000d9,
- 0x000000b5,0x000500c5,0x00000006,0x000000da,0x000000d9,0x000000d8,0x0003003e,0x000000b5,
- 0x000000da,0x000200f9,0x000000ba,0x000200f8,0x000000ba,0x0004003d,0x00000006,0x000000db,
- 0x000000b6,0x00050080,0x00000006,0x000000dc,0x000000db,0x000000c5,0x0003003e,0x000000b6,
- 0x000000dc,0x000200f9,0x000000b7,0x000200f8,0x000000b9,0x0004003d,0x00000006,0x000000de,
- 0x000000b5,0x0003003e,0x000000dd,0x000000de,0x00050039,0x00000002,0x000000df,0x0000001e,
- 0x000000dd,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,
- 0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,
- 0x0004003d,0x00000006,0x00000020,0x00000009,0x00050041,0x00000026,0x00000027,0x00000023,
- 0x00000025,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050084,0x00000006,0x00000029,
- 0x00000020,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000a,0x00050041,0x00000026,
- 0x0000002c,0x00000023,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x00050084,
- 0x00000006,0x0000002e,0x0000002a,0x0000002d,0x00050080,0x00000006,0x0000002f,0x00000029,
- 0x0000002e,0x00050041,0x00000026,0x00000031,0x00000023,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002f,0x00000032,0x000200fe,
- 0x00000033,0x00010038,0x00050036,0x00000006,0x0000000f,0x00000000,0x0000000d,0x00030037,
- 0x00000007,0x0000000e,0x000200f8,0x00000010,0x0004003b,0x00000007,0x00000036,0x00000007,
- 0x0004003b,0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004f,0x00000007,
- 0x0004003b,0x00000007,0x00000050,0x00000007,0x0004003b,0x00000007,0x00000052,0x00000007,
- 0x0004003b,0x00000007,0x00000055,0x00000007,0x0004003b,0x00000007,0x00000061,0x00000007,
- 0x0004003b,0x00000007,0x00000067,0x00000007,0x0004003b,0x00000007,0x0000006a,0x00000007,
- 0x0004003b,0x00000007,0x00000075,0x00000007,0x0004003b,0x00000007,0x00000085,0x00000007,
- 0x0004003b,0x00000007,0x0000008d,0x00000007,0x0004003d,0x00000006,0x00000037,0x0000000e,
- 0x00050041,0x00000026,0x00000039,0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003a,
- 0x00000039,0x00050086,0x00000006,0x0000003b,0x00000037,0x0000003a,0x0003003e,0x00000036,
- 0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000000e,0x00050041,0x00000026,0x0000003e,
- 0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050089,0x00000006,
- 0x00000040,0x0000003d,0x0000003f,0x0003003e,0x0000003c,0x00000040,0x0004003d,0x00000006,
- 0x00000041,0x0000003c,0x00050041,0x00000026,0x00000043,0x00000023,0x00000042,0x0004003d,
- 0x00000006,0x00000044,0x00000043,0x000500ae,0x00000045,0x00000046,0x00000041,0x00000044,
- 0x0004003d,0x00000006,0x00000047,0x0000003c,0x000500b0,0x00000045,0x00000049,0x00000047,
- 0x00000048,0x000500a7,0x00000045,0x0000004a,0x00000046,0x00000049,0x000300f7,0x0000004c,
- 0x00000000,0x000400fa,0x0000004a,0x0000004b,0x0000004c,0x000200f8,0x0000004b,0x000200fe,
- 0x0000004d,0x000200f8,0x0000004c,0x0004003d,0x00000006,0x00000051,0x00000036,0x0003003e,
- 0x00000050,0x00000051,0x0004003d,0x00000006,0x00000053,0x0000003c,0x0003003e,0x00000052,
- 0x00000053,0x00060039,0x00000006,0x00000054,0x0000000b,0x00000050,0x00000052,0x0003003e,
- 0x0000004f,0x00000054,0x0004003d,0x00000006,0x0000005b,0x0000004f,0x00050086,0x00000006,
- 0x0000005d,0x0000005b,0x0000005c,0x00060041,0x0000005e,0x0000005f,0x00000059,0x0000005a,
- 0x0000005d,0x0004003d,0x00000006,0x00000060,0x0000005f,0x0003003e,0x00000055,0x00000060,
- 0x0004003d,0x00000006,0x00000062,0x0000003c,0x000500aa,0x00000045,0x00000063,0x00000062,
- 0x00000048,0x000600a9,0x00000024,0x00000065,0x00000063,0x00000030,0x00000064,0x0004007c,
- 0x00000006,0x00000066,0x00000065,0x0003003e,0x00000061,0x00000066,0x0004003d,0x00000006,
- 0x00000068,0x0000003c,0x000500aa,0x00000045,0x00000069,0x00000068,0x00000048,0x000300f7,
- 0x0000006c,0x00000000,0x000400fa,0x00000069,0x0000006b,0x0000006d,0x000200f8,0x0000006b,
- 0x0003003e,0x0000006a,0x0000004d,0x000200f9,0x0000006c,0x000200f8,0x0000006d,0x0004003d,
- 0x00000006,0x0000006e,0x00000061,0x0004003d,0x00000006,0x00000070,0x0000003c,0x00050082,
- 0x00000006,0x00000071,0x0000006f,0x00000070,0x00050084,0x00000006,0x00000072,0x0000006e,
- 0x00000071,0x00050080,0x00000006,0x00000073,0x00000072,0x0000006f,0x0003003e,0x0000006a,
- 0x00000073,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x0004003d,0x00000006,0x00000074,
- 0x0000006a,0x0003003e,0x00000067,0x00000074,0x0004003d,0x00000006,0x00000076,0x0000003c,
- 0x000500aa,0x00000045,0x00000077,0x00000076,0x00000048,0x000600a9,0x00000024,0x0000007a,
- 0x00000077,0x00000078,0x00000079,0x0004007c,0x00000006,0x0000007b,0x0000007a,0x0003003e,
- 0x00000075,0x0000007b,0x0004003d,0x00000006,0x0000007c,0x0000003c,0x00050041,0x00000026,
- 0x0000007d,0x00000023,0x00000042,0x0004003d,0x00000006,0x0000007e,0x0000007d,0x000500ae,
- 0x00000045,0x0000007f,0x0000007c,0x0000007e,0x0004003d,0x00000006,0x00000080,0x0000003c,
- 0x000500aa,0x00000045,0x00000081,0x00000080,0x00000048,0x000500a7,0x00000045,0x00000082,
- 0x0000007f,0x00000081,0x000300f7,0x00000084,0x00000000,0x000400fa,0x00000082,0x00000083,
- 0x00000087,0x000200f8,0x00000083,0x0003003e,0x00000085,0x00000086,0x000200f9,0x00000084,
- 0x000200f8,0x00000087,0x0004003d,0x00000006,0x00000088,0x00000055,0x0004003d,0x00000006,
- 0x00000089,0x00000067,0x000500c2,0x00000006,0x0000008a,0x00000088,0x00000089,0x0004003d,
- 0x00000006,0x0000008b,0x00000075,0x000500c7,0x00000006,0x0000008c,0x0000008a,0x0000008b,
- 0x0003003e,0x00000085,0x0000008c,0x000200f9,0x00000084,0x000200f8,0x00000084,0x0004003d,
- 0x00000006,0x0000008e,0x00000085,0x0003003e,0x0000008d,0x0000008e,0x0004003d,0x00000006,
- 0x0000008f,0x0000008d,0x000200fe,0x0000008f,0x00010038,0x00050036,0x00000011,0x00000014,
- 0x00000000,0x00000012,0x00030037,0x00000007,0x00000013,0x000200f8,0x00000015,0x0004003d,
- 0x00000006,0x00000092,0x00000013,0x00040070,0x00000011,0x00000093,0x00000092,0x000200fe,
- 0x00000093,0x00010038,0x00050036,0x00000006,0x0000001a,0x00000000,0x00000017,0x00030037,
- 0x00000007,0x00000018,0x00030037,0x00000016,0x00000019,0x000200f8,0x0000001b,0x0004003b,
- 0x00000007,0x00000096,0x00000007,0x0004003d,0x00000011,0x00000097,0x00000019,0x0004007c,
- 0x00000024,0x00000098,0x00000097,0x0004007c,0x00000006,0x00000099,0x00000098,0x0003003e,
- 0x00000096,0x00000099,0x0004003d,0x00000006,0x0000009a,0x00000096,0x000200fe,0x0000009a,
- 0x00010038,0x00050036,0x00000002,0x0000001e,0x00000000,0x0000001c,0x00030037,0x00000007,
- 0x0000001d,0x000200f8,0x0000001f,0x00050041,0x000000a4,0x000000a5,0x000000a3,0x0000004d,
- 0x0004003d,0x00000006,0x000000a6,0x000000a5,0x00050041,0x00000026,0x000000a7,0x00000023,
- 0x00000078,0x0004003d,0x00000006,0x000000a8,0x000000a7,0x00050086,0x00000006,0x000000a9,
- 0x000000a8,0x0000005c,0x00050080,0x00000006,0x000000aa,0x000000a6,0x000000a9,0x0004003d,
- 0x00000006,0x000000ab,0x0000001d,0x00060041,0x0000005e,0x000000ac,0x000000a0,0x0000005a,
- 0x000000aa,0x0003003e,0x000000ac,0x000000ab,0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * 4 + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// uint loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-//
-// uint shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// uint value = valueAsUint;
-//
-// return value;
-// }
-//
-// float convertComponent(uint srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, float value)
-// {
-//
-// uint valueAsUint = floatBitsToInt(value);
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < 1;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * 1 + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// uint srcValue = loadSourceComponent(cd);
-// float destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc
deleted file mode 100644
index 8fe14eccfb0..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc
+++ /dev/null
@@ -1,356 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_0000000F[] = {
- 0x07230203,0x00010000,0x00080007,0x0000010c,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000ce,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
- 0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
- 0x00006463,0x00080005,0x00000015,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316628,
- 0x00000000,0x00050005,0x00000014,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
- 0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
- 0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
- 0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
- 0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
- 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
- 0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
- 0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
- 0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
- 0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
- 0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
- 0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
- 0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
- 0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
- 0x6e656e6f,0x00000074,0x00040005,0x0000004f,0x7366666f,0x00007465,0x00040005,0x00000050,
- 0x61726170,0x0000006d,0x00040005,0x00000052,0x61726170,0x0000006d,0x00040005,0x00000055,
- 0x636f6c62,0x0000006b,0x00030005,0x00000057,0x00637273,0x00050006,0x00000057,0x00000000,
- 0x44637273,0x00617461,0x00030005,0x00000059,0x00000000,0x00050005,0x00000061,0x756c6176,
- 0x74694265,0x00000073,0x00050005,0x00000067,0x66696873,0x74694274,0x00000073,0x00050005,
- 0x00000076,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000086,0x756c6176,0x55734165,
- 0x00746e69,0x00050005,0x00000096,0x654e7369,0x69746167,0x00006576,0x00060005,0x0000009f,
- 0x6e676973,0x65747845,0x6f69736e,0x0000006e,0x00050005,0x000000ae,0x756c6176,0x49734165,
- 0x0000746e,0x00040005,0x000000b1,0x756c6176,0x00000065,0x00050005,0x000000c1,0x756c6176,
- 0x55734165,0x00746e69,0x00040005,0x000000c9,0x74736564,0x00000000,0x00060006,0x000000c9,
- 0x00000000,0x74736564,0x61746144,0x00000000,0x00030005,0x000000cb,0x00000000,0x00080005,
- 0x000000ce,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,
- 0x000000e0,0x756c6176,0x74754f65,0x00000000,0x00030005,0x000000e1,0x00000069,0x00030005,
- 0x000000e9,0x00006463,0x00050005,0x000000f6,0x56637273,0x65756c61,0x00000000,0x00040005,
- 0x000000f7,0x61726170,0x0000006d,0x00050005,0x000000fa,0x74736564,0x756c6156,0x00000065,
- 0x00040005,0x000000fb,0x61726170,0x0000006d,0x00040005,0x000000fe,0x61726170,0x0000006d,
- 0x00040005,0x00000100,0x61726170,0x0000006d,0x00040005,0x00000107,0x61726170,0x0000006d,
- 0x00050048,0x00000021,0x00000000,0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,
- 0x00000023,0x00000004,0x00050048,0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,
- 0x00000021,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,
- 0x00000010,0x00050048,0x00000021,0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,
- 0x00000006,0x00000023,0x00000018,0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,
- 0x00050048,0x00000021,0x00000008,0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,
- 0x00000023,0x00000024,0x00050048,0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,
- 0x00000021,0x0000000b,0x00000023,0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,
- 0x00000056,0x00000006,0x00000004,0x00050048,0x00000057,0x00000000,0x00000023,0x00000000,
- 0x00030047,0x00000057,0x00000003,0x00040047,0x00000059,0x00000022,0x00000000,0x00040047,
- 0x00000059,0x00000021,0x00000001,0x00040047,0x000000c8,0x00000006,0x00000004,0x00050048,
- 0x000000c9,0x00000000,0x00000023,0x00000000,0x00030047,0x000000c9,0x00000003,0x00040047,
- 0x000000cb,0x00000022,0x00000000,0x00040047,0x000000cb,0x00000021,0x00000000,0x00040047,
- 0x000000ce,0x0000000b,0x0000001c,0x00040047,0x0000010b,0x0000000b,0x00000019,0x00020013,
- 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,
- 0x00040020,0x00000007,0x00000007,0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,
- 0x00000007,0x00030016,0x0000000d,0x00000020,0x00040021,0x0000000e,0x0000000d,0x00000007,
- 0x00040020,0x00000012,0x00000007,0x0000000d,0x00040021,0x00000013,0x0000000d,0x00000012,
- 0x00050021,0x00000017,0x00000006,0x00000007,0x00000012,0x00040021,0x0000001c,0x00000002,
- 0x00000007,0x000e001e,0x00000021,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
- 0x00000022,0x00000009,0x00000021,0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,
- 0x00000024,0x00000020,0x00000001,0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,
- 0x00000026,0x00000009,0x00000006,0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,
- 0x00000024,0x00000030,0x00000002,0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,
- 0x00000024,0x00000042,0x00000004,0x00020014,0x00000045,0x0004002b,0x00000006,0x00000048,
- 0x00000003,0x0004002b,0x0000000d,0x0000004d,0x00000000,0x0003001d,0x00000056,0x00000006,
- 0x0003001e,0x00000057,0x00000056,0x00040020,0x00000058,0x00000002,0x00000057,0x0004003b,
- 0x00000058,0x00000059,0x00000002,0x0004002b,0x00000024,0x0000005a,0x00000000,0x0004002b,
- 0x00000006,0x0000005c,0x00000004,0x00040020,0x0000005e,0x00000002,0x00000006,0x0004002b,
- 0x00000024,0x00000064,0x0000000a,0x0004002b,0x00000006,0x0000006d,0x00000000,0x0004002b,
- 0x00000006,0x00000070,0x00000002,0x0004002b,0x00000024,0x00000079,0x00000003,0x0004002b,
- 0x00000024,0x0000007a,0x000003ff,0x0004002b,0x00000024,0x00000088,0x00000001,0x0004002b,
- 0x00000006,0x00000091,0x00000020,0x00040020,0x00000095,0x00000007,0x00000045,0x0004002b,
- 0x00000006,0x00000099,0x00000001,0x00040020,0x000000a1,0x00000007,0x00000024,0x0004002b,
- 0x00000024,0x000000a5,0xffffffff,0x0004002b,0x0000000d,0x000000b9,0xbf800000,0x0003001d,
- 0x000000c8,0x00000006,0x0003001e,0x000000c9,0x000000c8,0x00040020,0x000000ca,0x00000002,
- 0x000000c9,0x0004003b,0x000000ca,0x000000cb,0x00000002,0x00040017,0x000000cc,0x00000006,
- 0x00000003,0x00040020,0x000000cd,0x00000001,0x000000cc,0x0004003b,0x000000cd,0x000000ce,
- 0x00000001,0x00040020,0x000000cf,0x00000001,0x00000006,0x0004002b,0x00000006,0x0000010a,
- 0x00000040,0x0006002c,0x000000cc,0x0000010b,0x0000010a,0x00000099,0x00000099,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,
- 0x000000e0,0x00000007,0x0004003b,0x00000007,0x000000e1,0x00000007,0x0004003b,0x00000007,
- 0x000000e9,0x00000007,0x0004003b,0x00000012,0x000000f6,0x00000007,0x0004003b,0x00000007,
- 0x000000f7,0x00000007,0x0004003b,0x00000012,0x000000fa,0x00000007,0x0004003b,0x00000012,
- 0x000000fb,0x00000007,0x0004003b,0x00000007,0x000000fe,0x00000007,0x0004003b,0x00000012,
- 0x00000100,0x00000007,0x0004003b,0x00000007,0x00000107,0x00000007,0x00050041,0x000000cf,
- 0x000000d8,0x000000ce,0x0000006d,0x0004003d,0x00000006,0x000000d9,0x000000d8,0x00050041,
- 0x00000026,0x000000da,0x00000023,0x0000005a,0x0004003d,0x00000006,0x000000db,0x000000da,
- 0x000500ae,0x00000045,0x000000dc,0x000000d9,0x000000db,0x000300f7,0x000000de,0x00000000,
- 0x000400fa,0x000000dc,0x000000dd,0x000000de,0x000200f8,0x000000dd,0x000100fd,0x000200f8,
- 0x000000de,0x0003003e,0x000000e0,0x0000006d,0x0003003e,0x000000e1,0x0000006d,0x000200f9,
- 0x000000e2,0x000200f8,0x000000e2,0x000400f6,0x000000e4,0x000000e5,0x00000000,0x000200f9,
- 0x000000e6,0x000200f8,0x000000e6,0x0004003d,0x00000006,0x000000e7,0x000000e1,0x000500b0,
- 0x00000045,0x000000e8,0x000000e7,0x00000099,0x000400fa,0x000000e8,0x000000e3,0x000000e4,
- 0x000200f8,0x000000e3,0x00050041,0x000000cf,0x000000ea,0x000000ce,0x0000006d,0x0004003d,
- 0x00000006,0x000000eb,0x000000ea,0x00050084,0x00000006,0x000000ec,0x000000eb,0x00000099,
- 0x0004003d,0x00000006,0x000000ed,0x000000e1,0x00050080,0x00000006,0x000000ee,0x000000ec,
- 0x000000ed,0x0003003e,0x000000e9,0x000000ee,0x0004003d,0x00000006,0x000000ef,0x000000e9,
- 0x00050041,0x00000026,0x000000f0,0x00000023,0x00000088,0x0004003d,0x00000006,0x000000f1,
- 0x000000f0,0x000500ae,0x00000045,0x000000f2,0x000000ef,0x000000f1,0x000300f7,0x000000f4,
- 0x00000000,0x000400fa,0x000000f2,0x000000f3,0x000000f4,0x000200f8,0x000000f3,0x000200f9,
- 0x000000e4,0x000200f8,0x000000f4,0x0004003d,0x00000006,0x000000f8,0x000000e9,0x0003003e,
- 0x000000f7,0x000000f8,0x00050039,0x0000000d,0x000000f9,0x00000010,0x000000f7,0x0003003e,
- 0x000000f6,0x000000f9,0x0004003d,0x0000000d,0x000000fc,0x000000f6,0x0003003e,0x000000fb,
- 0x000000fc,0x00050039,0x0000000d,0x000000fd,0x00000015,0x000000fb,0x0003003e,0x000000fa,
- 0x000000fd,0x0004003d,0x00000006,0x000000ff,0x000000e9,0x0003003e,0x000000fe,0x000000ff,
- 0x0004003d,0x0000000d,0x00000101,0x000000fa,0x0003003e,0x00000100,0x00000101,0x00060039,
- 0x00000006,0x00000102,0x0000001a,0x000000fe,0x00000100,0x0004003d,0x00000006,0x00000103,
- 0x000000e0,0x000500c5,0x00000006,0x00000104,0x00000103,0x00000102,0x0003003e,0x000000e0,
- 0x00000104,0x000200f9,0x000000e5,0x000200f8,0x000000e5,0x0004003d,0x00000006,0x00000105,
- 0x000000e1,0x00050080,0x00000006,0x00000106,0x00000105,0x00000088,0x0003003e,0x000000e1,
- 0x00000106,0x000200f9,0x000000e2,0x000200f8,0x000000e4,0x0004003d,0x00000006,0x00000108,
- 0x000000e0,0x0003003e,0x00000107,0x00000108,0x00050039,0x00000002,0x00000109,0x0000001e,
- 0x00000107,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,0x00000008,
- 0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,0x0000000c,
- 0x0004003d,0x00000006,0x00000020,0x00000009,0x00050041,0x00000026,0x00000027,0x00000023,
- 0x00000025,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050084,0x00000006,0x00000029,
- 0x00000020,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000a,0x00050041,0x00000026,
- 0x0000002c,0x00000023,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x00050084,
- 0x00000006,0x0000002e,0x0000002a,0x0000002d,0x00050080,0x00000006,0x0000002f,0x00000029,
- 0x0000002e,0x00050041,0x00000026,0x00000031,0x00000023,0x00000030,0x0004003d,0x00000006,
- 0x00000032,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002f,0x00000032,0x000200fe,
- 0x00000033,0x00010038,0x00050036,0x0000000d,0x00000010,0x00000000,0x0000000e,0x00030037,
- 0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003b,0x00000007,0x00000036,0x00000007,
- 0x0004003b,0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004f,0x00000007,
- 0x0004003b,0x00000007,0x00000050,0x00000007,0x0004003b,0x00000007,0x00000052,0x00000007,
- 0x0004003b,0x00000007,0x00000055,0x00000007,0x0004003b,0x00000007,0x00000061,0x00000007,
- 0x0004003b,0x00000007,0x00000067,0x00000007,0x0004003b,0x00000007,0x0000006a,0x00000007,
- 0x0004003b,0x00000007,0x00000076,0x00000007,0x0004003b,0x00000007,0x00000086,0x00000007,
- 0x0004003b,0x00000095,0x00000096,0x00000007,0x0004003b,0x00000007,0x0000009f,0x00000007,
- 0x0004003b,0x000000a1,0x000000a2,0x00000007,0x0004003b,0x000000a1,0x000000ae,0x00000007,
- 0x0004003b,0x00000012,0x000000b1,0x00000007,0x0004003d,0x00000006,0x00000037,0x0000000f,
- 0x00050041,0x00000026,0x00000039,0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003a,
- 0x00000039,0x00050086,0x00000006,0x0000003b,0x00000037,0x0000003a,0x0003003e,0x00000036,
- 0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000000f,0x00050041,0x00000026,0x0000003e,
- 0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050089,0x00000006,
- 0x00000040,0x0000003d,0x0000003f,0x0003003e,0x0000003c,0x00000040,0x0004003d,0x00000006,
- 0x00000041,0x0000003c,0x00050041,0x00000026,0x00000043,0x00000023,0x00000042,0x0004003d,
- 0x00000006,0x00000044,0x00000043,0x000500ae,0x00000045,0x00000046,0x00000041,0x00000044,
- 0x0004003d,0x00000006,0x00000047,0x0000003c,0x000500b0,0x00000045,0x00000049,0x00000047,
- 0x00000048,0x000500a7,0x00000045,0x0000004a,0x00000046,0x00000049,0x000300f7,0x0000004c,
- 0x00000000,0x000400fa,0x0000004a,0x0000004b,0x0000004c,0x000200f8,0x0000004b,0x000200fe,
- 0x0000004d,0x000200f8,0x0000004c,0x0004003d,0x00000006,0x00000051,0x00000036,0x0003003e,
- 0x00000050,0x00000051,0x0004003d,0x00000006,0x00000053,0x0000003c,0x0003003e,0x00000052,
- 0x00000053,0x00060039,0x00000006,0x00000054,0x0000000b,0x00000050,0x00000052,0x0003003e,
- 0x0000004f,0x00000054,0x0004003d,0x00000006,0x0000005b,0x0000004f,0x00050086,0x00000006,
- 0x0000005d,0x0000005b,0x0000005c,0x00060041,0x0000005e,0x0000005f,0x00000059,0x0000005a,
- 0x0000005d,0x0004003d,0x00000006,0x00000060,0x0000005f,0x0003003e,0x00000055,0x00000060,
- 0x0004003d,0x00000006,0x00000062,0x0000003c,0x000500aa,0x00000045,0x00000063,0x00000062,
- 0x00000048,0x000600a9,0x00000024,0x00000065,0x00000063,0x00000030,0x00000064,0x0004007c,
- 0x00000006,0x00000066,0x00000065,0x0003003e,0x00000061,0x00000066,0x0004003d,0x00000006,
- 0x00000068,0x0000003c,0x000500aa,0x00000045,0x00000069,0x00000068,0x00000048,0x000300f7,
- 0x0000006c,0x00000000,0x000400fa,0x00000069,0x0000006b,0x0000006e,0x000200f8,0x0000006b,
- 0x0003003e,0x0000006a,0x0000006d,0x000200f9,0x0000006c,0x000200f8,0x0000006e,0x0004003d,
- 0x00000006,0x0000006f,0x00000061,0x0004003d,0x00000006,0x00000071,0x0000003c,0x00050082,
- 0x00000006,0x00000072,0x00000070,0x00000071,0x00050084,0x00000006,0x00000073,0x0000006f,
- 0x00000072,0x00050080,0x00000006,0x00000074,0x00000073,0x00000070,0x0003003e,0x0000006a,
- 0x00000074,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x0004003d,0x00000006,0x00000075,
- 0x0000006a,0x0003003e,0x00000067,0x00000075,0x0004003d,0x00000006,0x00000077,0x0000003c,
- 0x000500aa,0x00000045,0x00000078,0x00000077,0x00000048,0x000600a9,0x00000024,0x0000007b,
- 0x00000078,0x00000079,0x0000007a,0x0004007c,0x00000006,0x0000007c,0x0000007b,0x0003003e,
- 0x00000076,0x0000007c,0x0004003d,0x00000006,0x0000007d,0x0000003c,0x00050041,0x00000026,
- 0x0000007e,0x00000023,0x00000042,0x0004003d,0x00000006,0x0000007f,0x0000007e,0x000500ae,
- 0x00000045,0x00000080,0x0000007d,0x0000007f,0x0004003d,0x00000006,0x00000081,0x0000003c,
- 0x000500aa,0x00000045,0x00000082,0x00000081,0x00000048,0x000500a7,0x00000045,0x00000083,
- 0x00000080,0x00000082,0x000300f7,0x00000085,0x00000000,0x000400fa,0x00000083,0x00000084,
- 0x0000008a,0x000200f8,0x00000084,0x0004003d,0x00000006,0x00000087,0x00000076,0x000500c2,
- 0x00000006,0x00000089,0x00000087,0x00000088,0x0003003e,0x00000086,0x00000089,0x000200f9,
- 0x00000085,0x000200f8,0x0000008a,0x0004003d,0x00000006,0x0000008b,0x00000055,0x0004003d,
- 0x00000006,0x0000008c,0x00000067,0x000500c2,0x00000006,0x0000008d,0x0000008b,0x0000008c,
- 0x0004003d,0x00000006,0x0000008e,0x00000076,0x000500c7,0x00000006,0x0000008f,0x0000008d,
- 0x0000008e,0x0003003e,0x00000086,0x0000008f,0x000200f9,0x00000085,0x000200f8,0x00000085,
- 0x0004003d,0x00000006,0x00000090,0x00000061,0x000500b0,0x00000045,0x00000092,0x00000090,
- 0x00000091,0x000300f7,0x00000094,0x00000000,0x000400fa,0x00000092,0x00000093,0x00000094,
- 0x000200f8,0x00000093,0x0004003d,0x00000006,0x00000097,0x00000086,0x0004003d,0x00000006,
- 0x00000098,0x00000061,0x00050082,0x00000006,0x0000009a,0x00000098,0x00000099,0x000500c4,
- 0x00000024,0x0000009b,0x00000088,0x0000009a,0x0004007c,0x00000006,0x0000009c,0x0000009b,
- 0x000500c7,0x00000006,0x0000009d,0x00000097,0x0000009c,0x000500ab,0x00000045,0x0000009e,
- 0x0000009d,0x0000006d,0x0003003e,0x00000096,0x0000009e,0x0004003d,0x00000045,0x000000a0,
- 0x00000096,0x000300f7,0x000000a4,0x00000000,0x000400fa,0x000000a0,0x000000a3,0x000000a8,
- 0x000200f8,0x000000a3,0x0004003d,0x00000006,0x000000a6,0x00000061,0x000500c4,0x00000024,
- 0x000000a7,0x000000a5,0x000000a6,0x0003003e,0x000000a2,0x000000a7,0x000200f9,0x000000a4,
- 0x000200f8,0x000000a8,0x0003003e,0x000000a2,0x0000005a,0x000200f9,0x000000a4,0x000200f8,
- 0x000000a4,0x0004003d,0x00000024,0x000000a9,0x000000a2,0x0004007c,0x00000006,0x000000aa,
- 0x000000a9,0x0003003e,0x0000009f,0x000000aa,0x0004003d,0x00000006,0x000000ab,0x0000009f,
- 0x0004003d,0x00000006,0x000000ac,0x00000086,0x000500c5,0x00000006,0x000000ad,0x000000ac,
- 0x000000ab,0x0003003e,0x00000086,0x000000ad,0x000200f9,0x00000094,0x000200f8,0x00000094,
- 0x0004003d,0x00000006,0x000000af,0x00000086,0x0004007c,0x00000024,0x000000b0,0x000000af,
- 0x0003003e,0x000000ae,0x000000b0,0x0004003d,0x00000024,0x000000b2,0x000000ae,0x0004006f,
- 0x0000000d,0x000000b3,0x000000b2,0x0004003d,0x00000006,0x000000b4,0x00000076,0x000500c2,
- 0x00000006,0x000000b5,0x000000b4,0x00000088,0x00040070,0x0000000d,0x000000b6,0x000000b5,
- 0x00050088,0x0000000d,0x000000b7,0x000000b3,0x000000b6,0x0003003e,0x000000b1,0x000000b7,
- 0x0004003d,0x0000000d,0x000000b8,0x000000b1,0x0007000c,0x0000000d,0x000000ba,0x00000001,
- 0x00000028,0x000000b8,0x000000b9,0x0003003e,0x000000b1,0x000000ba,0x0004003d,0x0000000d,
- 0x000000bb,0x000000b1,0x000200fe,0x000000bb,0x00010038,0x00050036,0x0000000d,0x00000015,
- 0x00000000,0x00000013,0x00030037,0x00000012,0x00000014,0x000200f8,0x00000016,0x0004003d,
- 0x0000000d,0x000000be,0x00000014,0x000200fe,0x000000be,0x00010038,0x00050036,0x00000006,
- 0x0000001a,0x00000000,0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,0x00000012,
- 0x00000019,0x000200f8,0x0000001b,0x0004003b,0x00000007,0x000000c1,0x00000007,0x0004003d,
- 0x0000000d,0x000000c2,0x00000019,0x0004007c,0x00000024,0x000000c3,0x000000c2,0x0004007c,
- 0x00000006,0x000000c4,0x000000c3,0x0003003e,0x000000c1,0x000000c4,0x0004003d,0x00000006,
- 0x000000c5,0x000000c1,0x000200fe,0x000000c5,0x00010038,0x00050036,0x00000002,0x0000001e,
- 0x00000000,0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,0x0000001f,0x00050041,
- 0x000000cf,0x000000d0,0x000000ce,0x0000006d,0x0004003d,0x00000006,0x000000d1,0x000000d0,
- 0x00050041,0x00000026,0x000000d2,0x00000023,0x00000079,0x0004003d,0x00000006,0x000000d3,
- 0x000000d2,0x00050086,0x00000006,0x000000d4,0x000000d3,0x0000005c,0x00050080,0x00000006,
- 0x000000d5,0x000000d1,0x000000d4,0x0004003d,0x00000006,0x000000d6,0x0000001d,0x00060041,
- 0x0000005e,0x000000d7,0x000000cb,0x0000005a,0x000000d5,0x0003003e,0x000000d7,0x000000d6,
- 0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * 4 + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// float loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-//
-// uint shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = valueMask >> 1;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// if(valueBits < 32)
-// {
-// bool isNegative =(valueAsUint &(1 <<(valueBits - 1)))!= 0;
-// uint signExtension = isNegative ? 0xFFFFFFFF << valueBits : 0;
-// valueAsUint |= signExtension;
-// }
-// int valueAsInt = int(valueAsUint);
-// float value = float(valueAsInt)/(valueMask >> 1);
-// value = max(value, float(- 1));
-//
-// return value;
-// }
-//
-// float convertComponent(float srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, float value)
-// {
-//
-// uint valueAsUint = floatBitsToInt(value);
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < 1;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * 1 + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// float srcValue = loadSourceComponent(cd);
-// float destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc
deleted file mode 100644
index 9962ffcaa2f..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc
+++ /dev/null
@@ -1,326 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kConvertVertex_comp_00000010[] = {
- 0x07230203,0x00010000,0x00080007,0x000000e9,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x000000a9,0x00060010,0x00000004,
- 0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005,
- 0x00000004,0x6e69616d,0x00000000,0x000a0005,0x0000000b,0x53746567,0x6372756f,0x6d6f4365,
- 0x656e6f70,0x664f746e,0x74657366,0x3b317528,0x003b3175,0x00040005,0x00000009,0x74726576,
- 0x00007865,0x00050005,0x0000000a,0x706d6f63,0x6e656e6f,0x00000074,0x00080005,0x00000010,
- 0x64616f6c,0x72756f53,0x6f436563,0x6e6f706d,0x28746e65,0x003b3175,0x00030005,0x0000000f,
- 0x00006463,0x00080005,0x00000015,0x766e6f63,0x43747265,0x6f706d6f,0x746e656e,0x3b316628,
- 0x00000000,0x00050005,0x00000014,0x56637273,0x65756c61,0x00000000,0x000a0005,0x0000001a,
- 0x656b616d,0x74736544,0x74616e69,0x436e6f69,0x6f706d6f,0x746e656e,0x3b317528,0x003b3166,
- 0x00030005,0x00000018,0x00006463,0x00040005,0x00000019,0x756c6176,0x00000065,0x000a0005,
- 0x0000001e,0x726f7473,0x73654465,0x616e6974,0x6e6f6974,0x706d6f43,0x6e656e6f,0x75287374,
- 0x00003b31,0x00050005,0x0000001d,0x756c6176,0x55734165,0x00746e69,0x00060005,0x00000021,
- 0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x00000021,0x00000000,0x7074756f,
- 0x6f437475,0x00746e75,0x00070006,0x00000021,0x00000001,0x706d6f63,0x6e656e6f,0x756f4374,
- 0x0000746e,0x00060006,0x00000021,0x00000002,0x4f637273,0x65736666,0x00000074,0x00060006,
- 0x00000021,0x00000003,0x74736564,0x7366664f,0x00007465,0x00040006,0x00000021,0x00000004,
- 0x0000734e,0x00040006,0x00000021,0x00000005,0x00007342,0x00040006,0x00000021,0x00000006,
- 0x00007353,0x00040006,0x00000021,0x00000007,0x00007345,0x00040006,0x00000021,0x00000008,
- 0x0000644e,0x00040006,0x00000021,0x00000009,0x00006442,0x00040006,0x00000021,0x0000000a,
- 0x00006453,0x00040006,0x00000021,0x0000000b,0x00006445,0x00040005,0x00000023,0x61726170,
- 0x0000736d,0x00040005,0x00000036,0x74726576,0x00007865,0x00050005,0x0000003c,0x706d6f63,
- 0x6e656e6f,0x00000074,0x00040005,0x0000004f,0x7366666f,0x00007465,0x00040005,0x00000050,
- 0x61726170,0x0000006d,0x00040005,0x00000052,0x61726170,0x0000006d,0x00040005,0x00000055,
- 0x636f6c62,0x0000006b,0x00030005,0x00000057,0x00637273,0x00050006,0x00000057,0x00000000,
- 0x44637273,0x00617461,0x00030005,0x00000059,0x00000000,0x00050005,0x00000061,0x756c6176,
- 0x74694265,0x00000073,0x00050005,0x00000067,0x66696873,0x74694274,0x00000073,0x00050005,
- 0x00000076,0x756c6176,0x73614d65,0x0000006b,0x00050005,0x00000086,0x756c6176,0x55734165,
- 0x00746e69,0x00050005,0x0000008e,0x69736f70,0x65766974,0x0078614d,0x00040005,0x00000091,
- 0x756c6176,0x00000065,0x00050005,0x0000009c,0x756c6176,0x55734165,0x00746e69,0x00040005,
- 0x000000a4,0x74736564,0x00000000,0x00060006,0x000000a4,0x00000000,0x74736564,0x61746144,
- 0x00000000,0x00030005,0x000000a6,0x00000000,0x00080005,0x000000a9,0x475f6c67,0x61626f6c,
- 0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00050005,0x000000bb,0x756c6176,0x74754f65,
- 0x00000000,0x00030005,0x000000bc,0x00000069,0x00030005,0x000000c5,0x00006463,0x00050005,
- 0x000000d3,0x56637273,0x65756c61,0x00000000,0x00040005,0x000000d4,0x61726170,0x0000006d,
- 0x00050005,0x000000d7,0x74736564,0x756c6156,0x00000065,0x00040005,0x000000d8,0x61726170,
- 0x0000006d,0x00040005,0x000000db,0x61726170,0x0000006d,0x00040005,0x000000dd,0x61726170,
- 0x0000006d,0x00040005,0x000000e4,0x61726170,0x0000006d,0x00050048,0x00000021,0x00000000,
- 0x00000023,0x00000000,0x00050048,0x00000021,0x00000001,0x00000023,0x00000004,0x00050048,
- 0x00000021,0x00000002,0x00000023,0x00000008,0x00050048,0x00000021,0x00000003,0x00000023,
- 0x0000000c,0x00050048,0x00000021,0x00000004,0x00000023,0x00000010,0x00050048,0x00000021,
- 0x00000005,0x00000023,0x00000014,0x00050048,0x00000021,0x00000006,0x00000023,0x00000018,
- 0x00050048,0x00000021,0x00000007,0x00000023,0x0000001c,0x00050048,0x00000021,0x00000008,
- 0x00000023,0x00000020,0x00050048,0x00000021,0x00000009,0x00000023,0x00000024,0x00050048,
- 0x00000021,0x0000000a,0x00000023,0x00000028,0x00050048,0x00000021,0x0000000b,0x00000023,
- 0x0000002c,0x00030047,0x00000021,0x00000002,0x00040047,0x00000056,0x00000006,0x00000004,
- 0x00050048,0x00000057,0x00000000,0x00000023,0x00000000,0x00030047,0x00000057,0x00000003,
- 0x00040047,0x00000059,0x00000022,0x00000000,0x00040047,0x00000059,0x00000021,0x00000001,
- 0x00040047,0x000000a3,0x00000006,0x00000004,0x00050048,0x000000a4,0x00000000,0x00000023,
- 0x00000000,0x00030047,0x000000a4,0x00000003,0x00040047,0x000000a6,0x00000022,0x00000000,
- 0x00040047,0x000000a6,0x00000021,0x00000000,0x00040047,0x000000a9,0x0000000b,0x0000001c,
- 0x00040047,0x000000e8,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040020,0x00000007,0x00000007,
- 0x00000006,0x00050021,0x00000008,0x00000006,0x00000007,0x00000007,0x00030016,0x0000000d,
- 0x00000020,0x00040021,0x0000000e,0x0000000d,0x00000007,0x00040020,0x00000012,0x00000007,
- 0x0000000d,0x00040021,0x00000013,0x0000000d,0x00000012,0x00050021,0x00000017,0x00000006,
- 0x00000007,0x00000012,0x00040021,0x0000001c,0x00000002,0x00000007,0x000e001e,0x00000021,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,
- 0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x00000022,0x00000009,0x00000021,
- 0x0004003b,0x00000022,0x00000023,0x00000009,0x00040015,0x00000024,0x00000020,0x00000001,
- 0x0004002b,0x00000024,0x00000025,0x00000006,0x00040020,0x00000026,0x00000009,0x00000006,
- 0x0004002b,0x00000024,0x0000002b,0x00000005,0x0004002b,0x00000024,0x00000030,0x00000002,
- 0x0004002b,0x00000024,0x00000038,0x00000008,0x0004002b,0x00000024,0x00000042,0x00000004,
- 0x00020014,0x00000045,0x0004002b,0x00000006,0x00000048,0x00000003,0x0004002b,0x0000000d,
- 0x0000004d,0x00000000,0x0003001d,0x00000056,0x00000006,0x0003001e,0x00000057,0x00000056,
- 0x00040020,0x00000058,0x00000002,0x00000057,0x0004003b,0x00000058,0x00000059,0x00000002,
- 0x0004002b,0x00000024,0x0000005a,0x00000000,0x0004002b,0x00000006,0x0000005c,0x00000004,
- 0x00040020,0x0000005e,0x00000002,0x00000006,0x0004002b,0x00000024,0x00000064,0x0000000a,
- 0x0004002b,0x00000006,0x0000006d,0x00000000,0x0004002b,0x00000006,0x00000070,0x00000002,
- 0x0004002b,0x00000024,0x00000079,0x00000003,0x0004002b,0x00000024,0x0000007a,0x000003ff,
- 0x0003001d,0x000000a3,0x00000006,0x0003001e,0x000000a4,0x000000a3,0x00040020,0x000000a5,
- 0x00000002,0x000000a4,0x0004003b,0x000000a5,0x000000a6,0x00000002,0x00040017,0x000000a7,
- 0x00000006,0x00000003,0x00040020,0x000000a8,0x00000001,0x000000a7,0x0004003b,0x000000a8,
- 0x000000a9,0x00000001,0x00040020,0x000000aa,0x00000001,0x00000006,0x0004002b,0x00000006,
- 0x000000c3,0x00000001,0x0004002b,0x00000024,0x000000cc,0x00000001,0x0004002b,0x00000006,
- 0x000000e7,0x00000040,0x0006002c,0x000000a7,0x000000e8,0x000000e7,0x000000c3,0x000000c3,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000007,0x000000bb,0x00000007,0x0004003b,0x00000007,0x000000bc,0x00000007,0x0004003b,
- 0x00000007,0x000000c5,0x00000007,0x0004003b,0x00000012,0x000000d3,0x00000007,0x0004003b,
- 0x00000007,0x000000d4,0x00000007,0x0004003b,0x00000012,0x000000d7,0x00000007,0x0004003b,
- 0x00000012,0x000000d8,0x00000007,0x0004003b,0x00000007,0x000000db,0x00000007,0x0004003b,
- 0x00000012,0x000000dd,0x00000007,0x0004003b,0x00000007,0x000000e4,0x00000007,0x00050041,
- 0x000000aa,0x000000b3,0x000000a9,0x0000006d,0x0004003d,0x00000006,0x000000b4,0x000000b3,
- 0x00050041,0x00000026,0x000000b5,0x00000023,0x0000005a,0x0004003d,0x00000006,0x000000b6,
- 0x000000b5,0x000500ae,0x00000045,0x000000b7,0x000000b4,0x000000b6,0x000300f7,0x000000b9,
- 0x00000000,0x000400fa,0x000000b7,0x000000b8,0x000000b9,0x000200f8,0x000000b8,0x000100fd,
- 0x000200f8,0x000000b9,0x0003003e,0x000000bb,0x0000006d,0x0003003e,0x000000bc,0x0000006d,
- 0x000200f9,0x000000bd,0x000200f8,0x000000bd,0x000400f6,0x000000bf,0x000000c0,0x00000000,
- 0x000200f9,0x000000c1,0x000200f8,0x000000c1,0x0004003d,0x00000006,0x000000c2,0x000000bc,
- 0x000500b0,0x00000045,0x000000c4,0x000000c2,0x000000c3,0x000400fa,0x000000c4,0x000000be,
- 0x000000bf,0x000200f8,0x000000be,0x00050041,0x000000aa,0x000000c6,0x000000a9,0x0000006d,
- 0x0004003d,0x00000006,0x000000c7,0x000000c6,0x00050084,0x00000006,0x000000c8,0x000000c7,
- 0x000000c3,0x0004003d,0x00000006,0x000000c9,0x000000bc,0x00050080,0x00000006,0x000000ca,
- 0x000000c8,0x000000c9,0x0003003e,0x000000c5,0x000000ca,0x0004003d,0x00000006,0x000000cb,
- 0x000000c5,0x00050041,0x00000026,0x000000cd,0x00000023,0x000000cc,0x0004003d,0x00000006,
- 0x000000ce,0x000000cd,0x000500ae,0x00000045,0x000000cf,0x000000cb,0x000000ce,0x000300f7,
- 0x000000d1,0x00000000,0x000400fa,0x000000cf,0x000000d0,0x000000d1,0x000200f8,0x000000d0,
- 0x000200f9,0x000000bf,0x000200f8,0x000000d1,0x0004003d,0x00000006,0x000000d5,0x000000c5,
- 0x0003003e,0x000000d4,0x000000d5,0x00050039,0x0000000d,0x000000d6,0x00000010,0x000000d4,
- 0x0003003e,0x000000d3,0x000000d6,0x0004003d,0x0000000d,0x000000d9,0x000000d3,0x0003003e,
- 0x000000d8,0x000000d9,0x00050039,0x0000000d,0x000000da,0x00000015,0x000000d8,0x0003003e,
- 0x000000d7,0x000000da,0x0004003d,0x00000006,0x000000dc,0x000000c5,0x0003003e,0x000000db,
- 0x000000dc,0x0004003d,0x0000000d,0x000000de,0x000000d7,0x0003003e,0x000000dd,0x000000de,
- 0x00060039,0x00000006,0x000000df,0x0000001a,0x000000db,0x000000dd,0x0004003d,0x00000006,
- 0x000000e0,0x000000bb,0x000500c5,0x00000006,0x000000e1,0x000000e0,0x000000df,0x0003003e,
- 0x000000bb,0x000000e1,0x000200f9,0x000000c0,0x000200f8,0x000000c0,0x0004003d,0x00000006,
- 0x000000e2,0x000000bc,0x00050080,0x00000006,0x000000e3,0x000000e2,0x000000cc,0x0003003e,
- 0x000000bc,0x000000e3,0x000200f9,0x000000bd,0x000200f8,0x000000bf,0x0004003d,0x00000006,
- 0x000000e5,0x000000bb,0x0003003e,0x000000e4,0x000000e5,0x00050039,0x00000002,0x000000e6,
- 0x0000001e,0x000000e4,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000b,0x00000000,
- 0x00000008,0x00030037,0x00000007,0x00000009,0x00030037,0x00000007,0x0000000a,0x000200f8,
- 0x0000000c,0x0004003d,0x00000006,0x00000020,0x00000009,0x00050041,0x00000026,0x00000027,
- 0x00000023,0x00000025,0x0004003d,0x00000006,0x00000028,0x00000027,0x00050084,0x00000006,
- 0x00000029,0x00000020,0x00000028,0x0004003d,0x00000006,0x0000002a,0x0000000a,0x00050041,
- 0x00000026,0x0000002c,0x00000023,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,
- 0x00050084,0x00000006,0x0000002e,0x0000002a,0x0000002d,0x00050080,0x00000006,0x0000002f,
- 0x00000029,0x0000002e,0x00050041,0x00000026,0x00000031,0x00000023,0x00000030,0x0004003d,
- 0x00000006,0x00000032,0x00000031,0x00050080,0x00000006,0x00000033,0x0000002f,0x00000032,
- 0x000200fe,0x00000033,0x00010038,0x00050036,0x0000000d,0x00000010,0x00000000,0x0000000e,
- 0x00030037,0x00000007,0x0000000f,0x000200f8,0x00000011,0x0004003b,0x00000007,0x00000036,
- 0x00000007,0x0004003b,0x00000007,0x0000003c,0x00000007,0x0004003b,0x00000007,0x0000004f,
- 0x00000007,0x0004003b,0x00000007,0x00000050,0x00000007,0x0004003b,0x00000007,0x00000052,
- 0x00000007,0x0004003b,0x00000007,0x00000055,0x00000007,0x0004003b,0x00000007,0x00000061,
- 0x00000007,0x0004003b,0x00000007,0x00000067,0x00000007,0x0004003b,0x00000007,0x0000006a,
- 0x00000007,0x0004003b,0x00000007,0x00000076,0x00000007,0x0004003b,0x00000007,0x00000086,
- 0x00000007,0x0004003b,0x00000012,0x0000008e,0x00000007,0x0004003b,0x00000012,0x00000091,
- 0x00000007,0x0004003d,0x00000006,0x00000037,0x0000000f,0x00050041,0x00000026,0x00000039,
- 0x00000023,0x00000038,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050086,0x00000006,
- 0x0000003b,0x00000037,0x0000003a,0x0003003e,0x00000036,0x0000003b,0x0004003d,0x00000006,
- 0x0000003d,0x0000000f,0x00050041,0x00000026,0x0000003e,0x00000023,0x00000038,0x0004003d,
- 0x00000006,0x0000003f,0x0000003e,0x00050089,0x00000006,0x00000040,0x0000003d,0x0000003f,
- 0x0003003e,0x0000003c,0x00000040,0x0004003d,0x00000006,0x00000041,0x0000003c,0x00050041,
- 0x00000026,0x00000043,0x00000023,0x00000042,0x0004003d,0x00000006,0x00000044,0x00000043,
- 0x000500ae,0x00000045,0x00000046,0x00000041,0x00000044,0x0004003d,0x00000006,0x00000047,
- 0x0000003c,0x000500b0,0x00000045,0x00000049,0x00000047,0x00000048,0x000500a7,0x00000045,
- 0x0000004a,0x00000046,0x00000049,0x000300f7,0x0000004c,0x00000000,0x000400fa,0x0000004a,
- 0x0000004b,0x0000004c,0x000200f8,0x0000004b,0x000200fe,0x0000004d,0x000200f8,0x0000004c,
- 0x0004003d,0x00000006,0x00000051,0x00000036,0x0003003e,0x00000050,0x00000051,0x0004003d,
- 0x00000006,0x00000053,0x0000003c,0x0003003e,0x00000052,0x00000053,0x00060039,0x00000006,
- 0x00000054,0x0000000b,0x00000050,0x00000052,0x0003003e,0x0000004f,0x00000054,0x0004003d,
- 0x00000006,0x0000005b,0x0000004f,0x00050086,0x00000006,0x0000005d,0x0000005b,0x0000005c,
- 0x00060041,0x0000005e,0x0000005f,0x00000059,0x0000005a,0x0000005d,0x0004003d,0x00000006,
- 0x00000060,0x0000005f,0x0003003e,0x00000055,0x00000060,0x0004003d,0x00000006,0x00000062,
- 0x0000003c,0x000500aa,0x00000045,0x00000063,0x00000062,0x00000048,0x000600a9,0x00000024,
- 0x00000065,0x00000063,0x00000030,0x00000064,0x0004007c,0x00000006,0x00000066,0x00000065,
- 0x0003003e,0x00000061,0x00000066,0x0004003d,0x00000006,0x00000068,0x0000003c,0x000500aa,
- 0x00000045,0x00000069,0x00000068,0x00000048,0x000300f7,0x0000006c,0x00000000,0x000400fa,
- 0x00000069,0x0000006b,0x0000006e,0x000200f8,0x0000006b,0x0003003e,0x0000006a,0x0000006d,
- 0x000200f9,0x0000006c,0x000200f8,0x0000006e,0x0004003d,0x00000006,0x0000006f,0x00000061,
- 0x0004003d,0x00000006,0x00000071,0x0000003c,0x00050082,0x00000006,0x00000072,0x00000070,
- 0x00000071,0x00050084,0x00000006,0x00000073,0x0000006f,0x00000072,0x00050080,0x00000006,
- 0x00000074,0x00000073,0x00000070,0x0003003e,0x0000006a,0x00000074,0x000200f9,0x0000006c,
- 0x000200f8,0x0000006c,0x0004003d,0x00000006,0x00000075,0x0000006a,0x0003003e,0x00000067,
- 0x00000075,0x0004003d,0x00000006,0x00000077,0x0000003c,0x000500aa,0x00000045,0x00000078,
- 0x00000077,0x00000048,0x000600a9,0x00000024,0x0000007b,0x00000078,0x00000079,0x0000007a,
- 0x0004007c,0x00000006,0x0000007c,0x0000007b,0x0003003e,0x00000076,0x0000007c,0x0004003d,
- 0x00000006,0x0000007d,0x0000003c,0x00050041,0x00000026,0x0000007e,0x00000023,0x00000042,
- 0x0004003d,0x00000006,0x0000007f,0x0000007e,0x000500ae,0x00000045,0x00000080,0x0000007d,
- 0x0000007f,0x0004003d,0x00000006,0x00000081,0x0000003c,0x000500aa,0x00000045,0x00000082,
- 0x00000081,0x00000048,0x000500a7,0x00000045,0x00000083,0x00000080,0x00000082,0x000300f7,
- 0x00000085,0x00000000,0x000400fa,0x00000083,0x00000084,0x00000088,0x000200f8,0x00000084,
- 0x0004003d,0x00000006,0x00000087,0x00000076,0x0003003e,0x00000086,0x00000087,0x000200f9,
- 0x00000085,0x000200f8,0x00000088,0x0004003d,0x00000006,0x00000089,0x00000055,0x0004003d,
- 0x00000006,0x0000008a,0x00000067,0x000500c2,0x00000006,0x0000008b,0x00000089,0x0000008a,
- 0x0004003d,0x00000006,0x0000008c,0x00000076,0x000500c7,0x00000006,0x0000008d,0x0000008b,
- 0x0000008c,0x0003003e,0x00000086,0x0000008d,0x000200f9,0x00000085,0x000200f8,0x00000085,
- 0x0004003d,0x00000006,0x0000008f,0x00000076,0x00040070,0x0000000d,0x00000090,0x0000008f,
- 0x0003003e,0x0000008e,0x00000090,0x0004003d,0x00000006,0x00000092,0x00000086,0x00040070,
- 0x0000000d,0x00000093,0x00000092,0x0004003d,0x0000000d,0x00000094,0x0000008e,0x00050088,
- 0x0000000d,0x00000095,0x00000093,0x00000094,0x0003003e,0x00000091,0x00000095,0x0004003d,
- 0x0000000d,0x00000096,0x00000091,0x000200fe,0x00000096,0x00010038,0x00050036,0x0000000d,
- 0x00000015,0x00000000,0x00000013,0x00030037,0x00000012,0x00000014,0x000200f8,0x00000016,
- 0x0004003d,0x0000000d,0x00000099,0x00000014,0x000200fe,0x00000099,0x00010038,0x00050036,
- 0x00000006,0x0000001a,0x00000000,0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,
- 0x00000012,0x00000019,0x000200f8,0x0000001b,0x0004003b,0x00000007,0x0000009c,0x00000007,
- 0x0004003d,0x0000000d,0x0000009d,0x00000019,0x0004007c,0x00000024,0x0000009e,0x0000009d,
- 0x0004007c,0x00000006,0x0000009f,0x0000009e,0x0003003e,0x0000009c,0x0000009f,0x0004003d,
- 0x00000006,0x000000a0,0x0000009c,0x000200fe,0x000000a0,0x00010038,0x00050036,0x00000002,
- 0x0000001e,0x00000000,0x0000001c,0x00030037,0x00000007,0x0000001d,0x000200f8,0x0000001f,
- 0x00050041,0x000000aa,0x000000ab,0x000000a9,0x0000006d,0x0004003d,0x00000006,0x000000ac,
- 0x000000ab,0x00050041,0x00000026,0x000000ad,0x00000023,0x00000079,0x0004003d,0x00000006,
- 0x000000ae,0x000000ad,0x00050086,0x00000006,0x000000af,0x000000ae,0x0000005c,0x00050080,
- 0x00000006,0x000000b0,0x000000ac,0x000000af,0x0004003d,0x00000006,0x000000b1,0x0000001d,
- 0x00060041,0x0000005e,0x000000b2,0x000000a6,0x0000005a,0x000000b0,0x0003003e,0x000000b2,
- 0x000000b1,0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in;
-//
-// layout(set = 0, binding = 0)buffer dest
-// {
-// uint destData[];
-// };
-//
-// layout(set = 0, binding = 1)buffer src
-// {
-// uint srcData[];
-// };
-//
-// layout(push_constant)uniform PushConstants
-// {
-//
-// uint outputCount;
-//
-// uint componentCount;
-//
-// uint srcOffset;
-// uint destOffset;
-//
-// uint Ns;
-// uint Bs;
-// uint Ss;
-// uint Es;
-//
-// uint Nd;
-// uint Bd;
-// uint Sd;
-// uint Ed;
-// } params;
-//
-// uint getSourceComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Ss + component * params . Bs + params . srcOffset;
-// }
-//
-// uint getDestinationComponentOffset(uint vertex, uint component)
-// {
-// return vertex * params . Sd + component * 4 + params . destOffset;
-// }
-//
-// uint getShiftBits(uint offset, uint B)
-// {
-//
-// uint shift =(offset % 4)* 8;
-//
-// return shift;
-// }
-//
-// float loadSourceComponent(uint cd)
-// {
-//
-// uint vertex = cd / params . Nd;
-// uint component = cd % params . Nd;
-//
-// if(component >= params . Ns && component < 3)
-// {
-// return 0;
-// }
-//
-// uint offset = getSourceComponentOffset(vertex, component);
-// uint block = srcData[offset / 4];
-//
-// uint valueBits = component == 3 ? 2 : 10;
-//
-// uint shiftBits = component == 3 ? 0 :(valueBits *(2 - component)+ 2);
-// uint valueMask = component == 3 ? 0x03 : 0x3FF;
-//
-// uint valueAsUint;
-//
-// if(component >= params . Ns && component == 3)
-// {
-//
-// valueAsUint = valueMask;
-//
-// }
-// else
-// {
-// valueAsUint =(block >> shiftBits)& valueMask;
-// }
-//
-// float positiveMax = valueMask;
-//
-// float value = valueAsUint / positiveMax;
-//
-// return value;
-// }
-//
-// float convertComponent(float srcValue)
-// {
-//
-// return srcValue;
-// }
-//
-// uint makeDestinationComponent(uint cd, float value)
-// {
-//
-// uint valueAsUint = floatBitsToInt(value);
-//
-// return valueAsUint;
-// }
-//
-// void storeDestinationComponents(uint valueAsUint)
-// {
-//
-// destData[gl_GlobalInvocationID . x + params . destOffset / 4]= valueAsUint;
-// }
-//
-// void main()
-// {
-// if(gl_GlobalInvocationID . x >= params . outputCount)
-// return;
-//
-// uint valueOut = 0;
-// for(uint i = 0;i < 1;++ i)
-// {
-// uint cd = gl_GlobalInvocationID . x * 1 + i;
-// if(cd >= params . componentCount)
-// {
-// break;
-// }
-//
-// float srcValue = loadSourceComponent(cd);
-// float destValue = convertComponent(srcValue);
-// valueOut |= makeDestinationComponent(cd, destValue);
-// }
-//
-// storeDestinationComponents(valueOut);
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc
index 4f195b246cc..665fb4c67e6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kFullScreenQuad_vert_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x00000028,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000028,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000001b,0x00030003,
0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000b,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc
index d9e01a26f93..b71475a098f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc
index b064c157704..31d205f02b2 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc
index 9666b28cd52..a93df6cf5f3 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc
index a7d33559dfd..d3b52f2ee69 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000003[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc
index e9c7557e622..47ef3e9e464 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000004[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc
index f6c80eeaf29..ce87bc724ca 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000005[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc
index 1c976caadcb..0eea0f6dfd9 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000006[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc
index 7f363570439..56197363d85 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000007[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc
index af40587160e..b46a999defa 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000008[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc
index 999fd755e39..7afcd094c31 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000009[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc
index 317123009ff..0a99878d44a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_0000000A[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc
index c8d356f3a1f..e3f41c21593 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_0000000B[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc
index fbce8f9b3db..69cc8bd95d1 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_0000000C[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc
index 3a19c55b2e4..67a4296fb0e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_0000000D[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc
index 327ebcfbf70..099d10c1188 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_0000000E[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc
index 7c29c60a946..30be77cbc93 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_0000000F[] = {
- 0x07230203,0x00010000,0x00080007,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000011,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc
index a46918cefa4..66b1d0d2a56 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000010[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc
index b62ff7a2fd1..7d25e97232a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000011[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc
index 355b14275bb..ed9caa6265b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000012[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc
index cb16df76dd9..1e3380f1f57 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000013[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc
index b53a7abdf6d..3833f6e36aa 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000014[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc
index 4b536e81ae8..515673332bf 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000015[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc
index b09bcf03b62..80a08426a79 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000016[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc
index e87d90f1eb9..05c6f753c29 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageClear_frag_00000017[] = {
- 0x07230203,0x00010000,0x00080007,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000012,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc
index f292f2c4268..1809aee7bab 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc
@@ -1,133 +1,192 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x00000099,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000ed,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000097,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000039,0x000000eb,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002d,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000030,0x00637273,0x00050005,0x00000062,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007e,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000097,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000030,0x00000022,
- 0x00000000,0x00040047,0x00000030,0x00000021,0x00000000,0x00040047,0x00000097,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040020,0x0000002c,0x00000007,0x0000000b,0x00090019,
- 0x0000002e,0x0000000a,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000000,
- 0x0004002b,0x00000006,0x00000032,0x00000000,0x0004002b,0x00000006,0x00000037,0x00000002,
- 0x00040020,0x00000038,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000003c,0x00000005,
- 0x0004002b,0x00000012,0x00000042,0x00000003,0x00040020,0x00000043,0x00000007,0x0000000a,
- 0x00040017,0x00000046,0x0000000a,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000006,
- 0x0004002b,0x0000000a,0x00000055,0x00000000,0x0004002b,0x00000006,0x00000069,0x00000007,
- 0x0004002b,0x00000006,0x00000074,0x00000008,0x0004002b,0x00000006,0x0000007f,0x00000009,
- 0x0004002b,0x00000012,0x0000008d,0x00000002,0x0004002b,0x0000000a,0x00000094,0x3f800000,
- 0x00040020,0x00000096,0x00000003,0x0000000b,0x0004003b,0x00000096,0x00000097,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
- 0x0000002c,0x0000002d,0x00000007,0x0004003b,0x0000002c,0x00000062,0x00000007,0x0004003b,
- 0x00000027,0x0000007e,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
- 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
- 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
- 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
- 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
- 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
- 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
- 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
- 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
- 0x000200f8,0x00000025,0x0004003d,0x0000002e,0x00000031,0x00000030,0x00050041,0x00000017,
- 0x00000033,0x00000015,0x00000032,0x0004003d,0x00000007,0x00000034,0x00000033,0x0004003d,
- 0x00000007,0x00000035,0x0000001b,0x00050080,0x00000007,0x00000036,0x00000034,0x00000035,
- 0x00050041,0x00000038,0x00000039,0x00000015,0x00000037,0x0004003d,0x00000006,0x0000003a,
- 0x00000039,0x0007005f,0x0000000b,0x0000003b,0x00000031,0x00000036,0x00000002,0x0000003a,
- 0x0003003e,0x0000002d,0x0000003b,0x00050041,0x0000001e,0x0000003d,0x00000015,0x0000003c,
- 0x0004003d,0x00000012,0x0000003e,0x0000003d,0x000500ab,0x00000021,0x0000003f,0x0000003e,
- 0x00000022,0x000300f7,0x00000041,0x00000000,0x000400fa,0x0000003f,0x00000040,0x0000004c,
- 0x000200f8,0x00000040,0x00050041,0x00000043,0x00000044,0x0000002d,0x00000042,0x0004003d,
- 0x0000000a,0x00000045,0x00000044,0x0004003d,0x0000000b,0x00000047,0x0000002d,0x0008004f,
- 0x00000046,0x00000048,0x00000047,0x00000047,0x00000000,0x00000001,0x00000002,0x0005008e,
- 0x00000046,0x00000049,0x00000048,0x00000045,0x0004003d,0x0000000b,0x0000004a,0x0000002d,
- 0x0009004f,0x0000000b,0x0000004b,0x0000004a,0x00000049,0x00000004,0x00000005,0x00000006,
- 0x00000003,0x0003003e,0x0000002d,0x0000004b,0x000200f9,0x00000041,0x000200f8,0x0000004c,
- 0x00050041,0x0000001e,0x0000004e,0x00000015,0x0000004d,0x0004003d,0x00000012,0x0000004f,
- 0x0000004e,0x000500ab,0x00000021,0x00000050,0x0000004f,0x00000022,0x000300f7,0x00000052,
- 0x00000000,0x000400fa,0x00000050,0x00000051,0x00000052,0x000200f8,0x00000051,0x00050041,
- 0x00000043,0x00000053,0x0000002d,0x00000042,0x0004003d,0x0000000a,0x00000054,0x00000053,
- 0x000500ba,0x00000021,0x00000056,0x00000054,0x00000055,0x000200f9,0x00000052,0x000200f8,
- 0x00000052,0x000700f5,0x00000021,0x00000057,0x00000050,0x0000004c,0x00000056,0x00000051,
- 0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,
- 0x00000058,0x00050041,0x00000043,0x0000005a,0x0000002d,0x00000042,0x0004003d,0x0000000a,
- 0x0000005b,0x0000005a,0x0004003d,0x0000000b,0x0000005c,0x0000002d,0x0008004f,0x00000046,
- 0x0000005d,0x0000005c,0x0000005c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000046,
- 0x0000005e,0x0000005b,0x0000005b,0x0000005b,0x00050088,0x00000046,0x0000005f,0x0000005d,
- 0x0000005e,0x0004003d,0x0000000b,0x00000060,0x0000002d,0x0009004f,0x0000000b,0x00000061,
- 0x00000060,0x0000005f,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002d,
- 0x00000061,0x000200f9,0x00000059,0x000200f8,0x00000059,0x000200f9,0x00000041,0x000200f8,
- 0x00000041,0x0004003d,0x0000000b,0x00000063,0x0000002d,0x00050051,0x0000000a,0x00000064,
- 0x00000063,0x00000000,0x00050051,0x0000000a,0x00000065,0x00000063,0x00000001,0x00050051,
- 0x0000000a,0x00000066,0x00000063,0x00000002,0x00050051,0x0000000a,0x00000067,0x00000063,
- 0x00000003,0x00070050,0x0000000b,0x00000068,0x00000064,0x00000065,0x00000066,0x00000067,
- 0x0003003e,0x00000062,0x00000068,0x00050041,0x0000001e,0x0000006a,0x00000015,0x00000069,
- 0x0004003d,0x00000012,0x0000006b,0x0000006a,0x000500ab,0x00000021,0x0000006c,0x0000006b,
- 0x00000022,0x000300f7,0x0000006e,0x00000000,0x000400fa,0x0000006c,0x0000006d,0x00000073,
- 0x000200f8,0x0000006d,0x0004003d,0x0000000b,0x0000006f,0x00000062,0x0007004f,0x0000000e,
- 0x00000070,0x0000006f,0x0000006f,0x00000000,0x00000003,0x0004003d,0x0000000b,0x00000071,
- 0x00000062,0x0009004f,0x0000000b,0x00000072,0x00000071,0x00000070,0x00000004,0x00000005,
- 0x00000002,0x00000003,0x0003003e,0x00000062,0x00000072,0x000200f9,0x0000006e,0x000200f8,
- 0x00000073,0x00050041,0x0000001e,0x00000075,0x00000015,0x00000074,0x0004003d,0x00000012,
- 0x00000076,0x00000075,0x000500ab,0x00000021,0x00000077,0x00000076,0x00000022,0x000300f7,
- 0x00000079,0x00000000,0x000400fa,0x00000077,0x00000078,0x0000007d,0x000200f8,0x00000078,
- 0x00050041,0x00000043,0x0000007a,0x00000062,0x00000042,0x0004003d,0x0000000a,0x0000007b,
- 0x0000007a,0x00050041,0x00000043,0x0000007c,0x00000062,0x00000022,0x0003003e,0x0000007c,
- 0x0000007b,0x000200f9,0x00000079,0x000200f8,0x0000007d,0x00050041,0x00000038,0x00000080,
- 0x00000015,0x0000007f,0x0004003d,0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,
- 0x00000081,0x0004003d,0x00000006,0x00000082,0x0000007e,0x000500c7,0x00000006,0x00000083,
- 0x00000082,0x00000037,0x000500ab,0x00000021,0x00000084,0x00000083,0x00000032,0x000300f7,
- 0x00000086,0x00000000,0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,
- 0x00050041,0x00000043,0x00000087,0x00000062,0x00000026,0x0003003e,0x00000087,0x00000055,
- 0x000200f9,0x00000086,0x000200f8,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000007e,
- 0x000500c7,0x00000006,0x00000089,0x00000088,0x0000001d,0x000500ab,0x00000021,0x0000008a,
- 0x00000089,0x00000032,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,
- 0x0000008c,0x000200f8,0x0000008b,0x00050041,0x00000043,0x0000008e,0x00000062,0x0000008d,
- 0x0003003e,0x0000008e,0x00000055,0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x0004003d,
- 0x00000006,0x0000008f,0x0000007e,0x000500c7,0x00000006,0x00000090,0x0000008f,0x00000074,
- 0x000500ab,0x00000021,0x00000091,0x00000090,0x00000032,0x000300f7,0x00000093,0x00000000,
- 0x000400fa,0x00000091,0x00000092,0x00000093,0x000200f8,0x00000092,0x00050041,0x00000043,
- 0x00000095,0x00000062,0x00000042,0x0003003e,0x00000095,0x00000094,0x000200f9,0x00000093,
- 0x000200f8,0x00000093,0x000200f9,0x00000079,0x000200f8,0x00000079,0x000200f9,0x0000006e,
- 0x000200f8,0x0000006e,0x0004003d,0x0000000b,0x00000098,0x00000062,0x0003003e,0x00000097,
- 0x00000098,0x000100fd,0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x0000000d,0x42475273,0x694c6f54,0x7261656e,0x3b316628,0x00000000,0x00040005,0x0000000c,
+ 0x42475273,0x00000000,0x00070005,0x00000036,0x74736564,0x49627553,0x6567616d,0x726f6f43,
+ 0x00007364,0x00060005,0x00000039,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
+ 0x0000003f,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000003f,0x00000000,
+ 0x4f637273,0x65736666,0x00000074,0x00060006,0x0000003f,0x00000001,0x74736564,0x7366664f,
+ 0x00007465,0x00050006,0x0000003f,0x00000002,0x4d637273,0x00007069,0x00060006,0x0000003f,
+ 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x0000003f,0x00000004,0x70696c66,
+ 0x00000059,0x00080006,0x0000003f,0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,
+ 0x00000000,0x00070006,0x0000003f,0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,
+ 0x00080006,0x0000003f,0x00000007,0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,
+ 0x00060006,0x0000003f,0x00000008,0x74736564,0x6c417349,0x00616870,0x00060006,0x0000003f,
+ 0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x0000003f,0x0000000a,0x74736564,
+ 0x52537349,0x00004247,0x00090006,0x0000003f,0x0000000b,0x74736564,0x61666544,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000041,0x61726170,0x0000736d,0x00070005,
+ 0x00000047,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000058,
+ 0x56637273,0x65756c61,0x00000000,0x00030005,0x0000005b,0x00637273,0x00040005,0x0000006d,
+ 0x61726170,0x0000006d,0x00040005,0x00000072,0x61726170,0x0000006d,0x00040005,0x00000077,
+ 0x61726170,0x0000006d,0x00050005,0x000000a2,0x74736564,0x756c6156,0x00000065,0x00040005,
+ 0x000000af,0x61726170,0x0000006d,0x00040005,0x000000b4,0x61726170,0x0000006d,0x00040005,
+ 0x000000b9,0x61726170,0x0000006d,0x00070005,0x000000d3,0x61666564,0x43746c75,0x6e6e6168,
+ 0x4d736c65,0x006b7361,0x00040005,0x000000eb,0x74736564,0x00000000,0x00040047,0x00000039,
+ 0x0000000b,0x0000000f,0x00050048,0x0000003f,0x00000000,0x00000023,0x00000000,0x00050048,
+ 0x0000003f,0x00000001,0x00000023,0x00000008,0x00050048,0x0000003f,0x00000002,0x00000023,
+ 0x00000010,0x00050048,0x0000003f,0x00000003,0x00000023,0x00000014,0x00050048,0x0000003f,
+ 0x00000004,0x00000023,0x00000018,0x00050048,0x0000003f,0x00000005,0x00000023,0x0000001c,
+ 0x00050048,0x0000003f,0x00000006,0x00000023,0x00000020,0x00050048,0x0000003f,0x00000007,
+ 0x00000023,0x00000024,0x00050048,0x0000003f,0x00000008,0x00000023,0x00000028,0x00050048,
+ 0x0000003f,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000003f,0x0000000a,0x00000023,
+ 0x00000030,0x00050048,0x0000003f,0x0000000b,0x00000023,0x00000034,0x00030047,0x0000003f,
+ 0x00000002,0x00040047,0x0000005b,0x00000022,0x00000000,0x00040047,0x0000005b,0x00000021,
+ 0x00000000,0x00040047,0x000000eb,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,0x00000007,
+ 0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,0x00000010,
+ 0x3b4d2e1c,0x00020014,0x00000011,0x0004002b,0x00000006,0x00000016,0x414eb852,0x0004002b,
+ 0x00000006,0x0000001b,0x3ed55555,0x0004002b,0x00000006,0x0000001d,0x3f870a3d,0x0004002b,
+ 0x00000006,0x0000001f,0x3d6147ae,0x0004002b,0x00000006,0x00000024,0x3d25aee6,0x0004002b,
+ 0x00000006,0x0000002f,0x4019999a,0x00040015,0x00000033,0x00000020,0x00000001,0x00040017,
+ 0x00000034,0x00000033,0x00000002,0x00040020,0x00000035,0x00000007,0x00000034,0x00040017,
+ 0x00000037,0x00000006,0x00000004,0x00040020,0x00000038,0x00000001,0x00000037,0x0004003b,
+ 0x00000038,0x00000039,0x00000001,0x00040017,0x0000003a,0x00000006,0x00000002,0x00040015,
+ 0x0000003e,0x00000020,0x00000000,0x000e001e,0x0000003f,0x00000034,0x00000034,0x00000033,
+ 0x00000033,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,
+ 0x00000033,0x00040020,0x00000040,0x00000009,0x0000003f,0x0004003b,0x00000040,0x00000041,
+ 0x00000009,0x0004002b,0x00000033,0x00000042,0x00000001,0x00040020,0x00000043,0x00000009,
+ 0x00000034,0x0004002b,0x00000033,0x00000049,0x00000004,0x00040020,0x0000004a,0x00000009,
+ 0x0000003e,0x0004002b,0x0000003e,0x0000004d,0x00000000,0x0004002b,0x0000003e,0x00000051,
+ 0x00000001,0x00040020,0x00000052,0x00000007,0x00000033,0x00040020,0x00000057,0x00000007,
+ 0x00000037,0x00090019,0x00000059,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,
+ 0x00000001,0x00000000,0x00040020,0x0000005a,0x00000000,0x00000059,0x0004003b,0x0000005a,
+ 0x0000005b,0x00000000,0x0004002b,0x00000033,0x0000005d,0x00000000,0x0004002b,0x00000033,
+ 0x00000062,0x00000002,0x00040020,0x00000063,0x00000009,0x00000033,0x0004002b,0x00000033,
+ 0x00000067,0x00000009,0x0004002b,0x0000003e,0x00000078,0x00000002,0x0004002b,0x00000033,
+ 0x0000007d,0x00000005,0x0004002b,0x0000003e,0x00000083,0x00000003,0x00040017,0x00000086,
+ 0x00000006,0x00000003,0x0004002b,0x00000033,0x0000008d,0x00000006,0x0004002b,0x00000006,
+ 0x00000095,0x00000000,0x0004002b,0x00000033,0x000000a9,0x0000000a,0x0004002b,0x00000033,
+ 0x000000be,0x00000007,0x0004002b,0x00000033,0x000000c9,0x00000008,0x0004002b,0x00000033,
+ 0x000000d4,0x0000000b,0x0004002b,0x00000006,0x000000e8,0x3f800000,0x00040020,0x000000ea,
+ 0x00000003,0x00000037,0x0004003b,0x000000ea,0x000000eb,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000035,0x00000036,
+ 0x00000007,0x0004003b,0x00000035,0x00000047,0x00000007,0x0004003b,0x00000057,0x00000058,
+ 0x00000007,0x0004003b,0x00000007,0x0000006d,0x00000007,0x0004003b,0x00000007,0x00000072,
+ 0x00000007,0x0004003b,0x00000007,0x00000077,0x00000007,0x0004003b,0x00000057,0x000000a2,
+ 0x00000007,0x0004003b,0x00000007,0x000000af,0x00000007,0x0004003b,0x00000007,0x000000b4,
+ 0x00000007,0x0004003b,0x00000007,0x000000b9,0x00000007,0x0004003b,0x00000052,0x000000d3,
+ 0x00000007,0x0004003d,0x00000037,0x0000003b,0x00000039,0x0007004f,0x0000003a,0x0000003c,
+ 0x0000003b,0x0000003b,0x00000000,0x00000001,0x0004006e,0x00000034,0x0000003d,0x0000003c,
+ 0x00050041,0x00000043,0x00000044,0x00000041,0x00000042,0x0004003d,0x00000034,0x00000045,
+ 0x00000044,0x00050082,0x00000034,0x00000046,0x0000003d,0x00000045,0x0003003e,0x00000036,
+ 0x00000046,0x0004003d,0x00000034,0x00000048,0x00000036,0x0003003e,0x00000047,0x00000048,
+ 0x00050041,0x0000004a,0x0000004b,0x00000041,0x00000049,0x0004003d,0x0000003e,0x0000004c,
+ 0x0000004b,0x000500ab,0x00000011,0x0000004e,0x0000004c,0x0000004d,0x000300f7,0x00000050,
+ 0x00000000,0x000400fa,0x0000004e,0x0000004f,0x00000050,0x000200f8,0x0000004f,0x00050041,
+ 0x00000052,0x00000053,0x00000047,0x00000051,0x0004003d,0x00000033,0x00000054,0x00000053,
+ 0x0004007e,0x00000033,0x00000055,0x00000054,0x00050041,0x00000052,0x00000056,0x00000047,
+ 0x00000051,0x0003003e,0x00000056,0x00000055,0x000200f9,0x00000050,0x000200f8,0x00000050,
+ 0x0004003d,0x00000059,0x0000005c,0x0000005b,0x00050041,0x00000043,0x0000005e,0x00000041,
+ 0x0000005d,0x0004003d,0x00000034,0x0000005f,0x0000005e,0x0004003d,0x00000034,0x00000060,
+ 0x00000047,0x00050080,0x00000034,0x00000061,0x0000005f,0x00000060,0x00050041,0x00000063,
+ 0x00000064,0x00000041,0x00000062,0x0004003d,0x00000033,0x00000065,0x00000064,0x0007005f,
+ 0x00000037,0x00000066,0x0000005c,0x00000061,0x00000002,0x00000065,0x0003003e,0x00000058,
+ 0x00000066,0x00050041,0x0000004a,0x00000068,0x00000041,0x00000067,0x0004003d,0x0000003e,
+ 0x00000069,0x00000068,0x000500ab,0x00000011,0x0000006a,0x00000069,0x0000004d,0x000300f7,
+ 0x0000006c,0x00000000,0x000400fa,0x0000006a,0x0000006b,0x0000006c,0x000200f8,0x0000006b,
+ 0x00050041,0x00000007,0x0000006e,0x00000058,0x0000004d,0x0004003d,0x00000006,0x0000006f,
+ 0x0000006e,0x0003003e,0x0000006d,0x0000006f,0x00050039,0x00000006,0x00000070,0x0000000a,
+ 0x0000006d,0x00050041,0x00000007,0x00000071,0x00000058,0x0000004d,0x0003003e,0x00000071,
+ 0x00000070,0x00050041,0x00000007,0x00000073,0x00000058,0x00000051,0x0004003d,0x00000006,
+ 0x00000074,0x00000073,0x0003003e,0x00000072,0x00000074,0x00050039,0x00000006,0x00000075,
+ 0x0000000a,0x00000072,0x00050041,0x00000007,0x00000076,0x00000058,0x00000051,0x0003003e,
+ 0x00000076,0x00000075,0x00050041,0x00000007,0x00000079,0x00000058,0x00000078,0x0004003d,
+ 0x00000006,0x0000007a,0x00000079,0x0003003e,0x00000077,0x0000007a,0x00050039,0x00000006,
+ 0x0000007b,0x0000000a,0x00000077,0x00050041,0x00000007,0x0000007c,0x00000058,0x00000078,
+ 0x0003003e,0x0000007c,0x0000007b,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x00050041,
+ 0x0000004a,0x0000007e,0x00000041,0x0000007d,0x0004003d,0x0000003e,0x0000007f,0x0000007e,
+ 0x000500ab,0x00000011,0x00000080,0x0000007f,0x0000004d,0x000300f7,0x00000082,0x00000000,
+ 0x000400fa,0x00000080,0x00000081,0x0000008c,0x000200f8,0x00000081,0x00050041,0x00000007,
+ 0x00000084,0x00000058,0x00000083,0x0004003d,0x00000006,0x00000085,0x00000084,0x0004003d,
+ 0x00000037,0x00000087,0x00000058,0x0008004f,0x00000086,0x00000088,0x00000087,0x00000087,
+ 0x00000000,0x00000001,0x00000002,0x0005008e,0x00000086,0x00000089,0x00000088,0x00000085,
+ 0x0004003d,0x00000037,0x0000008a,0x00000058,0x0009004f,0x00000037,0x0000008b,0x0000008a,
+ 0x00000089,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000058,0x0000008b,
+ 0x000200f9,0x00000082,0x000200f8,0x0000008c,0x00050041,0x0000004a,0x0000008e,0x00000041,
+ 0x0000008d,0x0004003d,0x0000003e,0x0000008f,0x0000008e,0x000500ab,0x00000011,0x00000090,
+ 0x0000008f,0x0000004d,0x000300f7,0x00000092,0x00000000,0x000400fa,0x00000090,0x00000091,
+ 0x00000092,0x000200f8,0x00000091,0x00050041,0x00000007,0x00000093,0x00000058,0x00000083,
+ 0x0004003d,0x00000006,0x00000094,0x00000093,0x000500ba,0x00000011,0x00000096,0x00000094,
+ 0x00000095,0x000200f9,0x00000092,0x000200f8,0x00000092,0x000700f5,0x00000011,0x00000097,
+ 0x00000090,0x0000008c,0x00000096,0x00000091,0x000300f7,0x00000099,0x00000000,0x000400fa,
+ 0x00000097,0x00000098,0x00000099,0x000200f8,0x00000098,0x00050041,0x00000007,0x0000009a,
+ 0x00000058,0x00000083,0x0004003d,0x00000006,0x0000009b,0x0000009a,0x0004003d,0x00000037,
+ 0x0000009c,0x00000058,0x0008004f,0x00000086,0x0000009d,0x0000009c,0x0000009c,0x00000000,
+ 0x00000001,0x00000002,0x00060050,0x00000086,0x0000009e,0x0000009b,0x0000009b,0x0000009b,
+ 0x00050088,0x00000086,0x0000009f,0x0000009d,0x0000009e,0x0004003d,0x00000037,0x000000a0,
+ 0x00000058,0x0009004f,0x00000037,0x000000a1,0x000000a0,0x0000009f,0x00000004,0x00000005,
+ 0x00000006,0x00000003,0x0003003e,0x00000058,0x000000a1,0x000200f9,0x00000099,0x000200f8,
+ 0x00000099,0x000200f9,0x00000082,0x000200f8,0x00000082,0x0004003d,0x00000037,0x000000a3,
+ 0x00000058,0x00050051,0x00000006,0x000000a4,0x000000a3,0x00000000,0x00050051,0x00000006,
+ 0x000000a5,0x000000a3,0x00000001,0x00050051,0x00000006,0x000000a6,0x000000a3,0x00000002,
+ 0x00050051,0x00000006,0x000000a7,0x000000a3,0x00000003,0x00070050,0x00000037,0x000000a8,
+ 0x000000a4,0x000000a5,0x000000a6,0x000000a7,0x0003003e,0x000000a2,0x000000a8,0x00050041,
+ 0x0000004a,0x000000aa,0x00000041,0x000000a9,0x0004003d,0x0000003e,0x000000ab,0x000000aa,
+ 0x000500ab,0x00000011,0x000000ac,0x000000ab,0x0000004d,0x000300f7,0x000000ae,0x00000000,
+ 0x000400fa,0x000000ac,0x000000ad,0x000000ae,0x000200f8,0x000000ad,0x00050041,0x00000007,
+ 0x000000b0,0x000000a2,0x0000004d,0x0004003d,0x00000006,0x000000b1,0x000000b0,0x0003003e,
+ 0x000000af,0x000000b1,0x00050039,0x00000006,0x000000b2,0x0000000d,0x000000af,0x00050041,
+ 0x00000007,0x000000b3,0x000000a2,0x0000004d,0x0003003e,0x000000b3,0x000000b2,0x00050041,
+ 0x00000007,0x000000b5,0x000000a2,0x00000051,0x0004003d,0x00000006,0x000000b6,0x000000b5,
+ 0x0003003e,0x000000b4,0x000000b6,0x00050039,0x00000006,0x000000b7,0x0000000d,0x000000b4,
+ 0x00050041,0x00000007,0x000000b8,0x000000a2,0x00000051,0x0003003e,0x000000b8,0x000000b7,
+ 0x00050041,0x00000007,0x000000ba,0x000000a2,0x00000078,0x0004003d,0x00000006,0x000000bb,
+ 0x000000ba,0x0003003e,0x000000b9,0x000000bb,0x00050039,0x00000006,0x000000bc,0x0000000d,
+ 0x000000b9,0x00050041,0x00000007,0x000000bd,0x000000a2,0x00000078,0x0003003e,0x000000bd,
+ 0x000000bc,0x000200f9,0x000000ae,0x000200f8,0x000000ae,0x00050041,0x0000004a,0x000000bf,
+ 0x00000041,0x000000be,0x0004003d,0x0000003e,0x000000c0,0x000000bf,0x000500ab,0x00000011,
+ 0x000000c1,0x000000c0,0x0000004d,0x000300f7,0x000000c3,0x00000000,0x000400fa,0x000000c1,
+ 0x000000c2,0x000000c8,0x000200f8,0x000000c2,0x0004003d,0x00000037,0x000000c4,0x000000a2,
+ 0x0007004f,0x0000003a,0x000000c5,0x000000c4,0x000000c4,0x00000000,0x00000003,0x0004003d,
+ 0x00000037,0x000000c6,0x000000a2,0x0009004f,0x00000037,0x000000c7,0x000000c6,0x000000c5,
+ 0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x000000a2,0x000000c7,0x000200f9,
+ 0x000000c3,0x000200f8,0x000000c8,0x00050041,0x0000004a,0x000000ca,0x00000041,0x000000c9,
+ 0x0004003d,0x0000003e,0x000000cb,0x000000ca,0x000500ab,0x00000011,0x000000cc,0x000000cb,
+ 0x0000004d,0x000300f7,0x000000ce,0x00000000,0x000400fa,0x000000cc,0x000000cd,0x000000d2,
+ 0x000200f8,0x000000cd,0x00050041,0x00000007,0x000000cf,0x000000a2,0x00000083,0x0004003d,
+ 0x00000006,0x000000d0,0x000000cf,0x00050041,0x00000007,0x000000d1,0x000000a2,0x0000004d,
+ 0x0003003e,0x000000d1,0x000000d0,0x000200f9,0x000000ce,0x000200f8,0x000000d2,0x00050041,
+ 0x00000063,0x000000d5,0x00000041,0x000000d4,0x0004003d,0x00000033,0x000000d6,0x000000d5,
+ 0x0003003e,0x000000d3,0x000000d6,0x0004003d,0x00000033,0x000000d7,0x000000d3,0x000500c7,
+ 0x00000033,0x000000d8,0x000000d7,0x00000062,0x000500ab,0x00000011,0x000000d9,0x000000d8,
+ 0x0000005d,0x000300f7,0x000000db,0x00000000,0x000400fa,0x000000d9,0x000000da,0x000000db,
+ 0x000200f8,0x000000da,0x00050041,0x00000007,0x000000dc,0x000000a2,0x00000051,0x0003003e,
+ 0x000000dc,0x00000095,0x000200f9,0x000000db,0x000200f8,0x000000db,0x0004003d,0x00000033,
+ 0x000000dd,0x000000d3,0x000500c7,0x00000033,0x000000de,0x000000dd,0x00000049,0x000500ab,
+ 0x00000011,0x000000df,0x000000de,0x0000005d,0x000300f7,0x000000e1,0x00000000,0x000400fa,
+ 0x000000df,0x000000e0,0x000000e1,0x000200f8,0x000000e0,0x00050041,0x00000007,0x000000e2,
+ 0x000000a2,0x00000078,0x0003003e,0x000000e2,0x00000095,0x000200f9,0x000000e1,0x000200f8,
+ 0x000000e1,0x0004003d,0x00000033,0x000000e3,0x000000d3,0x000500c7,0x00000033,0x000000e4,
+ 0x000000e3,0x000000c9,0x000500ab,0x00000011,0x000000e5,0x000000e4,0x0000005d,0x000300f7,
+ 0x000000e7,0x00000000,0x000400fa,0x000000e5,0x000000e6,0x000000e7,0x000200f8,0x000000e6,
+ 0x00050041,0x00000007,0x000000e9,0x000000a2,0x00000083,0x0003003e,0x000000e9,0x000000e8,
+ 0x000200f9,0x000000e7,0x000200f8,0x000000e7,0x000200f9,0x000000ce,0x000200f8,0x000000ce,
+ 0x000200f9,0x000000c3,0x000200f8,0x000000c3,0x0004003d,0x00000037,0x000000ec,0x000000a2,
+ 0x0003003e,0x000000eb,0x000000ec,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,
+ 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,
+ 0x00000006,0x0000000f,0x00000009,0x000500bc,0x00000011,0x00000012,0x0000000f,0x00000010,
+ 0x000300f7,0x00000014,0x00000000,0x000400fa,0x00000012,0x00000013,0x00000019,0x000200f8,
+ 0x00000013,0x0004003d,0x00000006,0x00000015,0x00000009,0x00050085,0x00000006,0x00000017,
+ 0x00000015,0x00000016,0x000200fe,0x00000017,0x000200f8,0x00000019,0x0004003d,0x00000006,
+ 0x0000001a,0x00000009,0x0007000c,0x00000006,0x0000001c,0x00000001,0x0000001a,0x0000001a,
+ 0x0000001b,0x00050085,0x00000006,0x0000001e,0x0000001c,0x0000001d,0x00050083,0x00000006,
+ 0x00000020,0x0000001e,0x0000001f,0x000200fe,0x00000020,0x000200f8,0x00000014,0x000100ff,
+ 0x00010038,0x00050036,0x00000006,0x0000000d,0x00000000,0x00000008,0x00030037,0x00000007,
+ 0x0000000c,0x000200f8,0x0000000e,0x0004003d,0x00000006,0x00000023,0x0000000c,0x000500bc,
+ 0x00000011,0x00000025,0x00000023,0x00000024,0x000300f7,0x00000027,0x00000000,0x000400fa,
+ 0x00000025,0x00000026,0x0000002b,0x000200f8,0x00000026,0x0004003d,0x00000006,0x00000028,
+ 0x0000000c,0x00050088,0x00000006,0x00000029,0x00000028,0x00000016,0x000200fe,0x00000029,
+ 0x000200f8,0x0000002b,0x0004003d,0x00000006,0x0000002c,0x0000000c,0x00050081,0x00000006,
+ 0x0000002d,0x0000002c,0x0000001f,0x00050088,0x00000006,0x0000002e,0x0000002d,0x0000001d,
+ 0x0007000c,0x00000006,0x00000030,0x00000001,0x0000001a,0x0000002e,0x0000002f,0x000200fe,
+ 0x00000030,0x000200f8,0x00000027,0x000100ff,0x00010038
};
// Generated from:
@@ -154,9 +213,38 @@ const uint32_t kImageCopy_frag_00000000[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -164,10 +252,20 @@ const uint32_t kImageCopy_frag_00000000[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
// vec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
+//
// if(params . premultiplyAlpha)
// {
// srcValue . rgb *= srcValue . a;
@@ -179,6 +277,14 @@ const uint32_t kImageCopy_frag_00000000[] = {
//
// vec4 destValue = vec4(srcValue);
//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
+//
// if(params . destHasLuminance)
// {
// destValue . rg = destValue . ra;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc
index cd9ecc641a6..5826107c738 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc
@@ -1,137 +1,165 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a0,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c5,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009e,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000c3,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002d,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000030,0x00637273,0x00050005,0x00000069,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000085,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009e,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000030,0x00000022,
- 0x00000000,0x00040047,0x00000030,0x00000021,0x00000000,0x00040047,0x0000009e,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040020,0x0000002c,0x00000007,0x0000000b,0x00090019,
- 0x0000002e,0x0000000a,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000000,
- 0x0004002b,0x00000006,0x00000032,0x00000000,0x0004002b,0x00000006,0x00000037,0x00000003,
- 0x00040020,0x00000038,0x00000009,0x00000006,0x00040017,0x0000003b,0x00000006,0x00000003,
- 0x0004002b,0x00000006,0x0000003f,0x00000002,0x0004002b,0x00000006,0x00000043,0x00000005,
- 0x0004002b,0x00000012,0x00000049,0x00000003,0x00040020,0x0000004a,0x00000007,0x0000000a,
- 0x00040017,0x0000004d,0x0000000a,0x00000003,0x0004002b,0x00000006,0x00000054,0x00000006,
- 0x0004002b,0x0000000a,0x0000005c,0x00000000,0x0004002b,0x00000006,0x00000070,0x00000007,
- 0x0004002b,0x00000006,0x0000007b,0x00000008,0x0004002b,0x00000006,0x00000086,0x00000009,
- 0x0004002b,0x00000012,0x00000094,0x00000002,0x0004002b,0x0000000a,0x0000009b,0x3f800000,
- 0x00040020,0x0000009d,0x00000003,0x0000000b,0x0004003b,0x0000009d,0x0000009e,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
- 0x0000002c,0x0000002d,0x00000007,0x0004003b,0x0000002c,0x00000069,0x00000007,0x0004003b,
- 0x00000027,0x00000085,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
- 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
- 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
- 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
- 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
- 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
- 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
- 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
- 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
- 0x000200f8,0x00000025,0x0004003d,0x0000002e,0x00000031,0x00000030,0x00050041,0x00000017,
- 0x00000033,0x00000015,0x00000032,0x0004003d,0x00000007,0x00000034,0x00000033,0x0004003d,
- 0x00000007,0x00000035,0x0000001b,0x00050080,0x00000007,0x00000036,0x00000034,0x00000035,
- 0x00050041,0x00000038,0x00000039,0x00000015,0x00000037,0x0004003d,0x00000006,0x0000003a,
- 0x00000039,0x00050051,0x00000006,0x0000003c,0x00000036,0x00000000,0x00050051,0x00000006,
- 0x0000003d,0x00000036,0x00000001,0x00060050,0x0000003b,0x0000003e,0x0000003c,0x0000003d,
- 0x0000003a,0x00050041,0x00000038,0x00000040,0x00000015,0x0000003f,0x0004003d,0x00000006,
- 0x00000041,0x00000040,0x0007005f,0x0000000b,0x00000042,0x00000031,0x0000003e,0x00000002,
- 0x00000041,0x0003003e,0x0000002d,0x00000042,0x00050041,0x0000001e,0x00000044,0x00000015,
- 0x00000043,0x0004003d,0x00000012,0x00000045,0x00000044,0x000500ab,0x00000021,0x00000046,
- 0x00000045,0x00000022,0x000300f7,0x00000048,0x00000000,0x000400fa,0x00000046,0x00000047,
- 0x00000053,0x000200f8,0x00000047,0x00050041,0x0000004a,0x0000004b,0x0000002d,0x00000049,
- 0x0004003d,0x0000000a,0x0000004c,0x0000004b,0x0004003d,0x0000000b,0x0000004e,0x0000002d,
- 0x0008004f,0x0000004d,0x0000004f,0x0000004e,0x0000004e,0x00000000,0x00000001,0x00000002,
- 0x0005008e,0x0000004d,0x00000050,0x0000004f,0x0000004c,0x0004003d,0x0000000b,0x00000051,
- 0x0000002d,0x0009004f,0x0000000b,0x00000052,0x00000051,0x00000050,0x00000004,0x00000005,
- 0x00000006,0x00000003,0x0003003e,0x0000002d,0x00000052,0x000200f9,0x00000048,0x000200f8,
- 0x00000053,0x00050041,0x0000001e,0x00000055,0x00000015,0x00000054,0x0004003d,0x00000012,
- 0x00000056,0x00000055,0x000500ab,0x00000021,0x00000057,0x00000056,0x00000022,0x000300f7,
- 0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,
- 0x00050041,0x0000004a,0x0000005a,0x0000002d,0x00000049,0x0004003d,0x0000000a,0x0000005b,
- 0x0000005a,0x000500ba,0x00000021,0x0000005d,0x0000005b,0x0000005c,0x000200f9,0x00000059,
- 0x000200f8,0x00000059,0x000700f5,0x00000021,0x0000005e,0x00000057,0x00000053,0x0000005d,
- 0x00000058,0x000300f7,0x00000060,0x00000000,0x000400fa,0x0000005e,0x0000005f,0x00000060,
- 0x000200f8,0x0000005f,0x00050041,0x0000004a,0x00000061,0x0000002d,0x00000049,0x0004003d,
- 0x0000000a,0x00000062,0x00000061,0x0004003d,0x0000000b,0x00000063,0x0000002d,0x0008004f,
- 0x0000004d,0x00000064,0x00000063,0x00000063,0x00000000,0x00000001,0x00000002,0x00060050,
- 0x0000004d,0x00000065,0x00000062,0x00000062,0x00000062,0x00050088,0x0000004d,0x00000066,
- 0x00000064,0x00000065,0x0004003d,0x0000000b,0x00000067,0x0000002d,0x0009004f,0x0000000b,
- 0x00000068,0x00000067,0x00000066,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
- 0x0000002d,0x00000068,0x000200f9,0x00000060,0x000200f8,0x00000060,0x000200f9,0x00000048,
- 0x000200f8,0x00000048,0x0004003d,0x0000000b,0x0000006a,0x0000002d,0x00050051,0x0000000a,
- 0x0000006b,0x0000006a,0x00000000,0x00050051,0x0000000a,0x0000006c,0x0000006a,0x00000001,
- 0x00050051,0x0000000a,0x0000006d,0x0000006a,0x00000002,0x00050051,0x0000000a,0x0000006e,
- 0x0000006a,0x00000003,0x00070050,0x0000000b,0x0000006f,0x0000006b,0x0000006c,0x0000006d,
- 0x0000006e,0x0003003e,0x00000069,0x0000006f,0x00050041,0x0000001e,0x00000071,0x00000015,
- 0x00000070,0x0004003d,0x00000012,0x00000072,0x00000071,0x000500ab,0x00000021,0x00000073,
- 0x00000072,0x00000022,0x000300f7,0x00000075,0x00000000,0x000400fa,0x00000073,0x00000074,
- 0x0000007a,0x000200f8,0x00000074,0x0004003d,0x0000000b,0x00000076,0x00000069,0x0007004f,
- 0x0000000e,0x00000077,0x00000076,0x00000076,0x00000000,0x00000003,0x0004003d,0x0000000b,
- 0x00000078,0x00000069,0x0009004f,0x0000000b,0x00000079,0x00000078,0x00000077,0x00000004,
- 0x00000005,0x00000002,0x00000003,0x0003003e,0x00000069,0x00000079,0x000200f9,0x00000075,
- 0x000200f8,0x0000007a,0x00050041,0x0000001e,0x0000007c,0x00000015,0x0000007b,0x0004003d,
- 0x00000012,0x0000007d,0x0000007c,0x000500ab,0x00000021,0x0000007e,0x0000007d,0x00000022,
- 0x000300f7,0x00000080,0x00000000,0x000400fa,0x0000007e,0x0000007f,0x00000084,0x000200f8,
- 0x0000007f,0x00050041,0x0000004a,0x00000081,0x00000069,0x00000049,0x0004003d,0x0000000a,
- 0x00000082,0x00000081,0x00050041,0x0000004a,0x00000083,0x00000069,0x00000022,0x0003003e,
- 0x00000083,0x00000082,0x000200f9,0x00000080,0x000200f8,0x00000084,0x00050041,0x00000038,
- 0x00000087,0x00000015,0x00000086,0x0004003d,0x00000006,0x00000088,0x00000087,0x0003003e,
- 0x00000085,0x00000088,0x0004003d,0x00000006,0x00000089,0x00000085,0x000500c7,0x00000006,
- 0x0000008a,0x00000089,0x0000003f,0x000500ab,0x00000021,0x0000008b,0x0000008a,0x00000032,
- 0x000300f7,0x0000008d,0x00000000,0x000400fa,0x0000008b,0x0000008c,0x0000008d,0x000200f8,
- 0x0000008c,0x00050041,0x0000004a,0x0000008e,0x00000069,0x00000026,0x0003003e,0x0000008e,
- 0x0000005c,0x000200f9,0x0000008d,0x000200f8,0x0000008d,0x0004003d,0x00000006,0x0000008f,
- 0x00000085,0x000500c7,0x00000006,0x00000090,0x0000008f,0x0000001d,0x000500ab,0x00000021,
- 0x00000091,0x00000090,0x00000032,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,
- 0x00000092,0x00000093,0x000200f8,0x00000092,0x00050041,0x0000004a,0x00000095,0x00000069,
- 0x00000094,0x0003003e,0x00000095,0x0000005c,0x000200f9,0x00000093,0x000200f8,0x00000093,
- 0x0004003d,0x00000006,0x00000096,0x00000085,0x000500c7,0x00000006,0x00000097,0x00000096,
- 0x0000007b,0x000500ab,0x00000021,0x00000098,0x00000097,0x00000032,0x000300f7,0x0000009a,
- 0x00000000,0x000400fa,0x00000098,0x00000099,0x0000009a,0x000200f8,0x00000099,0x00050041,
- 0x0000004a,0x0000009c,0x00000069,0x00000049,0x0003003e,0x0000009c,0x0000009b,0x000200f9,
- 0x0000009a,0x000200f8,0x0000009a,0x000200f9,0x00000080,0x000200f8,0x00000080,0x000200f9,
- 0x00000075,0x000200f8,0x00000075,0x0004003d,0x0000000b,0x0000009f,0x00000069,0x0003003e,
- 0x0000009e,0x0000009f,0x000100fd,0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000045,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000048,0x00637273,0x00040005,0x0000005a,0x61726170,0x0000006d,0x00040005,
+ 0x0000005f,0x61726170,0x0000006d,0x00040005,0x00000064,0x61726170,0x0000006d,0x00050005,
+ 0x00000094,0x74736564,0x756c6156,0x00000065,0x00070005,0x000000ac,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000c3,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x000000c3,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3b4d2e1c,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3ed55555,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x3d6147ae,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040020,0x00000044,
+ 0x00000007,0x00000024,0x00090019,0x00000046,0x00000006,0x00000001,0x00000000,0x00000000,
+ 0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,0x0004003b,
+ 0x00000047,0x00000048,0x00000000,0x0004002b,0x00000020,0x0000004a,0x00000000,0x0004002b,
+ 0x00000020,0x0000004f,0x00000002,0x00040020,0x00000050,0x00000009,0x00000020,0x0004002b,
+ 0x00000020,0x00000054,0x00000009,0x0004002b,0x0000002b,0x00000065,0x00000002,0x0004002b,
+ 0x00000020,0x0000006a,0x00000005,0x0004002b,0x0000002b,0x00000070,0x00000003,0x00040017,
+ 0x00000073,0x00000006,0x00000003,0x0004002b,0x00000020,0x0000007a,0x00000006,0x0004002b,
+ 0x00000006,0x00000082,0x00000000,0x0004002b,0x00000006,0x0000008f,0x437f0000,0x00040017,
+ 0x00000092,0x00000020,0x00000004,0x00040020,0x00000093,0x00000007,0x00000092,0x0004002b,
+ 0x00000020,0x00000097,0x00000007,0x0004002b,0x00000020,0x000000a2,0x00000008,0x0004002b,
+ 0x00000020,0x000000ad,0x0000000b,0x00040020,0x000000c2,0x00000003,0x00000092,0x0004003b,
+ 0x000000c2,0x000000c3,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000044,0x00000045,0x00000007,0x0004003b,0x00000007,
+ 0x0000005a,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,
+ 0x00000064,0x00000007,0x0004003b,0x00000093,0x00000094,0x00000007,0x0004003b,0x0000003f,
+ 0x000000ac,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000046,0x00000049,0x00000048,0x00050041,0x00000030,0x0000004b,
+ 0x0000002e,0x0000004a,0x0004003d,0x00000021,0x0000004c,0x0000004b,0x0004003d,0x00000021,
+ 0x0000004d,0x00000034,0x00050080,0x00000021,0x0000004e,0x0000004c,0x0000004d,0x00050041,
+ 0x00000050,0x00000051,0x0000002e,0x0000004f,0x0004003d,0x00000020,0x00000052,0x00000051,
+ 0x0007005f,0x00000024,0x00000053,0x00000049,0x0000004e,0x00000002,0x00000052,0x0003003e,
+ 0x00000045,0x00000053,0x00050041,0x00000037,0x00000055,0x0000002e,0x00000054,0x0004003d,
+ 0x0000002b,0x00000056,0x00000055,0x000500ab,0x0000000e,0x00000057,0x00000056,0x0000003a,
+ 0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,
+ 0x00000058,0x00050041,0x00000007,0x0000005b,0x00000045,0x0000003a,0x0004003d,0x00000006,
+ 0x0000005c,0x0000005b,0x0003003e,0x0000005a,0x0000005c,0x00050039,0x00000006,0x0000005d,
+ 0x0000000a,0x0000005a,0x00050041,0x00000007,0x0000005e,0x00000045,0x0000003a,0x0003003e,
+ 0x0000005e,0x0000005d,0x00050041,0x00000007,0x00000060,0x00000045,0x0000003e,0x0004003d,
+ 0x00000006,0x00000061,0x00000060,0x0003003e,0x0000005f,0x00000061,0x00050039,0x00000006,
+ 0x00000062,0x0000000a,0x0000005f,0x00050041,0x00000007,0x00000063,0x00000045,0x0000003e,
+ 0x0003003e,0x00000063,0x00000062,0x00050041,0x00000007,0x00000066,0x00000045,0x00000065,
+ 0x0004003d,0x00000006,0x00000067,0x00000066,0x0003003e,0x00000064,0x00000067,0x00050039,
+ 0x00000006,0x00000068,0x0000000a,0x00000064,0x00050041,0x00000007,0x00000069,0x00000045,
+ 0x00000065,0x0003003e,0x00000069,0x00000068,0x000200f9,0x00000059,0x000200f8,0x00000059,
+ 0x00050041,0x00000037,0x0000006b,0x0000002e,0x0000006a,0x0004003d,0x0000002b,0x0000006c,
+ 0x0000006b,0x000500ab,0x0000000e,0x0000006d,0x0000006c,0x0000003a,0x000300f7,0x0000006f,
+ 0x00000000,0x000400fa,0x0000006d,0x0000006e,0x00000079,0x000200f8,0x0000006e,0x00050041,
+ 0x00000007,0x00000071,0x00000045,0x00000070,0x0004003d,0x00000006,0x00000072,0x00000071,
+ 0x0004003d,0x00000024,0x00000074,0x00000045,0x0008004f,0x00000073,0x00000075,0x00000074,
+ 0x00000074,0x00000000,0x00000001,0x00000002,0x0005008e,0x00000073,0x00000076,0x00000075,
+ 0x00000072,0x0004003d,0x00000024,0x00000077,0x00000045,0x0009004f,0x00000024,0x00000078,
+ 0x00000077,0x00000076,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,
+ 0x00000078,0x000200f9,0x0000006f,0x000200f8,0x00000079,0x00050041,0x00000037,0x0000007b,
+ 0x0000002e,0x0000007a,0x0004003d,0x0000002b,0x0000007c,0x0000007b,0x000500ab,0x0000000e,
+ 0x0000007d,0x0000007c,0x0000003a,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007d,
+ 0x0000007e,0x0000007f,0x000200f8,0x0000007e,0x00050041,0x00000007,0x00000080,0x00000045,
+ 0x00000070,0x0004003d,0x00000006,0x00000081,0x00000080,0x000500ba,0x0000000e,0x00000083,
+ 0x00000081,0x00000082,0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x000700f5,0x0000000e,
+ 0x00000084,0x0000007d,0x00000079,0x00000083,0x0000007e,0x000300f7,0x00000086,0x00000000,
+ 0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000007,
+ 0x00000087,0x00000045,0x00000070,0x0004003d,0x00000006,0x00000088,0x00000087,0x0004003d,
+ 0x00000024,0x00000089,0x00000045,0x0008004f,0x00000073,0x0000008a,0x00000089,0x00000089,
+ 0x00000000,0x00000001,0x00000002,0x00060050,0x00000073,0x0000008b,0x00000088,0x00000088,
+ 0x00000088,0x00050088,0x00000073,0x0000008c,0x0000008a,0x0000008b,0x0004003d,0x00000024,
+ 0x0000008d,0x00000045,0x0009004f,0x00000024,0x0000008e,0x0000008d,0x0000008c,0x00000004,
+ 0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,0x0000008e,0x000200f9,0x00000086,
+ 0x000200f8,0x00000086,0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x0004003d,0x00000024,
+ 0x00000090,0x00000045,0x0005008e,0x00000024,0x00000091,0x00000090,0x0000008f,0x0003003e,
+ 0x00000045,0x00000091,0x0004003d,0x00000024,0x00000095,0x00000045,0x0004006e,0x00000092,
+ 0x00000096,0x00000095,0x0003003e,0x00000094,0x00000096,0x00050041,0x00000037,0x00000098,
+ 0x0000002e,0x00000097,0x0004003d,0x0000002b,0x00000099,0x00000098,0x000500ab,0x0000000e,
+ 0x0000009a,0x00000099,0x0000003a,0x000300f7,0x0000009c,0x00000000,0x000400fa,0x0000009a,
+ 0x0000009b,0x000000a1,0x000200f8,0x0000009b,0x0004003d,0x00000092,0x0000009d,0x00000094,
+ 0x0007004f,0x00000021,0x0000009e,0x0000009d,0x0000009d,0x00000000,0x00000003,0x0004003d,
+ 0x00000092,0x0000009f,0x00000094,0x0009004f,0x00000092,0x000000a0,0x0000009f,0x0000009e,
+ 0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x00000094,0x000000a0,0x000200f9,
+ 0x0000009c,0x000200f8,0x000000a1,0x00050041,0x00000037,0x000000a3,0x0000002e,0x000000a2,
+ 0x0004003d,0x0000002b,0x000000a4,0x000000a3,0x000500ab,0x0000000e,0x000000a5,0x000000a4,
+ 0x0000003a,0x000300f7,0x000000a7,0x00000000,0x000400fa,0x000000a5,0x000000a6,0x000000ab,
+ 0x000200f8,0x000000a6,0x00050041,0x0000003f,0x000000a8,0x00000094,0x00000070,0x0004003d,
+ 0x00000020,0x000000a9,0x000000a8,0x00050041,0x0000003f,0x000000aa,0x00000094,0x0000003a,
+ 0x0003003e,0x000000aa,0x000000a9,0x000200f9,0x000000a7,0x000200f8,0x000000ab,0x00050041,
+ 0x00000050,0x000000ae,0x0000002e,0x000000ad,0x0004003d,0x00000020,0x000000af,0x000000ae,
+ 0x0003003e,0x000000ac,0x000000af,0x0004003d,0x00000020,0x000000b0,0x000000ac,0x000500c7,
+ 0x00000020,0x000000b1,0x000000b0,0x0000004f,0x000500ab,0x0000000e,0x000000b2,0x000000b1,
+ 0x0000004a,0x000300f7,0x000000b4,0x00000000,0x000400fa,0x000000b2,0x000000b3,0x000000b4,
+ 0x000200f8,0x000000b3,0x00050041,0x0000003f,0x000000b5,0x00000094,0x0000003e,0x0003003e,
+ 0x000000b5,0x0000004a,0x000200f9,0x000000b4,0x000200f8,0x000000b4,0x0004003d,0x00000020,
+ 0x000000b6,0x000000ac,0x000500c7,0x00000020,0x000000b7,0x000000b6,0x00000036,0x000500ab,
+ 0x0000000e,0x000000b8,0x000000b7,0x0000004a,0x000300f7,0x000000ba,0x00000000,0x000400fa,
+ 0x000000b8,0x000000b9,0x000000ba,0x000200f8,0x000000b9,0x00050041,0x0000003f,0x000000bb,
+ 0x00000094,0x00000065,0x0003003e,0x000000bb,0x0000004a,0x000200f9,0x000000ba,0x000200f8,
+ 0x000000ba,0x0004003d,0x00000020,0x000000bc,0x000000ac,0x000500c7,0x00000020,0x000000bd,
+ 0x000000bc,0x000000a2,0x000500ab,0x0000000e,0x000000be,0x000000bd,0x0000004a,0x000300f7,
+ 0x000000c0,0x00000000,0x000400fa,0x000000be,0x000000bf,0x000000c0,0x000200f8,0x000000bf,
+ 0x00050041,0x0000003f,0x000000c1,0x00000094,0x00000070,0x0003003e,0x000000c1,0x0000002f,
+ 0x000200f9,0x000000c0,0x000200f8,0x000000c0,0x000200f9,0x000000a7,0x000200f8,0x000000a7,
+ 0x000200f9,0x0000009c,0x000200f8,0x0000009c,0x0004003d,0x00000092,0x000000c4,0x00000094,
+ 0x0003003e,0x000000c3,0x000000c4,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,
+ 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,
+ 0x00000006,0x0000000c,0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,0x0000000d,
+ 0x000300f7,0x00000011,0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,0x000200f8,
+ 0x00000010,0x0004003d,0x00000006,0x00000012,0x00000009,0x00050085,0x00000006,0x00000014,
+ 0x00000012,0x00000013,0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,0x00000006,
+ 0x00000017,0x00000009,0x0007000c,0x00000006,0x00000019,0x00000001,0x0000001a,0x00000017,
+ 0x00000018,0x00050085,0x00000006,0x0000001b,0x00000019,0x0000001a,0x00050083,0x00000006,
+ 0x0000001d,0x0000001b,0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,0x000100ff,
+ 0x00010038
};
// Generated from:
@@ -140,8 +168,8 @@ const uint32_t kImageCopy_frag_00000001[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform texture2DArray src;
-// layout(location = 0)out vec4 dest;
+// layout(set = 0, binding = 0)uniform texture2D src;
+// layout(location = 0)out ivec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -158,9 +186,25 @@ const uint32_t kImageCopy_frag_00000001[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -168,9 +212,19 @@ const uint32_t kImageCopy_frag_00000001[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// vec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
-// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
//
// if(params . premultiplyAlpha)
// {
@@ -181,7 +235,9 @@ const uint32_t kImageCopy_frag_00000001[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// vec4 destValue = vec4(srcValue);
+// srcValue *= 255.0;
+//
+// ivec4 destValue = ivec4(srcValue);
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc
index ddcfc925eb9..33f2ef01097 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc
@@ -1,132 +1,166 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000002[] = {
- 0x07230203,0x00010000,0x00080007,0x00000098,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c7,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000096,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000c5,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000063,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007c,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000096,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x00000096,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
- 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
- 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
- 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
- 0x00040017,0x00000046,0x00000006,0x00000003,0x0004002b,0x00000006,0x0000004e,0x00000006,
- 0x00040020,0x00000062,0x00000007,0x0000000b,0x0004002b,0x00000006,0x00000066,0x00000007,
- 0x0004002b,0x00000006,0x00000071,0x00000008,0x00040020,0x00000077,0x00000007,0x0000000a,
- 0x0004002b,0x00000006,0x0000007d,0x00000009,0x0004002b,0x0000000a,0x00000085,0x00000000,
- 0x0004002b,0x00000012,0x0000008c,0x00000002,0x0004002b,0x0000000a,0x00000093,0x3f800000,
- 0x00040020,0x00000095,0x00000003,0x0000000b,0x0004003b,0x00000095,0x00000096,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
- 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x00000062,0x00000063,0x00000007,0x0004003b,
- 0x00000027,0x0000007c,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
- 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
- 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
- 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
- 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
- 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
- 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
- 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
- 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
- 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
- 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
- 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
- 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
- 0x0000003a,0x0007005f,0x0000002c,0x0000003c,0x00000032,0x00000037,0x00000002,0x0000003b,
- 0x0003003e,0x0000002e,0x0000003c,0x00050041,0x0000001e,0x0000003e,0x00000015,0x0000003d,
- 0x0004003d,0x00000012,0x0000003f,0x0000003e,0x000500ab,0x00000021,0x00000040,0x0000003f,
- 0x00000022,0x000300f7,0x00000042,0x00000000,0x000400fa,0x00000040,0x00000041,0x0000004d,
- 0x000200f8,0x00000041,0x00050041,0x00000027,0x00000044,0x0000002e,0x00000043,0x0004003d,
- 0x00000006,0x00000045,0x00000044,0x0004003d,0x0000002c,0x00000047,0x0000002e,0x0008004f,
- 0x00000046,0x00000048,0x00000047,0x00000047,0x00000000,0x00000001,0x00000002,0x00060050,
- 0x00000046,0x00000049,0x00000045,0x00000045,0x00000045,0x00050084,0x00000046,0x0000004a,
- 0x00000048,0x00000049,0x0004003d,0x0000002c,0x0000004b,0x0000002e,0x0009004f,0x0000002c,
- 0x0000004c,0x0000004b,0x0000004a,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
- 0x0000002e,0x0000004c,0x000200f9,0x00000042,0x000200f8,0x0000004d,0x00050041,0x0000001e,
- 0x0000004f,0x00000015,0x0000004e,0x0004003d,0x00000012,0x00000050,0x0000004f,0x000500ab,
- 0x00000021,0x00000051,0x00000050,0x00000022,0x000300f7,0x00000053,0x00000000,0x000400fa,
- 0x00000051,0x00000052,0x00000053,0x000200f8,0x00000052,0x00050041,0x00000027,0x00000054,
- 0x0000002e,0x00000043,0x0004003d,0x00000006,0x00000055,0x00000054,0x000500ad,0x00000021,
- 0x00000056,0x00000055,0x00000033,0x000200f9,0x00000053,0x000200f8,0x00000053,0x000700f5,
- 0x00000021,0x00000057,0x00000051,0x0000004d,0x00000056,0x00000052,0x000300f7,0x00000059,
- 0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,
- 0x00000027,0x0000005a,0x0000002e,0x00000043,0x0004003d,0x00000006,0x0000005b,0x0000005a,
- 0x0004003d,0x0000002c,0x0000005c,0x0000002e,0x0008004f,0x00000046,0x0000005d,0x0000005c,
- 0x0000005c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000046,0x0000005e,0x0000005b,
- 0x0000005b,0x0000005b,0x00050087,0x00000046,0x0000005f,0x0000005d,0x0000005e,0x0004003d,
- 0x0000002c,0x00000060,0x0000002e,0x0009004f,0x0000002c,0x00000061,0x00000060,0x0000005f,
- 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000061,0x000200f9,
- 0x00000059,0x000200f8,0x00000059,0x000200f9,0x00000042,0x000200f8,0x00000042,0x0004003d,
- 0x0000002c,0x00000064,0x0000002e,0x0004006f,0x0000000b,0x00000065,0x00000064,0x0003003e,
- 0x00000063,0x00000065,0x00050041,0x0000001e,0x00000067,0x00000015,0x00000066,0x0004003d,
- 0x00000012,0x00000068,0x00000067,0x000500ab,0x00000021,0x00000069,0x00000068,0x00000022,
- 0x000300f7,0x0000006b,0x00000000,0x000400fa,0x00000069,0x0000006a,0x00000070,0x000200f8,
- 0x0000006a,0x0004003d,0x0000000b,0x0000006c,0x00000063,0x0007004f,0x0000000e,0x0000006d,
- 0x0000006c,0x0000006c,0x00000000,0x00000003,0x0004003d,0x0000000b,0x0000006e,0x00000063,
- 0x0009004f,0x0000000b,0x0000006f,0x0000006e,0x0000006d,0x00000004,0x00000005,0x00000002,
- 0x00000003,0x0003003e,0x00000063,0x0000006f,0x000200f9,0x0000006b,0x000200f8,0x00000070,
- 0x00050041,0x0000001e,0x00000072,0x00000015,0x00000071,0x0004003d,0x00000012,0x00000073,
- 0x00000072,0x000500ab,0x00000021,0x00000074,0x00000073,0x00000022,0x000300f7,0x00000076,
- 0x00000000,0x000400fa,0x00000074,0x00000075,0x0000007b,0x000200f8,0x00000075,0x00050041,
- 0x00000077,0x00000078,0x00000063,0x00000043,0x0004003d,0x0000000a,0x00000079,0x00000078,
- 0x00050041,0x00000077,0x0000007a,0x00000063,0x00000022,0x0003003e,0x0000007a,0x00000079,
- 0x000200f9,0x00000076,0x000200f8,0x0000007b,0x00050041,0x00000039,0x0000007e,0x00000015,
- 0x0000007d,0x0004003d,0x00000006,0x0000007f,0x0000007e,0x0003003e,0x0000007c,0x0000007f,
- 0x0004003d,0x00000006,0x00000080,0x0000007c,0x000500c7,0x00000006,0x00000081,0x00000080,
- 0x00000038,0x000500ab,0x00000021,0x00000082,0x00000081,0x00000033,0x000300f7,0x00000084,
- 0x00000000,0x000400fa,0x00000082,0x00000083,0x00000084,0x000200f8,0x00000083,0x00050041,
- 0x00000077,0x00000086,0x00000063,0x00000026,0x0003003e,0x00000086,0x00000085,0x000200f9,
- 0x00000084,0x000200f8,0x00000084,0x0004003d,0x00000006,0x00000087,0x0000007c,0x000500c7,
- 0x00000006,0x00000088,0x00000087,0x0000001d,0x000500ab,0x00000021,0x00000089,0x00000088,
- 0x00000033,0x000300f7,0x0000008b,0x00000000,0x000400fa,0x00000089,0x0000008a,0x0000008b,
- 0x000200f8,0x0000008a,0x00050041,0x00000077,0x0000008d,0x00000063,0x0000008c,0x0003003e,
- 0x0000008d,0x00000085,0x000200f9,0x0000008b,0x000200f8,0x0000008b,0x0004003d,0x00000006,
- 0x0000008e,0x0000007c,0x000500c7,0x00000006,0x0000008f,0x0000008e,0x00000071,0x000500ab,
- 0x00000021,0x00000090,0x0000008f,0x00000033,0x000300f7,0x00000092,0x00000000,0x000400fa,
- 0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x00050041,0x00000077,0x00000094,
- 0x00000063,0x00000043,0x0003003e,0x00000094,0x00000093,0x000200f9,0x00000092,0x000200f8,
- 0x00000092,0x000200f9,0x00000076,0x000200f8,0x00000076,0x000200f9,0x0000006b,0x000200f8,
- 0x0000006b,0x0004003d,0x0000000b,0x00000097,0x00000063,0x0003003e,0x00000096,0x00000097,
- 0x000100fd,0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000045,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000048,0x00637273,0x00040005,0x0000005a,0x61726170,0x0000006d,0x00040005,
+ 0x0000005f,0x61726170,0x0000006d,0x00040005,0x00000064,0x61726170,0x0000006d,0x00050005,
+ 0x00000094,0x74736564,0x756c6156,0x00000065,0x00070005,0x000000ae,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000c5,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x000000c5,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3b4d2e1c,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3ed55555,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x3d6147ae,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040020,0x00000044,
+ 0x00000007,0x00000024,0x00090019,0x00000046,0x00000006,0x00000001,0x00000000,0x00000000,
+ 0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,0x0004003b,
+ 0x00000047,0x00000048,0x00000000,0x0004002b,0x00000020,0x0000004a,0x00000000,0x0004002b,
+ 0x00000020,0x0000004f,0x00000002,0x00040020,0x00000050,0x00000009,0x00000020,0x0004002b,
+ 0x00000020,0x00000054,0x00000009,0x0004002b,0x0000002b,0x00000065,0x00000002,0x0004002b,
+ 0x00000020,0x0000006a,0x00000005,0x0004002b,0x0000002b,0x00000070,0x00000003,0x00040017,
+ 0x00000073,0x00000006,0x00000003,0x0004002b,0x00000020,0x0000007a,0x00000006,0x0004002b,
+ 0x00000006,0x00000082,0x00000000,0x0004002b,0x00000006,0x0000008f,0x437f0000,0x00040017,
+ 0x00000092,0x0000002b,0x00000004,0x00040020,0x00000093,0x00000007,0x00000092,0x0004002b,
+ 0x00000020,0x00000097,0x00000007,0x00040017,0x0000009d,0x0000002b,0x00000002,0x0004002b,
+ 0x00000020,0x000000a3,0x00000008,0x00040020,0x000000a9,0x00000007,0x0000002b,0x0004002b,
+ 0x00000020,0x000000af,0x0000000b,0x00040020,0x000000c4,0x00000003,0x00000092,0x0004003b,
+ 0x000000c4,0x000000c5,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000044,0x00000045,0x00000007,0x0004003b,0x00000007,
+ 0x0000005a,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007,0x0004003b,0x00000007,
+ 0x00000064,0x00000007,0x0004003b,0x00000093,0x00000094,0x00000007,0x0004003b,0x0000003f,
+ 0x000000ae,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000046,0x00000049,0x00000048,0x00050041,0x00000030,0x0000004b,
+ 0x0000002e,0x0000004a,0x0004003d,0x00000021,0x0000004c,0x0000004b,0x0004003d,0x00000021,
+ 0x0000004d,0x00000034,0x00050080,0x00000021,0x0000004e,0x0000004c,0x0000004d,0x00050041,
+ 0x00000050,0x00000051,0x0000002e,0x0000004f,0x0004003d,0x00000020,0x00000052,0x00000051,
+ 0x0007005f,0x00000024,0x00000053,0x00000049,0x0000004e,0x00000002,0x00000052,0x0003003e,
+ 0x00000045,0x00000053,0x00050041,0x00000037,0x00000055,0x0000002e,0x00000054,0x0004003d,
+ 0x0000002b,0x00000056,0x00000055,0x000500ab,0x0000000e,0x00000057,0x00000056,0x0000003a,
+ 0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,
+ 0x00000058,0x00050041,0x00000007,0x0000005b,0x00000045,0x0000003a,0x0004003d,0x00000006,
+ 0x0000005c,0x0000005b,0x0003003e,0x0000005a,0x0000005c,0x00050039,0x00000006,0x0000005d,
+ 0x0000000a,0x0000005a,0x00050041,0x00000007,0x0000005e,0x00000045,0x0000003a,0x0003003e,
+ 0x0000005e,0x0000005d,0x00050041,0x00000007,0x00000060,0x00000045,0x0000003e,0x0004003d,
+ 0x00000006,0x00000061,0x00000060,0x0003003e,0x0000005f,0x00000061,0x00050039,0x00000006,
+ 0x00000062,0x0000000a,0x0000005f,0x00050041,0x00000007,0x00000063,0x00000045,0x0000003e,
+ 0x0003003e,0x00000063,0x00000062,0x00050041,0x00000007,0x00000066,0x00000045,0x00000065,
+ 0x0004003d,0x00000006,0x00000067,0x00000066,0x0003003e,0x00000064,0x00000067,0x00050039,
+ 0x00000006,0x00000068,0x0000000a,0x00000064,0x00050041,0x00000007,0x00000069,0x00000045,
+ 0x00000065,0x0003003e,0x00000069,0x00000068,0x000200f9,0x00000059,0x000200f8,0x00000059,
+ 0x00050041,0x00000037,0x0000006b,0x0000002e,0x0000006a,0x0004003d,0x0000002b,0x0000006c,
+ 0x0000006b,0x000500ab,0x0000000e,0x0000006d,0x0000006c,0x0000003a,0x000300f7,0x0000006f,
+ 0x00000000,0x000400fa,0x0000006d,0x0000006e,0x00000079,0x000200f8,0x0000006e,0x00050041,
+ 0x00000007,0x00000071,0x00000045,0x00000070,0x0004003d,0x00000006,0x00000072,0x00000071,
+ 0x0004003d,0x00000024,0x00000074,0x00000045,0x0008004f,0x00000073,0x00000075,0x00000074,
+ 0x00000074,0x00000000,0x00000001,0x00000002,0x0005008e,0x00000073,0x00000076,0x00000075,
+ 0x00000072,0x0004003d,0x00000024,0x00000077,0x00000045,0x0009004f,0x00000024,0x00000078,
+ 0x00000077,0x00000076,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,
+ 0x00000078,0x000200f9,0x0000006f,0x000200f8,0x00000079,0x00050041,0x00000037,0x0000007b,
+ 0x0000002e,0x0000007a,0x0004003d,0x0000002b,0x0000007c,0x0000007b,0x000500ab,0x0000000e,
+ 0x0000007d,0x0000007c,0x0000003a,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007d,
+ 0x0000007e,0x0000007f,0x000200f8,0x0000007e,0x00050041,0x00000007,0x00000080,0x00000045,
+ 0x00000070,0x0004003d,0x00000006,0x00000081,0x00000080,0x000500ba,0x0000000e,0x00000083,
+ 0x00000081,0x00000082,0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x000700f5,0x0000000e,
+ 0x00000084,0x0000007d,0x00000079,0x00000083,0x0000007e,0x000300f7,0x00000086,0x00000000,
+ 0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000007,
+ 0x00000087,0x00000045,0x00000070,0x0004003d,0x00000006,0x00000088,0x00000087,0x0004003d,
+ 0x00000024,0x00000089,0x00000045,0x0008004f,0x00000073,0x0000008a,0x00000089,0x00000089,
+ 0x00000000,0x00000001,0x00000002,0x00060050,0x00000073,0x0000008b,0x00000088,0x00000088,
+ 0x00000088,0x00050088,0x00000073,0x0000008c,0x0000008a,0x0000008b,0x0004003d,0x00000024,
+ 0x0000008d,0x00000045,0x0009004f,0x00000024,0x0000008e,0x0000008d,0x0000008c,0x00000004,
+ 0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,0x0000008e,0x000200f9,0x00000086,
+ 0x000200f8,0x00000086,0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x0004003d,0x00000024,
+ 0x00000090,0x00000045,0x0005008e,0x00000024,0x00000091,0x00000090,0x0000008f,0x0003003e,
+ 0x00000045,0x00000091,0x0004003d,0x00000024,0x00000095,0x00000045,0x0004006d,0x00000092,
+ 0x00000096,0x00000095,0x0003003e,0x00000094,0x00000096,0x00050041,0x00000037,0x00000098,
+ 0x0000002e,0x00000097,0x0004003d,0x0000002b,0x00000099,0x00000098,0x000500ab,0x0000000e,
+ 0x0000009a,0x00000099,0x0000003a,0x000300f7,0x0000009c,0x00000000,0x000400fa,0x0000009a,
+ 0x0000009b,0x000000a2,0x000200f8,0x0000009b,0x0004003d,0x00000092,0x0000009e,0x00000094,
+ 0x0007004f,0x0000009d,0x0000009f,0x0000009e,0x0000009e,0x00000000,0x00000003,0x0004003d,
+ 0x00000092,0x000000a0,0x00000094,0x0009004f,0x00000092,0x000000a1,0x000000a0,0x0000009f,
+ 0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x00000094,0x000000a1,0x000200f9,
+ 0x0000009c,0x000200f8,0x000000a2,0x00050041,0x00000037,0x000000a4,0x0000002e,0x000000a3,
+ 0x0004003d,0x0000002b,0x000000a5,0x000000a4,0x000500ab,0x0000000e,0x000000a6,0x000000a5,
+ 0x0000003a,0x000300f7,0x000000a8,0x00000000,0x000400fa,0x000000a6,0x000000a7,0x000000ad,
+ 0x000200f8,0x000000a7,0x00050041,0x000000a9,0x000000aa,0x00000094,0x00000070,0x0004003d,
+ 0x0000002b,0x000000ab,0x000000aa,0x00050041,0x000000a9,0x000000ac,0x00000094,0x0000003a,
+ 0x0003003e,0x000000ac,0x000000ab,0x000200f9,0x000000a8,0x000200f8,0x000000ad,0x00050041,
+ 0x00000050,0x000000b0,0x0000002e,0x000000af,0x0004003d,0x00000020,0x000000b1,0x000000b0,
+ 0x0003003e,0x000000ae,0x000000b1,0x0004003d,0x00000020,0x000000b2,0x000000ae,0x000500c7,
+ 0x00000020,0x000000b3,0x000000b2,0x0000004f,0x000500ab,0x0000000e,0x000000b4,0x000000b3,
+ 0x0000004a,0x000300f7,0x000000b6,0x00000000,0x000400fa,0x000000b4,0x000000b5,0x000000b6,
+ 0x000200f8,0x000000b5,0x00050041,0x000000a9,0x000000b7,0x00000094,0x0000003e,0x0003003e,
+ 0x000000b7,0x0000003a,0x000200f9,0x000000b6,0x000200f8,0x000000b6,0x0004003d,0x00000020,
+ 0x000000b8,0x000000ae,0x000500c7,0x00000020,0x000000b9,0x000000b8,0x00000036,0x000500ab,
+ 0x0000000e,0x000000ba,0x000000b9,0x0000004a,0x000300f7,0x000000bc,0x00000000,0x000400fa,
+ 0x000000ba,0x000000bb,0x000000bc,0x000200f8,0x000000bb,0x00050041,0x000000a9,0x000000bd,
+ 0x00000094,0x00000065,0x0003003e,0x000000bd,0x0000003a,0x000200f9,0x000000bc,0x000200f8,
+ 0x000000bc,0x0004003d,0x00000020,0x000000be,0x000000ae,0x000500c7,0x00000020,0x000000bf,
+ 0x000000be,0x000000a3,0x000500ab,0x0000000e,0x000000c0,0x000000bf,0x0000004a,0x000300f7,
+ 0x000000c2,0x00000000,0x000400fa,0x000000c0,0x000000c1,0x000000c2,0x000200f8,0x000000c1,
+ 0x00050041,0x000000a9,0x000000c3,0x00000094,0x00000070,0x0003003e,0x000000c3,0x0000003e,
+ 0x000200f9,0x000000c2,0x000200f8,0x000000c2,0x000200f9,0x000000a8,0x000200f8,0x000000a8,
+ 0x000200f9,0x0000009c,0x000200f8,0x0000009c,0x0004003d,0x00000092,0x000000c6,0x00000094,
+ 0x0003003e,0x000000c5,0x000000c6,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,
+ 0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,
+ 0x00000006,0x0000000c,0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,0x0000000d,
+ 0x000300f7,0x00000011,0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,0x000200f8,
+ 0x00000010,0x0004003d,0x00000006,0x00000012,0x00000009,0x00050085,0x00000006,0x00000014,
+ 0x00000012,0x00000013,0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,0x00000006,
+ 0x00000017,0x00000009,0x0007000c,0x00000006,0x00000019,0x00000001,0x0000001a,0x00000017,
+ 0x00000018,0x00050085,0x00000006,0x0000001b,0x00000019,0x0000001a,0x00050083,0x00000006,
+ 0x0000001d,0x0000001b,0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,0x000100ff,
+ 0x00010038
};
// Generated from:
@@ -135,8 +169,8 @@ const uint32_t kImageCopy_frag_00000002[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform itexture2D src;
-// layout(location = 0)out vec4 dest;
+// layout(set = 0, binding = 0)uniform texture2D src;
+// layout(location = 0)out uvec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -153,9 +187,25 @@ const uint32_t kImageCopy_frag_00000002[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -163,9 +213,19 @@ const uint32_t kImageCopy_frag_00000002[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// vec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
-// ivec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
//
// if(params . premultiplyAlpha)
// {
@@ -176,7 +236,9 @@ const uint32_t kImageCopy_frag_00000002[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// vec4 destValue = vec4(srcValue);
+// srcValue *= 255.0;
+//
+// uvec4 destValue = uvec4(srcValue);
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc
index b55dbf42b4a..3fc5e7ce012 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc
@@ -1,132 +1,167 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000004[] = {
- 0x07230203,0x00010000,0x00080007,0x00000099,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c8,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000097,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000c6,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000064,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007d,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000097,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x00000097,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
- 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
- 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
- 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
- 0x00040020,0x00000044,0x00000007,0x00000012,0x00040017,0x00000047,0x00000012,0x00000003,
- 0x0004002b,0x00000006,0x0000004f,0x00000006,0x00040020,0x00000063,0x00000007,0x0000000b,
- 0x0004002b,0x00000006,0x00000067,0x00000007,0x0004002b,0x00000006,0x00000072,0x00000008,
- 0x00040020,0x00000078,0x00000007,0x0000000a,0x0004002b,0x00000006,0x0000007e,0x00000009,
- 0x0004002b,0x0000000a,0x00000086,0x00000000,0x0004002b,0x00000012,0x0000008d,0x00000002,
- 0x0004002b,0x0000000a,0x00000094,0x3f800000,0x00040020,0x00000096,0x00000003,0x0000000b,
- 0x0004003b,0x00000096,0x00000097,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x0004003b,
- 0x00000063,0x00000064,0x00000007,0x0004003b,0x00000027,0x0000007d,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
- 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
- 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
- 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
- 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
- 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
- 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
- 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
- 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
- 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002f,
- 0x00000032,0x00000031,0x00050041,0x00000017,0x00000034,0x00000015,0x00000033,0x0004003d,
- 0x00000007,0x00000035,0x00000034,0x0004003d,0x00000007,0x00000036,0x0000001b,0x00050080,
- 0x00000007,0x00000037,0x00000035,0x00000036,0x00050041,0x00000039,0x0000003a,0x00000015,
- 0x00000038,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x0007005f,0x0000002c,0x0000003c,
- 0x00000032,0x00000037,0x00000002,0x0000003b,0x0003003e,0x0000002e,0x0000003c,0x00050041,
- 0x0000001e,0x0000003e,0x00000015,0x0000003d,0x0004003d,0x00000012,0x0000003f,0x0000003e,
- 0x000500ab,0x00000021,0x00000040,0x0000003f,0x00000022,0x000300f7,0x00000042,0x00000000,
- 0x000400fa,0x00000040,0x00000041,0x0000004e,0x000200f8,0x00000041,0x00050041,0x00000044,
- 0x00000045,0x0000002e,0x00000043,0x0004003d,0x00000012,0x00000046,0x00000045,0x0004003d,
- 0x0000002c,0x00000048,0x0000002e,0x0008004f,0x00000047,0x00000049,0x00000048,0x00000048,
- 0x00000000,0x00000001,0x00000002,0x00060050,0x00000047,0x0000004a,0x00000046,0x00000046,
- 0x00000046,0x00050084,0x00000047,0x0000004b,0x00000049,0x0000004a,0x0004003d,0x0000002c,
- 0x0000004c,0x0000002e,0x0009004f,0x0000002c,0x0000004d,0x0000004c,0x0000004b,0x00000004,
- 0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x0000004d,0x000200f9,0x00000042,
- 0x000200f8,0x0000004e,0x00050041,0x0000001e,0x00000050,0x00000015,0x0000004f,0x0004003d,
- 0x00000012,0x00000051,0x00000050,0x000500ab,0x00000021,0x00000052,0x00000051,0x00000022,
- 0x000300f7,0x00000054,0x00000000,0x000400fa,0x00000052,0x00000053,0x00000054,0x000200f8,
- 0x00000053,0x00050041,0x00000044,0x00000055,0x0000002e,0x00000043,0x0004003d,0x00000012,
- 0x00000056,0x00000055,0x000500ac,0x00000021,0x00000057,0x00000056,0x00000022,0x000200f9,
- 0x00000054,0x000200f8,0x00000054,0x000700f5,0x00000021,0x00000058,0x00000052,0x0000004e,
- 0x00000057,0x00000053,0x000300f7,0x0000005a,0x00000000,0x000400fa,0x00000058,0x00000059,
- 0x0000005a,0x000200f8,0x00000059,0x00050041,0x00000044,0x0000005b,0x0000002e,0x00000043,
- 0x0004003d,0x00000012,0x0000005c,0x0000005b,0x0004003d,0x0000002c,0x0000005d,0x0000002e,
- 0x0008004f,0x00000047,0x0000005e,0x0000005d,0x0000005d,0x00000000,0x00000001,0x00000002,
- 0x00060050,0x00000047,0x0000005f,0x0000005c,0x0000005c,0x0000005c,0x00050086,0x00000047,
- 0x00000060,0x0000005e,0x0000005f,0x0004003d,0x0000002c,0x00000061,0x0000002e,0x0009004f,
- 0x0000002c,0x00000062,0x00000061,0x00000060,0x00000004,0x00000005,0x00000006,0x00000003,
- 0x0003003e,0x0000002e,0x00000062,0x000200f9,0x0000005a,0x000200f8,0x0000005a,0x000200f9,
- 0x00000042,0x000200f8,0x00000042,0x0004003d,0x0000002c,0x00000065,0x0000002e,0x00040070,
- 0x0000000b,0x00000066,0x00000065,0x0003003e,0x00000064,0x00000066,0x00050041,0x0000001e,
- 0x00000068,0x00000015,0x00000067,0x0004003d,0x00000012,0x00000069,0x00000068,0x000500ab,
- 0x00000021,0x0000006a,0x00000069,0x00000022,0x000300f7,0x0000006c,0x00000000,0x000400fa,
- 0x0000006a,0x0000006b,0x00000071,0x000200f8,0x0000006b,0x0004003d,0x0000000b,0x0000006d,
- 0x00000064,0x0007004f,0x0000000e,0x0000006e,0x0000006d,0x0000006d,0x00000000,0x00000003,
- 0x0004003d,0x0000000b,0x0000006f,0x00000064,0x0009004f,0x0000000b,0x00000070,0x0000006f,
- 0x0000006e,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x00000064,0x00000070,
- 0x000200f9,0x0000006c,0x000200f8,0x00000071,0x00050041,0x0000001e,0x00000073,0x00000015,
- 0x00000072,0x0004003d,0x00000012,0x00000074,0x00000073,0x000500ab,0x00000021,0x00000075,
- 0x00000074,0x00000022,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,0x00000076,
- 0x0000007c,0x000200f8,0x00000076,0x00050041,0x00000078,0x00000079,0x00000064,0x00000043,
- 0x0004003d,0x0000000a,0x0000007a,0x00000079,0x00050041,0x00000078,0x0000007b,0x00000064,
- 0x00000022,0x0003003e,0x0000007b,0x0000007a,0x000200f9,0x00000077,0x000200f8,0x0000007c,
- 0x00050041,0x00000039,0x0000007f,0x00000015,0x0000007e,0x0004003d,0x00000006,0x00000080,
- 0x0000007f,0x0003003e,0x0000007d,0x00000080,0x0004003d,0x00000006,0x00000081,0x0000007d,
- 0x000500c7,0x00000006,0x00000082,0x00000081,0x00000038,0x000500ab,0x00000021,0x00000083,
- 0x00000082,0x00000033,0x000300f7,0x00000085,0x00000000,0x000400fa,0x00000083,0x00000084,
- 0x00000085,0x000200f8,0x00000084,0x00050041,0x00000078,0x00000087,0x00000064,0x00000026,
- 0x0003003e,0x00000087,0x00000086,0x000200f9,0x00000085,0x000200f8,0x00000085,0x0004003d,
- 0x00000006,0x00000088,0x0000007d,0x000500c7,0x00000006,0x00000089,0x00000088,0x0000001d,
- 0x000500ab,0x00000021,0x0000008a,0x00000089,0x00000033,0x000300f7,0x0000008c,0x00000000,
- 0x000400fa,0x0000008a,0x0000008b,0x0000008c,0x000200f8,0x0000008b,0x00050041,0x00000078,
- 0x0000008e,0x00000064,0x0000008d,0x0003003e,0x0000008e,0x00000086,0x000200f9,0x0000008c,
- 0x000200f8,0x0000008c,0x0004003d,0x00000006,0x0000008f,0x0000007d,0x000500c7,0x00000006,
- 0x00000090,0x0000008f,0x00000072,0x000500ab,0x00000021,0x00000091,0x00000090,0x00000033,
- 0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,0x00000093,0x000200f8,
- 0x00000092,0x00050041,0x00000078,0x00000095,0x00000064,0x00000043,0x0003003e,0x00000095,
- 0x00000094,0x000200f9,0x00000093,0x000200f8,0x00000093,0x000200f9,0x00000077,0x000200f8,
- 0x00000077,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x0004003d,0x0000000b,0x00000098,
- 0x00000064,0x0003003e,0x00000097,0x00000098,0x000100fd,0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x42475273,0x694c6f54,
+ 0x7261656e,0x3b316628,0x00000000,0x00040005,0x00000009,0x42475273,0x00000000,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000046,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000049,0x00637273,0x00050005,0x0000007b,0x74736564,0x756c6156,0x00000065,
+ 0x00040005,0x00000088,0x61726170,0x0000006d,0x00040005,0x0000008d,0x61726170,0x0000006d,
+ 0x00040005,0x00000092,0x61726170,0x0000006d,0x00070005,0x000000ad,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000c6,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000049,0x00000022,0x00000000,0x00040047,0x00000049,
+ 0x00000021,0x00000000,0x00040047,0x000000c6,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3d25aee6,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3d6147ae,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x4019999a,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040017,0x00000044,
+ 0x00000020,0x00000004,0x00040020,0x00000045,0x00000007,0x00000044,0x00090019,0x00000047,
+ 0x00000020,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000048,0x00000000,0x00000047,0x0004003b,0x00000048,0x00000049,0x00000000,0x0004002b,
+ 0x00000020,0x0000004b,0x00000000,0x0004002b,0x00000020,0x00000050,0x00000002,0x00040020,
+ 0x00000051,0x00000009,0x00000020,0x0004002b,0x00000020,0x00000055,0x00000005,0x0004002b,
+ 0x0000002b,0x0000005b,0x00000003,0x00040017,0x0000005e,0x00000020,0x00000003,0x0004002b,
+ 0x00000020,0x00000066,0x00000006,0x00040020,0x0000007a,0x00000007,0x00000024,0x0004002b,
+ 0x00000006,0x0000007e,0x437f0000,0x0004002b,0x00000020,0x00000082,0x0000000a,0x0004002b,
+ 0x0000002b,0x00000093,0x00000002,0x0004002b,0x00000020,0x00000098,0x00000007,0x0004002b,
+ 0x00000020,0x000000a3,0x00000008,0x0004002b,0x00000020,0x000000ae,0x0000000b,0x0004002b,
+ 0x00000006,0x000000b6,0x00000000,0x0004002b,0x00000006,0x000000c3,0x3f800000,0x00040020,
+ 0x000000c5,0x00000003,0x00000024,0x0004003b,0x000000c5,0x000000c6,0x00000003,0x00050036,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000022,
+ 0x00000023,0x00000007,0x0004003b,0x00000022,0x00000034,0x00000007,0x0004003b,0x00000045,
+ 0x00000046,0x00000007,0x0004003b,0x0000007a,0x0000007b,0x00000007,0x0004003b,0x00000007,
+ 0x00000088,0x00000007,0x0004003b,0x00000007,0x0000008d,0x00000007,0x0004003b,0x00000007,
+ 0x00000092,0x00000007,0x0004003b,0x0000003f,0x000000ad,0x00000007,0x0004003d,0x00000024,
+ 0x00000028,0x00000026,0x0007004f,0x00000027,0x00000029,0x00000028,0x00000028,0x00000000,
+ 0x00000001,0x0004006e,0x00000021,0x0000002a,0x00000029,0x00050041,0x00000030,0x00000031,
+ 0x0000002e,0x0000002f,0x0004003d,0x00000021,0x00000032,0x00000031,0x00050082,0x00000021,
+ 0x00000033,0x0000002a,0x00000032,0x0003003e,0x00000023,0x00000033,0x0004003d,0x00000021,
+ 0x00000035,0x00000023,0x0003003e,0x00000034,0x00000035,0x00050041,0x00000037,0x00000038,
+ 0x0000002e,0x00000036,0x0004003d,0x0000002b,0x00000039,0x00000038,0x000500ab,0x0000000e,
+ 0x0000003b,0x00000039,0x0000003a,0x000300f7,0x0000003d,0x00000000,0x000400fa,0x0000003b,
+ 0x0000003c,0x0000003d,0x000200f8,0x0000003c,0x00050041,0x0000003f,0x00000040,0x00000034,
+ 0x0000003e,0x0004003d,0x00000020,0x00000041,0x00000040,0x0004007e,0x00000020,0x00000042,
+ 0x00000041,0x00050041,0x0000003f,0x00000043,0x00000034,0x0000003e,0x0003003e,0x00000043,
+ 0x00000042,0x000200f9,0x0000003d,0x000200f8,0x0000003d,0x0004003d,0x00000047,0x0000004a,
+ 0x00000049,0x00050041,0x00000030,0x0000004c,0x0000002e,0x0000004b,0x0004003d,0x00000021,
+ 0x0000004d,0x0000004c,0x0004003d,0x00000021,0x0000004e,0x00000034,0x00050080,0x00000021,
+ 0x0000004f,0x0000004d,0x0000004e,0x00050041,0x00000051,0x00000052,0x0000002e,0x00000050,
+ 0x0004003d,0x00000020,0x00000053,0x00000052,0x0007005f,0x00000044,0x00000054,0x0000004a,
+ 0x0000004f,0x00000002,0x00000053,0x0003003e,0x00000046,0x00000054,0x00050041,0x00000037,
+ 0x00000056,0x0000002e,0x00000055,0x0004003d,0x0000002b,0x00000057,0x00000056,0x000500ab,
+ 0x0000000e,0x00000058,0x00000057,0x0000003a,0x000300f7,0x0000005a,0x00000000,0x000400fa,
+ 0x00000058,0x00000059,0x00000065,0x000200f8,0x00000059,0x00050041,0x0000003f,0x0000005c,
+ 0x00000046,0x0000005b,0x0004003d,0x00000020,0x0000005d,0x0000005c,0x0004003d,0x00000044,
+ 0x0000005f,0x00000046,0x0008004f,0x0000005e,0x00000060,0x0000005f,0x0000005f,0x00000000,
+ 0x00000001,0x00000002,0x00060050,0x0000005e,0x00000061,0x0000005d,0x0000005d,0x0000005d,
+ 0x00050084,0x0000005e,0x00000062,0x00000060,0x00000061,0x0004003d,0x00000044,0x00000063,
+ 0x00000046,0x0009004f,0x00000044,0x00000064,0x00000063,0x00000062,0x00000004,0x00000005,
+ 0x00000006,0x00000003,0x0003003e,0x00000046,0x00000064,0x000200f9,0x0000005a,0x000200f8,
+ 0x00000065,0x00050041,0x00000037,0x00000067,0x0000002e,0x00000066,0x0004003d,0x0000002b,
+ 0x00000068,0x00000067,0x000500ab,0x0000000e,0x00000069,0x00000068,0x0000003a,0x000300f7,
+ 0x0000006b,0x00000000,0x000400fa,0x00000069,0x0000006a,0x0000006b,0x000200f8,0x0000006a,
+ 0x00050041,0x0000003f,0x0000006c,0x00000046,0x0000005b,0x0004003d,0x00000020,0x0000006d,
+ 0x0000006c,0x000500ad,0x0000000e,0x0000006e,0x0000006d,0x0000004b,0x000200f9,0x0000006b,
+ 0x000200f8,0x0000006b,0x000700f5,0x0000000e,0x0000006f,0x00000069,0x00000065,0x0000006e,
+ 0x0000006a,0x000300f7,0x00000071,0x00000000,0x000400fa,0x0000006f,0x00000070,0x00000071,
+ 0x000200f8,0x00000070,0x00050041,0x0000003f,0x00000072,0x00000046,0x0000005b,0x0004003d,
+ 0x00000020,0x00000073,0x00000072,0x0004003d,0x00000044,0x00000074,0x00000046,0x0008004f,
+ 0x0000005e,0x00000075,0x00000074,0x00000074,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x0000005e,0x00000076,0x00000073,0x00000073,0x00000073,0x00050087,0x0000005e,0x00000077,
+ 0x00000075,0x00000076,0x0004003d,0x00000044,0x00000078,0x00000046,0x0009004f,0x00000044,
+ 0x00000079,0x00000078,0x00000077,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000046,0x00000079,0x000200f9,0x00000071,0x000200f8,0x00000071,0x000200f9,0x0000005a,
+ 0x000200f8,0x0000005a,0x0004003d,0x00000044,0x0000007c,0x00000046,0x0004006f,0x00000024,
+ 0x0000007d,0x0000007c,0x0003003e,0x0000007b,0x0000007d,0x0004003d,0x00000024,0x0000007f,
+ 0x0000007b,0x00070050,0x00000024,0x00000080,0x0000007e,0x0000007e,0x0000007e,0x0000007e,
+ 0x00050088,0x00000024,0x00000081,0x0000007f,0x00000080,0x0003003e,0x0000007b,0x00000081,
+ 0x00050041,0x00000037,0x00000083,0x0000002e,0x00000082,0x0004003d,0x0000002b,0x00000084,
+ 0x00000083,0x000500ab,0x0000000e,0x00000085,0x00000084,0x0000003a,0x000300f7,0x00000087,
+ 0x00000000,0x000400fa,0x00000085,0x00000086,0x00000087,0x000200f8,0x00000086,0x00050041,
+ 0x00000007,0x00000089,0x0000007b,0x0000003a,0x0004003d,0x00000006,0x0000008a,0x00000089,
+ 0x0003003e,0x00000088,0x0000008a,0x00050039,0x00000006,0x0000008b,0x0000000a,0x00000088,
+ 0x00050041,0x00000007,0x0000008c,0x0000007b,0x0000003a,0x0003003e,0x0000008c,0x0000008b,
+ 0x00050041,0x00000007,0x0000008e,0x0000007b,0x0000003e,0x0004003d,0x00000006,0x0000008f,
+ 0x0000008e,0x0003003e,0x0000008d,0x0000008f,0x00050039,0x00000006,0x00000090,0x0000000a,
+ 0x0000008d,0x00050041,0x00000007,0x00000091,0x0000007b,0x0000003e,0x0003003e,0x00000091,
+ 0x00000090,0x00050041,0x00000007,0x00000094,0x0000007b,0x00000093,0x0004003d,0x00000006,
+ 0x00000095,0x00000094,0x0003003e,0x00000092,0x00000095,0x00050039,0x00000006,0x00000096,
+ 0x0000000a,0x00000092,0x00050041,0x00000007,0x00000097,0x0000007b,0x00000093,0x0003003e,
+ 0x00000097,0x00000096,0x000200f9,0x00000087,0x000200f8,0x00000087,0x00050041,0x00000037,
+ 0x00000099,0x0000002e,0x00000098,0x0004003d,0x0000002b,0x0000009a,0x00000099,0x000500ab,
+ 0x0000000e,0x0000009b,0x0000009a,0x0000003a,0x000300f7,0x0000009d,0x00000000,0x000400fa,
+ 0x0000009b,0x0000009c,0x000000a2,0x000200f8,0x0000009c,0x0004003d,0x00000024,0x0000009e,
+ 0x0000007b,0x0007004f,0x00000027,0x0000009f,0x0000009e,0x0000009e,0x00000000,0x00000003,
+ 0x0004003d,0x00000024,0x000000a0,0x0000007b,0x0009004f,0x00000024,0x000000a1,0x000000a0,
+ 0x0000009f,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000007b,0x000000a1,
+ 0x000200f9,0x0000009d,0x000200f8,0x000000a2,0x00050041,0x00000037,0x000000a4,0x0000002e,
+ 0x000000a3,0x0004003d,0x0000002b,0x000000a5,0x000000a4,0x000500ab,0x0000000e,0x000000a6,
+ 0x000000a5,0x0000003a,0x000300f7,0x000000a8,0x00000000,0x000400fa,0x000000a6,0x000000a7,
+ 0x000000ac,0x000200f8,0x000000a7,0x00050041,0x00000007,0x000000a9,0x0000007b,0x0000005b,
+ 0x0004003d,0x00000006,0x000000aa,0x000000a9,0x00050041,0x00000007,0x000000ab,0x0000007b,
+ 0x0000003a,0x0003003e,0x000000ab,0x000000aa,0x000200f9,0x000000a8,0x000200f8,0x000000ac,
+ 0x00050041,0x00000051,0x000000af,0x0000002e,0x000000ae,0x0004003d,0x00000020,0x000000b0,
+ 0x000000af,0x0003003e,0x000000ad,0x000000b0,0x0004003d,0x00000020,0x000000b1,0x000000ad,
+ 0x000500c7,0x00000020,0x000000b2,0x000000b1,0x00000050,0x000500ab,0x0000000e,0x000000b3,
+ 0x000000b2,0x0000004b,0x000300f7,0x000000b5,0x00000000,0x000400fa,0x000000b3,0x000000b4,
+ 0x000000b5,0x000200f8,0x000000b4,0x00050041,0x00000007,0x000000b7,0x0000007b,0x0000003e,
+ 0x0003003e,0x000000b7,0x000000b6,0x000200f9,0x000000b5,0x000200f8,0x000000b5,0x0004003d,
+ 0x00000020,0x000000b8,0x000000ad,0x000500c7,0x00000020,0x000000b9,0x000000b8,0x00000036,
+ 0x000500ab,0x0000000e,0x000000ba,0x000000b9,0x0000004b,0x000300f7,0x000000bc,0x00000000,
+ 0x000400fa,0x000000ba,0x000000bb,0x000000bc,0x000200f8,0x000000bb,0x00050041,0x00000007,
+ 0x000000bd,0x0000007b,0x00000093,0x0003003e,0x000000bd,0x000000b6,0x000200f9,0x000000bc,
+ 0x000200f8,0x000000bc,0x0004003d,0x00000020,0x000000be,0x000000ad,0x000500c7,0x00000020,
+ 0x000000bf,0x000000be,0x000000a3,0x000500ab,0x0000000e,0x000000c0,0x000000bf,0x0000004b,
+ 0x000300f7,0x000000c2,0x00000000,0x000400fa,0x000000c0,0x000000c1,0x000000c2,0x000200f8,
+ 0x000000c1,0x00050041,0x00000007,0x000000c4,0x0000007b,0x0000005b,0x0003003e,0x000000c4,
+ 0x000000c3,0x000200f9,0x000000c2,0x000200f8,0x000000c2,0x000200f9,0x000000a8,0x000200f8,
+ 0x000000a8,0x000200f9,0x0000009d,0x000200f8,0x0000009d,0x0004003d,0x00000024,0x000000c7,
+ 0x0000007b,0x0003003e,0x000000c6,0x000000c7,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
+ 0x0004003d,0x00000006,0x0000000c,0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,
+ 0x0000000d,0x000300f7,0x00000011,0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,
+ 0x000200f8,0x00000010,0x0004003d,0x00000006,0x00000012,0x00000009,0x00050088,0x00000006,
+ 0x00000014,0x00000012,0x00000013,0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,
+ 0x00000006,0x00000017,0x00000009,0x00050081,0x00000006,0x00000019,0x00000017,0x00000018,
+ 0x00050088,0x00000006,0x0000001b,0x00000019,0x0000001a,0x0007000c,0x00000006,0x0000001d,
+ 0x00000001,0x0000001a,0x0000001b,0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,
+ 0x000100ff,0x00010038
};
// Generated from:
@@ -135,7 +170,7 @@ const uint32_t kImageCopy_frag_00000004[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform utexture2D src;
+// layout(set = 0, binding = 0)uniform itexture2D src;
// layout(location = 0)out vec4 dest;
//
// layout(push_constant)uniform PushConstants {
@@ -153,9 +188,25 @@ const uint32_t kImageCopy_frag_00000004[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -163,9 +214,11 @@ const uint32_t kImageCopy_frag_00000004[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
-// uvec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+// ivec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
// if(params . premultiplyAlpha)
// {
@@ -178,6 +231,16 @@ const uint32_t kImageCopy_frag_00000004[] = {
//
// vec4 destValue = vec4(srcValue);
//
+// destValue /= 255.0;
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
+//
// if(params . destHasLuminance)
// {
// destValue . rg = destValue . ra;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc
index a91214e4395..845e1df7a0e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000005[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a0,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000098,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009e,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000096,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
@@ -16,121 +16,121 @@ const uint32_t kImageCopy_frag_00000005[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x0000006b,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000084,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009e,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x0000009e,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x00000062,0x74736564,0x756c6156,0x00000065,0x00070005,0x0000007e,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000096,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x00000096,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
- 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
- 0x0004002b,0x00000006,0x00000038,0x00000003,0x00040020,0x00000039,0x00000009,0x00000006,
- 0x00040017,0x0000003c,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000040,0x00000002,
- 0x0004002b,0x00000006,0x00000044,0x00000005,0x0004002b,0x00000012,0x0000004a,0x00000003,
- 0x00040020,0x0000004b,0x00000007,0x00000012,0x00040017,0x0000004e,0x00000012,0x00000003,
- 0x0004002b,0x00000006,0x00000056,0x00000006,0x00040020,0x0000006a,0x00000007,0x0000000b,
- 0x0004002b,0x00000006,0x0000006e,0x00000007,0x0004002b,0x00000006,0x00000079,0x00000008,
- 0x00040020,0x0000007f,0x00000007,0x0000000a,0x0004002b,0x00000006,0x00000085,0x00000009,
- 0x0004002b,0x0000000a,0x0000008d,0x00000000,0x0004002b,0x00000012,0x00000094,0x00000002,
- 0x0004002b,0x0000000a,0x0000009b,0x3f800000,0x00040020,0x0000009d,0x00000003,0x0000000b,
- 0x0004003b,0x0000009d,0x0000009e,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x0004003b,
- 0x0000006a,0x0000006b,0x00000007,0x0004003b,0x00000027,0x00000084,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
- 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
- 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
- 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
- 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
- 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
- 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
- 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
- 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
- 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002f,
- 0x00000032,0x00000031,0x00050041,0x00000017,0x00000034,0x00000015,0x00000033,0x0004003d,
- 0x00000007,0x00000035,0x00000034,0x0004003d,0x00000007,0x00000036,0x0000001b,0x00050080,
- 0x00000007,0x00000037,0x00000035,0x00000036,0x00050041,0x00000039,0x0000003a,0x00000015,
- 0x00000038,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050051,0x00000006,0x0000003d,
- 0x00000037,0x00000000,0x00050051,0x00000006,0x0000003e,0x00000037,0x00000001,0x00060050,
- 0x0000003c,0x0000003f,0x0000003d,0x0000003e,0x0000003b,0x00050041,0x00000039,0x00000041,
- 0x00000015,0x00000040,0x0004003d,0x00000006,0x00000042,0x00000041,0x0007005f,0x0000002c,
- 0x00000043,0x00000032,0x0000003f,0x00000002,0x00000042,0x0003003e,0x0000002e,0x00000043,
- 0x00050041,0x0000001e,0x00000045,0x00000015,0x00000044,0x0004003d,0x00000012,0x00000046,
- 0x00000045,0x000500ab,0x00000021,0x00000047,0x00000046,0x00000022,0x000300f7,0x00000049,
- 0x00000000,0x000400fa,0x00000047,0x00000048,0x00000055,0x000200f8,0x00000048,0x00050041,
- 0x0000004b,0x0000004c,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x0000004d,0x0000004c,
- 0x0004003d,0x0000002c,0x0000004f,0x0000002e,0x0008004f,0x0000004e,0x00000050,0x0000004f,
- 0x0000004f,0x00000000,0x00000001,0x00000002,0x00060050,0x0000004e,0x00000051,0x0000004d,
- 0x0000004d,0x0000004d,0x00050084,0x0000004e,0x00000052,0x00000050,0x00000051,0x0004003d,
- 0x0000002c,0x00000053,0x0000002e,0x0009004f,0x0000002c,0x00000054,0x00000053,0x00000052,
- 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000054,0x000200f9,
- 0x00000049,0x000200f8,0x00000055,0x00050041,0x0000001e,0x00000057,0x00000015,0x00000056,
- 0x0004003d,0x00000012,0x00000058,0x00000057,0x000500ab,0x00000021,0x00000059,0x00000058,
- 0x00000022,0x000300f7,0x0000005b,0x00000000,0x000400fa,0x00000059,0x0000005a,0x0000005b,
- 0x000200f8,0x0000005a,0x00050041,0x0000004b,0x0000005c,0x0000002e,0x0000004a,0x0004003d,
- 0x00000012,0x0000005d,0x0000005c,0x000500ac,0x00000021,0x0000005e,0x0000005d,0x00000022,
- 0x000200f9,0x0000005b,0x000200f8,0x0000005b,0x000700f5,0x00000021,0x0000005f,0x00000059,
- 0x00000055,0x0000005e,0x0000005a,0x000300f7,0x00000061,0x00000000,0x000400fa,0x0000005f,
- 0x00000060,0x00000061,0x000200f8,0x00000060,0x00050041,0x0000004b,0x00000062,0x0000002e,
- 0x0000004a,0x0004003d,0x00000012,0x00000063,0x00000062,0x0004003d,0x0000002c,0x00000064,
- 0x0000002e,0x0008004f,0x0000004e,0x00000065,0x00000064,0x00000064,0x00000000,0x00000001,
- 0x00000002,0x00060050,0x0000004e,0x00000066,0x00000063,0x00000063,0x00000063,0x00050086,
- 0x0000004e,0x00000067,0x00000065,0x00000066,0x0004003d,0x0000002c,0x00000068,0x0000002e,
- 0x0009004f,0x0000002c,0x00000069,0x00000068,0x00000067,0x00000004,0x00000005,0x00000006,
- 0x00000003,0x0003003e,0x0000002e,0x00000069,0x000200f9,0x00000061,0x000200f8,0x00000061,
- 0x000200f9,0x00000049,0x000200f8,0x00000049,0x0004003d,0x0000002c,0x0000006c,0x0000002e,
- 0x00040070,0x0000000b,0x0000006d,0x0000006c,0x0003003e,0x0000006b,0x0000006d,0x00050041,
- 0x0000001e,0x0000006f,0x00000015,0x0000006e,0x0004003d,0x00000012,0x00000070,0x0000006f,
- 0x000500ab,0x00000021,0x00000071,0x00000070,0x00000022,0x000300f7,0x00000073,0x00000000,
- 0x000400fa,0x00000071,0x00000072,0x00000078,0x000200f8,0x00000072,0x0004003d,0x0000000b,
- 0x00000074,0x0000006b,0x0007004f,0x0000000e,0x00000075,0x00000074,0x00000074,0x00000000,
- 0x00000003,0x0004003d,0x0000000b,0x00000076,0x0000006b,0x0009004f,0x0000000b,0x00000077,
- 0x00000076,0x00000075,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000006b,
- 0x00000077,0x000200f9,0x00000073,0x000200f8,0x00000078,0x00050041,0x0000001e,0x0000007a,
- 0x00000015,0x00000079,0x0004003d,0x00000012,0x0000007b,0x0000007a,0x000500ab,0x00000021,
- 0x0000007c,0x0000007b,0x00000022,0x000300f7,0x0000007e,0x00000000,0x000400fa,0x0000007c,
- 0x0000007d,0x00000083,0x000200f8,0x0000007d,0x00050041,0x0000007f,0x00000080,0x0000006b,
- 0x0000004a,0x0004003d,0x0000000a,0x00000081,0x00000080,0x00050041,0x0000007f,0x00000082,
- 0x0000006b,0x00000022,0x0003003e,0x00000082,0x00000081,0x000200f9,0x0000007e,0x000200f8,
- 0x00000083,0x00050041,0x00000039,0x00000086,0x00000015,0x00000085,0x0004003d,0x00000006,
- 0x00000087,0x00000086,0x0003003e,0x00000084,0x00000087,0x0004003d,0x00000006,0x00000088,
- 0x00000084,0x000500c7,0x00000006,0x00000089,0x00000088,0x00000040,0x000500ab,0x00000021,
- 0x0000008a,0x00000089,0x00000033,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,
- 0x0000008b,0x0000008c,0x000200f8,0x0000008b,0x00050041,0x0000007f,0x0000008e,0x0000006b,
- 0x00000026,0x0003003e,0x0000008e,0x0000008d,0x000200f9,0x0000008c,0x000200f8,0x0000008c,
- 0x0004003d,0x00000006,0x0000008f,0x00000084,0x000500c7,0x00000006,0x00000090,0x0000008f,
- 0x0000001d,0x000500ab,0x00000021,0x00000091,0x00000090,0x00000033,0x000300f7,0x00000093,
- 0x00000000,0x000400fa,0x00000091,0x00000092,0x00000093,0x000200f8,0x00000092,0x00050041,
- 0x0000007f,0x00000095,0x0000006b,0x00000094,0x0003003e,0x00000095,0x0000008d,0x000200f9,
- 0x00000093,0x000200f8,0x00000093,0x0004003d,0x00000006,0x00000096,0x00000084,0x000500c7,
- 0x00000006,0x00000097,0x00000096,0x00000079,0x000500ab,0x00000021,0x00000098,0x00000097,
- 0x00000033,0x000300f7,0x0000009a,0x00000000,0x000400fa,0x00000098,0x00000099,0x0000009a,
- 0x000200f8,0x00000099,0x00050041,0x0000007f,0x0000009c,0x0000006b,0x0000004a,0x0003003e,
- 0x0000009c,0x0000009b,0x000200f9,0x0000009a,0x000200f8,0x0000009a,0x000200f9,0x0000007e,
- 0x000200f8,0x0000007e,0x000200f9,0x00000073,0x000200f8,0x00000073,0x0004003d,0x0000000b,
- 0x0000009f,0x0000006b,0x0003003e,0x0000009e,0x0000009f,0x000100fd,0x00010038
+ 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
+ 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
+ 0x00040017,0x00000046,0x00000006,0x00000003,0x0004002b,0x00000006,0x0000004e,0x00000006,
+ 0x0004002b,0x00000006,0x00000069,0x00000007,0x0004002b,0x00000006,0x00000074,0x00000008,
+ 0x0004002b,0x00000006,0x0000007f,0x0000000b,0x0004002b,0x00000012,0x0000008d,0x00000002,
+ 0x00040020,0x00000095,0x00000003,0x0000002c,0x0004003b,0x00000095,0x00000096,0x00000003,
+ 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
+ 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
+ 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x0000002d,0x00000062,0x00000007,0x0004003b,
+ 0x00000027,0x0000007e,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
+ 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
+ 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
+ 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
+ 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
+ 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
+ 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
+ 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
+ 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
+ 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
+ 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
+ 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
+ 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
+ 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
+ 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
+ 0x0000003a,0x0007005f,0x0000002c,0x0000003c,0x00000032,0x00000037,0x00000002,0x0000003b,
+ 0x0003003e,0x0000002e,0x0000003c,0x00050041,0x0000001e,0x0000003e,0x00000015,0x0000003d,
+ 0x0004003d,0x00000012,0x0000003f,0x0000003e,0x000500ab,0x00000021,0x00000040,0x0000003f,
+ 0x00000022,0x000300f7,0x00000042,0x00000000,0x000400fa,0x00000040,0x00000041,0x0000004d,
+ 0x000200f8,0x00000041,0x00050041,0x00000027,0x00000044,0x0000002e,0x00000043,0x0004003d,
+ 0x00000006,0x00000045,0x00000044,0x0004003d,0x0000002c,0x00000047,0x0000002e,0x0008004f,
+ 0x00000046,0x00000048,0x00000047,0x00000047,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x00000046,0x00000049,0x00000045,0x00000045,0x00000045,0x00050084,0x00000046,0x0000004a,
+ 0x00000048,0x00000049,0x0004003d,0x0000002c,0x0000004b,0x0000002e,0x0009004f,0x0000002c,
+ 0x0000004c,0x0000004b,0x0000004a,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x0000002e,0x0000004c,0x000200f9,0x00000042,0x000200f8,0x0000004d,0x00050041,0x0000001e,
+ 0x0000004f,0x00000015,0x0000004e,0x0004003d,0x00000012,0x00000050,0x0000004f,0x000500ab,
+ 0x00000021,0x00000051,0x00000050,0x00000022,0x000300f7,0x00000053,0x00000000,0x000400fa,
+ 0x00000051,0x00000052,0x00000053,0x000200f8,0x00000052,0x00050041,0x00000027,0x00000054,
+ 0x0000002e,0x00000043,0x0004003d,0x00000006,0x00000055,0x00000054,0x000500ad,0x00000021,
+ 0x00000056,0x00000055,0x00000033,0x000200f9,0x00000053,0x000200f8,0x00000053,0x000700f5,
+ 0x00000021,0x00000057,0x00000051,0x0000004d,0x00000056,0x00000052,0x000300f7,0x00000059,
+ 0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,
+ 0x00000027,0x0000005a,0x0000002e,0x00000043,0x0004003d,0x00000006,0x0000005b,0x0000005a,
+ 0x0004003d,0x0000002c,0x0000005c,0x0000002e,0x0008004f,0x00000046,0x0000005d,0x0000005c,
+ 0x0000005c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000046,0x0000005e,0x0000005b,
+ 0x0000005b,0x0000005b,0x00050087,0x00000046,0x0000005f,0x0000005d,0x0000005e,0x0004003d,
+ 0x0000002c,0x00000060,0x0000002e,0x0009004f,0x0000002c,0x00000061,0x00000060,0x0000005f,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000061,0x000200f9,
+ 0x00000059,0x000200f8,0x00000059,0x000200f9,0x00000042,0x000200f8,0x00000042,0x0004003d,
+ 0x0000002c,0x00000063,0x0000002e,0x00050051,0x00000006,0x00000064,0x00000063,0x00000000,
+ 0x00050051,0x00000006,0x00000065,0x00000063,0x00000001,0x00050051,0x00000006,0x00000066,
+ 0x00000063,0x00000002,0x00050051,0x00000006,0x00000067,0x00000063,0x00000003,0x00070050,
+ 0x0000002c,0x00000068,0x00000064,0x00000065,0x00000066,0x00000067,0x0003003e,0x00000062,
+ 0x00000068,0x00050041,0x0000001e,0x0000006a,0x00000015,0x00000069,0x0004003d,0x00000012,
+ 0x0000006b,0x0000006a,0x000500ab,0x00000021,0x0000006c,0x0000006b,0x00000022,0x000300f7,
+ 0x0000006e,0x00000000,0x000400fa,0x0000006c,0x0000006d,0x00000073,0x000200f8,0x0000006d,
+ 0x0004003d,0x0000002c,0x0000006f,0x00000062,0x0007004f,0x00000007,0x00000070,0x0000006f,
+ 0x0000006f,0x00000000,0x00000003,0x0004003d,0x0000002c,0x00000071,0x00000062,0x0009004f,
+ 0x0000002c,0x00000072,0x00000071,0x00000070,0x00000004,0x00000005,0x00000002,0x00000003,
+ 0x0003003e,0x00000062,0x00000072,0x000200f9,0x0000006e,0x000200f8,0x00000073,0x00050041,
+ 0x0000001e,0x00000075,0x00000015,0x00000074,0x0004003d,0x00000012,0x00000076,0x00000075,
+ 0x000500ab,0x00000021,0x00000077,0x00000076,0x00000022,0x000300f7,0x00000079,0x00000000,
+ 0x000400fa,0x00000077,0x00000078,0x0000007d,0x000200f8,0x00000078,0x00050041,0x00000027,
+ 0x0000007a,0x00000062,0x00000043,0x0004003d,0x00000006,0x0000007b,0x0000007a,0x00050041,
+ 0x00000027,0x0000007c,0x00000062,0x00000022,0x0003003e,0x0000007c,0x0000007b,0x000200f9,
+ 0x00000079,0x000200f8,0x0000007d,0x00050041,0x00000039,0x00000080,0x00000015,0x0000007f,
+ 0x0004003d,0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,0x00000081,0x0004003d,
+ 0x00000006,0x00000082,0x0000007e,0x000500c7,0x00000006,0x00000083,0x00000082,0x00000038,
+ 0x000500ab,0x00000021,0x00000084,0x00000083,0x00000033,0x000300f7,0x00000086,0x00000000,
+ 0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000027,
+ 0x00000087,0x00000062,0x00000026,0x0003003e,0x00000087,0x00000033,0x000200f9,0x00000086,
+ 0x000200f8,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000007e,0x000500c7,0x00000006,
+ 0x00000089,0x00000088,0x0000001d,0x000500ab,0x00000021,0x0000008a,0x00000089,0x00000033,
+ 0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,0x0000008c,0x000200f8,
+ 0x0000008b,0x00050041,0x00000027,0x0000008e,0x00000062,0x0000008d,0x0003003e,0x0000008e,
+ 0x00000033,0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x0004003d,0x00000006,0x0000008f,
+ 0x0000007e,0x000500c7,0x00000006,0x00000090,0x0000008f,0x00000074,0x000500ab,0x00000021,
+ 0x00000091,0x00000090,0x00000033,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,
+ 0x00000092,0x00000093,0x000200f8,0x00000092,0x00050041,0x00000027,0x00000094,0x00000062,
+ 0x00000043,0x0003003e,0x00000094,0x00000016,0x000200f9,0x00000093,0x000200f8,0x00000093,
+ 0x000200f9,0x00000079,0x000200f8,0x00000079,0x000200f9,0x0000006e,0x000200f8,0x0000006e,
+ 0x0004003d,0x0000002c,0x00000097,0x00000062,0x0003003e,0x00000096,0x00000097,0x000100fd,
+ 0x00010038
};
// Generated from:
@@ -139,8 +139,8 @@ const uint32_t kImageCopy_frag_00000005[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform utexture2DArray src;
-// layout(location = 0)out vec4 dest;
+// layout(set = 0, binding = 0)uniform itexture2D src;
+// layout(location = 0)out ivec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -157,6 +157,9 @@ const uint32_t kImageCopy_frag_00000005[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -167,9 +170,11 @@ const uint32_t kImageCopy_frag_00000005[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
-// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+// ivec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
// if(params . premultiplyAlpha)
// {
@@ -180,7 +185,7 @@ const uint32_t kImageCopy_frag_00000005[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// vec4 destValue = vec4(srcValue);
+// ivec4 destValue = ivec4(srcValue);
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc
new file mode 100644
index 00000000000..6f7fe003a47
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc
@@ -0,0 +1,215 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000006[] = {
+ 0x07230203,0x00010000,0x0008000a,0x00000098,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000096,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
+ 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
+ 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
+ 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
+ 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
+ 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
+ 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x00000064,0x74736564,0x756c6156,0x00000065,0x00070005,0x0000007e,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000096,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x00000096,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
+ 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
+ 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
+ 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
+ 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
+ 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
+ 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
+ 0x00040017,0x00000046,0x00000006,0x00000003,0x0004002b,0x00000006,0x0000004e,0x00000006,
+ 0x00040017,0x00000062,0x00000012,0x00000004,0x00040020,0x00000063,0x00000007,0x00000062,
+ 0x0004002b,0x00000006,0x00000067,0x00000007,0x00040017,0x0000006d,0x00000012,0x00000002,
+ 0x0004002b,0x00000006,0x00000073,0x00000008,0x00040020,0x00000079,0x00000007,0x00000012,
+ 0x0004002b,0x00000006,0x0000007f,0x0000000b,0x0004002b,0x00000012,0x0000008d,0x00000002,
+ 0x00040020,0x00000095,0x00000003,0x00000062,0x0004003b,0x00000095,0x00000096,0x00000003,
+ 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
+ 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
+ 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x00000063,0x00000064,0x00000007,0x0004003b,
+ 0x00000027,0x0000007e,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
+ 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
+ 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
+ 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
+ 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
+ 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
+ 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
+ 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
+ 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
+ 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
+ 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
+ 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
+ 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
+ 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
+ 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
+ 0x0000003a,0x0007005f,0x0000002c,0x0000003c,0x00000032,0x00000037,0x00000002,0x0000003b,
+ 0x0003003e,0x0000002e,0x0000003c,0x00050041,0x0000001e,0x0000003e,0x00000015,0x0000003d,
+ 0x0004003d,0x00000012,0x0000003f,0x0000003e,0x000500ab,0x00000021,0x00000040,0x0000003f,
+ 0x00000022,0x000300f7,0x00000042,0x00000000,0x000400fa,0x00000040,0x00000041,0x0000004d,
+ 0x000200f8,0x00000041,0x00050041,0x00000027,0x00000044,0x0000002e,0x00000043,0x0004003d,
+ 0x00000006,0x00000045,0x00000044,0x0004003d,0x0000002c,0x00000047,0x0000002e,0x0008004f,
+ 0x00000046,0x00000048,0x00000047,0x00000047,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x00000046,0x00000049,0x00000045,0x00000045,0x00000045,0x00050084,0x00000046,0x0000004a,
+ 0x00000048,0x00000049,0x0004003d,0x0000002c,0x0000004b,0x0000002e,0x0009004f,0x0000002c,
+ 0x0000004c,0x0000004b,0x0000004a,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x0000002e,0x0000004c,0x000200f9,0x00000042,0x000200f8,0x0000004d,0x00050041,0x0000001e,
+ 0x0000004f,0x00000015,0x0000004e,0x0004003d,0x00000012,0x00000050,0x0000004f,0x000500ab,
+ 0x00000021,0x00000051,0x00000050,0x00000022,0x000300f7,0x00000053,0x00000000,0x000400fa,
+ 0x00000051,0x00000052,0x00000053,0x000200f8,0x00000052,0x00050041,0x00000027,0x00000054,
+ 0x0000002e,0x00000043,0x0004003d,0x00000006,0x00000055,0x00000054,0x000500ad,0x00000021,
+ 0x00000056,0x00000055,0x00000033,0x000200f9,0x00000053,0x000200f8,0x00000053,0x000700f5,
+ 0x00000021,0x00000057,0x00000051,0x0000004d,0x00000056,0x00000052,0x000300f7,0x00000059,
+ 0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,
+ 0x00000027,0x0000005a,0x0000002e,0x00000043,0x0004003d,0x00000006,0x0000005b,0x0000005a,
+ 0x0004003d,0x0000002c,0x0000005c,0x0000002e,0x0008004f,0x00000046,0x0000005d,0x0000005c,
+ 0x0000005c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000046,0x0000005e,0x0000005b,
+ 0x0000005b,0x0000005b,0x00050087,0x00000046,0x0000005f,0x0000005d,0x0000005e,0x0004003d,
+ 0x0000002c,0x00000060,0x0000002e,0x0009004f,0x0000002c,0x00000061,0x00000060,0x0000005f,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000061,0x000200f9,
+ 0x00000059,0x000200f8,0x00000059,0x000200f9,0x00000042,0x000200f8,0x00000042,0x0004003d,
+ 0x0000002c,0x00000065,0x0000002e,0x0004007c,0x00000062,0x00000066,0x00000065,0x0003003e,
+ 0x00000064,0x00000066,0x00050041,0x0000001e,0x00000068,0x00000015,0x00000067,0x0004003d,
+ 0x00000012,0x00000069,0x00000068,0x000500ab,0x00000021,0x0000006a,0x00000069,0x00000022,
+ 0x000300f7,0x0000006c,0x00000000,0x000400fa,0x0000006a,0x0000006b,0x00000072,0x000200f8,
+ 0x0000006b,0x0004003d,0x00000062,0x0000006e,0x00000064,0x0007004f,0x0000006d,0x0000006f,
+ 0x0000006e,0x0000006e,0x00000000,0x00000003,0x0004003d,0x00000062,0x00000070,0x00000064,
+ 0x0009004f,0x00000062,0x00000071,0x00000070,0x0000006f,0x00000004,0x00000005,0x00000002,
+ 0x00000003,0x0003003e,0x00000064,0x00000071,0x000200f9,0x0000006c,0x000200f8,0x00000072,
+ 0x00050041,0x0000001e,0x00000074,0x00000015,0x00000073,0x0004003d,0x00000012,0x00000075,
+ 0x00000074,0x000500ab,0x00000021,0x00000076,0x00000075,0x00000022,0x000300f7,0x00000078,
+ 0x00000000,0x000400fa,0x00000076,0x00000077,0x0000007d,0x000200f8,0x00000077,0x00050041,
+ 0x00000079,0x0000007a,0x00000064,0x00000043,0x0004003d,0x00000012,0x0000007b,0x0000007a,
+ 0x00050041,0x00000079,0x0000007c,0x00000064,0x00000022,0x0003003e,0x0000007c,0x0000007b,
+ 0x000200f9,0x00000078,0x000200f8,0x0000007d,0x00050041,0x00000039,0x00000080,0x00000015,
+ 0x0000007f,0x0004003d,0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,0x00000081,
+ 0x0004003d,0x00000006,0x00000082,0x0000007e,0x000500c7,0x00000006,0x00000083,0x00000082,
+ 0x00000038,0x000500ab,0x00000021,0x00000084,0x00000083,0x00000033,0x000300f7,0x00000086,
+ 0x00000000,0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,
+ 0x00000079,0x00000087,0x00000064,0x00000026,0x0003003e,0x00000087,0x00000022,0x000200f9,
+ 0x00000086,0x000200f8,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000007e,0x000500c7,
+ 0x00000006,0x00000089,0x00000088,0x0000001d,0x000500ab,0x00000021,0x0000008a,0x00000089,
+ 0x00000033,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,0x0000008c,
+ 0x000200f8,0x0000008b,0x00050041,0x00000079,0x0000008e,0x00000064,0x0000008d,0x0003003e,
+ 0x0000008e,0x00000022,0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x0004003d,0x00000006,
+ 0x0000008f,0x0000007e,0x000500c7,0x00000006,0x00000090,0x0000008f,0x00000073,0x000500ab,
+ 0x00000021,0x00000091,0x00000090,0x00000033,0x000300f7,0x00000093,0x00000000,0x000400fa,
+ 0x00000091,0x00000092,0x00000093,0x000200f8,0x00000092,0x00050041,0x00000079,0x00000094,
+ 0x00000064,0x00000043,0x0003003e,0x00000094,0x00000026,0x000200f9,0x00000093,0x000200f8,
+ 0x00000093,0x000200f9,0x00000078,0x000200f8,0x00000078,0x000200f9,0x0000006c,0x000200f8,
+ 0x0000006c,0x0004003d,0x00000062,0x00000097,0x00000064,0x0003003e,0x00000096,0x00000097,
+ 0x000100fd,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform itexture2D src;
+// layout(location = 0)out uvec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// ivec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// uvec4 destValue = uvec4(srcValue);
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc
index 008e994fa7a..599f85316d0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc
@@ -1,130 +1,167 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000008[] = {
- 0x07230203,0x00010000,0x00080007,0x00000096,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000c9,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000094,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000c7,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002d,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000030,0x00637273,0x00050005,0x00000064,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007c,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000094,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000030,0x00000022,
- 0x00000000,0x00040047,0x00000030,0x00000021,0x00000000,0x00040047,0x00000094,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040020,0x0000002c,0x00000007,0x0000000b,0x00090019,
- 0x0000002e,0x0000000a,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000000,
- 0x0004002b,0x00000006,0x00000032,0x00000000,0x0004002b,0x00000006,0x00000037,0x00000002,
- 0x00040020,0x00000038,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000003c,0x00000005,
- 0x0004002b,0x00000012,0x00000042,0x00000003,0x00040020,0x00000043,0x00000007,0x0000000a,
- 0x00040017,0x00000046,0x0000000a,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000006,
- 0x0004002b,0x0000000a,0x00000055,0x00000000,0x00040017,0x00000062,0x00000006,0x00000004,
- 0x00040020,0x00000063,0x00000007,0x00000062,0x0004002b,0x00000006,0x00000067,0x00000007,
- 0x0004002b,0x00000006,0x00000072,0x00000008,0x0004002b,0x00000006,0x0000007d,0x00000009,
- 0x0004002b,0x00000012,0x0000008b,0x00000002,0x00040020,0x00000093,0x00000003,0x00000062,
- 0x0004003b,0x00000093,0x00000094,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002c,0x0000002d,0x00000007,0x0004003b,
- 0x00000063,0x00000064,0x00000007,0x0004003b,0x00000027,0x0000007c,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
- 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
- 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
- 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
- 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
- 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
- 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
- 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
- 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
- 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002e,
- 0x00000031,0x00000030,0x00050041,0x00000017,0x00000033,0x00000015,0x00000032,0x0004003d,
- 0x00000007,0x00000034,0x00000033,0x0004003d,0x00000007,0x00000035,0x0000001b,0x00050080,
- 0x00000007,0x00000036,0x00000034,0x00000035,0x00050041,0x00000038,0x00000039,0x00000015,
- 0x00000037,0x0004003d,0x00000006,0x0000003a,0x00000039,0x0007005f,0x0000000b,0x0000003b,
- 0x00000031,0x00000036,0x00000002,0x0000003a,0x0003003e,0x0000002d,0x0000003b,0x00050041,
- 0x0000001e,0x0000003d,0x00000015,0x0000003c,0x0004003d,0x00000012,0x0000003e,0x0000003d,
- 0x000500ab,0x00000021,0x0000003f,0x0000003e,0x00000022,0x000300f7,0x00000041,0x00000000,
- 0x000400fa,0x0000003f,0x00000040,0x0000004c,0x000200f8,0x00000040,0x00050041,0x00000043,
- 0x00000044,0x0000002d,0x00000042,0x0004003d,0x0000000a,0x00000045,0x00000044,0x0004003d,
- 0x0000000b,0x00000047,0x0000002d,0x0008004f,0x00000046,0x00000048,0x00000047,0x00000047,
- 0x00000000,0x00000001,0x00000002,0x0005008e,0x00000046,0x00000049,0x00000048,0x00000045,
- 0x0004003d,0x0000000b,0x0000004a,0x0000002d,0x0009004f,0x0000000b,0x0000004b,0x0000004a,
- 0x00000049,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002d,0x0000004b,
- 0x000200f9,0x00000041,0x000200f8,0x0000004c,0x00050041,0x0000001e,0x0000004e,0x00000015,
- 0x0000004d,0x0004003d,0x00000012,0x0000004f,0x0000004e,0x000500ab,0x00000021,0x00000050,
- 0x0000004f,0x00000022,0x000300f7,0x00000052,0x00000000,0x000400fa,0x00000050,0x00000051,
- 0x00000052,0x000200f8,0x00000051,0x00050041,0x00000043,0x00000053,0x0000002d,0x00000042,
- 0x0004003d,0x0000000a,0x00000054,0x00000053,0x000500ba,0x00000021,0x00000056,0x00000054,
- 0x00000055,0x000200f9,0x00000052,0x000200f8,0x00000052,0x000700f5,0x00000021,0x00000057,
- 0x00000050,0x0000004c,0x00000056,0x00000051,0x000300f7,0x00000059,0x00000000,0x000400fa,
- 0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,0x00000043,0x0000005a,
- 0x0000002d,0x00000042,0x0004003d,0x0000000a,0x0000005b,0x0000005a,0x0004003d,0x0000000b,
- 0x0000005c,0x0000002d,0x0008004f,0x00000046,0x0000005d,0x0000005c,0x0000005c,0x00000000,
- 0x00000001,0x00000002,0x00060050,0x00000046,0x0000005e,0x0000005b,0x0000005b,0x0000005b,
- 0x00050088,0x00000046,0x0000005f,0x0000005d,0x0000005e,0x0004003d,0x0000000b,0x00000060,
- 0x0000002d,0x0009004f,0x0000000b,0x00000061,0x00000060,0x0000005f,0x00000004,0x00000005,
- 0x00000006,0x00000003,0x0003003e,0x0000002d,0x00000061,0x000200f9,0x00000059,0x000200f8,
- 0x00000059,0x000200f9,0x00000041,0x000200f8,0x00000041,0x0004003d,0x0000000b,0x00000065,
- 0x0000002d,0x0004006e,0x00000062,0x00000066,0x00000065,0x0003003e,0x00000064,0x00000066,
- 0x00050041,0x0000001e,0x00000068,0x00000015,0x00000067,0x0004003d,0x00000012,0x00000069,
- 0x00000068,0x000500ab,0x00000021,0x0000006a,0x00000069,0x00000022,0x000300f7,0x0000006c,
- 0x00000000,0x000400fa,0x0000006a,0x0000006b,0x00000071,0x000200f8,0x0000006b,0x0004003d,
- 0x00000062,0x0000006d,0x00000064,0x0007004f,0x00000007,0x0000006e,0x0000006d,0x0000006d,
- 0x00000000,0x00000003,0x0004003d,0x00000062,0x0000006f,0x00000064,0x0009004f,0x00000062,
- 0x00000070,0x0000006f,0x0000006e,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,
- 0x00000064,0x00000070,0x000200f9,0x0000006c,0x000200f8,0x00000071,0x00050041,0x0000001e,
- 0x00000073,0x00000015,0x00000072,0x0004003d,0x00000012,0x00000074,0x00000073,0x000500ab,
- 0x00000021,0x00000075,0x00000074,0x00000022,0x000300f7,0x00000077,0x00000000,0x000400fa,
- 0x00000075,0x00000076,0x0000007b,0x000200f8,0x00000076,0x00050041,0x00000027,0x00000078,
- 0x00000064,0x00000042,0x0004003d,0x00000006,0x00000079,0x00000078,0x00050041,0x00000027,
- 0x0000007a,0x00000064,0x00000022,0x0003003e,0x0000007a,0x00000079,0x000200f9,0x00000077,
- 0x000200f8,0x0000007b,0x00050041,0x00000038,0x0000007e,0x00000015,0x0000007d,0x0004003d,
- 0x00000006,0x0000007f,0x0000007e,0x0003003e,0x0000007c,0x0000007f,0x0004003d,0x00000006,
- 0x00000080,0x0000007c,0x000500c7,0x00000006,0x00000081,0x00000080,0x00000037,0x000500ab,
- 0x00000021,0x00000082,0x00000081,0x00000032,0x000300f7,0x00000084,0x00000000,0x000400fa,
- 0x00000082,0x00000083,0x00000084,0x000200f8,0x00000083,0x00050041,0x00000027,0x00000085,
- 0x00000064,0x00000026,0x0003003e,0x00000085,0x00000032,0x000200f9,0x00000084,0x000200f8,
- 0x00000084,0x0004003d,0x00000006,0x00000086,0x0000007c,0x000500c7,0x00000006,0x00000087,
- 0x00000086,0x0000001d,0x000500ab,0x00000021,0x00000088,0x00000087,0x00000032,0x000300f7,
- 0x0000008a,0x00000000,0x000400fa,0x00000088,0x00000089,0x0000008a,0x000200f8,0x00000089,
- 0x00050041,0x00000027,0x0000008c,0x00000064,0x0000008b,0x0003003e,0x0000008c,0x00000032,
- 0x000200f9,0x0000008a,0x000200f8,0x0000008a,0x0004003d,0x00000006,0x0000008d,0x0000007c,
- 0x000500c7,0x00000006,0x0000008e,0x0000008d,0x00000072,0x000500ab,0x00000021,0x0000008f,
- 0x0000008e,0x00000032,0x000300f7,0x00000091,0x00000000,0x000400fa,0x0000008f,0x00000090,
- 0x00000091,0x000200f8,0x00000090,0x00050041,0x00000027,0x00000092,0x00000064,0x00000042,
- 0x0003003e,0x00000092,0x00000016,0x000200f9,0x00000091,0x000200f8,0x00000091,0x000200f9,
- 0x00000077,0x000200f8,0x00000077,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x0004003d,
- 0x00000062,0x00000095,0x00000064,0x0003003e,0x00000094,0x00000095,0x000100fd,0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x42475273,0x694c6f54,
+ 0x7261656e,0x3b316628,0x00000000,0x00040005,0x00000009,0x42475273,0x00000000,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000046,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000049,0x00637273,0x00050005,0x0000007c,0x74736564,0x756c6156,0x00000065,
+ 0x00040005,0x00000089,0x61726170,0x0000006d,0x00040005,0x0000008e,0x61726170,0x0000006d,
+ 0x00040005,0x00000093,0x61726170,0x0000006d,0x00070005,0x000000ae,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000c7,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000049,0x00000022,0x00000000,0x00040047,0x00000049,
+ 0x00000021,0x00000000,0x00040047,0x000000c7,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3d25aee6,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3d6147ae,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x4019999a,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040017,0x00000044,
+ 0x0000002b,0x00000004,0x00040020,0x00000045,0x00000007,0x00000044,0x00090019,0x00000047,
+ 0x0000002b,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000048,0x00000000,0x00000047,0x0004003b,0x00000048,0x00000049,0x00000000,0x0004002b,
+ 0x00000020,0x0000004b,0x00000000,0x0004002b,0x00000020,0x00000050,0x00000002,0x00040020,
+ 0x00000051,0x00000009,0x00000020,0x0004002b,0x00000020,0x00000055,0x00000005,0x0004002b,
+ 0x0000002b,0x0000005b,0x00000003,0x00040020,0x0000005c,0x00000007,0x0000002b,0x00040017,
+ 0x0000005f,0x0000002b,0x00000003,0x0004002b,0x00000020,0x00000067,0x00000006,0x00040020,
+ 0x0000007b,0x00000007,0x00000024,0x0004002b,0x00000006,0x0000007f,0x437f0000,0x0004002b,
+ 0x00000020,0x00000083,0x0000000a,0x0004002b,0x0000002b,0x00000094,0x00000002,0x0004002b,
+ 0x00000020,0x00000099,0x00000007,0x0004002b,0x00000020,0x000000a4,0x00000008,0x0004002b,
+ 0x00000020,0x000000af,0x0000000b,0x0004002b,0x00000006,0x000000b7,0x00000000,0x0004002b,
+ 0x00000006,0x000000c4,0x3f800000,0x00040020,0x000000c6,0x00000003,0x00000024,0x0004003b,
+ 0x000000c6,0x000000c7,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000045,0x00000046,0x00000007,0x0004003b,0x0000007b,
+ 0x0000007c,0x00000007,0x0004003b,0x00000007,0x00000089,0x00000007,0x0004003b,0x00000007,
+ 0x0000008e,0x00000007,0x0004003b,0x00000007,0x00000093,0x00000007,0x0004003b,0x0000003f,
+ 0x000000ae,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000047,0x0000004a,0x00000049,0x00050041,0x00000030,0x0000004c,
+ 0x0000002e,0x0000004b,0x0004003d,0x00000021,0x0000004d,0x0000004c,0x0004003d,0x00000021,
+ 0x0000004e,0x00000034,0x00050080,0x00000021,0x0000004f,0x0000004d,0x0000004e,0x00050041,
+ 0x00000051,0x00000052,0x0000002e,0x00000050,0x0004003d,0x00000020,0x00000053,0x00000052,
+ 0x0007005f,0x00000044,0x00000054,0x0000004a,0x0000004f,0x00000002,0x00000053,0x0003003e,
+ 0x00000046,0x00000054,0x00050041,0x00000037,0x00000056,0x0000002e,0x00000055,0x0004003d,
+ 0x0000002b,0x00000057,0x00000056,0x000500ab,0x0000000e,0x00000058,0x00000057,0x0000003a,
+ 0x000300f7,0x0000005a,0x00000000,0x000400fa,0x00000058,0x00000059,0x00000066,0x000200f8,
+ 0x00000059,0x00050041,0x0000005c,0x0000005d,0x00000046,0x0000005b,0x0004003d,0x0000002b,
+ 0x0000005e,0x0000005d,0x0004003d,0x00000044,0x00000060,0x00000046,0x0008004f,0x0000005f,
+ 0x00000061,0x00000060,0x00000060,0x00000000,0x00000001,0x00000002,0x00060050,0x0000005f,
+ 0x00000062,0x0000005e,0x0000005e,0x0000005e,0x00050084,0x0000005f,0x00000063,0x00000061,
+ 0x00000062,0x0004003d,0x00000044,0x00000064,0x00000046,0x0009004f,0x00000044,0x00000065,
+ 0x00000064,0x00000063,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000046,
+ 0x00000065,0x000200f9,0x0000005a,0x000200f8,0x00000066,0x00050041,0x00000037,0x00000068,
+ 0x0000002e,0x00000067,0x0004003d,0x0000002b,0x00000069,0x00000068,0x000500ab,0x0000000e,
+ 0x0000006a,0x00000069,0x0000003a,0x000300f7,0x0000006c,0x00000000,0x000400fa,0x0000006a,
+ 0x0000006b,0x0000006c,0x000200f8,0x0000006b,0x00050041,0x0000005c,0x0000006d,0x00000046,
+ 0x0000005b,0x0004003d,0x0000002b,0x0000006e,0x0000006d,0x000500ac,0x0000000e,0x0000006f,
+ 0x0000006e,0x0000003a,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x000700f5,0x0000000e,
+ 0x00000070,0x0000006a,0x00000066,0x0000006f,0x0000006b,0x000300f7,0x00000072,0x00000000,
+ 0x000400fa,0x00000070,0x00000071,0x00000072,0x000200f8,0x00000071,0x00050041,0x0000005c,
+ 0x00000073,0x00000046,0x0000005b,0x0004003d,0x0000002b,0x00000074,0x00000073,0x0004003d,
+ 0x00000044,0x00000075,0x00000046,0x0008004f,0x0000005f,0x00000076,0x00000075,0x00000075,
+ 0x00000000,0x00000001,0x00000002,0x00060050,0x0000005f,0x00000077,0x00000074,0x00000074,
+ 0x00000074,0x00050086,0x0000005f,0x00000078,0x00000076,0x00000077,0x0004003d,0x00000044,
+ 0x00000079,0x00000046,0x0009004f,0x00000044,0x0000007a,0x00000079,0x00000078,0x00000004,
+ 0x00000005,0x00000006,0x00000003,0x0003003e,0x00000046,0x0000007a,0x000200f9,0x00000072,
+ 0x000200f8,0x00000072,0x000200f9,0x0000005a,0x000200f8,0x0000005a,0x0004003d,0x00000044,
+ 0x0000007d,0x00000046,0x00040070,0x00000024,0x0000007e,0x0000007d,0x0003003e,0x0000007c,
+ 0x0000007e,0x0004003d,0x00000024,0x00000080,0x0000007c,0x00070050,0x00000024,0x00000081,
+ 0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x00050088,0x00000024,0x00000082,0x00000080,
+ 0x00000081,0x0003003e,0x0000007c,0x00000082,0x00050041,0x00000037,0x00000084,0x0000002e,
+ 0x00000083,0x0004003d,0x0000002b,0x00000085,0x00000084,0x000500ab,0x0000000e,0x00000086,
+ 0x00000085,0x0000003a,0x000300f7,0x00000088,0x00000000,0x000400fa,0x00000086,0x00000087,
+ 0x00000088,0x000200f8,0x00000087,0x00050041,0x00000007,0x0000008a,0x0000007c,0x0000003a,
+ 0x0004003d,0x00000006,0x0000008b,0x0000008a,0x0003003e,0x00000089,0x0000008b,0x00050039,
+ 0x00000006,0x0000008c,0x0000000a,0x00000089,0x00050041,0x00000007,0x0000008d,0x0000007c,
+ 0x0000003a,0x0003003e,0x0000008d,0x0000008c,0x00050041,0x00000007,0x0000008f,0x0000007c,
+ 0x0000003e,0x0004003d,0x00000006,0x00000090,0x0000008f,0x0003003e,0x0000008e,0x00000090,
+ 0x00050039,0x00000006,0x00000091,0x0000000a,0x0000008e,0x00050041,0x00000007,0x00000092,
+ 0x0000007c,0x0000003e,0x0003003e,0x00000092,0x00000091,0x00050041,0x00000007,0x00000095,
+ 0x0000007c,0x00000094,0x0004003d,0x00000006,0x00000096,0x00000095,0x0003003e,0x00000093,
+ 0x00000096,0x00050039,0x00000006,0x00000097,0x0000000a,0x00000093,0x00050041,0x00000007,
+ 0x00000098,0x0000007c,0x00000094,0x0003003e,0x00000098,0x00000097,0x000200f9,0x00000088,
+ 0x000200f8,0x00000088,0x00050041,0x00000037,0x0000009a,0x0000002e,0x00000099,0x0004003d,
+ 0x0000002b,0x0000009b,0x0000009a,0x000500ab,0x0000000e,0x0000009c,0x0000009b,0x0000003a,
+ 0x000300f7,0x0000009e,0x00000000,0x000400fa,0x0000009c,0x0000009d,0x000000a3,0x000200f8,
+ 0x0000009d,0x0004003d,0x00000024,0x0000009f,0x0000007c,0x0007004f,0x00000027,0x000000a0,
+ 0x0000009f,0x0000009f,0x00000000,0x00000003,0x0004003d,0x00000024,0x000000a1,0x0000007c,
+ 0x0009004f,0x00000024,0x000000a2,0x000000a1,0x000000a0,0x00000004,0x00000005,0x00000002,
+ 0x00000003,0x0003003e,0x0000007c,0x000000a2,0x000200f9,0x0000009e,0x000200f8,0x000000a3,
+ 0x00050041,0x00000037,0x000000a5,0x0000002e,0x000000a4,0x0004003d,0x0000002b,0x000000a6,
+ 0x000000a5,0x000500ab,0x0000000e,0x000000a7,0x000000a6,0x0000003a,0x000300f7,0x000000a9,
+ 0x00000000,0x000400fa,0x000000a7,0x000000a8,0x000000ad,0x000200f8,0x000000a8,0x00050041,
+ 0x00000007,0x000000aa,0x0000007c,0x0000005b,0x0004003d,0x00000006,0x000000ab,0x000000aa,
+ 0x00050041,0x00000007,0x000000ac,0x0000007c,0x0000003a,0x0003003e,0x000000ac,0x000000ab,
+ 0x000200f9,0x000000a9,0x000200f8,0x000000ad,0x00050041,0x00000051,0x000000b0,0x0000002e,
+ 0x000000af,0x0004003d,0x00000020,0x000000b1,0x000000b0,0x0003003e,0x000000ae,0x000000b1,
+ 0x0004003d,0x00000020,0x000000b2,0x000000ae,0x000500c7,0x00000020,0x000000b3,0x000000b2,
+ 0x00000050,0x000500ab,0x0000000e,0x000000b4,0x000000b3,0x0000004b,0x000300f7,0x000000b6,
+ 0x00000000,0x000400fa,0x000000b4,0x000000b5,0x000000b6,0x000200f8,0x000000b5,0x00050041,
+ 0x00000007,0x000000b8,0x0000007c,0x0000003e,0x0003003e,0x000000b8,0x000000b7,0x000200f9,
+ 0x000000b6,0x000200f8,0x000000b6,0x0004003d,0x00000020,0x000000b9,0x000000ae,0x000500c7,
+ 0x00000020,0x000000ba,0x000000b9,0x00000036,0x000500ab,0x0000000e,0x000000bb,0x000000ba,
+ 0x0000004b,0x000300f7,0x000000bd,0x00000000,0x000400fa,0x000000bb,0x000000bc,0x000000bd,
+ 0x000200f8,0x000000bc,0x00050041,0x00000007,0x000000be,0x0000007c,0x00000094,0x0003003e,
+ 0x000000be,0x000000b7,0x000200f9,0x000000bd,0x000200f8,0x000000bd,0x0004003d,0x00000020,
+ 0x000000bf,0x000000ae,0x000500c7,0x00000020,0x000000c0,0x000000bf,0x000000a4,0x000500ab,
+ 0x0000000e,0x000000c1,0x000000c0,0x0000004b,0x000300f7,0x000000c3,0x00000000,0x000400fa,
+ 0x000000c1,0x000000c2,0x000000c3,0x000200f8,0x000000c2,0x00050041,0x00000007,0x000000c5,
+ 0x0000007c,0x0000005b,0x0003003e,0x000000c5,0x000000c4,0x000200f9,0x000000c3,0x000200f8,
+ 0x000000c3,0x000200f9,0x000000a9,0x000200f8,0x000000a9,0x000200f9,0x0000009e,0x000200f8,
+ 0x0000009e,0x0004003d,0x00000024,0x000000c8,0x0000007c,0x0003003e,0x000000c7,0x000000c8,
+ 0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,0x00030037,
+ 0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,0x00000006,0x0000000c,0x00000009,
+ 0x000500bc,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x000300f7,0x00000011,0x00000000,
+ 0x000400fa,0x0000000f,0x00000010,0x00000016,0x000200f8,0x00000010,0x0004003d,0x00000006,
+ 0x00000012,0x00000009,0x00050088,0x00000006,0x00000014,0x00000012,0x00000013,0x000200fe,
+ 0x00000014,0x000200f8,0x00000016,0x0004003d,0x00000006,0x00000017,0x00000009,0x00050081,
+ 0x00000006,0x00000019,0x00000017,0x00000018,0x00050088,0x00000006,0x0000001b,0x00000019,
+ 0x0000001a,0x0007000c,0x00000006,0x0000001d,0x00000001,0x0000001a,0x0000001b,0x0000001c,
+ 0x000200fe,0x0000001d,0x000200f8,0x00000011,0x000100ff,0x00010038
};
// Generated from:
@@ -133,8 +170,8 @@ const uint32_t kImageCopy_frag_00000008[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform texture2D src;
-// layout(location = 0)out ivec4 dest;
+// layout(set = 0, binding = 0)uniform utexture2D src;
+// layout(location = 0)out vec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -151,9 +188,25 @@ const uint32_t kImageCopy_frag_00000008[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -161,9 +214,11 @@ const uint32_t kImageCopy_frag_00000008[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
-// vec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+// uvec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
// if(params . premultiplyAlpha)
// {
@@ -174,7 +229,17 @@ const uint32_t kImageCopy_frag_00000008[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// ivec4 destValue = ivec4(srcValue);
+// vec4 destValue = vec4(srcValue);
+//
+// destValue /= 255.0;
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc
index ee8c1e87cc2..e12d7f75d19 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000009[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009d,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000097,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009b,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000095,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
@@ -16,47 +16,49 @@ const uint32_t kImageCopy_frag_00000009[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002d,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000030,0x00637273,0x00050005,0x0000006b,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000083,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009b,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000030,0x00000022,
- 0x00000000,0x00040047,0x00000030,0x00000021,0x00000000,0x00040047,0x0000009b,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x00000065,0x74736564,0x756c6156,0x00000065,0x00070005,0x0000007d,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000095,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x00000095,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040020,0x0000002c,0x00000007,0x0000000b,0x00090019,
- 0x0000002e,0x0000000a,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000000,
- 0x0004002b,0x00000006,0x00000032,0x00000000,0x0004002b,0x00000006,0x00000037,0x00000003,
- 0x00040020,0x00000038,0x00000009,0x00000006,0x00040017,0x0000003b,0x00000006,0x00000003,
- 0x0004002b,0x00000006,0x0000003f,0x00000002,0x0004002b,0x00000006,0x00000043,0x00000005,
- 0x0004002b,0x00000012,0x00000049,0x00000003,0x00040020,0x0000004a,0x00000007,0x0000000a,
- 0x00040017,0x0000004d,0x0000000a,0x00000003,0x0004002b,0x00000006,0x00000054,0x00000006,
- 0x0004002b,0x0000000a,0x0000005c,0x00000000,0x00040017,0x00000069,0x00000006,0x00000004,
- 0x00040020,0x0000006a,0x00000007,0x00000069,0x0004002b,0x00000006,0x0000006e,0x00000007,
- 0x0004002b,0x00000006,0x00000079,0x00000008,0x0004002b,0x00000006,0x00000084,0x00000009,
- 0x0004002b,0x00000012,0x00000092,0x00000002,0x00040020,0x0000009a,0x00000003,0x00000069,
- 0x0004003b,0x0000009a,0x0000009b,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
+ 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
+ 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
+ 0x00040020,0x00000044,0x00000007,0x00000012,0x00040017,0x00000047,0x00000012,0x00000003,
+ 0x0004002b,0x00000006,0x0000004f,0x00000006,0x00040017,0x00000063,0x00000006,0x00000004,
+ 0x00040020,0x00000064,0x00000007,0x00000063,0x0004002b,0x00000006,0x00000068,0x00000007,
+ 0x0004002b,0x00000006,0x00000073,0x00000008,0x0004002b,0x00000006,0x0000007e,0x0000000b,
+ 0x0004002b,0x00000012,0x0000008c,0x00000002,0x00040020,0x00000094,0x00000003,0x00000063,
+ 0x0004003b,0x00000094,0x00000095,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002c,0x0000002d,0x00000007,0x0004003b,
- 0x0000006a,0x0000006b,0x00000007,0x0004003b,0x00000027,0x00000083,0x00000007,0x0004003d,
+ 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x0004003b,
+ 0x00000064,0x00000065,0x00000007,0x0004003b,0x00000027,0x0000007d,0x00000007,0x0004003d,
0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
@@ -67,69 +69,66 @@ const uint32_t kImageCopy_frag_00000009[] = {
0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
- 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002e,
- 0x00000031,0x00000030,0x00050041,0x00000017,0x00000033,0x00000015,0x00000032,0x0004003d,
- 0x00000007,0x00000034,0x00000033,0x0004003d,0x00000007,0x00000035,0x0000001b,0x00050080,
- 0x00000007,0x00000036,0x00000034,0x00000035,0x00050041,0x00000038,0x00000039,0x00000015,
- 0x00000037,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050051,0x00000006,0x0000003c,
- 0x00000036,0x00000000,0x00050051,0x00000006,0x0000003d,0x00000036,0x00000001,0x00060050,
- 0x0000003b,0x0000003e,0x0000003c,0x0000003d,0x0000003a,0x00050041,0x00000038,0x00000040,
- 0x00000015,0x0000003f,0x0004003d,0x00000006,0x00000041,0x00000040,0x0007005f,0x0000000b,
- 0x00000042,0x00000031,0x0000003e,0x00000002,0x00000041,0x0003003e,0x0000002d,0x00000042,
- 0x00050041,0x0000001e,0x00000044,0x00000015,0x00000043,0x0004003d,0x00000012,0x00000045,
- 0x00000044,0x000500ab,0x00000021,0x00000046,0x00000045,0x00000022,0x000300f7,0x00000048,
- 0x00000000,0x000400fa,0x00000046,0x00000047,0x00000053,0x000200f8,0x00000047,0x00050041,
- 0x0000004a,0x0000004b,0x0000002d,0x00000049,0x0004003d,0x0000000a,0x0000004c,0x0000004b,
- 0x0004003d,0x0000000b,0x0000004e,0x0000002d,0x0008004f,0x0000004d,0x0000004f,0x0000004e,
- 0x0000004e,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000004d,0x00000050,0x0000004f,
- 0x0000004c,0x0004003d,0x0000000b,0x00000051,0x0000002d,0x0009004f,0x0000000b,0x00000052,
- 0x00000051,0x00000050,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002d,
- 0x00000052,0x000200f9,0x00000048,0x000200f8,0x00000053,0x00050041,0x0000001e,0x00000055,
- 0x00000015,0x00000054,0x0004003d,0x00000012,0x00000056,0x00000055,0x000500ab,0x00000021,
- 0x00000057,0x00000056,0x00000022,0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,
- 0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,0x0000004a,0x0000005a,0x0000002d,
- 0x00000049,0x0004003d,0x0000000a,0x0000005b,0x0000005a,0x000500ba,0x00000021,0x0000005d,
- 0x0000005b,0x0000005c,0x000200f9,0x00000059,0x000200f8,0x00000059,0x000700f5,0x00000021,
- 0x0000005e,0x00000057,0x00000053,0x0000005d,0x00000058,0x000300f7,0x00000060,0x00000000,
- 0x000400fa,0x0000005e,0x0000005f,0x00000060,0x000200f8,0x0000005f,0x00050041,0x0000004a,
- 0x00000061,0x0000002d,0x00000049,0x0004003d,0x0000000a,0x00000062,0x00000061,0x0004003d,
- 0x0000000b,0x00000063,0x0000002d,0x0008004f,0x0000004d,0x00000064,0x00000063,0x00000063,
- 0x00000000,0x00000001,0x00000002,0x00060050,0x0000004d,0x00000065,0x00000062,0x00000062,
- 0x00000062,0x00050088,0x0000004d,0x00000066,0x00000064,0x00000065,0x0004003d,0x0000000b,
- 0x00000067,0x0000002d,0x0009004f,0x0000000b,0x00000068,0x00000067,0x00000066,0x00000004,
- 0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002d,0x00000068,0x000200f9,0x00000060,
- 0x000200f8,0x00000060,0x000200f9,0x00000048,0x000200f8,0x00000048,0x0004003d,0x0000000b,
- 0x0000006c,0x0000002d,0x0004006e,0x00000069,0x0000006d,0x0000006c,0x0003003e,0x0000006b,
- 0x0000006d,0x00050041,0x0000001e,0x0000006f,0x00000015,0x0000006e,0x0004003d,0x00000012,
- 0x00000070,0x0000006f,0x000500ab,0x00000021,0x00000071,0x00000070,0x00000022,0x000300f7,
- 0x00000073,0x00000000,0x000400fa,0x00000071,0x00000072,0x00000078,0x000200f8,0x00000072,
- 0x0004003d,0x00000069,0x00000074,0x0000006b,0x0007004f,0x00000007,0x00000075,0x00000074,
- 0x00000074,0x00000000,0x00000003,0x0004003d,0x00000069,0x00000076,0x0000006b,0x0009004f,
- 0x00000069,0x00000077,0x00000076,0x00000075,0x00000004,0x00000005,0x00000002,0x00000003,
- 0x0003003e,0x0000006b,0x00000077,0x000200f9,0x00000073,0x000200f8,0x00000078,0x00050041,
- 0x0000001e,0x0000007a,0x00000015,0x00000079,0x0004003d,0x00000012,0x0000007b,0x0000007a,
- 0x000500ab,0x00000021,0x0000007c,0x0000007b,0x00000022,0x000300f7,0x0000007e,0x00000000,
- 0x000400fa,0x0000007c,0x0000007d,0x00000082,0x000200f8,0x0000007d,0x00050041,0x00000027,
- 0x0000007f,0x0000006b,0x00000049,0x0004003d,0x00000006,0x00000080,0x0000007f,0x00050041,
- 0x00000027,0x00000081,0x0000006b,0x00000022,0x0003003e,0x00000081,0x00000080,0x000200f9,
- 0x0000007e,0x000200f8,0x00000082,0x00050041,0x00000038,0x00000085,0x00000015,0x00000084,
- 0x0004003d,0x00000006,0x00000086,0x00000085,0x0003003e,0x00000083,0x00000086,0x0004003d,
- 0x00000006,0x00000087,0x00000083,0x000500c7,0x00000006,0x00000088,0x00000087,0x0000003f,
- 0x000500ab,0x00000021,0x00000089,0x00000088,0x00000032,0x000300f7,0x0000008b,0x00000000,
+ 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002f,
+ 0x00000032,0x00000031,0x00050041,0x00000017,0x00000034,0x00000015,0x00000033,0x0004003d,
+ 0x00000007,0x00000035,0x00000034,0x0004003d,0x00000007,0x00000036,0x0000001b,0x00050080,
+ 0x00000007,0x00000037,0x00000035,0x00000036,0x00050041,0x00000039,0x0000003a,0x00000015,
+ 0x00000038,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x0007005f,0x0000002c,0x0000003c,
+ 0x00000032,0x00000037,0x00000002,0x0000003b,0x0003003e,0x0000002e,0x0000003c,0x00050041,
+ 0x0000001e,0x0000003e,0x00000015,0x0000003d,0x0004003d,0x00000012,0x0000003f,0x0000003e,
+ 0x000500ab,0x00000021,0x00000040,0x0000003f,0x00000022,0x000300f7,0x00000042,0x00000000,
+ 0x000400fa,0x00000040,0x00000041,0x0000004e,0x000200f8,0x00000041,0x00050041,0x00000044,
+ 0x00000045,0x0000002e,0x00000043,0x0004003d,0x00000012,0x00000046,0x00000045,0x0004003d,
+ 0x0000002c,0x00000048,0x0000002e,0x0008004f,0x00000047,0x00000049,0x00000048,0x00000048,
+ 0x00000000,0x00000001,0x00000002,0x00060050,0x00000047,0x0000004a,0x00000046,0x00000046,
+ 0x00000046,0x00050084,0x00000047,0x0000004b,0x00000049,0x0000004a,0x0004003d,0x0000002c,
+ 0x0000004c,0x0000002e,0x0009004f,0x0000002c,0x0000004d,0x0000004c,0x0000004b,0x00000004,
+ 0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x0000004d,0x000200f9,0x00000042,
+ 0x000200f8,0x0000004e,0x00050041,0x0000001e,0x00000050,0x00000015,0x0000004f,0x0004003d,
+ 0x00000012,0x00000051,0x00000050,0x000500ab,0x00000021,0x00000052,0x00000051,0x00000022,
+ 0x000300f7,0x00000054,0x00000000,0x000400fa,0x00000052,0x00000053,0x00000054,0x000200f8,
+ 0x00000053,0x00050041,0x00000044,0x00000055,0x0000002e,0x00000043,0x0004003d,0x00000012,
+ 0x00000056,0x00000055,0x000500ac,0x00000021,0x00000057,0x00000056,0x00000022,0x000200f9,
+ 0x00000054,0x000200f8,0x00000054,0x000700f5,0x00000021,0x00000058,0x00000052,0x0000004e,
+ 0x00000057,0x00000053,0x000300f7,0x0000005a,0x00000000,0x000400fa,0x00000058,0x00000059,
+ 0x0000005a,0x000200f8,0x00000059,0x00050041,0x00000044,0x0000005b,0x0000002e,0x00000043,
+ 0x0004003d,0x00000012,0x0000005c,0x0000005b,0x0004003d,0x0000002c,0x0000005d,0x0000002e,
+ 0x0008004f,0x00000047,0x0000005e,0x0000005d,0x0000005d,0x00000000,0x00000001,0x00000002,
+ 0x00060050,0x00000047,0x0000005f,0x0000005c,0x0000005c,0x0000005c,0x00050086,0x00000047,
+ 0x00000060,0x0000005e,0x0000005f,0x0004003d,0x0000002c,0x00000061,0x0000002e,0x0009004f,
+ 0x0000002c,0x00000062,0x00000061,0x00000060,0x00000004,0x00000005,0x00000006,0x00000003,
+ 0x0003003e,0x0000002e,0x00000062,0x000200f9,0x0000005a,0x000200f8,0x0000005a,0x000200f9,
+ 0x00000042,0x000200f8,0x00000042,0x0004003d,0x0000002c,0x00000066,0x0000002e,0x0004007c,
+ 0x00000063,0x00000067,0x00000066,0x0003003e,0x00000065,0x00000067,0x00050041,0x0000001e,
+ 0x00000069,0x00000015,0x00000068,0x0004003d,0x00000012,0x0000006a,0x00000069,0x000500ab,
+ 0x00000021,0x0000006b,0x0000006a,0x00000022,0x000300f7,0x0000006d,0x00000000,0x000400fa,
+ 0x0000006b,0x0000006c,0x00000072,0x000200f8,0x0000006c,0x0004003d,0x00000063,0x0000006e,
+ 0x00000065,0x0007004f,0x00000007,0x0000006f,0x0000006e,0x0000006e,0x00000000,0x00000003,
+ 0x0004003d,0x00000063,0x00000070,0x00000065,0x0009004f,0x00000063,0x00000071,0x00000070,
+ 0x0000006f,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x00000065,0x00000071,
+ 0x000200f9,0x0000006d,0x000200f8,0x00000072,0x00050041,0x0000001e,0x00000074,0x00000015,
+ 0x00000073,0x0004003d,0x00000012,0x00000075,0x00000074,0x000500ab,0x00000021,0x00000076,
+ 0x00000075,0x00000022,0x000300f7,0x00000078,0x00000000,0x000400fa,0x00000076,0x00000077,
+ 0x0000007c,0x000200f8,0x00000077,0x00050041,0x00000027,0x00000079,0x00000065,0x00000043,
+ 0x0004003d,0x00000006,0x0000007a,0x00000079,0x00050041,0x00000027,0x0000007b,0x00000065,
+ 0x00000022,0x0003003e,0x0000007b,0x0000007a,0x000200f9,0x00000078,0x000200f8,0x0000007c,
+ 0x00050041,0x00000039,0x0000007f,0x00000015,0x0000007e,0x0004003d,0x00000006,0x00000080,
+ 0x0000007f,0x0003003e,0x0000007d,0x00000080,0x0004003d,0x00000006,0x00000081,0x0000007d,
+ 0x000500c7,0x00000006,0x00000082,0x00000081,0x00000038,0x000500ab,0x00000021,0x00000083,
+ 0x00000082,0x00000033,0x000300f7,0x00000085,0x00000000,0x000400fa,0x00000083,0x00000084,
+ 0x00000085,0x000200f8,0x00000084,0x00050041,0x00000027,0x00000086,0x00000065,0x00000026,
+ 0x0003003e,0x00000086,0x00000033,0x000200f9,0x00000085,0x000200f8,0x00000085,0x0004003d,
+ 0x00000006,0x00000087,0x0000007d,0x000500c7,0x00000006,0x00000088,0x00000087,0x0000001d,
+ 0x000500ab,0x00000021,0x00000089,0x00000088,0x00000033,0x000300f7,0x0000008b,0x00000000,
0x000400fa,0x00000089,0x0000008a,0x0000008b,0x000200f8,0x0000008a,0x00050041,0x00000027,
- 0x0000008c,0x0000006b,0x00000026,0x0003003e,0x0000008c,0x00000032,0x000200f9,0x0000008b,
- 0x000200f8,0x0000008b,0x0004003d,0x00000006,0x0000008d,0x00000083,0x000500c7,0x00000006,
- 0x0000008e,0x0000008d,0x0000001d,0x000500ab,0x00000021,0x0000008f,0x0000008e,0x00000032,
- 0x000300f7,0x00000091,0x00000000,0x000400fa,0x0000008f,0x00000090,0x00000091,0x000200f8,
- 0x00000090,0x00050041,0x00000027,0x00000093,0x0000006b,0x00000092,0x0003003e,0x00000093,
- 0x00000032,0x000200f9,0x00000091,0x000200f8,0x00000091,0x0004003d,0x00000006,0x00000094,
- 0x00000083,0x000500c7,0x00000006,0x00000095,0x00000094,0x00000079,0x000500ab,0x00000021,
- 0x00000096,0x00000095,0x00000032,0x000300f7,0x00000098,0x00000000,0x000400fa,0x00000096,
- 0x00000097,0x00000098,0x000200f8,0x00000097,0x00050041,0x00000027,0x00000099,0x0000006b,
- 0x00000049,0x0003003e,0x00000099,0x00000016,0x000200f9,0x00000098,0x000200f8,0x00000098,
- 0x000200f9,0x0000007e,0x000200f8,0x0000007e,0x000200f9,0x00000073,0x000200f8,0x00000073,
- 0x0004003d,0x00000069,0x0000009c,0x0000006b,0x0003003e,0x0000009b,0x0000009c,0x000100fd,
- 0x00010038
+ 0x0000008d,0x00000065,0x0000008c,0x0003003e,0x0000008d,0x00000033,0x000200f9,0x0000008b,
+ 0x000200f8,0x0000008b,0x0004003d,0x00000006,0x0000008e,0x0000007d,0x000500c7,0x00000006,
+ 0x0000008f,0x0000008e,0x00000073,0x000500ab,0x00000021,0x00000090,0x0000008f,0x00000033,
+ 0x000300f7,0x00000092,0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,
+ 0x00000091,0x00050041,0x00000027,0x00000093,0x00000065,0x00000043,0x0003003e,0x00000093,
+ 0x00000016,0x000200f9,0x00000092,0x000200f8,0x00000092,0x000200f9,0x00000078,0x000200f8,
+ 0x00000078,0x000200f9,0x0000006d,0x000200f8,0x0000006d,0x0004003d,0x00000063,0x00000096,
+ 0x00000065,0x0003003e,0x00000095,0x00000096,0x000100fd,0x00010038
};
// Generated from:
@@ -138,7 +137,7 @@ const uint32_t kImageCopy_frag_00000009[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform texture2DArray src;
+// layout(set = 0, binding = 0)uniform utexture2D src;
// layout(location = 0)out ivec4 dest;
//
// layout(push_constant)uniform PushConstants {
@@ -156,6 +155,9 @@ const uint32_t kImageCopy_frag_00000009[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -166,9 +168,11 @@ const uint32_t kImageCopy_frag_00000009[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
-// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+// uvec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
// if(params . premultiplyAlpha)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc
index 989435f3f28..04e664f1f19 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_0000000A[] = {
- 0x07230203,0x00010000,0x00080007,0x00000098,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x0000009a,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000096,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000098,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
@@ -16,45 +16,49 @@ const uint32_t kImageCopy_frag_0000000A[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000062,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007e,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000096,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x00000096,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x00000063,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000080,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000098,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x00000098,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
- 0x00040017,0x00000046,0x00000006,0x00000003,0x0004002b,0x00000006,0x0000004e,0x00000006,
- 0x0004002b,0x00000006,0x00000069,0x00000007,0x0004002b,0x00000006,0x00000074,0x00000008,
- 0x0004002b,0x00000006,0x0000007f,0x00000009,0x0004002b,0x00000012,0x0000008d,0x00000002,
- 0x00040020,0x00000095,0x00000003,0x0000002c,0x0004003b,0x00000095,0x00000096,0x00000003,
+ 0x00040020,0x00000044,0x00000007,0x00000012,0x00040017,0x00000047,0x00000012,0x00000003,
+ 0x0004002b,0x00000006,0x0000004f,0x00000006,0x0004002b,0x00000006,0x0000006a,0x00000007,
+ 0x00040017,0x00000070,0x00000012,0x00000002,0x0004002b,0x00000006,0x00000076,0x00000008,
+ 0x0004002b,0x00000006,0x00000081,0x0000000b,0x0004002b,0x00000012,0x0000008f,0x00000002,
+ 0x00040020,0x00000097,0x00000003,0x0000002c,0x0004003b,0x00000097,0x00000098,0x00000003,
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
- 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x0000002d,0x00000062,0x00000007,0x0004003b,
- 0x00000027,0x0000007e,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
+ 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x0000002d,0x00000063,0x00000007,0x0004003b,
+ 0x00000027,0x00000080,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
@@ -72,61 +76,61 @@ const uint32_t kImageCopy_frag_0000000A[] = {
0x0000003a,0x0007005f,0x0000002c,0x0000003c,0x00000032,0x00000037,0x00000002,0x0000003b,
0x0003003e,0x0000002e,0x0000003c,0x00050041,0x0000001e,0x0000003e,0x00000015,0x0000003d,
0x0004003d,0x00000012,0x0000003f,0x0000003e,0x000500ab,0x00000021,0x00000040,0x0000003f,
- 0x00000022,0x000300f7,0x00000042,0x00000000,0x000400fa,0x00000040,0x00000041,0x0000004d,
- 0x000200f8,0x00000041,0x00050041,0x00000027,0x00000044,0x0000002e,0x00000043,0x0004003d,
- 0x00000006,0x00000045,0x00000044,0x0004003d,0x0000002c,0x00000047,0x0000002e,0x0008004f,
- 0x00000046,0x00000048,0x00000047,0x00000047,0x00000000,0x00000001,0x00000002,0x00060050,
- 0x00000046,0x00000049,0x00000045,0x00000045,0x00000045,0x00050084,0x00000046,0x0000004a,
- 0x00000048,0x00000049,0x0004003d,0x0000002c,0x0000004b,0x0000002e,0x0009004f,0x0000002c,
- 0x0000004c,0x0000004b,0x0000004a,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
- 0x0000002e,0x0000004c,0x000200f9,0x00000042,0x000200f8,0x0000004d,0x00050041,0x0000001e,
- 0x0000004f,0x00000015,0x0000004e,0x0004003d,0x00000012,0x00000050,0x0000004f,0x000500ab,
- 0x00000021,0x00000051,0x00000050,0x00000022,0x000300f7,0x00000053,0x00000000,0x000400fa,
- 0x00000051,0x00000052,0x00000053,0x000200f8,0x00000052,0x00050041,0x00000027,0x00000054,
- 0x0000002e,0x00000043,0x0004003d,0x00000006,0x00000055,0x00000054,0x000500ad,0x00000021,
- 0x00000056,0x00000055,0x00000033,0x000200f9,0x00000053,0x000200f8,0x00000053,0x000700f5,
- 0x00000021,0x00000057,0x00000051,0x0000004d,0x00000056,0x00000052,0x000300f7,0x00000059,
- 0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,
- 0x00000027,0x0000005a,0x0000002e,0x00000043,0x0004003d,0x00000006,0x0000005b,0x0000005a,
- 0x0004003d,0x0000002c,0x0000005c,0x0000002e,0x0008004f,0x00000046,0x0000005d,0x0000005c,
- 0x0000005c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000046,0x0000005e,0x0000005b,
- 0x0000005b,0x0000005b,0x00050087,0x00000046,0x0000005f,0x0000005d,0x0000005e,0x0004003d,
- 0x0000002c,0x00000060,0x0000002e,0x0009004f,0x0000002c,0x00000061,0x00000060,0x0000005f,
- 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000061,0x000200f9,
- 0x00000059,0x000200f8,0x00000059,0x000200f9,0x00000042,0x000200f8,0x00000042,0x0004003d,
- 0x0000002c,0x00000063,0x0000002e,0x00050051,0x00000006,0x00000064,0x00000063,0x00000000,
- 0x00050051,0x00000006,0x00000065,0x00000063,0x00000001,0x00050051,0x00000006,0x00000066,
- 0x00000063,0x00000002,0x00050051,0x00000006,0x00000067,0x00000063,0x00000003,0x00070050,
- 0x0000002c,0x00000068,0x00000064,0x00000065,0x00000066,0x00000067,0x0003003e,0x00000062,
- 0x00000068,0x00050041,0x0000001e,0x0000006a,0x00000015,0x00000069,0x0004003d,0x00000012,
- 0x0000006b,0x0000006a,0x000500ab,0x00000021,0x0000006c,0x0000006b,0x00000022,0x000300f7,
- 0x0000006e,0x00000000,0x000400fa,0x0000006c,0x0000006d,0x00000073,0x000200f8,0x0000006d,
- 0x0004003d,0x0000002c,0x0000006f,0x00000062,0x0007004f,0x00000007,0x00000070,0x0000006f,
- 0x0000006f,0x00000000,0x00000003,0x0004003d,0x0000002c,0x00000071,0x00000062,0x0009004f,
- 0x0000002c,0x00000072,0x00000071,0x00000070,0x00000004,0x00000005,0x00000002,0x00000003,
- 0x0003003e,0x00000062,0x00000072,0x000200f9,0x0000006e,0x000200f8,0x00000073,0x00050041,
- 0x0000001e,0x00000075,0x00000015,0x00000074,0x0004003d,0x00000012,0x00000076,0x00000075,
- 0x000500ab,0x00000021,0x00000077,0x00000076,0x00000022,0x000300f7,0x00000079,0x00000000,
- 0x000400fa,0x00000077,0x00000078,0x0000007d,0x000200f8,0x00000078,0x00050041,0x00000027,
- 0x0000007a,0x00000062,0x00000043,0x0004003d,0x00000006,0x0000007b,0x0000007a,0x00050041,
- 0x00000027,0x0000007c,0x00000062,0x00000022,0x0003003e,0x0000007c,0x0000007b,0x000200f9,
- 0x00000079,0x000200f8,0x0000007d,0x00050041,0x00000039,0x00000080,0x00000015,0x0000007f,
- 0x0004003d,0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,0x00000081,0x0004003d,
- 0x00000006,0x00000082,0x0000007e,0x000500c7,0x00000006,0x00000083,0x00000082,0x00000038,
- 0x000500ab,0x00000021,0x00000084,0x00000083,0x00000033,0x000300f7,0x00000086,0x00000000,
- 0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000027,
- 0x00000087,0x00000062,0x00000026,0x0003003e,0x00000087,0x00000033,0x000200f9,0x00000086,
- 0x000200f8,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000007e,0x000500c7,0x00000006,
- 0x00000089,0x00000088,0x0000001d,0x000500ab,0x00000021,0x0000008a,0x00000089,0x00000033,
- 0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,0x0000008c,0x000200f8,
- 0x0000008b,0x00050041,0x00000027,0x0000008e,0x00000062,0x0000008d,0x0003003e,0x0000008e,
- 0x00000033,0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x0004003d,0x00000006,0x0000008f,
- 0x0000007e,0x000500c7,0x00000006,0x00000090,0x0000008f,0x00000074,0x000500ab,0x00000021,
- 0x00000091,0x00000090,0x00000033,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,
- 0x00000092,0x00000093,0x000200f8,0x00000092,0x00050041,0x00000027,0x00000094,0x00000062,
- 0x00000043,0x0003003e,0x00000094,0x00000016,0x000200f9,0x00000093,0x000200f8,0x00000093,
- 0x000200f9,0x00000079,0x000200f8,0x00000079,0x000200f9,0x0000006e,0x000200f8,0x0000006e,
- 0x0004003d,0x0000002c,0x00000097,0x00000062,0x0003003e,0x00000096,0x00000097,0x000100fd,
+ 0x00000022,0x000300f7,0x00000042,0x00000000,0x000400fa,0x00000040,0x00000041,0x0000004e,
+ 0x000200f8,0x00000041,0x00050041,0x00000044,0x00000045,0x0000002e,0x00000043,0x0004003d,
+ 0x00000012,0x00000046,0x00000045,0x0004003d,0x0000002c,0x00000048,0x0000002e,0x0008004f,
+ 0x00000047,0x00000049,0x00000048,0x00000048,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x00000047,0x0000004a,0x00000046,0x00000046,0x00000046,0x00050084,0x00000047,0x0000004b,
+ 0x00000049,0x0000004a,0x0004003d,0x0000002c,0x0000004c,0x0000002e,0x0009004f,0x0000002c,
+ 0x0000004d,0x0000004c,0x0000004b,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x0000002e,0x0000004d,0x000200f9,0x00000042,0x000200f8,0x0000004e,0x00050041,0x0000001e,
+ 0x00000050,0x00000015,0x0000004f,0x0004003d,0x00000012,0x00000051,0x00000050,0x000500ab,
+ 0x00000021,0x00000052,0x00000051,0x00000022,0x000300f7,0x00000054,0x00000000,0x000400fa,
+ 0x00000052,0x00000053,0x00000054,0x000200f8,0x00000053,0x00050041,0x00000044,0x00000055,
+ 0x0000002e,0x00000043,0x0004003d,0x00000012,0x00000056,0x00000055,0x000500ac,0x00000021,
+ 0x00000057,0x00000056,0x00000022,0x000200f9,0x00000054,0x000200f8,0x00000054,0x000700f5,
+ 0x00000021,0x00000058,0x00000052,0x0000004e,0x00000057,0x00000053,0x000300f7,0x0000005a,
+ 0x00000000,0x000400fa,0x00000058,0x00000059,0x0000005a,0x000200f8,0x00000059,0x00050041,
+ 0x00000044,0x0000005b,0x0000002e,0x00000043,0x0004003d,0x00000012,0x0000005c,0x0000005b,
+ 0x0004003d,0x0000002c,0x0000005d,0x0000002e,0x0008004f,0x00000047,0x0000005e,0x0000005d,
+ 0x0000005d,0x00000000,0x00000001,0x00000002,0x00060050,0x00000047,0x0000005f,0x0000005c,
+ 0x0000005c,0x0000005c,0x00050086,0x00000047,0x00000060,0x0000005e,0x0000005f,0x0004003d,
+ 0x0000002c,0x00000061,0x0000002e,0x0009004f,0x0000002c,0x00000062,0x00000061,0x00000060,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000062,0x000200f9,
+ 0x0000005a,0x000200f8,0x0000005a,0x000200f9,0x00000042,0x000200f8,0x00000042,0x0004003d,
+ 0x0000002c,0x00000064,0x0000002e,0x00050051,0x00000012,0x00000065,0x00000064,0x00000000,
+ 0x00050051,0x00000012,0x00000066,0x00000064,0x00000001,0x00050051,0x00000012,0x00000067,
+ 0x00000064,0x00000002,0x00050051,0x00000012,0x00000068,0x00000064,0x00000003,0x00070050,
+ 0x0000002c,0x00000069,0x00000065,0x00000066,0x00000067,0x00000068,0x0003003e,0x00000063,
+ 0x00000069,0x00050041,0x0000001e,0x0000006b,0x00000015,0x0000006a,0x0004003d,0x00000012,
+ 0x0000006c,0x0000006b,0x000500ab,0x00000021,0x0000006d,0x0000006c,0x00000022,0x000300f7,
+ 0x0000006f,0x00000000,0x000400fa,0x0000006d,0x0000006e,0x00000075,0x000200f8,0x0000006e,
+ 0x0004003d,0x0000002c,0x00000071,0x00000063,0x0007004f,0x00000070,0x00000072,0x00000071,
+ 0x00000071,0x00000000,0x00000003,0x0004003d,0x0000002c,0x00000073,0x00000063,0x0009004f,
+ 0x0000002c,0x00000074,0x00000073,0x00000072,0x00000004,0x00000005,0x00000002,0x00000003,
+ 0x0003003e,0x00000063,0x00000074,0x000200f9,0x0000006f,0x000200f8,0x00000075,0x00050041,
+ 0x0000001e,0x00000077,0x00000015,0x00000076,0x0004003d,0x00000012,0x00000078,0x00000077,
+ 0x000500ab,0x00000021,0x00000079,0x00000078,0x00000022,0x000300f7,0x0000007b,0x00000000,
+ 0x000400fa,0x00000079,0x0000007a,0x0000007f,0x000200f8,0x0000007a,0x00050041,0x00000044,
+ 0x0000007c,0x00000063,0x00000043,0x0004003d,0x00000012,0x0000007d,0x0000007c,0x00050041,
+ 0x00000044,0x0000007e,0x00000063,0x00000022,0x0003003e,0x0000007e,0x0000007d,0x000200f9,
+ 0x0000007b,0x000200f8,0x0000007f,0x00050041,0x00000039,0x00000082,0x00000015,0x00000081,
+ 0x0004003d,0x00000006,0x00000083,0x00000082,0x0003003e,0x00000080,0x00000083,0x0004003d,
+ 0x00000006,0x00000084,0x00000080,0x000500c7,0x00000006,0x00000085,0x00000084,0x00000038,
+ 0x000500ab,0x00000021,0x00000086,0x00000085,0x00000033,0x000300f7,0x00000088,0x00000000,
+ 0x000400fa,0x00000086,0x00000087,0x00000088,0x000200f8,0x00000087,0x00050041,0x00000044,
+ 0x00000089,0x00000063,0x00000026,0x0003003e,0x00000089,0x00000022,0x000200f9,0x00000088,
+ 0x000200f8,0x00000088,0x0004003d,0x00000006,0x0000008a,0x00000080,0x000500c7,0x00000006,
+ 0x0000008b,0x0000008a,0x0000001d,0x000500ab,0x00000021,0x0000008c,0x0000008b,0x00000033,
+ 0x000300f7,0x0000008e,0x00000000,0x000400fa,0x0000008c,0x0000008d,0x0000008e,0x000200f8,
+ 0x0000008d,0x00050041,0x00000044,0x00000090,0x00000063,0x0000008f,0x0003003e,0x00000090,
+ 0x00000022,0x000200f9,0x0000008e,0x000200f8,0x0000008e,0x0004003d,0x00000006,0x00000091,
+ 0x00000080,0x000500c7,0x00000006,0x00000092,0x00000091,0x00000076,0x000500ab,0x00000021,
+ 0x00000093,0x00000092,0x00000033,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,
+ 0x00000094,0x00000095,0x000200f8,0x00000094,0x00050041,0x00000044,0x00000096,0x00000063,
+ 0x00000043,0x0003003e,0x00000096,0x00000026,0x000200f9,0x00000095,0x000200f8,0x00000095,
+ 0x000200f9,0x0000007b,0x000200f8,0x0000007b,0x000200f9,0x0000006f,0x000200f8,0x0000006f,
+ 0x0004003d,0x0000002c,0x00000099,0x00000063,0x0003003e,0x00000098,0x00000099,0x000100fd,
0x00010038
};
@@ -136,8 +140,8 @@ const uint32_t kImageCopy_frag_0000000A[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform itexture2D src;
-// layout(location = 0)out ivec4 dest;
+// layout(set = 0, binding = 0)uniform utexture2D src;
+// layout(location = 0)out uvec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -154,6 +158,9 @@ const uint32_t kImageCopy_frag_0000000A[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -164,9 +171,11 @@ const uint32_t kImageCopy_frag_0000000A[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
-// ivec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+// uvec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
//
// if(params . premultiplyAlpha)
// {
@@ -177,7 +186,7 @@ const uint32_t kImageCopy_frag_0000000A[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// ivec4 destValue = ivec4(srcValue);
+// uvec4 destValue = uvec4(srcValue);
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000C.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000C.inc
deleted file mode 100644
index 1cd29f3362f..00000000000
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000C.inc
+++ /dev/null
@@ -1,206 +0,0 @@
- // 7.12.3226
- #pragma once
-const uint32_t kImageCopy_frag_0000000C[] = {
- 0x07230203,0x00010000,0x00080007,0x00000097,0x00000000,0x00020011,0x00000001,0x0006000b,
- 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000095,0x00030010,
- 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
- 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000065,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007d,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000095,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x00000095,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
- 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
- 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
- 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
- 0x00040020,0x00000044,0x00000007,0x00000012,0x00040017,0x00000047,0x00000012,0x00000003,
- 0x0004002b,0x00000006,0x0000004f,0x00000006,0x00040017,0x00000063,0x00000006,0x00000004,
- 0x00040020,0x00000064,0x00000007,0x00000063,0x0004002b,0x00000006,0x00000068,0x00000007,
- 0x0004002b,0x00000006,0x00000073,0x00000008,0x0004002b,0x00000006,0x0000007e,0x00000009,
- 0x0004002b,0x00000012,0x0000008c,0x00000002,0x00040020,0x00000094,0x00000003,0x00000063,
- 0x0004003b,0x00000094,0x00000095,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x0004003b,
- 0x00000064,0x00000065,0x00000007,0x0004003b,0x00000027,0x0000007d,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
- 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
- 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
- 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
- 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
- 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
- 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
- 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
- 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
- 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002f,
- 0x00000032,0x00000031,0x00050041,0x00000017,0x00000034,0x00000015,0x00000033,0x0004003d,
- 0x00000007,0x00000035,0x00000034,0x0004003d,0x00000007,0x00000036,0x0000001b,0x00050080,
- 0x00000007,0x00000037,0x00000035,0x00000036,0x00050041,0x00000039,0x0000003a,0x00000015,
- 0x00000038,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x0007005f,0x0000002c,0x0000003c,
- 0x00000032,0x00000037,0x00000002,0x0000003b,0x0003003e,0x0000002e,0x0000003c,0x00050041,
- 0x0000001e,0x0000003e,0x00000015,0x0000003d,0x0004003d,0x00000012,0x0000003f,0x0000003e,
- 0x000500ab,0x00000021,0x00000040,0x0000003f,0x00000022,0x000300f7,0x00000042,0x00000000,
- 0x000400fa,0x00000040,0x00000041,0x0000004e,0x000200f8,0x00000041,0x00050041,0x00000044,
- 0x00000045,0x0000002e,0x00000043,0x0004003d,0x00000012,0x00000046,0x00000045,0x0004003d,
- 0x0000002c,0x00000048,0x0000002e,0x0008004f,0x00000047,0x00000049,0x00000048,0x00000048,
- 0x00000000,0x00000001,0x00000002,0x00060050,0x00000047,0x0000004a,0x00000046,0x00000046,
- 0x00000046,0x00050084,0x00000047,0x0000004b,0x00000049,0x0000004a,0x0004003d,0x0000002c,
- 0x0000004c,0x0000002e,0x0009004f,0x0000002c,0x0000004d,0x0000004c,0x0000004b,0x00000004,
- 0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x0000004d,0x000200f9,0x00000042,
- 0x000200f8,0x0000004e,0x00050041,0x0000001e,0x00000050,0x00000015,0x0000004f,0x0004003d,
- 0x00000012,0x00000051,0x00000050,0x000500ab,0x00000021,0x00000052,0x00000051,0x00000022,
- 0x000300f7,0x00000054,0x00000000,0x000400fa,0x00000052,0x00000053,0x00000054,0x000200f8,
- 0x00000053,0x00050041,0x00000044,0x00000055,0x0000002e,0x00000043,0x0004003d,0x00000012,
- 0x00000056,0x00000055,0x000500ac,0x00000021,0x00000057,0x00000056,0x00000022,0x000200f9,
- 0x00000054,0x000200f8,0x00000054,0x000700f5,0x00000021,0x00000058,0x00000052,0x0000004e,
- 0x00000057,0x00000053,0x000300f7,0x0000005a,0x00000000,0x000400fa,0x00000058,0x00000059,
- 0x0000005a,0x000200f8,0x00000059,0x00050041,0x00000044,0x0000005b,0x0000002e,0x00000043,
- 0x0004003d,0x00000012,0x0000005c,0x0000005b,0x0004003d,0x0000002c,0x0000005d,0x0000002e,
- 0x0008004f,0x00000047,0x0000005e,0x0000005d,0x0000005d,0x00000000,0x00000001,0x00000002,
- 0x00060050,0x00000047,0x0000005f,0x0000005c,0x0000005c,0x0000005c,0x00050086,0x00000047,
- 0x00000060,0x0000005e,0x0000005f,0x0004003d,0x0000002c,0x00000061,0x0000002e,0x0009004f,
- 0x0000002c,0x00000062,0x00000061,0x00000060,0x00000004,0x00000005,0x00000006,0x00000003,
- 0x0003003e,0x0000002e,0x00000062,0x000200f9,0x0000005a,0x000200f8,0x0000005a,0x000200f9,
- 0x00000042,0x000200f8,0x00000042,0x0004003d,0x0000002c,0x00000066,0x0000002e,0x0004007c,
- 0x00000063,0x00000067,0x00000066,0x0003003e,0x00000065,0x00000067,0x00050041,0x0000001e,
- 0x00000069,0x00000015,0x00000068,0x0004003d,0x00000012,0x0000006a,0x00000069,0x000500ab,
- 0x00000021,0x0000006b,0x0000006a,0x00000022,0x000300f7,0x0000006d,0x00000000,0x000400fa,
- 0x0000006b,0x0000006c,0x00000072,0x000200f8,0x0000006c,0x0004003d,0x00000063,0x0000006e,
- 0x00000065,0x0007004f,0x00000007,0x0000006f,0x0000006e,0x0000006e,0x00000000,0x00000003,
- 0x0004003d,0x00000063,0x00000070,0x00000065,0x0009004f,0x00000063,0x00000071,0x00000070,
- 0x0000006f,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x00000065,0x00000071,
- 0x000200f9,0x0000006d,0x000200f8,0x00000072,0x00050041,0x0000001e,0x00000074,0x00000015,
- 0x00000073,0x0004003d,0x00000012,0x00000075,0x00000074,0x000500ab,0x00000021,0x00000076,
- 0x00000075,0x00000022,0x000300f7,0x00000078,0x00000000,0x000400fa,0x00000076,0x00000077,
- 0x0000007c,0x000200f8,0x00000077,0x00050041,0x00000027,0x00000079,0x00000065,0x00000043,
- 0x0004003d,0x00000006,0x0000007a,0x00000079,0x00050041,0x00000027,0x0000007b,0x00000065,
- 0x00000022,0x0003003e,0x0000007b,0x0000007a,0x000200f9,0x00000078,0x000200f8,0x0000007c,
- 0x00050041,0x00000039,0x0000007f,0x00000015,0x0000007e,0x0004003d,0x00000006,0x00000080,
- 0x0000007f,0x0003003e,0x0000007d,0x00000080,0x0004003d,0x00000006,0x00000081,0x0000007d,
- 0x000500c7,0x00000006,0x00000082,0x00000081,0x00000038,0x000500ab,0x00000021,0x00000083,
- 0x00000082,0x00000033,0x000300f7,0x00000085,0x00000000,0x000400fa,0x00000083,0x00000084,
- 0x00000085,0x000200f8,0x00000084,0x00050041,0x00000027,0x00000086,0x00000065,0x00000026,
- 0x0003003e,0x00000086,0x00000033,0x000200f9,0x00000085,0x000200f8,0x00000085,0x0004003d,
- 0x00000006,0x00000087,0x0000007d,0x000500c7,0x00000006,0x00000088,0x00000087,0x0000001d,
- 0x000500ab,0x00000021,0x00000089,0x00000088,0x00000033,0x000300f7,0x0000008b,0x00000000,
- 0x000400fa,0x00000089,0x0000008a,0x0000008b,0x000200f8,0x0000008a,0x00050041,0x00000027,
- 0x0000008d,0x00000065,0x0000008c,0x0003003e,0x0000008d,0x00000033,0x000200f9,0x0000008b,
- 0x000200f8,0x0000008b,0x0004003d,0x00000006,0x0000008e,0x0000007d,0x000500c7,0x00000006,
- 0x0000008f,0x0000008e,0x00000073,0x000500ab,0x00000021,0x00000090,0x0000008f,0x00000033,
- 0x000300f7,0x00000092,0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,
- 0x00000091,0x00050041,0x00000027,0x00000093,0x00000065,0x00000043,0x0003003e,0x00000093,
- 0x00000016,0x000200f9,0x00000092,0x000200f8,0x00000092,0x000200f9,0x00000078,0x000200f8,
- 0x00000078,0x000200f9,0x0000006d,0x000200f8,0x0000006d,0x0004003d,0x00000063,0x00000096,
- 0x00000065,0x0003003e,0x00000095,0x00000096,0x000100fd,0x00010038
-};
-
-// Generated from:
-//
-// #version 450 core
-//
-// #extension GL_EXT_samplerless_texture_functions : require
-//
-// layout(set = 0, binding = 0)uniform utexture2D src;
-// layout(location = 0)out ivec4 dest;
-//
-// layout(push_constant)uniform PushConstants {
-//
-// ivec2 srcOffset;
-// ivec2 destOffset;
-// int srcMip;
-// int srcLayer;
-//
-// bool flipY;
-//
-// bool premultiplyAlpha;
-// bool unmultiplyAlpha;
-//
-// bool destHasLuminance;
-// bool destIsAlpha;
-//
-// int destDefaultChannelsMask;
-// } params;
-//
-// void main()
-// {
-// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
-//
-// ivec2 srcSubImageCoords = destSubImageCoords;
-//
-// if(params . flipY)
-// srcSubImageCoords . y = - srcSubImageCoords . y;
-//
-// uvec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
-//
-// if(params . premultiplyAlpha)
-// {
-// srcValue . rgb *= srcValue . a;
-// }
-// else if(params . unmultiplyAlpha && srcValue . a > 0)
-// {
-// srcValue . rgb /= srcValue . a;
-// }
-//
-// ivec4 destValue = ivec4(srcValue);
-//
-// if(params . destHasLuminance)
-// {
-// destValue . rg = destValue . ra;
-// }
-// else if(params . destIsAlpha)
-// {
-// destValue . r = destValue . a;
-// }
-// else
-// {
-// int defaultChannelsMask = params . destDefaultChannelsMask;
-// if((defaultChannelsMask & 2)!= 0)
-// {
-// destValue . g = 0;
-// }
-// if((defaultChannelsMask & 4)!= 0)
-// {
-// destValue . b = 0;
-// }
-// if((defaultChannelsMask & 8)!= 0)
-// {
-// destValue . a = 1;
-// }
-// }
-//
-// dest = destValue;
-// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc
index 58020778f89..6fb1d94f109 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc
@@ -1,131 +1,196 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000010[] = {
- 0x07230203,0x00010000,0x00080007,0x00000098,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000f4,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000096,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000039,0x000000f2,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002d,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000030,0x00637273,0x00050005,0x00000064,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007e,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000096,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000030,0x00000022,
- 0x00000000,0x00040047,0x00000030,0x00000021,0x00000000,0x00040047,0x00000096,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040020,0x0000002c,0x00000007,0x0000000b,0x00090019,
- 0x0000002e,0x0000000a,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000000,
- 0x0004002b,0x00000006,0x00000032,0x00000000,0x0004002b,0x00000006,0x00000037,0x00000002,
- 0x00040020,0x00000038,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000003c,0x00000005,
- 0x0004002b,0x00000012,0x00000042,0x00000003,0x00040020,0x00000043,0x00000007,0x0000000a,
- 0x00040017,0x00000046,0x0000000a,0x00000003,0x0004002b,0x00000006,0x0000004d,0x00000006,
- 0x0004002b,0x0000000a,0x00000055,0x00000000,0x00040017,0x00000062,0x00000012,0x00000004,
- 0x00040020,0x00000063,0x00000007,0x00000062,0x0004002b,0x00000006,0x00000067,0x00000007,
- 0x00040017,0x0000006d,0x00000012,0x00000002,0x0004002b,0x00000006,0x00000073,0x00000008,
- 0x00040020,0x00000079,0x00000007,0x00000012,0x0004002b,0x00000006,0x0000007f,0x00000009,
- 0x0004002b,0x00000012,0x0000008d,0x00000002,0x00040020,0x00000095,0x00000003,0x00000062,
- 0x0004003b,0x00000095,0x00000096,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002c,0x0000002d,0x00000007,0x0004003b,
- 0x00000063,0x00000064,0x00000007,0x0004003b,0x00000027,0x0000007e,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
- 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
- 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
- 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
- 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
- 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
- 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
- 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
- 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
- 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002e,
- 0x00000031,0x00000030,0x00050041,0x00000017,0x00000033,0x00000015,0x00000032,0x0004003d,
- 0x00000007,0x00000034,0x00000033,0x0004003d,0x00000007,0x00000035,0x0000001b,0x00050080,
- 0x00000007,0x00000036,0x00000034,0x00000035,0x00050041,0x00000038,0x00000039,0x00000015,
- 0x00000037,0x0004003d,0x00000006,0x0000003a,0x00000039,0x0007005f,0x0000000b,0x0000003b,
- 0x00000031,0x00000036,0x00000002,0x0000003a,0x0003003e,0x0000002d,0x0000003b,0x00050041,
- 0x0000001e,0x0000003d,0x00000015,0x0000003c,0x0004003d,0x00000012,0x0000003e,0x0000003d,
- 0x000500ab,0x00000021,0x0000003f,0x0000003e,0x00000022,0x000300f7,0x00000041,0x00000000,
- 0x000400fa,0x0000003f,0x00000040,0x0000004c,0x000200f8,0x00000040,0x00050041,0x00000043,
- 0x00000044,0x0000002d,0x00000042,0x0004003d,0x0000000a,0x00000045,0x00000044,0x0004003d,
- 0x0000000b,0x00000047,0x0000002d,0x0008004f,0x00000046,0x00000048,0x00000047,0x00000047,
- 0x00000000,0x00000001,0x00000002,0x0005008e,0x00000046,0x00000049,0x00000048,0x00000045,
- 0x0004003d,0x0000000b,0x0000004a,0x0000002d,0x0009004f,0x0000000b,0x0000004b,0x0000004a,
- 0x00000049,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002d,0x0000004b,
- 0x000200f9,0x00000041,0x000200f8,0x0000004c,0x00050041,0x0000001e,0x0000004e,0x00000015,
- 0x0000004d,0x0004003d,0x00000012,0x0000004f,0x0000004e,0x000500ab,0x00000021,0x00000050,
- 0x0000004f,0x00000022,0x000300f7,0x00000052,0x00000000,0x000400fa,0x00000050,0x00000051,
- 0x00000052,0x000200f8,0x00000051,0x00050041,0x00000043,0x00000053,0x0000002d,0x00000042,
- 0x0004003d,0x0000000a,0x00000054,0x00000053,0x000500ba,0x00000021,0x00000056,0x00000054,
- 0x00000055,0x000200f9,0x00000052,0x000200f8,0x00000052,0x000700f5,0x00000021,0x00000057,
- 0x00000050,0x0000004c,0x00000056,0x00000051,0x000300f7,0x00000059,0x00000000,0x000400fa,
- 0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,0x00000043,0x0000005a,
- 0x0000002d,0x00000042,0x0004003d,0x0000000a,0x0000005b,0x0000005a,0x0004003d,0x0000000b,
- 0x0000005c,0x0000002d,0x0008004f,0x00000046,0x0000005d,0x0000005c,0x0000005c,0x00000000,
- 0x00000001,0x00000002,0x00060050,0x00000046,0x0000005e,0x0000005b,0x0000005b,0x0000005b,
- 0x00050088,0x00000046,0x0000005f,0x0000005d,0x0000005e,0x0004003d,0x0000000b,0x00000060,
- 0x0000002d,0x0009004f,0x0000000b,0x00000061,0x00000060,0x0000005f,0x00000004,0x00000005,
- 0x00000006,0x00000003,0x0003003e,0x0000002d,0x00000061,0x000200f9,0x00000059,0x000200f8,
- 0x00000059,0x000200f9,0x00000041,0x000200f8,0x00000041,0x0004003d,0x0000000b,0x00000065,
- 0x0000002d,0x0004006d,0x00000062,0x00000066,0x00000065,0x0003003e,0x00000064,0x00000066,
- 0x00050041,0x0000001e,0x00000068,0x00000015,0x00000067,0x0004003d,0x00000012,0x00000069,
- 0x00000068,0x000500ab,0x00000021,0x0000006a,0x00000069,0x00000022,0x000300f7,0x0000006c,
- 0x00000000,0x000400fa,0x0000006a,0x0000006b,0x00000072,0x000200f8,0x0000006b,0x0004003d,
- 0x00000062,0x0000006e,0x00000064,0x0007004f,0x0000006d,0x0000006f,0x0000006e,0x0000006e,
- 0x00000000,0x00000003,0x0004003d,0x00000062,0x00000070,0x00000064,0x0009004f,0x00000062,
- 0x00000071,0x00000070,0x0000006f,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,
- 0x00000064,0x00000071,0x000200f9,0x0000006c,0x000200f8,0x00000072,0x00050041,0x0000001e,
- 0x00000074,0x00000015,0x00000073,0x0004003d,0x00000012,0x00000075,0x00000074,0x000500ab,
- 0x00000021,0x00000076,0x00000075,0x00000022,0x000300f7,0x00000078,0x00000000,0x000400fa,
- 0x00000076,0x00000077,0x0000007d,0x000200f8,0x00000077,0x00050041,0x00000079,0x0000007a,
- 0x00000064,0x00000042,0x0004003d,0x00000012,0x0000007b,0x0000007a,0x00050041,0x00000079,
- 0x0000007c,0x00000064,0x00000022,0x0003003e,0x0000007c,0x0000007b,0x000200f9,0x00000078,
- 0x000200f8,0x0000007d,0x00050041,0x00000038,0x00000080,0x00000015,0x0000007f,0x0004003d,
- 0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,0x00000081,0x0004003d,0x00000006,
- 0x00000082,0x0000007e,0x000500c7,0x00000006,0x00000083,0x00000082,0x00000037,0x000500ab,
- 0x00000021,0x00000084,0x00000083,0x00000032,0x000300f7,0x00000086,0x00000000,0x000400fa,
- 0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000079,0x00000087,
- 0x00000064,0x00000026,0x0003003e,0x00000087,0x00000022,0x000200f9,0x00000086,0x000200f8,
- 0x00000086,0x0004003d,0x00000006,0x00000088,0x0000007e,0x000500c7,0x00000006,0x00000089,
- 0x00000088,0x0000001d,0x000500ab,0x00000021,0x0000008a,0x00000089,0x00000032,0x000300f7,
- 0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,0x0000008c,0x000200f8,0x0000008b,
- 0x00050041,0x00000079,0x0000008e,0x00000064,0x0000008d,0x0003003e,0x0000008e,0x00000022,
- 0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x0004003d,0x00000006,0x0000008f,0x0000007e,
- 0x000500c7,0x00000006,0x00000090,0x0000008f,0x00000073,0x000500ab,0x00000021,0x00000091,
- 0x00000090,0x00000032,0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,
- 0x00000093,0x000200f8,0x00000092,0x00050041,0x00000079,0x00000094,0x00000064,0x00000042,
- 0x0003003e,0x00000094,0x00000026,0x000200f9,0x00000093,0x000200f8,0x00000093,0x000200f9,
- 0x00000078,0x000200f8,0x00000078,0x000200f9,0x0000006c,0x000200f8,0x0000006c,0x0004003d,
- 0x00000062,0x00000097,0x00000064,0x0003003e,0x00000096,0x00000097,0x000100fd,0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x0000000d,0x42475273,0x694c6f54,0x7261656e,0x3b316628,0x00000000,0x00040005,0x0000000c,
+ 0x42475273,0x00000000,0x00070005,0x00000036,0x74736564,0x49627553,0x6567616d,0x726f6f43,
+ 0x00007364,0x00060005,0x00000039,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
+ 0x0000003f,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000003f,0x00000000,
+ 0x4f637273,0x65736666,0x00000074,0x00060006,0x0000003f,0x00000001,0x74736564,0x7366664f,
+ 0x00007465,0x00050006,0x0000003f,0x00000002,0x4d637273,0x00007069,0x00060006,0x0000003f,
+ 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x0000003f,0x00000004,0x70696c66,
+ 0x00000059,0x00080006,0x0000003f,0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,
+ 0x00000000,0x00070006,0x0000003f,0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,
+ 0x00080006,0x0000003f,0x00000007,0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,
+ 0x00060006,0x0000003f,0x00000008,0x74736564,0x6c417349,0x00616870,0x00060006,0x0000003f,
+ 0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x0000003f,0x0000000a,0x74736564,
+ 0x52537349,0x00004247,0x00090006,0x0000003f,0x0000000b,0x74736564,0x61666544,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000041,0x61726170,0x0000736d,0x00070005,
+ 0x00000047,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000058,
+ 0x56637273,0x65756c61,0x00000000,0x00030005,0x0000005b,0x00637273,0x00040005,0x00000074,
+ 0x61726170,0x0000006d,0x00040005,0x00000079,0x61726170,0x0000006d,0x00040005,0x0000007e,
+ 0x61726170,0x0000006d,0x00050005,0x000000a9,0x74736564,0x756c6156,0x00000065,0x00040005,
+ 0x000000b6,0x61726170,0x0000006d,0x00040005,0x000000bb,0x61726170,0x0000006d,0x00040005,
+ 0x000000c0,0x61726170,0x0000006d,0x00070005,0x000000da,0x61666564,0x43746c75,0x6e6e6168,
+ 0x4d736c65,0x006b7361,0x00040005,0x000000f2,0x74736564,0x00000000,0x00040047,0x00000039,
+ 0x0000000b,0x0000000f,0x00050048,0x0000003f,0x00000000,0x00000023,0x00000000,0x00050048,
+ 0x0000003f,0x00000001,0x00000023,0x00000008,0x00050048,0x0000003f,0x00000002,0x00000023,
+ 0x00000010,0x00050048,0x0000003f,0x00000003,0x00000023,0x00000014,0x00050048,0x0000003f,
+ 0x00000004,0x00000023,0x00000018,0x00050048,0x0000003f,0x00000005,0x00000023,0x0000001c,
+ 0x00050048,0x0000003f,0x00000006,0x00000023,0x00000020,0x00050048,0x0000003f,0x00000007,
+ 0x00000023,0x00000024,0x00050048,0x0000003f,0x00000008,0x00000023,0x00000028,0x00050048,
+ 0x0000003f,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000003f,0x0000000a,0x00000023,
+ 0x00000030,0x00050048,0x0000003f,0x0000000b,0x00000023,0x00000034,0x00030047,0x0000003f,
+ 0x00000002,0x00040047,0x0000005b,0x00000022,0x00000000,0x00040047,0x0000005b,0x00000021,
+ 0x00000000,0x00040047,0x000000f2,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,0x00000007,
+ 0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,0x00000010,
+ 0x3b4d2e1c,0x00020014,0x00000011,0x0004002b,0x00000006,0x00000016,0x414eb852,0x0004002b,
+ 0x00000006,0x0000001b,0x3ed55555,0x0004002b,0x00000006,0x0000001d,0x3f870a3d,0x0004002b,
+ 0x00000006,0x0000001f,0x3d6147ae,0x0004002b,0x00000006,0x00000024,0x3d25aee6,0x0004002b,
+ 0x00000006,0x0000002f,0x4019999a,0x00040015,0x00000033,0x00000020,0x00000001,0x00040017,
+ 0x00000034,0x00000033,0x00000002,0x00040020,0x00000035,0x00000007,0x00000034,0x00040017,
+ 0x00000037,0x00000006,0x00000004,0x00040020,0x00000038,0x00000001,0x00000037,0x0004003b,
+ 0x00000038,0x00000039,0x00000001,0x00040017,0x0000003a,0x00000006,0x00000002,0x00040015,
+ 0x0000003e,0x00000020,0x00000000,0x000e001e,0x0000003f,0x00000034,0x00000034,0x00000033,
+ 0x00000033,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,
+ 0x00000033,0x00040020,0x00000040,0x00000009,0x0000003f,0x0004003b,0x00000040,0x00000041,
+ 0x00000009,0x0004002b,0x00000033,0x00000042,0x00000001,0x00040020,0x00000043,0x00000009,
+ 0x00000034,0x0004002b,0x00000033,0x00000049,0x00000004,0x00040020,0x0000004a,0x00000009,
+ 0x0000003e,0x0004002b,0x0000003e,0x0000004d,0x00000000,0x0004002b,0x0000003e,0x00000051,
+ 0x00000001,0x00040020,0x00000052,0x00000007,0x00000033,0x00040020,0x00000057,0x00000007,
+ 0x00000037,0x00090019,0x00000059,0x00000006,0x00000001,0x00000000,0x00000001,0x00000000,
+ 0x00000001,0x00000000,0x00040020,0x0000005a,0x00000000,0x00000059,0x0004003b,0x0000005a,
+ 0x0000005b,0x00000000,0x0004002b,0x00000033,0x0000005d,0x00000000,0x0004002b,0x00000033,
+ 0x00000062,0x00000003,0x00040020,0x00000063,0x00000009,0x00000033,0x00040017,0x00000066,
+ 0x00000033,0x00000003,0x0004002b,0x00000033,0x0000006a,0x00000002,0x0004002b,0x00000033,
+ 0x0000006e,0x00000009,0x0004002b,0x0000003e,0x0000007f,0x00000002,0x0004002b,0x00000033,
+ 0x00000084,0x00000005,0x0004002b,0x0000003e,0x0000008a,0x00000003,0x00040017,0x0000008d,
+ 0x00000006,0x00000003,0x0004002b,0x00000033,0x00000094,0x00000006,0x0004002b,0x00000006,
+ 0x0000009c,0x00000000,0x0004002b,0x00000033,0x000000b0,0x0000000a,0x0004002b,0x00000033,
+ 0x000000c5,0x00000007,0x0004002b,0x00000033,0x000000d0,0x00000008,0x0004002b,0x00000033,
+ 0x000000db,0x0000000b,0x0004002b,0x00000006,0x000000ef,0x3f800000,0x00040020,0x000000f1,
+ 0x00000003,0x00000037,0x0004003b,0x000000f1,0x000000f2,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000035,0x00000036,
+ 0x00000007,0x0004003b,0x00000035,0x00000047,0x00000007,0x0004003b,0x00000057,0x00000058,
+ 0x00000007,0x0004003b,0x00000007,0x00000074,0x00000007,0x0004003b,0x00000007,0x00000079,
+ 0x00000007,0x0004003b,0x00000007,0x0000007e,0x00000007,0x0004003b,0x00000057,0x000000a9,
+ 0x00000007,0x0004003b,0x00000007,0x000000b6,0x00000007,0x0004003b,0x00000007,0x000000bb,
+ 0x00000007,0x0004003b,0x00000007,0x000000c0,0x00000007,0x0004003b,0x00000052,0x000000da,
+ 0x00000007,0x0004003d,0x00000037,0x0000003b,0x00000039,0x0007004f,0x0000003a,0x0000003c,
+ 0x0000003b,0x0000003b,0x00000000,0x00000001,0x0004006e,0x00000034,0x0000003d,0x0000003c,
+ 0x00050041,0x00000043,0x00000044,0x00000041,0x00000042,0x0004003d,0x00000034,0x00000045,
+ 0x00000044,0x00050082,0x00000034,0x00000046,0x0000003d,0x00000045,0x0003003e,0x00000036,
+ 0x00000046,0x0004003d,0x00000034,0x00000048,0x00000036,0x0003003e,0x00000047,0x00000048,
+ 0x00050041,0x0000004a,0x0000004b,0x00000041,0x00000049,0x0004003d,0x0000003e,0x0000004c,
+ 0x0000004b,0x000500ab,0x00000011,0x0000004e,0x0000004c,0x0000004d,0x000300f7,0x00000050,
+ 0x00000000,0x000400fa,0x0000004e,0x0000004f,0x00000050,0x000200f8,0x0000004f,0x00050041,
+ 0x00000052,0x00000053,0x00000047,0x00000051,0x0004003d,0x00000033,0x00000054,0x00000053,
+ 0x0004007e,0x00000033,0x00000055,0x00000054,0x00050041,0x00000052,0x00000056,0x00000047,
+ 0x00000051,0x0003003e,0x00000056,0x00000055,0x000200f9,0x00000050,0x000200f8,0x00000050,
+ 0x0004003d,0x00000059,0x0000005c,0x0000005b,0x00050041,0x00000043,0x0000005e,0x00000041,
+ 0x0000005d,0x0004003d,0x00000034,0x0000005f,0x0000005e,0x0004003d,0x00000034,0x00000060,
+ 0x00000047,0x00050080,0x00000034,0x00000061,0x0000005f,0x00000060,0x00050041,0x00000063,
+ 0x00000064,0x00000041,0x00000062,0x0004003d,0x00000033,0x00000065,0x00000064,0x00050051,
+ 0x00000033,0x00000067,0x00000061,0x00000000,0x00050051,0x00000033,0x00000068,0x00000061,
+ 0x00000001,0x00060050,0x00000066,0x00000069,0x00000067,0x00000068,0x00000065,0x00050041,
+ 0x00000063,0x0000006b,0x00000041,0x0000006a,0x0004003d,0x00000033,0x0000006c,0x0000006b,
+ 0x0007005f,0x00000037,0x0000006d,0x0000005c,0x00000069,0x00000002,0x0000006c,0x0003003e,
+ 0x00000058,0x0000006d,0x00050041,0x0000004a,0x0000006f,0x00000041,0x0000006e,0x0004003d,
+ 0x0000003e,0x00000070,0x0000006f,0x000500ab,0x00000011,0x00000071,0x00000070,0x0000004d,
+ 0x000300f7,0x00000073,0x00000000,0x000400fa,0x00000071,0x00000072,0x00000073,0x000200f8,
+ 0x00000072,0x00050041,0x00000007,0x00000075,0x00000058,0x0000004d,0x0004003d,0x00000006,
+ 0x00000076,0x00000075,0x0003003e,0x00000074,0x00000076,0x00050039,0x00000006,0x00000077,
+ 0x0000000a,0x00000074,0x00050041,0x00000007,0x00000078,0x00000058,0x0000004d,0x0003003e,
+ 0x00000078,0x00000077,0x00050041,0x00000007,0x0000007a,0x00000058,0x00000051,0x0004003d,
+ 0x00000006,0x0000007b,0x0000007a,0x0003003e,0x00000079,0x0000007b,0x00050039,0x00000006,
+ 0x0000007c,0x0000000a,0x00000079,0x00050041,0x00000007,0x0000007d,0x00000058,0x00000051,
+ 0x0003003e,0x0000007d,0x0000007c,0x00050041,0x00000007,0x00000080,0x00000058,0x0000007f,
+ 0x0004003d,0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,0x00000081,0x00050039,
+ 0x00000006,0x00000082,0x0000000a,0x0000007e,0x00050041,0x00000007,0x00000083,0x00000058,
+ 0x0000007f,0x0003003e,0x00000083,0x00000082,0x000200f9,0x00000073,0x000200f8,0x00000073,
+ 0x00050041,0x0000004a,0x00000085,0x00000041,0x00000084,0x0004003d,0x0000003e,0x00000086,
+ 0x00000085,0x000500ab,0x00000011,0x00000087,0x00000086,0x0000004d,0x000300f7,0x00000089,
+ 0x00000000,0x000400fa,0x00000087,0x00000088,0x00000093,0x000200f8,0x00000088,0x00050041,
+ 0x00000007,0x0000008b,0x00000058,0x0000008a,0x0004003d,0x00000006,0x0000008c,0x0000008b,
+ 0x0004003d,0x00000037,0x0000008e,0x00000058,0x0008004f,0x0000008d,0x0000008f,0x0000008e,
+ 0x0000008e,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000008d,0x00000090,0x0000008f,
+ 0x0000008c,0x0004003d,0x00000037,0x00000091,0x00000058,0x0009004f,0x00000037,0x00000092,
+ 0x00000091,0x00000090,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000058,
+ 0x00000092,0x000200f9,0x00000089,0x000200f8,0x00000093,0x00050041,0x0000004a,0x00000095,
+ 0x00000041,0x00000094,0x0004003d,0x0000003e,0x00000096,0x00000095,0x000500ab,0x00000011,
+ 0x00000097,0x00000096,0x0000004d,0x000300f7,0x00000099,0x00000000,0x000400fa,0x00000097,
+ 0x00000098,0x00000099,0x000200f8,0x00000098,0x00050041,0x00000007,0x0000009a,0x00000058,
+ 0x0000008a,0x0004003d,0x00000006,0x0000009b,0x0000009a,0x000500ba,0x00000011,0x0000009d,
+ 0x0000009b,0x0000009c,0x000200f9,0x00000099,0x000200f8,0x00000099,0x000700f5,0x00000011,
+ 0x0000009e,0x00000097,0x00000093,0x0000009d,0x00000098,0x000300f7,0x000000a0,0x00000000,
+ 0x000400fa,0x0000009e,0x0000009f,0x000000a0,0x000200f8,0x0000009f,0x00050041,0x00000007,
+ 0x000000a1,0x00000058,0x0000008a,0x0004003d,0x00000006,0x000000a2,0x000000a1,0x0004003d,
+ 0x00000037,0x000000a3,0x00000058,0x0008004f,0x0000008d,0x000000a4,0x000000a3,0x000000a3,
+ 0x00000000,0x00000001,0x00000002,0x00060050,0x0000008d,0x000000a5,0x000000a2,0x000000a2,
+ 0x000000a2,0x00050088,0x0000008d,0x000000a6,0x000000a4,0x000000a5,0x0004003d,0x00000037,
+ 0x000000a7,0x00000058,0x0009004f,0x00000037,0x000000a8,0x000000a7,0x000000a6,0x00000004,
+ 0x00000005,0x00000006,0x00000003,0x0003003e,0x00000058,0x000000a8,0x000200f9,0x000000a0,
+ 0x000200f8,0x000000a0,0x000200f9,0x00000089,0x000200f8,0x00000089,0x0004003d,0x00000037,
+ 0x000000aa,0x00000058,0x00050051,0x00000006,0x000000ab,0x000000aa,0x00000000,0x00050051,
+ 0x00000006,0x000000ac,0x000000aa,0x00000001,0x00050051,0x00000006,0x000000ad,0x000000aa,
+ 0x00000002,0x00050051,0x00000006,0x000000ae,0x000000aa,0x00000003,0x00070050,0x00000037,
+ 0x000000af,0x000000ab,0x000000ac,0x000000ad,0x000000ae,0x0003003e,0x000000a9,0x000000af,
+ 0x00050041,0x0000004a,0x000000b1,0x00000041,0x000000b0,0x0004003d,0x0000003e,0x000000b2,
+ 0x000000b1,0x000500ab,0x00000011,0x000000b3,0x000000b2,0x0000004d,0x000300f7,0x000000b5,
+ 0x00000000,0x000400fa,0x000000b3,0x000000b4,0x000000b5,0x000200f8,0x000000b4,0x00050041,
+ 0x00000007,0x000000b7,0x000000a9,0x0000004d,0x0004003d,0x00000006,0x000000b8,0x000000b7,
+ 0x0003003e,0x000000b6,0x000000b8,0x00050039,0x00000006,0x000000b9,0x0000000d,0x000000b6,
+ 0x00050041,0x00000007,0x000000ba,0x000000a9,0x0000004d,0x0003003e,0x000000ba,0x000000b9,
+ 0x00050041,0x00000007,0x000000bc,0x000000a9,0x00000051,0x0004003d,0x00000006,0x000000bd,
+ 0x000000bc,0x0003003e,0x000000bb,0x000000bd,0x00050039,0x00000006,0x000000be,0x0000000d,
+ 0x000000bb,0x00050041,0x00000007,0x000000bf,0x000000a9,0x00000051,0x0003003e,0x000000bf,
+ 0x000000be,0x00050041,0x00000007,0x000000c1,0x000000a9,0x0000007f,0x0004003d,0x00000006,
+ 0x000000c2,0x000000c1,0x0003003e,0x000000c0,0x000000c2,0x00050039,0x00000006,0x000000c3,
+ 0x0000000d,0x000000c0,0x00050041,0x00000007,0x000000c4,0x000000a9,0x0000007f,0x0003003e,
+ 0x000000c4,0x000000c3,0x000200f9,0x000000b5,0x000200f8,0x000000b5,0x00050041,0x0000004a,
+ 0x000000c6,0x00000041,0x000000c5,0x0004003d,0x0000003e,0x000000c7,0x000000c6,0x000500ab,
+ 0x00000011,0x000000c8,0x000000c7,0x0000004d,0x000300f7,0x000000ca,0x00000000,0x000400fa,
+ 0x000000c8,0x000000c9,0x000000cf,0x000200f8,0x000000c9,0x0004003d,0x00000037,0x000000cb,
+ 0x000000a9,0x0007004f,0x0000003a,0x000000cc,0x000000cb,0x000000cb,0x00000000,0x00000003,
+ 0x0004003d,0x00000037,0x000000cd,0x000000a9,0x0009004f,0x00000037,0x000000ce,0x000000cd,
+ 0x000000cc,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x000000a9,0x000000ce,
+ 0x000200f9,0x000000ca,0x000200f8,0x000000cf,0x00050041,0x0000004a,0x000000d1,0x00000041,
+ 0x000000d0,0x0004003d,0x0000003e,0x000000d2,0x000000d1,0x000500ab,0x00000011,0x000000d3,
+ 0x000000d2,0x0000004d,0x000300f7,0x000000d5,0x00000000,0x000400fa,0x000000d3,0x000000d4,
+ 0x000000d9,0x000200f8,0x000000d4,0x00050041,0x00000007,0x000000d6,0x000000a9,0x0000008a,
+ 0x0004003d,0x00000006,0x000000d7,0x000000d6,0x00050041,0x00000007,0x000000d8,0x000000a9,
+ 0x0000004d,0x0003003e,0x000000d8,0x000000d7,0x000200f9,0x000000d5,0x000200f8,0x000000d9,
+ 0x00050041,0x00000063,0x000000dc,0x00000041,0x000000db,0x0004003d,0x00000033,0x000000dd,
+ 0x000000dc,0x0003003e,0x000000da,0x000000dd,0x0004003d,0x00000033,0x000000de,0x000000da,
+ 0x000500c7,0x00000033,0x000000df,0x000000de,0x0000006a,0x000500ab,0x00000011,0x000000e0,
+ 0x000000df,0x0000005d,0x000300f7,0x000000e2,0x00000000,0x000400fa,0x000000e0,0x000000e1,
+ 0x000000e2,0x000200f8,0x000000e1,0x00050041,0x00000007,0x000000e3,0x000000a9,0x00000051,
+ 0x0003003e,0x000000e3,0x0000009c,0x000200f9,0x000000e2,0x000200f8,0x000000e2,0x0004003d,
+ 0x00000033,0x000000e4,0x000000da,0x000500c7,0x00000033,0x000000e5,0x000000e4,0x00000049,
+ 0x000500ab,0x00000011,0x000000e6,0x000000e5,0x0000005d,0x000300f7,0x000000e8,0x00000000,
+ 0x000400fa,0x000000e6,0x000000e7,0x000000e8,0x000200f8,0x000000e7,0x00050041,0x00000007,
+ 0x000000e9,0x000000a9,0x0000007f,0x0003003e,0x000000e9,0x0000009c,0x000200f9,0x000000e8,
+ 0x000200f8,0x000000e8,0x0004003d,0x00000033,0x000000ea,0x000000da,0x000500c7,0x00000033,
+ 0x000000eb,0x000000ea,0x000000d0,0x000500ab,0x00000011,0x000000ec,0x000000eb,0x0000005d,
+ 0x000300f7,0x000000ee,0x00000000,0x000400fa,0x000000ec,0x000000ed,0x000000ee,0x000200f8,
+ 0x000000ed,0x00050041,0x00000007,0x000000f0,0x000000a9,0x0000008a,0x0003003e,0x000000f0,
+ 0x000000ef,0x000200f9,0x000000ee,0x000200f8,0x000000ee,0x000200f9,0x000000d5,0x000200f8,
+ 0x000000d5,0x000200f9,0x000000ca,0x000200f8,0x000000ca,0x0004003d,0x00000037,0x000000f3,
+ 0x000000a9,0x0003003e,0x000000f2,0x000000f3,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
+ 0x0004003d,0x00000006,0x0000000f,0x00000009,0x000500bc,0x00000011,0x00000012,0x0000000f,
+ 0x00000010,0x000300f7,0x00000014,0x00000000,0x000400fa,0x00000012,0x00000013,0x00000019,
+ 0x000200f8,0x00000013,0x0004003d,0x00000006,0x00000015,0x00000009,0x00050085,0x00000006,
+ 0x00000017,0x00000015,0x00000016,0x000200fe,0x00000017,0x000200f8,0x00000019,0x0004003d,
+ 0x00000006,0x0000001a,0x00000009,0x0007000c,0x00000006,0x0000001c,0x00000001,0x0000001a,
+ 0x0000001a,0x0000001b,0x00050085,0x00000006,0x0000001e,0x0000001c,0x0000001d,0x00050083,
+ 0x00000006,0x00000020,0x0000001e,0x0000001f,0x000200fe,0x00000020,0x000200f8,0x00000014,
+ 0x000100ff,0x00010038,0x00050036,0x00000006,0x0000000d,0x00000000,0x00000008,0x00030037,
+ 0x00000007,0x0000000c,0x000200f8,0x0000000e,0x0004003d,0x00000006,0x00000023,0x0000000c,
+ 0x000500bc,0x00000011,0x00000025,0x00000023,0x00000024,0x000300f7,0x00000027,0x00000000,
+ 0x000400fa,0x00000025,0x00000026,0x0000002b,0x000200f8,0x00000026,0x0004003d,0x00000006,
+ 0x00000028,0x0000000c,0x00050088,0x00000006,0x00000029,0x00000028,0x00000016,0x000200fe,
+ 0x00000029,0x000200f8,0x0000002b,0x0004003d,0x00000006,0x0000002c,0x0000000c,0x00050081,
+ 0x00000006,0x0000002d,0x0000002c,0x0000001f,0x00050088,0x00000006,0x0000002e,0x0000002d,
+ 0x0000001d,0x0007000c,0x00000006,0x00000030,0x00000001,0x0000001a,0x0000002e,0x0000002f,
+ 0x000200fe,0x00000030,0x000200f8,0x00000027,0x000100ff,0x00010038
};
// Generated from:
@@ -134,8 +199,8 @@ const uint32_t kImageCopy_frag_00000010[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform texture2D src;
-// layout(location = 0)out uvec4 dest;
+// layout(set = 0, binding = 0)uniform texture2DArray src;
+// layout(location = 0)out vec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -152,9 +217,38 @@ const uint32_t kImageCopy_frag_00000010[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -162,9 +256,19 @@ const uint32_t kImageCopy_frag_00000010[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
-// vec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
//
// if(params . premultiplyAlpha)
// {
@@ -175,7 +279,15 @@ const uint32_t kImageCopy_frag_00000010[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// uvec4 destValue = uvec4(srcValue);
+// vec4 destValue = vec4(srcValue);
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc
index cf39a044164..68d91a5a71a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc
@@ -1,136 +1,169 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000011[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009f,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000cc,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009d,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000ca,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002d,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000030,0x00637273,0x00050005,0x0000006b,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000085,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009d,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000030,0x00000022,
- 0x00000000,0x00040047,0x00000030,0x00000021,0x00000000,0x00040047,0x0000009d,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040020,0x0000002c,0x00000007,0x0000000b,0x00090019,
- 0x0000002e,0x0000000a,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,
- 0x00040020,0x0000002f,0x00000000,0x0000002e,0x0004003b,0x0000002f,0x00000030,0x00000000,
- 0x0004002b,0x00000006,0x00000032,0x00000000,0x0004002b,0x00000006,0x00000037,0x00000003,
- 0x00040020,0x00000038,0x00000009,0x00000006,0x00040017,0x0000003b,0x00000006,0x00000003,
- 0x0004002b,0x00000006,0x0000003f,0x00000002,0x0004002b,0x00000006,0x00000043,0x00000005,
- 0x0004002b,0x00000012,0x00000049,0x00000003,0x00040020,0x0000004a,0x00000007,0x0000000a,
- 0x00040017,0x0000004d,0x0000000a,0x00000003,0x0004002b,0x00000006,0x00000054,0x00000006,
- 0x0004002b,0x0000000a,0x0000005c,0x00000000,0x00040017,0x00000069,0x00000012,0x00000004,
- 0x00040020,0x0000006a,0x00000007,0x00000069,0x0004002b,0x00000006,0x0000006e,0x00000007,
- 0x00040017,0x00000074,0x00000012,0x00000002,0x0004002b,0x00000006,0x0000007a,0x00000008,
- 0x00040020,0x00000080,0x00000007,0x00000012,0x0004002b,0x00000006,0x00000086,0x00000009,
- 0x0004002b,0x00000012,0x00000094,0x00000002,0x00040020,0x0000009c,0x00000003,0x00000069,
- 0x0004003b,0x0000009c,0x0000009d,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
- 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002c,0x0000002d,0x00000007,0x0004003b,
- 0x0000006a,0x0000006b,0x00000007,0x0004003b,0x00000027,0x00000085,0x00000007,0x0004003d,
- 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
- 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
- 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
- 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
- 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
- 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
- 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
- 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
- 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
- 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
- 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002e,
- 0x00000031,0x00000030,0x00050041,0x00000017,0x00000033,0x00000015,0x00000032,0x0004003d,
- 0x00000007,0x00000034,0x00000033,0x0004003d,0x00000007,0x00000035,0x0000001b,0x00050080,
- 0x00000007,0x00000036,0x00000034,0x00000035,0x00050041,0x00000038,0x00000039,0x00000015,
- 0x00000037,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050051,0x00000006,0x0000003c,
- 0x00000036,0x00000000,0x00050051,0x00000006,0x0000003d,0x00000036,0x00000001,0x00060050,
- 0x0000003b,0x0000003e,0x0000003c,0x0000003d,0x0000003a,0x00050041,0x00000038,0x00000040,
- 0x00000015,0x0000003f,0x0004003d,0x00000006,0x00000041,0x00000040,0x0007005f,0x0000000b,
- 0x00000042,0x00000031,0x0000003e,0x00000002,0x00000041,0x0003003e,0x0000002d,0x00000042,
- 0x00050041,0x0000001e,0x00000044,0x00000015,0x00000043,0x0004003d,0x00000012,0x00000045,
- 0x00000044,0x000500ab,0x00000021,0x00000046,0x00000045,0x00000022,0x000300f7,0x00000048,
- 0x00000000,0x000400fa,0x00000046,0x00000047,0x00000053,0x000200f8,0x00000047,0x00050041,
- 0x0000004a,0x0000004b,0x0000002d,0x00000049,0x0004003d,0x0000000a,0x0000004c,0x0000004b,
- 0x0004003d,0x0000000b,0x0000004e,0x0000002d,0x0008004f,0x0000004d,0x0000004f,0x0000004e,
- 0x0000004e,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000004d,0x00000050,0x0000004f,
- 0x0000004c,0x0004003d,0x0000000b,0x00000051,0x0000002d,0x0009004f,0x0000000b,0x00000052,
- 0x00000051,0x00000050,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002d,
- 0x00000052,0x000200f9,0x00000048,0x000200f8,0x00000053,0x00050041,0x0000001e,0x00000055,
- 0x00000015,0x00000054,0x0004003d,0x00000012,0x00000056,0x00000055,0x000500ab,0x00000021,
- 0x00000057,0x00000056,0x00000022,0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,
- 0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,0x0000004a,0x0000005a,0x0000002d,
- 0x00000049,0x0004003d,0x0000000a,0x0000005b,0x0000005a,0x000500ba,0x00000021,0x0000005d,
- 0x0000005b,0x0000005c,0x000200f9,0x00000059,0x000200f8,0x00000059,0x000700f5,0x00000021,
- 0x0000005e,0x00000057,0x00000053,0x0000005d,0x00000058,0x000300f7,0x00000060,0x00000000,
- 0x000400fa,0x0000005e,0x0000005f,0x00000060,0x000200f8,0x0000005f,0x00050041,0x0000004a,
- 0x00000061,0x0000002d,0x00000049,0x0004003d,0x0000000a,0x00000062,0x00000061,0x0004003d,
- 0x0000000b,0x00000063,0x0000002d,0x0008004f,0x0000004d,0x00000064,0x00000063,0x00000063,
- 0x00000000,0x00000001,0x00000002,0x00060050,0x0000004d,0x00000065,0x00000062,0x00000062,
- 0x00000062,0x00050088,0x0000004d,0x00000066,0x00000064,0x00000065,0x0004003d,0x0000000b,
- 0x00000067,0x0000002d,0x0009004f,0x0000000b,0x00000068,0x00000067,0x00000066,0x00000004,
- 0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002d,0x00000068,0x000200f9,0x00000060,
- 0x000200f8,0x00000060,0x000200f9,0x00000048,0x000200f8,0x00000048,0x0004003d,0x0000000b,
- 0x0000006c,0x0000002d,0x0004006d,0x00000069,0x0000006d,0x0000006c,0x0003003e,0x0000006b,
- 0x0000006d,0x00050041,0x0000001e,0x0000006f,0x00000015,0x0000006e,0x0004003d,0x00000012,
- 0x00000070,0x0000006f,0x000500ab,0x00000021,0x00000071,0x00000070,0x00000022,0x000300f7,
- 0x00000073,0x00000000,0x000400fa,0x00000071,0x00000072,0x00000079,0x000200f8,0x00000072,
- 0x0004003d,0x00000069,0x00000075,0x0000006b,0x0007004f,0x00000074,0x00000076,0x00000075,
- 0x00000075,0x00000000,0x00000003,0x0004003d,0x00000069,0x00000077,0x0000006b,0x0009004f,
- 0x00000069,0x00000078,0x00000077,0x00000076,0x00000004,0x00000005,0x00000002,0x00000003,
- 0x0003003e,0x0000006b,0x00000078,0x000200f9,0x00000073,0x000200f8,0x00000079,0x00050041,
- 0x0000001e,0x0000007b,0x00000015,0x0000007a,0x0004003d,0x00000012,0x0000007c,0x0000007b,
- 0x000500ab,0x00000021,0x0000007d,0x0000007c,0x00000022,0x000300f7,0x0000007f,0x00000000,
- 0x000400fa,0x0000007d,0x0000007e,0x00000084,0x000200f8,0x0000007e,0x00050041,0x00000080,
- 0x00000081,0x0000006b,0x00000049,0x0004003d,0x00000012,0x00000082,0x00000081,0x00050041,
- 0x00000080,0x00000083,0x0000006b,0x00000022,0x0003003e,0x00000083,0x00000082,0x000200f9,
- 0x0000007f,0x000200f8,0x00000084,0x00050041,0x00000038,0x00000087,0x00000015,0x00000086,
- 0x0004003d,0x00000006,0x00000088,0x00000087,0x0003003e,0x00000085,0x00000088,0x0004003d,
- 0x00000006,0x00000089,0x00000085,0x000500c7,0x00000006,0x0000008a,0x00000089,0x0000003f,
- 0x000500ab,0x00000021,0x0000008b,0x0000008a,0x00000032,0x000300f7,0x0000008d,0x00000000,
- 0x000400fa,0x0000008b,0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x00050041,0x00000080,
- 0x0000008e,0x0000006b,0x00000026,0x0003003e,0x0000008e,0x00000022,0x000200f9,0x0000008d,
- 0x000200f8,0x0000008d,0x0004003d,0x00000006,0x0000008f,0x00000085,0x000500c7,0x00000006,
- 0x00000090,0x0000008f,0x0000001d,0x000500ab,0x00000021,0x00000091,0x00000090,0x00000032,
- 0x000300f7,0x00000093,0x00000000,0x000400fa,0x00000091,0x00000092,0x00000093,0x000200f8,
- 0x00000092,0x00050041,0x00000080,0x00000095,0x0000006b,0x00000094,0x0003003e,0x00000095,
- 0x00000022,0x000200f9,0x00000093,0x000200f8,0x00000093,0x0004003d,0x00000006,0x00000096,
- 0x00000085,0x000500c7,0x00000006,0x00000097,0x00000096,0x0000007a,0x000500ab,0x00000021,
- 0x00000098,0x00000097,0x00000032,0x000300f7,0x0000009a,0x00000000,0x000400fa,0x00000098,
- 0x00000099,0x0000009a,0x000200f8,0x00000099,0x00050041,0x00000080,0x0000009b,0x0000006b,
- 0x00000049,0x0003003e,0x0000009b,0x00000026,0x000200f9,0x0000009a,0x000200f8,0x0000009a,
- 0x000200f9,0x0000007f,0x000200f8,0x0000007f,0x000200f9,0x00000073,0x000200f8,0x00000073,
- 0x0004003d,0x00000069,0x0000009e,0x0000006b,0x0003003e,0x0000009d,0x0000009e,0x000100fd,
- 0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000045,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000048,0x00637273,0x00040005,0x00000061,0x61726170,0x0000006d,0x00040005,
+ 0x00000066,0x61726170,0x0000006d,0x00040005,0x0000006b,0x61726170,0x0000006d,0x00050005,
+ 0x0000009b,0x74736564,0x756c6156,0x00000065,0x00070005,0x000000b3,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000ca,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x000000ca,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3b4d2e1c,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3ed55555,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x3d6147ae,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040020,0x00000044,
+ 0x00000007,0x00000024,0x00090019,0x00000046,0x00000006,0x00000001,0x00000000,0x00000001,
+ 0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,0x0004003b,
+ 0x00000047,0x00000048,0x00000000,0x0004002b,0x00000020,0x0000004a,0x00000000,0x0004002b,
+ 0x00000020,0x0000004f,0x00000003,0x00040020,0x00000050,0x00000009,0x00000020,0x00040017,
+ 0x00000053,0x00000020,0x00000003,0x0004002b,0x00000020,0x00000057,0x00000002,0x0004002b,
+ 0x00000020,0x0000005b,0x00000009,0x0004002b,0x0000002b,0x0000006c,0x00000002,0x0004002b,
+ 0x00000020,0x00000071,0x00000005,0x0004002b,0x0000002b,0x00000077,0x00000003,0x00040017,
+ 0x0000007a,0x00000006,0x00000003,0x0004002b,0x00000020,0x00000081,0x00000006,0x0004002b,
+ 0x00000006,0x00000089,0x00000000,0x0004002b,0x00000006,0x00000096,0x437f0000,0x00040017,
+ 0x00000099,0x00000020,0x00000004,0x00040020,0x0000009a,0x00000007,0x00000099,0x0004002b,
+ 0x00000020,0x0000009e,0x00000007,0x0004002b,0x00000020,0x000000a9,0x00000008,0x0004002b,
+ 0x00000020,0x000000b4,0x0000000b,0x00040020,0x000000c9,0x00000003,0x00000099,0x0004003b,
+ 0x000000c9,0x000000ca,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000044,0x00000045,0x00000007,0x0004003b,0x00000007,
+ 0x00000061,0x00000007,0x0004003b,0x00000007,0x00000066,0x00000007,0x0004003b,0x00000007,
+ 0x0000006b,0x00000007,0x0004003b,0x0000009a,0x0000009b,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b3,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000046,0x00000049,0x00000048,0x00050041,0x00000030,0x0000004b,
+ 0x0000002e,0x0000004a,0x0004003d,0x00000021,0x0000004c,0x0000004b,0x0004003d,0x00000021,
+ 0x0000004d,0x00000034,0x00050080,0x00000021,0x0000004e,0x0000004c,0x0000004d,0x00050041,
+ 0x00000050,0x00000051,0x0000002e,0x0000004f,0x0004003d,0x00000020,0x00000052,0x00000051,
+ 0x00050051,0x00000020,0x00000054,0x0000004e,0x00000000,0x00050051,0x00000020,0x00000055,
+ 0x0000004e,0x00000001,0x00060050,0x00000053,0x00000056,0x00000054,0x00000055,0x00000052,
+ 0x00050041,0x00000050,0x00000058,0x0000002e,0x00000057,0x0004003d,0x00000020,0x00000059,
+ 0x00000058,0x0007005f,0x00000024,0x0000005a,0x00000049,0x00000056,0x00000002,0x00000059,
+ 0x0003003e,0x00000045,0x0000005a,0x00050041,0x00000037,0x0000005c,0x0000002e,0x0000005b,
+ 0x0004003d,0x0000002b,0x0000005d,0x0000005c,0x000500ab,0x0000000e,0x0000005e,0x0000005d,
+ 0x0000003a,0x000300f7,0x00000060,0x00000000,0x000400fa,0x0000005e,0x0000005f,0x00000060,
+ 0x000200f8,0x0000005f,0x00050041,0x00000007,0x00000062,0x00000045,0x0000003a,0x0004003d,
+ 0x00000006,0x00000063,0x00000062,0x0003003e,0x00000061,0x00000063,0x00050039,0x00000006,
+ 0x00000064,0x0000000a,0x00000061,0x00050041,0x00000007,0x00000065,0x00000045,0x0000003a,
+ 0x0003003e,0x00000065,0x00000064,0x00050041,0x00000007,0x00000067,0x00000045,0x0000003e,
+ 0x0004003d,0x00000006,0x00000068,0x00000067,0x0003003e,0x00000066,0x00000068,0x00050039,
+ 0x00000006,0x00000069,0x0000000a,0x00000066,0x00050041,0x00000007,0x0000006a,0x00000045,
+ 0x0000003e,0x0003003e,0x0000006a,0x00000069,0x00050041,0x00000007,0x0000006d,0x00000045,
+ 0x0000006c,0x0004003d,0x00000006,0x0000006e,0x0000006d,0x0003003e,0x0000006b,0x0000006e,
+ 0x00050039,0x00000006,0x0000006f,0x0000000a,0x0000006b,0x00050041,0x00000007,0x00000070,
+ 0x00000045,0x0000006c,0x0003003e,0x00000070,0x0000006f,0x000200f9,0x00000060,0x000200f8,
+ 0x00000060,0x00050041,0x00000037,0x00000072,0x0000002e,0x00000071,0x0004003d,0x0000002b,
+ 0x00000073,0x00000072,0x000500ab,0x0000000e,0x00000074,0x00000073,0x0000003a,0x000300f7,
+ 0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000080,0x000200f8,0x00000075,
+ 0x00050041,0x00000007,0x00000078,0x00000045,0x00000077,0x0004003d,0x00000006,0x00000079,
+ 0x00000078,0x0004003d,0x00000024,0x0000007b,0x00000045,0x0008004f,0x0000007a,0x0000007c,
+ 0x0000007b,0x0000007b,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000007a,0x0000007d,
+ 0x0000007c,0x00000079,0x0004003d,0x00000024,0x0000007e,0x00000045,0x0009004f,0x00000024,
+ 0x0000007f,0x0000007e,0x0000007d,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000045,0x0000007f,0x000200f9,0x00000076,0x000200f8,0x00000080,0x00050041,0x00000037,
+ 0x00000082,0x0000002e,0x00000081,0x0004003d,0x0000002b,0x00000083,0x00000082,0x000500ab,
+ 0x0000000e,0x00000084,0x00000083,0x0000003a,0x000300f7,0x00000086,0x00000000,0x000400fa,
+ 0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000007,0x00000087,
+ 0x00000045,0x00000077,0x0004003d,0x00000006,0x00000088,0x00000087,0x000500ba,0x0000000e,
+ 0x0000008a,0x00000088,0x00000089,0x000200f9,0x00000086,0x000200f8,0x00000086,0x000700f5,
+ 0x0000000e,0x0000008b,0x00000084,0x00000080,0x0000008a,0x00000085,0x000300f7,0x0000008d,
+ 0x00000000,0x000400fa,0x0000008b,0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x00050041,
+ 0x00000007,0x0000008e,0x00000045,0x00000077,0x0004003d,0x00000006,0x0000008f,0x0000008e,
+ 0x0004003d,0x00000024,0x00000090,0x00000045,0x0008004f,0x0000007a,0x00000091,0x00000090,
+ 0x00000090,0x00000000,0x00000001,0x00000002,0x00060050,0x0000007a,0x00000092,0x0000008f,
+ 0x0000008f,0x0000008f,0x00050088,0x0000007a,0x00000093,0x00000091,0x00000092,0x0004003d,
+ 0x00000024,0x00000094,0x00000045,0x0009004f,0x00000024,0x00000095,0x00000094,0x00000093,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,0x00000095,0x000200f9,
+ 0x0000008d,0x000200f8,0x0000008d,0x000200f9,0x00000076,0x000200f8,0x00000076,0x0004003d,
+ 0x00000024,0x00000097,0x00000045,0x0005008e,0x00000024,0x00000098,0x00000097,0x00000096,
+ 0x0003003e,0x00000045,0x00000098,0x0004003d,0x00000024,0x0000009c,0x00000045,0x0004006e,
+ 0x00000099,0x0000009d,0x0000009c,0x0003003e,0x0000009b,0x0000009d,0x00050041,0x00000037,
+ 0x0000009f,0x0000002e,0x0000009e,0x0004003d,0x0000002b,0x000000a0,0x0000009f,0x000500ab,
+ 0x0000000e,0x000000a1,0x000000a0,0x0000003a,0x000300f7,0x000000a3,0x00000000,0x000400fa,
+ 0x000000a1,0x000000a2,0x000000a8,0x000200f8,0x000000a2,0x0004003d,0x00000099,0x000000a4,
+ 0x0000009b,0x0007004f,0x00000021,0x000000a5,0x000000a4,0x000000a4,0x00000000,0x00000003,
+ 0x0004003d,0x00000099,0x000000a6,0x0000009b,0x0009004f,0x00000099,0x000000a7,0x000000a6,
+ 0x000000a5,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000009b,0x000000a7,
+ 0x000200f9,0x000000a3,0x000200f8,0x000000a8,0x00050041,0x00000037,0x000000aa,0x0000002e,
+ 0x000000a9,0x0004003d,0x0000002b,0x000000ab,0x000000aa,0x000500ab,0x0000000e,0x000000ac,
+ 0x000000ab,0x0000003a,0x000300f7,0x000000ae,0x00000000,0x000400fa,0x000000ac,0x000000ad,
+ 0x000000b2,0x000200f8,0x000000ad,0x00050041,0x0000003f,0x000000af,0x0000009b,0x00000077,
+ 0x0004003d,0x00000020,0x000000b0,0x000000af,0x00050041,0x0000003f,0x000000b1,0x0000009b,
+ 0x0000003a,0x0003003e,0x000000b1,0x000000b0,0x000200f9,0x000000ae,0x000200f8,0x000000b2,
+ 0x00050041,0x00000050,0x000000b5,0x0000002e,0x000000b4,0x0004003d,0x00000020,0x000000b6,
+ 0x000000b5,0x0003003e,0x000000b3,0x000000b6,0x0004003d,0x00000020,0x000000b7,0x000000b3,
+ 0x000500c7,0x00000020,0x000000b8,0x000000b7,0x00000057,0x000500ab,0x0000000e,0x000000b9,
+ 0x000000b8,0x0000004a,0x000300f7,0x000000bb,0x00000000,0x000400fa,0x000000b9,0x000000ba,
+ 0x000000bb,0x000200f8,0x000000ba,0x00050041,0x0000003f,0x000000bc,0x0000009b,0x0000003e,
+ 0x0003003e,0x000000bc,0x0000004a,0x000200f9,0x000000bb,0x000200f8,0x000000bb,0x0004003d,
+ 0x00000020,0x000000bd,0x000000b3,0x000500c7,0x00000020,0x000000be,0x000000bd,0x00000036,
+ 0x000500ab,0x0000000e,0x000000bf,0x000000be,0x0000004a,0x000300f7,0x000000c1,0x00000000,
+ 0x000400fa,0x000000bf,0x000000c0,0x000000c1,0x000200f8,0x000000c0,0x00050041,0x0000003f,
+ 0x000000c2,0x0000009b,0x0000006c,0x0003003e,0x000000c2,0x0000004a,0x000200f9,0x000000c1,
+ 0x000200f8,0x000000c1,0x0004003d,0x00000020,0x000000c3,0x000000b3,0x000500c7,0x00000020,
+ 0x000000c4,0x000000c3,0x000000a9,0x000500ab,0x0000000e,0x000000c5,0x000000c4,0x0000004a,
+ 0x000300f7,0x000000c7,0x00000000,0x000400fa,0x000000c5,0x000000c6,0x000000c7,0x000200f8,
+ 0x000000c6,0x00050041,0x0000003f,0x000000c8,0x0000009b,0x00000077,0x0003003e,0x000000c8,
+ 0x0000002f,0x000200f9,0x000000c7,0x000200f8,0x000000c7,0x000200f9,0x000000ae,0x000200f8,
+ 0x000000ae,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x0004003d,0x00000099,0x000000cb,
+ 0x0000009b,0x0003003e,0x000000ca,0x000000cb,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
+ 0x0004003d,0x00000006,0x0000000c,0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,
+ 0x0000000d,0x000300f7,0x00000011,0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,
+ 0x000200f8,0x00000010,0x0004003d,0x00000006,0x00000012,0x00000009,0x00050085,0x00000006,
+ 0x00000014,0x00000012,0x00000013,0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,
+ 0x00000006,0x00000017,0x00000009,0x0007000c,0x00000006,0x00000019,0x00000001,0x0000001a,
+ 0x00000017,0x00000018,0x00050085,0x00000006,0x0000001b,0x00000019,0x0000001a,0x00050083,
+ 0x00000006,0x0000001d,0x0000001b,0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,
+ 0x000100ff,0x00010038
};
// Generated from:
@@ -140,7 +173,7 @@ const uint32_t kImageCopy_frag_00000011[] = {
// #extension GL_EXT_samplerless_texture_functions : require
//
// layout(set = 0, binding = 0)uniform texture2DArray src;
-// layout(location = 0)out uvec4 dest;
+// layout(location = 0)out ivec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -157,9 +190,25 @@ const uint32_t kImageCopy_frag_00000011[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -167,10 +216,20 @@ const uint32_t kImageCopy_frag_00000011[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
+//
// if(params . premultiplyAlpha)
// {
// srcValue . rgb *= srcValue . a;
@@ -180,7 +239,9 @@ const uint32_t kImageCopy_frag_00000011[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// uvec4 destValue = uvec4(srcValue);
+// srcValue *= 255.0;
+//
+// ivec4 destValue = ivec4(srcValue);
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc
index 8f3c048ae05..fa81b4d9b90 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc
@@ -1,132 +1,170 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000012[] = {
- 0x07230203,0x00010000,0x00080007,0x00000098,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000ce,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000096,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000cc,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000064,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x0000007e,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000096,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x00000096,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
- 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
- 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
- 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
- 0x00040017,0x00000046,0x00000006,0x00000003,0x0004002b,0x00000006,0x0000004e,0x00000006,
- 0x00040017,0x00000062,0x00000012,0x00000004,0x00040020,0x00000063,0x00000007,0x00000062,
- 0x0004002b,0x00000006,0x00000067,0x00000007,0x00040017,0x0000006d,0x00000012,0x00000002,
- 0x0004002b,0x00000006,0x00000073,0x00000008,0x00040020,0x00000079,0x00000007,0x00000012,
- 0x0004002b,0x00000006,0x0000007f,0x00000009,0x0004002b,0x00000012,0x0000008d,0x00000002,
- 0x00040020,0x00000095,0x00000003,0x00000062,0x0004003b,0x00000095,0x00000096,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
- 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x00000063,0x00000064,0x00000007,0x0004003b,
- 0x00000027,0x0000007e,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
- 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
- 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
- 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
- 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
- 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
- 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
- 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
- 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
- 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
- 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
- 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
- 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
- 0x0000003a,0x0007005f,0x0000002c,0x0000003c,0x00000032,0x00000037,0x00000002,0x0000003b,
- 0x0003003e,0x0000002e,0x0000003c,0x00050041,0x0000001e,0x0000003e,0x00000015,0x0000003d,
- 0x0004003d,0x00000012,0x0000003f,0x0000003e,0x000500ab,0x00000021,0x00000040,0x0000003f,
- 0x00000022,0x000300f7,0x00000042,0x00000000,0x000400fa,0x00000040,0x00000041,0x0000004d,
- 0x000200f8,0x00000041,0x00050041,0x00000027,0x00000044,0x0000002e,0x00000043,0x0004003d,
- 0x00000006,0x00000045,0x00000044,0x0004003d,0x0000002c,0x00000047,0x0000002e,0x0008004f,
- 0x00000046,0x00000048,0x00000047,0x00000047,0x00000000,0x00000001,0x00000002,0x00060050,
- 0x00000046,0x00000049,0x00000045,0x00000045,0x00000045,0x00050084,0x00000046,0x0000004a,
- 0x00000048,0x00000049,0x0004003d,0x0000002c,0x0000004b,0x0000002e,0x0009004f,0x0000002c,
- 0x0000004c,0x0000004b,0x0000004a,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
- 0x0000002e,0x0000004c,0x000200f9,0x00000042,0x000200f8,0x0000004d,0x00050041,0x0000001e,
- 0x0000004f,0x00000015,0x0000004e,0x0004003d,0x00000012,0x00000050,0x0000004f,0x000500ab,
- 0x00000021,0x00000051,0x00000050,0x00000022,0x000300f7,0x00000053,0x00000000,0x000400fa,
- 0x00000051,0x00000052,0x00000053,0x000200f8,0x00000052,0x00050041,0x00000027,0x00000054,
- 0x0000002e,0x00000043,0x0004003d,0x00000006,0x00000055,0x00000054,0x000500ad,0x00000021,
- 0x00000056,0x00000055,0x00000033,0x000200f9,0x00000053,0x000200f8,0x00000053,0x000700f5,
- 0x00000021,0x00000057,0x00000051,0x0000004d,0x00000056,0x00000052,0x000300f7,0x00000059,
- 0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x00050041,
- 0x00000027,0x0000005a,0x0000002e,0x00000043,0x0004003d,0x00000006,0x0000005b,0x0000005a,
- 0x0004003d,0x0000002c,0x0000005c,0x0000002e,0x0008004f,0x00000046,0x0000005d,0x0000005c,
- 0x0000005c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000046,0x0000005e,0x0000005b,
- 0x0000005b,0x0000005b,0x00050087,0x00000046,0x0000005f,0x0000005d,0x0000005e,0x0004003d,
- 0x0000002c,0x00000060,0x0000002e,0x0009004f,0x0000002c,0x00000061,0x00000060,0x0000005f,
- 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000061,0x000200f9,
- 0x00000059,0x000200f8,0x00000059,0x000200f9,0x00000042,0x000200f8,0x00000042,0x0004003d,
- 0x0000002c,0x00000065,0x0000002e,0x0004007c,0x00000062,0x00000066,0x00000065,0x0003003e,
- 0x00000064,0x00000066,0x00050041,0x0000001e,0x00000068,0x00000015,0x00000067,0x0004003d,
- 0x00000012,0x00000069,0x00000068,0x000500ab,0x00000021,0x0000006a,0x00000069,0x00000022,
- 0x000300f7,0x0000006c,0x00000000,0x000400fa,0x0000006a,0x0000006b,0x00000072,0x000200f8,
- 0x0000006b,0x0004003d,0x00000062,0x0000006e,0x00000064,0x0007004f,0x0000006d,0x0000006f,
- 0x0000006e,0x0000006e,0x00000000,0x00000003,0x0004003d,0x00000062,0x00000070,0x00000064,
- 0x0009004f,0x00000062,0x00000071,0x00000070,0x0000006f,0x00000004,0x00000005,0x00000002,
- 0x00000003,0x0003003e,0x00000064,0x00000071,0x000200f9,0x0000006c,0x000200f8,0x00000072,
- 0x00050041,0x0000001e,0x00000074,0x00000015,0x00000073,0x0004003d,0x00000012,0x00000075,
- 0x00000074,0x000500ab,0x00000021,0x00000076,0x00000075,0x00000022,0x000300f7,0x00000078,
- 0x00000000,0x000400fa,0x00000076,0x00000077,0x0000007d,0x000200f8,0x00000077,0x00050041,
- 0x00000079,0x0000007a,0x00000064,0x00000043,0x0004003d,0x00000012,0x0000007b,0x0000007a,
- 0x00050041,0x00000079,0x0000007c,0x00000064,0x00000022,0x0003003e,0x0000007c,0x0000007b,
- 0x000200f9,0x00000078,0x000200f8,0x0000007d,0x00050041,0x00000039,0x00000080,0x00000015,
- 0x0000007f,0x0004003d,0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,0x00000081,
- 0x0004003d,0x00000006,0x00000082,0x0000007e,0x000500c7,0x00000006,0x00000083,0x00000082,
- 0x00000038,0x000500ab,0x00000021,0x00000084,0x00000083,0x00000033,0x000300f7,0x00000086,
- 0x00000000,0x000400fa,0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,
- 0x00000079,0x00000087,0x00000064,0x00000026,0x0003003e,0x00000087,0x00000022,0x000200f9,
- 0x00000086,0x000200f8,0x00000086,0x0004003d,0x00000006,0x00000088,0x0000007e,0x000500c7,
- 0x00000006,0x00000089,0x00000088,0x0000001d,0x000500ab,0x00000021,0x0000008a,0x00000089,
- 0x00000033,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,0x0000008c,
- 0x000200f8,0x0000008b,0x00050041,0x00000079,0x0000008e,0x00000064,0x0000008d,0x0003003e,
- 0x0000008e,0x00000022,0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x0004003d,0x00000006,
- 0x0000008f,0x0000007e,0x000500c7,0x00000006,0x00000090,0x0000008f,0x00000073,0x000500ab,
- 0x00000021,0x00000091,0x00000090,0x00000033,0x000300f7,0x00000093,0x00000000,0x000400fa,
- 0x00000091,0x00000092,0x00000093,0x000200f8,0x00000092,0x00050041,0x00000079,0x00000094,
- 0x00000064,0x00000043,0x0003003e,0x00000094,0x00000026,0x000200f9,0x00000093,0x000200f8,
- 0x00000093,0x000200f9,0x00000078,0x000200f8,0x00000078,0x000200f9,0x0000006c,0x000200f8,
- 0x0000006c,0x0004003d,0x00000062,0x00000097,0x00000064,0x0003003e,0x00000096,0x00000097,
- 0x000100fd,0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000045,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000048,0x00637273,0x00040005,0x00000061,0x61726170,0x0000006d,0x00040005,
+ 0x00000066,0x61726170,0x0000006d,0x00040005,0x0000006b,0x61726170,0x0000006d,0x00050005,
+ 0x0000009b,0x74736564,0x756c6156,0x00000065,0x00070005,0x000000b5,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000cc,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x000000cc,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3b4d2e1c,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3ed55555,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x3d6147ae,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040020,0x00000044,
+ 0x00000007,0x00000024,0x00090019,0x00000046,0x00000006,0x00000001,0x00000000,0x00000001,
+ 0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,0x0004003b,
+ 0x00000047,0x00000048,0x00000000,0x0004002b,0x00000020,0x0000004a,0x00000000,0x0004002b,
+ 0x00000020,0x0000004f,0x00000003,0x00040020,0x00000050,0x00000009,0x00000020,0x00040017,
+ 0x00000053,0x00000020,0x00000003,0x0004002b,0x00000020,0x00000057,0x00000002,0x0004002b,
+ 0x00000020,0x0000005b,0x00000009,0x0004002b,0x0000002b,0x0000006c,0x00000002,0x0004002b,
+ 0x00000020,0x00000071,0x00000005,0x0004002b,0x0000002b,0x00000077,0x00000003,0x00040017,
+ 0x0000007a,0x00000006,0x00000003,0x0004002b,0x00000020,0x00000081,0x00000006,0x0004002b,
+ 0x00000006,0x00000089,0x00000000,0x0004002b,0x00000006,0x00000096,0x437f0000,0x00040017,
+ 0x00000099,0x0000002b,0x00000004,0x00040020,0x0000009a,0x00000007,0x00000099,0x0004002b,
+ 0x00000020,0x0000009e,0x00000007,0x00040017,0x000000a4,0x0000002b,0x00000002,0x0004002b,
+ 0x00000020,0x000000aa,0x00000008,0x00040020,0x000000b0,0x00000007,0x0000002b,0x0004002b,
+ 0x00000020,0x000000b6,0x0000000b,0x00040020,0x000000cb,0x00000003,0x00000099,0x0004003b,
+ 0x000000cb,0x000000cc,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000044,0x00000045,0x00000007,0x0004003b,0x00000007,
+ 0x00000061,0x00000007,0x0004003b,0x00000007,0x00000066,0x00000007,0x0004003b,0x00000007,
+ 0x0000006b,0x00000007,0x0004003b,0x0000009a,0x0000009b,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b5,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000046,0x00000049,0x00000048,0x00050041,0x00000030,0x0000004b,
+ 0x0000002e,0x0000004a,0x0004003d,0x00000021,0x0000004c,0x0000004b,0x0004003d,0x00000021,
+ 0x0000004d,0x00000034,0x00050080,0x00000021,0x0000004e,0x0000004c,0x0000004d,0x00050041,
+ 0x00000050,0x00000051,0x0000002e,0x0000004f,0x0004003d,0x00000020,0x00000052,0x00000051,
+ 0x00050051,0x00000020,0x00000054,0x0000004e,0x00000000,0x00050051,0x00000020,0x00000055,
+ 0x0000004e,0x00000001,0x00060050,0x00000053,0x00000056,0x00000054,0x00000055,0x00000052,
+ 0x00050041,0x00000050,0x00000058,0x0000002e,0x00000057,0x0004003d,0x00000020,0x00000059,
+ 0x00000058,0x0007005f,0x00000024,0x0000005a,0x00000049,0x00000056,0x00000002,0x00000059,
+ 0x0003003e,0x00000045,0x0000005a,0x00050041,0x00000037,0x0000005c,0x0000002e,0x0000005b,
+ 0x0004003d,0x0000002b,0x0000005d,0x0000005c,0x000500ab,0x0000000e,0x0000005e,0x0000005d,
+ 0x0000003a,0x000300f7,0x00000060,0x00000000,0x000400fa,0x0000005e,0x0000005f,0x00000060,
+ 0x000200f8,0x0000005f,0x00050041,0x00000007,0x00000062,0x00000045,0x0000003a,0x0004003d,
+ 0x00000006,0x00000063,0x00000062,0x0003003e,0x00000061,0x00000063,0x00050039,0x00000006,
+ 0x00000064,0x0000000a,0x00000061,0x00050041,0x00000007,0x00000065,0x00000045,0x0000003a,
+ 0x0003003e,0x00000065,0x00000064,0x00050041,0x00000007,0x00000067,0x00000045,0x0000003e,
+ 0x0004003d,0x00000006,0x00000068,0x00000067,0x0003003e,0x00000066,0x00000068,0x00050039,
+ 0x00000006,0x00000069,0x0000000a,0x00000066,0x00050041,0x00000007,0x0000006a,0x00000045,
+ 0x0000003e,0x0003003e,0x0000006a,0x00000069,0x00050041,0x00000007,0x0000006d,0x00000045,
+ 0x0000006c,0x0004003d,0x00000006,0x0000006e,0x0000006d,0x0003003e,0x0000006b,0x0000006e,
+ 0x00050039,0x00000006,0x0000006f,0x0000000a,0x0000006b,0x00050041,0x00000007,0x00000070,
+ 0x00000045,0x0000006c,0x0003003e,0x00000070,0x0000006f,0x000200f9,0x00000060,0x000200f8,
+ 0x00000060,0x00050041,0x00000037,0x00000072,0x0000002e,0x00000071,0x0004003d,0x0000002b,
+ 0x00000073,0x00000072,0x000500ab,0x0000000e,0x00000074,0x00000073,0x0000003a,0x000300f7,
+ 0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000080,0x000200f8,0x00000075,
+ 0x00050041,0x00000007,0x00000078,0x00000045,0x00000077,0x0004003d,0x00000006,0x00000079,
+ 0x00000078,0x0004003d,0x00000024,0x0000007b,0x00000045,0x0008004f,0x0000007a,0x0000007c,
+ 0x0000007b,0x0000007b,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000007a,0x0000007d,
+ 0x0000007c,0x00000079,0x0004003d,0x00000024,0x0000007e,0x00000045,0x0009004f,0x00000024,
+ 0x0000007f,0x0000007e,0x0000007d,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000045,0x0000007f,0x000200f9,0x00000076,0x000200f8,0x00000080,0x00050041,0x00000037,
+ 0x00000082,0x0000002e,0x00000081,0x0004003d,0x0000002b,0x00000083,0x00000082,0x000500ab,
+ 0x0000000e,0x00000084,0x00000083,0x0000003a,0x000300f7,0x00000086,0x00000000,0x000400fa,
+ 0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000007,0x00000087,
+ 0x00000045,0x00000077,0x0004003d,0x00000006,0x00000088,0x00000087,0x000500ba,0x0000000e,
+ 0x0000008a,0x00000088,0x00000089,0x000200f9,0x00000086,0x000200f8,0x00000086,0x000700f5,
+ 0x0000000e,0x0000008b,0x00000084,0x00000080,0x0000008a,0x00000085,0x000300f7,0x0000008d,
+ 0x00000000,0x000400fa,0x0000008b,0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x00050041,
+ 0x00000007,0x0000008e,0x00000045,0x00000077,0x0004003d,0x00000006,0x0000008f,0x0000008e,
+ 0x0004003d,0x00000024,0x00000090,0x00000045,0x0008004f,0x0000007a,0x00000091,0x00000090,
+ 0x00000090,0x00000000,0x00000001,0x00000002,0x00060050,0x0000007a,0x00000092,0x0000008f,
+ 0x0000008f,0x0000008f,0x00050088,0x0000007a,0x00000093,0x00000091,0x00000092,0x0004003d,
+ 0x00000024,0x00000094,0x00000045,0x0009004f,0x00000024,0x00000095,0x00000094,0x00000093,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,0x00000095,0x000200f9,
+ 0x0000008d,0x000200f8,0x0000008d,0x000200f9,0x00000076,0x000200f8,0x00000076,0x0004003d,
+ 0x00000024,0x00000097,0x00000045,0x0005008e,0x00000024,0x00000098,0x00000097,0x00000096,
+ 0x0003003e,0x00000045,0x00000098,0x0004003d,0x00000024,0x0000009c,0x00000045,0x0004006d,
+ 0x00000099,0x0000009d,0x0000009c,0x0003003e,0x0000009b,0x0000009d,0x00050041,0x00000037,
+ 0x0000009f,0x0000002e,0x0000009e,0x0004003d,0x0000002b,0x000000a0,0x0000009f,0x000500ab,
+ 0x0000000e,0x000000a1,0x000000a0,0x0000003a,0x000300f7,0x000000a3,0x00000000,0x000400fa,
+ 0x000000a1,0x000000a2,0x000000a9,0x000200f8,0x000000a2,0x0004003d,0x00000099,0x000000a5,
+ 0x0000009b,0x0007004f,0x000000a4,0x000000a6,0x000000a5,0x000000a5,0x00000000,0x00000003,
+ 0x0004003d,0x00000099,0x000000a7,0x0000009b,0x0009004f,0x00000099,0x000000a8,0x000000a7,
+ 0x000000a6,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000009b,0x000000a8,
+ 0x000200f9,0x000000a3,0x000200f8,0x000000a9,0x00050041,0x00000037,0x000000ab,0x0000002e,
+ 0x000000aa,0x0004003d,0x0000002b,0x000000ac,0x000000ab,0x000500ab,0x0000000e,0x000000ad,
+ 0x000000ac,0x0000003a,0x000300f7,0x000000af,0x00000000,0x000400fa,0x000000ad,0x000000ae,
+ 0x000000b4,0x000200f8,0x000000ae,0x00050041,0x000000b0,0x000000b1,0x0000009b,0x00000077,
+ 0x0004003d,0x0000002b,0x000000b2,0x000000b1,0x00050041,0x000000b0,0x000000b3,0x0000009b,
+ 0x0000003a,0x0003003e,0x000000b3,0x000000b2,0x000200f9,0x000000af,0x000200f8,0x000000b4,
+ 0x00050041,0x00000050,0x000000b7,0x0000002e,0x000000b6,0x0004003d,0x00000020,0x000000b8,
+ 0x000000b7,0x0003003e,0x000000b5,0x000000b8,0x0004003d,0x00000020,0x000000b9,0x000000b5,
+ 0x000500c7,0x00000020,0x000000ba,0x000000b9,0x00000057,0x000500ab,0x0000000e,0x000000bb,
+ 0x000000ba,0x0000004a,0x000300f7,0x000000bd,0x00000000,0x000400fa,0x000000bb,0x000000bc,
+ 0x000000bd,0x000200f8,0x000000bc,0x00050041,0x000000b0,0x000000be,0x0000009b,0x0000003e,
+ 0x0003003e,0x000000be,0x0000003a,0x000200f9,0x000000bd,0x000200f8,0x000000bd,0x0004003d,
+ 0x00000020,0x000000bf,0x000000b5,0x000500c7,0x00000020,0x000000c0,0x000000bf,0x00000036,
+ 0x000500ab,0x0000000e,0x000000c1,0x000000c0,0x0000004a,0x000300f7,0x000000c3,0x00000000,
+ 0x000400fa,0x000000c1,0x000000c2,0x000000c3,0x000200f8,0x000000c2,0x00050041,0x000000b0,
+ 0x000000c4,0x0000009b,0x0000006c,0x0003003e,0x000000c4,0x0000003a,0x000200f9,0x000000c3,
+ 0x000200f8,0x000000c3,0x0004003d,0x00000020,0x000000c5,0x000000b5,0x000500c7,0x00000020,
+ 0x000000c6,0x000000c5,0x000000aa,0x000500ab,0x0000000e,0x000000c7,0x000000c6,0x0000004a,
+ 0x000300f7,0x000000c9,0x00000000,0x000400fa,0x000000c7,0x000000c8,0x000000c9,0x000200f8,
+ 0x000000c8,0x00050041,0x000000b0,0x000000ca,0x0000009b,0x00000077,0x0003003e,0x000000ca,
+ 0x0000003e,0x000200f9,0x000000c9,0x000200f8,0x000000c9,0x000200f9,0x000000af,0x000200f8,
+ 0x000000af,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x0004003d,0x00000099,0x000000cd,
+ 0x0000009b,0x0003003e,0x000000cc,0x000000cd,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
+ 0x0004003d,0x00000006,0x0000000c,0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,
+ 0x0000000d,0x000300f7,0x00000011,0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,
+ 0x000200f8,0x00000010,0x0004003d,0x00000006,0x00000012,0x00000009,0x00050085,0x00000006,
+ 0x00000014,0x00000012,0x00000013,0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,
+ 0x00000006,0x00000017,0x00000009,0x0007000c,0x00000006,0x00000019,0x00000001,0x0000001a,
+ 0x00000017,0x00000018,0x00050085,0x00000006,0x0000001b,0x00000019,0x0000001a,0x00050083,
+ 0x00000006,0x0000001d,0x0000001b,0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,
+ 0x000100ff,0x00010038
};
// Generated from:
@@ -135,7 +173,7 @@ const uint32_t kImageCopy_frag_00000012[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform itexture2D src;
+// layout(set = 0, binding = 0)uniform texture2DArray src;
// layout(location = 0)out uvec4 dest;
//
// layout(push_constant)uniform PushConstants {
@@ -153,9 +191,25 @@ const uint32_t kImageCopy_frag_00000012[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -163,9 +217,19 @@ const uint32_t kImageCopy_frag_00000012[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
-// ivec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
//
// if(params . premultiplyAlpha)
// {
@@ -176,6 +240,8 @@ const uint32_t kImageCopy_frag_00000012[] = {
// srcValue . rgb /= srcValue . a;
// }
//
+// srcValue *= 255.0;
+//
// uvec4 destValue = uvec4(srcValue);
//
// if(params . destHasLuminance)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc
index f3b45e1880e..cd96236c3c4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc
@@ -1,134 +1,170 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000014[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009a,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000000ce,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000098,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000cc,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
- 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
- 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
- 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
- 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
- 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
- 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
- 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
- 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
- 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
- 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000063,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000080,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x00000098,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x00000098,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
- 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
- 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
- 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
- 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
- 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
- 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
- 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
- 0x0004002b,0x00000006,0x00000038,0x00000002,0x00040020,0x00000039,0x00000009,0x00000006,
- 0x0004002b,0x00000006,0x0000003d,0x00000005,0x0004002b,0x00000012,0x00000043,0x00000003,
- 0x00040020,0x00000044,0x00000007,0x00000012,0x00040017,0x00000047,0x00000012,0x00000003,
- 0x0004002b,0x00000006,0x0000004f,0x00000006,0x0004002b,0x00000006,0x0000006a,0x00000007,
- 0x00040017,0x00000070,0x00000012,0x00000002,0x0004002b,0x00000006,0x00000076,0x00000008,
- 0x0004002b,0x00000006,0x00000081,0x00000009,0x0004002b,0x00000012,0x0000008f,0x00000002,
- 0x00040020,0x00000097,0x00000003,0x0000002c,0x0004003b,0x00000097,0x00000098,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
- 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x0000002d,0x00000063,0x00000007,0x0004003b,
- 0x00000027,0x00000080,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
- 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
- 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
- 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
- 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
- 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
- 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
- 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
- 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
- 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
- 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
- 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
- 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
- 0x0000003a,0x0007005f,0x0000002c,0x0000003c,0x00000032,0x00000037,0x00000002,0x0000003b,
- 0x0003003e,0x0000002e,0x0000003c,0x00050041,0x0000001e,0x0000003e,0x00000015,0x0000003d,
- 0x0004003d,0x00000012,0x0000003f,0x0000003e,0x000500ab,0x00000021,0x00000040,0x0000003f,
- 0x00000022,0x000300f7,0x00000042,0x00000000,0x000400fa,0x00000040,0x00000041,0x0000004e,
- 0x000200f8,0x00000041,0x00050041,0x00000044,0x00000045,0x0000002e,0x00000043,0x0004003d,
- 0x00000012,0x00000046,0x00000045,0x0004003d,0x0000002c,0x00000048,0x0000002e,0x0008004f,
- 0x00000047,0x00000049,0x00000048,0x00000048,0x00000000,0x00000001,0x00000002,0x00060050,
- 0x00000047,0x0000004a,0x00000046,0x00000046,0x00000046,0x00050084,0x00000047,0x0000004b,
- 0x00000049,0x0000004a,0x0004003d,0x0000002c,0x0000004c,0x0000002e,0x0009004f,0x0000002c,
- 0x0000004d,0x0000004c,0x0000004b,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
- 0x0000002e,0x0000004d,0x000200f9,0x00000042,0x000200f8,0x0000004e,0x00050041,0x0000001e,
- 0x00000050,0x00000015,0x0000004f,0x0004003d,0x00000012,0x00000051,0x00000050,0x000500ab,
- 0x00000021,0x00000052,0x00000051,0x00000022,0x000300f7,0x00000054,0x00000000,0x000400fa,
- 0x00000052,0x00000053,0x00000054,0x000200f8,0x00000053,0x00050041,0x00000044,0x00000055,
- 0x0000002e,0x00000043,0x0004003d,0x00000012,0x00000056,0x00000055,0x000500ac,0x00000021,
- 0x00000057,0x00000056,0x00000022,0x000200f9,0x00000054,0x000200f8,0x00000054,0x000700f5,
- 0x00000021,0x00000058,0x00000052,0x0000004e,0x00000057,0x00000053,0x000300f7,0x0000005a,
- 0x00000000,0x000400fa,0x00000058,0x00000059,0x0000005a,0x000200f8,0x00000059,0x00050041,
- 0x00000044,0x0000005b,0x0000002e,0x00000043,0x0004003d,0x00000012,0x0000005c,0x0000005b,
- 0x0004003d,0x0000002c,0x0000005d,0x0000002e,0x0008004f,0x00000047,0x0000005e,0x0000005d,
- 0x0000005d,0x00000000,0x00000001,0x00000002,0x00060050,0x00000047,0x0000005f,0x0000005c,
- 0x0000005c,0x0000005c,0x00050086,0x00000047,0x00000060,0x0000005e,0x0000005f,0x0004003d,
- 0x0000002c,0x00000061,0x0000002e,0x0009004f,0x0000002c,0x00000062,0x00000061,0x00000060,
- 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000062,0x000200f9,
- 0x0000005a,0x000200f8,0x0000005a,0x000200f9,0x00000042,0x000200f8,0x00000042,0x0004003d,
- 0x0000002c,0x00000064,0x0000002e,0x00050051,0x00000012,0x00000065,0x00000064,0x00000000,
- 0x00050051,0x00000012,0x00000066,0x00000064,0x00000001,0x00050051,0x00000012,0x00000067,
- 0x00000064,0x00000002,0x00050051,0x00000012,0x00000068,0x00000064,0x00000003,0x00070050,
- 0x0000002c,0x00000069,0x00000065,0x00000066,0x00000067,0x00000068,0x0003003e,0x00000063,
- 0x00000069,0x00050041,0x0000001e,0x0000006b,0x00000015,0x0000006a,0x0004003d,0x00000012,
- 0x0000006c,0x0000006b,0x000500ab,0x00000021,0x0000006d,0x0000006c,0x00000022,0x000300f7,
- 0x0000006f,0x00000000,0x000400fa,0x0000006d,0x0000006e,0x00000075,0x000200f8,0x0000006e,
- 0x0004003d,0x0000002c,0x00000071,0x00000063,0x0007004f,0x00000070,0x00000072,0x00000071,
- 0x00000071,0x00000000,0x00000003,0x0004003d,0x0000002c,0x00000073,0x00000063,0x0009004f,
- 0x0000002c,0x00000074,0x00000073,0x00000072,0x00000004,0x00000005,0x00000002,0x00000003,
- 0x0003003e,0x00000063,0x00000074,0x000200f9,0x0000006f,0x000200f8,0x00000075,0x00050041,
- 0x0000001e,0x00000077,0x00000015,0x00000076,0x0004003d,0x00000012,0x00000078,0x00000077,
- 0x000500ab,0x00000021,0x00000079,0x00000078,0x00000022,0x000300f7,0x0000007b,0x00000000,
- 0x000400fa,0x00000079,0x0000007a,0x0000007f,0x000200f8,0x0000007a,0x00050041,0x00000044,
- 0x0000007c,0x00000063,0x00000043,0x0004003d,0x00000012,0x0000007d,0x0000007c,0x00050041,
- 0x00000044,0x0000007e,0x00000063,0x00000022,0x0003003e,0x0000007e,0x0000007d,0x000200f9,
- 0x0000007b,0x000200f8,0x0000007f,0x00050041,0x00000039,0x00000082,0x00000015,0x00000081,
- 0x0004003d,0x00000006,0x00000083,0x00000082,0x0003003e,0x00000080,0x00000083,0x0004003d,
- 0x00000006,0x00000084,0x00000080,0x000500c7,0x00000006,0x00000085,0x00000084,0x00000038,
- 0x000500ab,0x00000021,0x00000086,0x00000085,0x00000033,0x000300f7,0x00000088,0x00000000,
- 0x000400fa,0x00000086,0x00000087,0x00000088,0x000200f8,0x00000087,0x00050041,0x00000044,
- 0x00000089,0x00000063,0x00000026,0x0003003e,0x00000089,0x00000022,0x000200f9,0x00000088,
- 0x000200f8,0x00000088,0x0004003d,0x00000006,0x0000008a,0x00000080,0x000500c7,0x00000006,
- 0x0000008b,0x0000008a,0x0000001d,0x000500ab,0x00000021,0x0000008c,0x0000008b,0x00000033,
- 0x000300f7,0x0000008e,0x00000000,0x000400fa,0x0000008c,0x0000008d,0x0000008e,0x000200f8,
- 0x0000008d,0x00050041,0x00000044,0x00000090,0x00000063,0x0000008f,0x0003003e,0x00000090,
- 0x00000022,0x000200f9,0x0000008e,0x000200f8,0x0000008e,0x0004003d,0x00000006,0x00000091,
- 0x00000080,0x000500c7,0x00000006,0x00000092,0x00000091,0x00000076,0x000500ab,0x00000021,
- 0x00000093,0x00000092,0x00000033,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,
- 0x00000094,0x00000095,0x000200f8,0x00000094,0x00050041,0x00000044,0x00000096,0x00000063,
- 0x00000043,0x0003003e,0x00000096,0x00000026,0x000200f9,0x00000095,0x000200f8,0x00000095,
- 0x000200f9,0x0000007b,0x000200f8,0x0000007b,0x000200f9,0x0000006f,0x000200f8,0x0000006f,
- 0x0004003d,0x0000002c,0x00000099,0x00000063,0x0003003e,0x00000098,0x00000099,0x000100fd,
- 0x00010038
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x42475273,0x694c6f54,
+ 0x7261656e,0x3b316628,0x00000000,0x00040005,0x00000009,0x42475273,0x00000000,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000046,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000049,0x00637273,0x00050005,0x00000081,0x74736564,0x756c6156,0x00000065,
+ 0x00040005,0x0000008e,0x61726170,0x0000006d,0x00040005,0x00000093,0x61726170,0x0000006d,
+ 0x00040005,0x00000098,0x61726170,0x0000006d,0x00070005,0x000000b3,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000cc,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000049,0x00000022,0x00000000,0x00040047,0x00000049,
+ 0x00000021,0x00000000,0x00040047,0x000000cc,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3d25aee6,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3d6147ae,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x4019999a,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040017,0x00000044,
+ 0x00000020,0x00000004,0x00040020,0x00000045,0x00000007,0x00000044,0x00090019,0x00000047,
+ 0x00000020,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000048,0x00000000,0x00000047,0x0004003b,0x00000048,0x00000049,0x00000000,0x0004002b,
+ 0x00000020,0x0000004b,0x00000000,0x0004002b,0x00000020,0x00000050,0x00000003,0x00040020,
+ 0x00000051,0x00000009,0x00000020,0x00040017,0x00000054,0x00000020,0x00000003,0x0004002b,
+ 0x00000020,0x00000058,0x00000002,0x0004002b,0x00000020,0x0000005c,0x00000005,0x0004002b,
+ 0x0000002b,0x00000062,0x00000003,0x0004002b,0x00000020,0x0000006c,0x00000006,0x00040020,
+ 0x00000080,0x00000007,0x00000024,0x0004002b,0x00000006,0x00000084,0x437f0000,0x0004002b,
+ 0x00000020,0x00000088,0x0000000a,0x0004002b,0x0000002b,0x00000099,0x00000002,0x0004002b,
+ 0x00000020,0x0000009e,0x00000007,0x0004002b,0x00000020,0x000000a9,0x00000008,0x0004002b,
+ 0x00000020,0x000000b4,0x0000000b,0x0004002b,0x00000006,0x000000bc,0x00000000,0x0004002b,
+ 0x00000006,0x000000c9,0x3f800000,0x00040020,0x000000cb,0x00000003,0x00000024,0x0004003b,
+ 0x000000cb,0x000000cc,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000045,0x00000046,0x00000007,0x0004003b,0x00000080,
+ 0x00000081,0x00000007,0x0004003b,0x00000007,0x0000008e,0x00000007,0x0004003b,0x00000007,
+ 0x00000093,0x00000007,0x0004003b,0x00000007,0x00000098,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b3,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000047,0x0000004a,0x00000049,0x00050041,0x00000030,0x0000004c,
+ 0x0000002e,0x0000004b,0x0004003d,0x00000021,0x0000004d,0x0000004c,0x0004003d,0x00000021,
+ 0x0000004e,0x00000034,0x00050080,0x00000021,0x0000004f,0x0000004d,0x0000004e,0x00050041,
+ 0x00000051,0x00000052,0x0000002e,0x00000050,0x0004003d,0x00000020,0x00000053,0x00000052,
+ 0x00050051,0x00000020,0x00000055,0x0000004f,0x00000000,0x00050051,0x00000020,0x00000056,
+ 0x0000004f,0x00000001,0x00060050,0x00000054,0x00000057,0x00000055,0x00000056,0x00000053,
+ 0x00050041,0x00000051,0x00000059,0x0000002e,0x00000058,0x0004003d,0x00000020,0x0000005a,
+ 0x00000059,0x0007005f,0x00000044,0x0000005b,0x0000004a,0x00000057,0x00000002,0x0000005a,
+ 0x0003003e,0x00000046,0x0000005b,0x00050041,0x00000037,0x0000005d,0x0000002e,0x0000005c,
+ 0x0004003d,0x0000002b,0x0000005e,0x0000005d,0x000500ab,0x0000000e,0x0000005f,0x0000005e,
+ 0x0000003a,0x000300f7,0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x0000006b,
+ 0x000200f8,0x00000060,0x00050041,0x0000003f,0x00000063,0x00000046,0x00000062,0x0004003d,
+ 0x00000020,0x00000064,0x00000063,0x0004003d,0x00000044,0x00000065,0x00000046,0x0008004f,
+ 0x00000054,0x00000066,0x00000065,0x00000065,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x00000054,0x00000067,0x00000064,0x00000064,0x00000064,0x00050084,0x00000054,0x00000068,
+ 0x00000066,0x00000067,0x0004003d,0x00000044,0x00000069,0x00000046,0x0009004f,0x00000044,
+ 0x0000006a,0x00000069,0x00000068,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000046,0x0000006a,0x000200f9,0x00000061,0x000200f8,0x0000006b,0x00050041,0x00000037,
+ 0x0000006d,0x0000002e,0x0000006c,0x0004003d,0x0000002b,0x0000006e,0x0000006d,0x000500ab,
+ 0x0000000e,0x0000006f,0x0000006e,0x0000003a,0x000300f7,0x00000071,0x00000000,0x000400fa,
+ 0x0000006f,0x00000070,0x00000071,0x000200f8,0x00000070,0x00050041,0x0000003f,0x00000072,
+ 0x00000046,0x00000062,0x0004003d,0x00000020,0x00000073,0x00000072,0x000500ad,0x0000000e,
+ 0x00000074,0x00000073,0x0000004b,0x000200f9,0x00000071,0x000200f8,0x00000071,0x000700f5,
+ 0x0000000e,0x00000075,0x0000006f,0x0000006b,0x00000074,0x00000070,0x000300f7,0x00000077,
+ 0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,0x000200f8,0x00000076,0x00050041,
+ 0x0000003f,0x00000078,0x00000046,0x00000062,0x0004003d,0x00000020,0x00000079,0x00000078,
+ 0x0004003d,0x00000044,0x0000007a,0x00000046,0x0008004f,0x00000054,0x0000007b,0x0000007a,
+ 0x0000007a,0x00000000,0x00000001,0x00000002,0x00060050,0x00000054,0x0000007c,0x00000079,
+ 0x00000079,0x00000079,0x00050087,0x00000054,0x0000007d,0x0000007b,0x0000007c,0x0004003d,
+ 0x00000044,0x0000007e,0x00000046,0x0009004f,0x00000044,0x0000007f,0x0000007e,0x0000007d,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000046,0x0000007f,0x000200f9,
+ 0x00000077,0x000200f8,0x00000077,0x000200f9,0x00000061,0x000200f8,0x00000061,0x0004003d,
+ 0x00000044,0x00000082,0x00000046,0x0004006f,0x00000024,0x00000083,0x00000082,0x0003003e,
+ 0x00000081,0x00000083,0x0004003d,0x00000024,0x00000085,0x00000081,0x00070050,0x00000024,
+ 0x00000086,0x00000084,0x00000084,0x00000084,0x00000084,0x00050088,0x00000024,0x00000087,
+ 0x00000085,0x00000086,0x0003003e,0x00000081,0x00000087,0x00050041,0x00000037,0x00000089,
+ 0x0000002e,0x00000088,0x0004003d,0x0000002b,0x0000008a,0x00000089,0x000500ab,0x0000000e,
+ 0x0000008b,0x0000008a,0x0000003a,0x000300f7,0x0000008d,0x00000000,0x000400fa,0x0000008b,
+ 0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x00050041,0x00000007,0x0000008f,0x00000081,
+ 0x0000003a,0x0004003d,0x00000006,0x00000090,0x0000008f,0x0003003e,0x0000008e,0x00000090,
+ 0x00050039,0x00000006,0x00000091,0x0000000a,0x0000008e,0x00050041,0x00000007,0x00000092,
+ 0x00000081,0x0000003a,0x0003003e,0x00000092,0x00000091,0x00050041,0x00000007,0x00000094,
+ 0x00000081,0x0000003e,0x0004003d,0x00000006,0x00000095,0x00000094,0x0003003e,0x00000093,
+ 0x00000095,0x00050039,0x00000006,0x00000096,0x0000000a,0x00000093,0x00050041,0x00000007,
+ 0x00000097,0x00000081,0x0000003e,0x0003003e,0x00000097,0x00000096,0x00050041,0x00000007,
+ 0x0000009a,0x00000081,0x00000099,0x0004003d,0x00000006,0x0000009b,0x0000009a,0x0003003e,
+ 0x00000098,0x0000009b,0x00050039,0x00000006,0x0000009c,0x0000000a,0x00000098,0x00050041,
+ 0x00000007,0x0000009d,0x00000081,0x00000099,0x0003003e,0x0000009d,0x0000009c,0x000200f9,
+ 0x0000008d,0x000200f8,0x0000008d,0x00050041,0x00000037,0x0000009f,0x0000002e,0x0000009e,
+ 0x0004003d,0x0000002b,0x000000a0,0x0000009f,0x000500ab,0x0000000e,0x000000a1,0x000000a0,
+ 0x0000003a,0x000300f7,0x000000a3,0x00000000,0x000400fa,0x000000a1,0x000000a2,0x000000a8,
+ 0x000200f8,0x000000a2,0x0004003d,0x00000024,0x000000a4,0x00000081,0x0007004f,0x00000027,
+ 0x000000a5,0x000000a4,0x000000a4,0x00000000,0x00000003,0x0004003d,0x00000024,0x000000a6,
+ 0x00000081,0x0009004f,0x00000024,0x000000a7,0x000000a6,0x000000a5,0x00000004,0x00000005,
+ 0x00000002,0x00000003,0x0003003e,0x00000081,0x000000a7,0x000200f9,0x000000a3,0x000200f8,
+ 0x000000a8,0x00050041,0x00000037,0x000000aa,0x0000002e,0x000000a9,0x0004003d,0x0000002b,
+ 0x000000ab,0x000000aa,0x000500ab,0x0000000e,0x000000ac,0x000000ab,0x0000003a,0x000300f7,
+ 0x000000ae,0x00000000,0x000400fa,0x000000ac,0x000000ad,0x000000b2,0x000200f8,0x000000ad,
+ 0x00050041,0x00000007,0x000000af,0x00000081,0x00000062,0x0004003d,0x00000006,0x000000b0,
+ 0x000000af,0x00050041,0x00000007,0x000000b1,0x00000081,0x0000003a,0x0003003e,0x000000b1,
+ 0x000000b0,0x000200f9,0x000000ae,0x000200f8,0x000000b2,0x00050041,0x00000051,0x000000b5,
+ 0x0000002e,0x000000b4,0x0004003d,0x00000020,0x000000b6,0x000000b5,0x0003003e,0x000000b3,
+ 0x000000b6,0x0004003d,0x00000020,0x000000b7,0x000000b3,0x000500c7,0x00000020,0x000000b8,
+ 0x000000b7,0x00000058,0x000500ab,0x0000000e,0x000000b9,0x000000b8,0x0000004b,0x000300f7,
+ 0x000000bb,0x00000000,0x000400fa,0x000000b9,0x000000ba,0x000000bb,0x000200f8,0x000000ba,
+ 0x00050041,0x00000007,0x000000bd,0x00000081,0x0000003e,0x0003003e,0x000000bd,0x000000bc,
+ 0x000200f9,0x000000bb,0x000200f8,0x000000bb,0x0004003d,0x00000020,0x000000be,0x000000b3,
+ 0x000500c7,0x00000020,0x000000bf,0x000000be,0x00000036,0x000500ab,0x0000000e,0x000000c0,
+ 0x000000bf,0x0000004b,0x000300f7,0x000000c2,0x00000000,0x000400fa,0x000000c0,0x000000c1,
+ 0x000000c2,0x000200f8,0x000000c1,0x00050041,0x00000007,0x000000c3,0x00000081,0x00000099,
+ 0x0003003e,0x000000c3,0x000000bc,0x000200f9,0x000000c2,0x000200f8,0x000000c2,0x0004003d,
+ 0x00000020,0x000000c4,0x000000b3,0x000500c7,0x00000020,0x000000c5,0x000000c4,0x000000a9,
+ 0x000500ab,0x0000000e,0x000000c6,0x000000c5,0x0000004b,0x000300f7,0x000000c8,0x00000000,
+ 0x000400fa,0x000000c6,0x000000c7,0x000000c8,0x000200f8,0x000000c7,0x00050041,0x00000007,
+ 0x000000ca,0x00000081,0x00000062,0x0003003e,0x000000ca,0x000000c9,0x000200f9,0x000000c8,
+ 0x000200f8,0x000000c8,0x000200f9,0x000000ae,0x000200f8,0x000000ae,0x000200f9,0x000000a3,
+ 0x000200f8,0x000000a3,0x0004003d,0x00000024,0x000000cd,0x00000081,0x0003003e,0x000000cc,
+ 0x000000cd,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,
+ 0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,0x00000006,0x0000000c,
+ 0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x000300f7,0x00000011,
+ 0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,0x000200f8,0x00000010,0x0004003d,
+ 0x00000006,0x00000012,0x00000009,0x00050088,0x00000006,0x00000014,0x00000012,0x00000013,
+ 0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,0x00000006,0x00000017,0x00000009,
+ 0x00050081,0x00000006,0x00000019,0x00000017,0x00000018,0x00050088,0x00000006,0x0000001b,
+ 0x00000019,0x0000001a,0x0007000c,0x00000006,0x0000001d,0x00000001,0x0000001a,0x0000001b,
+ 0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,0x000100ff,0x00010038
};
// Generated from:
@@ -137,8 +173,8 @@ const uint32_t kImageCopy_frag_00000014[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform utexture2D src;
-// layout(location = 0)out uvec4 dest;
+// layout(set = 0, binding = 0)uniform itexture2DArray src;
+// layout(location = 0)out vec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -155,9 +191,25 @@ const uint32_t kImageCopy_frag_00000014[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
// void main()
// {
// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
@@ -165,9 +217,11 @@ const uint32_t kImageCopy_frag_00000014[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
-// uvec4 srcValue = texelFetch(src, params . srcOffset + srcSubImageCoords, params . srcMip);
+// ivec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
// if(params . premultiplyAlpha)
// {
@@ -178,7 +232,17 @@ const uint32_t kImageCopy_frag_00000014[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// uvec4 destValue = uvec4(srcValue);
+// vec4 destValue = vec4(srcValue);
+//
+// destValue /= 255.0;
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc
index 657a6adc9bc..cf089712d9e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc
@@ -1,9 +1,9 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kImageCopy_frag_00000015[] = {
- 0x07230203,0x00010000,0x00080007,0x000000a1,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
- 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009f,0x00030010,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009c,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
@@ -16,123 +16,124 @@ const uint32_t kImageCopy_frag_00000015[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x0000006a,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000087,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009f,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x0000009f,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x00000068,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000084,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009c,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
- 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
0x0004002b,0x00000006,0x00000038,0x00000003,0x00040020,0x00000039,0x00000009,0x00000006,
0x00040017,0x0000003c,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000040,0x00000002,
0x0004002b,0x00000006,0x00000044,0x00000005,0x0004002b,0x00000012,0x0000004a,0x00000003,
- 0x00040020,0x0000004b,0x00000007,0x00000012,0x00040017,0x0000004e,0x00000012,0x00000003,
- 0x0004002b,0x00000006,0x00000056,0x00000006,0x0004002b,0x00000006,0x00000071,0x00000007,
- 0x00040017,0x00000077,0x00000012,0x00000002,0x0004002b,0x00000006,0x0000007d,0x00000008,
- 0x0004002b,0x00000006,0x00000088,0x00000009,0x0004002b,0x00000012,0x00000096,0x00000002,
- 0x00040020,0x0000009e,0x00000003,0x0000002c,0x0004003b,0x0000009e,0x0000009f,0x00000003,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
- 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x0000002d,0x0000006a,0x00000007,0x0004003b,
- 0x00000027,0x00000087,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
- 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
- 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
- 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
- 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
- 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
- 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
- 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
- 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
- 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
- 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
- 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
- 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
- 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
- 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
- 0x0000003a,0x00050051,0x00000006,0x0000003d,0x00000037,0x00000000,0x00050051,0x00000006,
- 0x0000003e,0x00000037,0x00000001,0x00060050,0x0000003c,0x0000003f,0x0000003d,0x0000003e,
- 0x0000003b,0x00050041,0x00000039,0x00000041,0x00000015,0x00000040,0x0004003d,0x00000006,
- 0x00000042,0x00000041,0x0007005f,0x0000002c,0x00000043,0x00000032,0x0000003f,0x00000002,
- 0x00000042,0x0003003e,0x0000002e,0x00000043,0x00050041,0x0000001e,0x00000045,0x00000015,
- 0x00000044,0x0004003d,0x00000012,0x00000046,0x00000045,0x000500ab,0x00000021,0x00000047,
- 0x00000046,0x00000022,0x000300f7,0x00000049,0x00000000,0x000400fa,0x00000047,0x00000048,
- 0x00000055,0x000200f8,0x00000048,0x00050041,0x0000004b,0x0000004c,0x0000002e,0x0000004a,
- 0x0004003d,0x00000012,0x0000004d,0x0000004c,0x0004003d,0x0000002c,0x0000004f,0x0000002e,
- 0x0008004f,0x0000004e,0x00000050,0x0000004f,0x0000004f,0x00000000,0x00000001,0x00000002,
- 0x00060050,0x0000004e,0x00000051,0x0000004d,0x0000004d,0x0000004d,0x00050084,0x0000004e,
- 0x00000052,0x00000050,0x00000051,0x0004003d,0x0000002c,0x00000053,0x0000002e,0x0009004f,
- 0x0000002c,0x00000054,0x00000053,0x00000052,0x00000004,0x00000005,0x00000006,0x00000003,
- 0x0003003e,0x0000002e,0x00000054,0x000200f9,0x00000049,0x000200f8,0x00000055,0x00050041,
- 0x0000001e,0x00000057,0x00000015,0x00000056,0x0004003d,0x00000012,0x00000058,0x00000057,
- 0x000500ab,0x00000021,0x00000059,0x00000058,0x00000022,0x000300f7,0x0000005b,0x00000000,
- 0x000400fa,0x00000059,0x0000005a,0x0000005b,0x000200f8,0x0000005a,0x00050041,0x0000004b,
- 0x0000005c,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x0000005d,0x0000005c,0x000500ac,
- 0x00000021,0x0000005e,0x0000005d,0x00000022,0x000200f9,0x0000005b,0x000200f8,0x0000005b,
- 0x000700f5,0x00000021,0x0000005f,0x00000059,0x00000055,0x0000005e,0x0000005a,0x000300f7,
- 0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x00000061,0x000200f8,0x00000060,
- 0x00050041,0x0000004b,0x00000062,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x00000063,
- 0x00000062,0x0004003d,0x0000002c,0x00000064,0x0000002e,0x0008004f,0x0000004e,0x00000065,
- 0x00000064,0x00000064,0x00000000,0x00000001,0x00000002,0x00060050,0x0000004e,0x00000066,
- 0x00000063,0x00000063,0x00000063,0x00050086,0x0000004e,0x00000067,0x00000065,0x00000066,
- 0x0004003d,0x0000002c,0x00000068,0x0000002e,0x0009004f,0x0000002c,0x00000069,0x00000068,
- 0x00000067,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000069,
- 0x000200f9,0x00000061,0x000200f8,0x00000061,0x000200f9,0x00000049,0x000200f8,0x00000049,
- 0x0004003d,0x0000002c,0x0000006b,0x0000002e,0x00050051,0x00000012,0x0000006c,0x0000006b,
- 0x00000000,0x00050051,0x00000012,0x0000006d,0x0000006b,0x00000001,0x00050051,0x00000012,
- 0x0000006e,0x0000006b,0x00000002,0x00050051,0x00000012,0x0000006f,0x0000006b,0x00000003,
- 0x00070050,0x0000002c,0x00000070,0x0000006c,0x0000006d,0x0000006e,0x0000006f,0x0003003e,
- 0x0000006a,0x00000070,0x00050041,0x0000001e,0x00000072,0x00000015,0x00000071,0x0004003d,
- 0x00000012,0x00000073,0x00000072,0x000500ab,0x00000021,0x00000074,0x00000073,0x00000022,
- 0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x0000007c,0x000200f8,
- 0x00000075,0x0004003d,0x0000002c,0x00000078,0x0000006a,0x0007004f,0x00000077,0x00000079,
- 0x00000078,0x00000078,0x00000000,0x00000003,0x0004003d,0x0000002c,0x0000007a,0x0000006a,
- 0x0009004f,0x0000002c,0x0000007b,0x0000007a,0x00000079,0x00000004,0x00000005,0x00000002,
- 0x00000003,0x0003003e,0x0000006a,0x0000007b,0x000200f9,0x00000076,0x000200f8,0x0000007c,
- 0x00050041,0x0000001e,0x0000007e,0x00000015,0x0000007d,0x0004003d,0x00000012,0x0000007f,
- 0x0000007e,0x000500ab,0x00000021,0x00000080,0x0000007f,0x00000022,0x000300f7,0x00000082,
- 0x00000000,0x000400fa,0x00000080,0x00000081,0x00000086,0x000200f8,0x00000081,0x00050041,
- 0x0000004b,0x00000083,0x0000006a,0x0000004a,0x0004003d,0x00000012,0x00000084,0x00000083,
- 0x00050041,0x0000004b,0x00000085,0x0000006a,0x00000022,0x0003003e,0x00000085,0x00000084,
- 0x000200f9,0x00000082,0x000200f8,0x00000086,0x00050041,0x00000039,0x00000089,0x00000015,
- 0x00000088,0x0004003d,0x00000006,0x0000008a,0x00000089,0x0003003e,0x00000087,0x0000008a,
- 0x0004003d,0x00000006,0x0000008b,0x00000087,0x000500c7,0x00000006,0x0000008c,0x0000008b,
- 0x00000040,0x000500ab,0x00000021,0x0000008d,0x0000008c,0x00000033,0x000300f7,0x0000008f,
- 0x00000000,0x000400fa,0x0000008d,0x0000008e,0x0000008f,0x000200f8,0x0000008e,0x00050041,
- 0x0000004b,0x00000090,0x0000006a,0x00000026,0x0003003e,0x00000090,0x00000022,0x000200f9,
- 0x0000008f,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000091,0x00000087,0x000500c7,
- 0x00000006,0x00000092,0x00000091,0x0000001d,0x000500ab,0x00000021,0x00000093,0x00000092,
- 0x00000033,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,0x00000095,
- 0x000200f8,0x00000094,0x00050041,0x0000004b,0x00000097,0x0000006a,0x00000096,0x0003003e,
- 0x00000097,0x00000022,0x000200f9,0x00000095,0x000200f8,0x00000095,0x0004003d,0x00000006,
- 0x00000098,0x00000087,0x000500c7,0x00000006,0x00000099,0x00000098,0x0000007d,0x000500ab,
- 0x00000021,0x0000009a,0x00000099,0x00000033,0x000300f7,0x0000009c,0x00000000,0x000400fa,
- 0x0000009a,0x0000009b,0x0000009c,0x000200f8,0x0000009b,0x00050041,0x0000004b,0x0000009d,
- 0x0000006a,0x0000004a,0x0003003e,0x0000009d,0x00000026,0x000200f9,0x0000009c,0x000200f8,
- 0x0000009c,0x000200f9,0x00000082,0x000200f8,0x00000082,0x000200f9,0x00000076,0x000200f8,
- 0x00000076,0x0004003d,0x0000002c,0x000000a0,0x0000006a,0x0003003e,0x0000009f,0x000000a0,
- 0x000100fd,0x00010038
+ 0x0004002b,0x00000006,0x00000054,0x00000006,0x0004002b,0x00000006,0x0000006f,0x00000007,
+ 0x0004002b,0x00000006,0x0000007a,0x00000008,0x0004002b,0x00000006,0x00000085,0x0000000b,
+ 0x0004002b,0x00000012,0x00000093,0x00000002,0x00040020,0x0000009b,0x00000003,0x0000002c,
+ 0x0004003b,0x0000009b,0x0000009c,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
+ 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x0004003b,
+ 0x0000002d,0x00000068,0x00000007,0x0004003b,0x00000027,0x00000084,0x00000007,0x0004003d,
+ 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
+ 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
+ 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
+ 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
+ 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
+ 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
+ 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
+ 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
+ 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
+ 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
+ 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002f,
+ 0x00000032,0x00000031,0x00050041,0x00000017,0x00000034,0x00000015,0x00000033,0x0004003d,
+ 0x00000007,0x00000035,0x00000034,0x0004003d,0x00000007,0x00000036,0x0000001b,0x00050080,
+ 0x00000007,0x00000037,0x00000035,0x00000036,0x00050041,0x00000039,0x0000003a,0x00000015,
+ 0x00000038,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050051,0x00000006,0x0000003d,
+ 0x00000037,0x00000000,0x00050051,0x00000006,0x0000003e,0x00000037,0x00000001,0x00060050,
+ 0x0000003c,0x0000003f,0x0000003d,0x0000003e,0x0000003b,0x00050041,0x00000039,0x00000041,
+ 0x00000015,0x00000040,0x0004003d,0x00000006,0x00000042,0x00000041,0x0007005f,0x0000002c,
+ 0x00000043,0x00000032,0x0000003f,0x00000002,0x00000042,0x0003003e,0x0000002e,0x00000043,
+ 0x00050041,0x0000001e,0x00000045,0x00000015,0x00000044,0x0004003d,0x00000012,0x00000046,
+ 0x00000045,0x000500ab,0x00000021,0x00000047,0x00000046,0x00000022,0x000300f7,0x00000049,
+ 0x00000000,0x000400fa,0x00000047,0x00000048,0x00000053,0x000200f8,0x00000048,0x00050041,
+ 0x00000027,0x0000004b,0x0000002e,0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000004b,
+ 0x0004003d,0x0000002c,0x0000004d,0x0000002e,0x0008004f,0x0000003c,0x0000004e,0x0000004d,
+ 0x0000004d,0x00000000,0x00000001,0x00000002,0x00060050,0x0000003c,0x0000004f,0x0000004c,
+ 0x0000004c,0x0000004c,0x00050084,0x0000003c,0x00000050,0x0000004e,0x0000004f,0x0004003d,
+ 0x0000002c,0x00000051,0x0000002e,0x0009004f,0x0000002c,0x00000052,0x00000051,0x00000050,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000052,0x000200f9,
+ 0x00000049,0x000200f8,0x00000053,0x00050041,0x0000001e,0x00000055,0x00000015,0x00000054,
+ 0x0004003d,0x00000012,0x00000056,0x00000055,0x000500ab,0x00000021,0x00000057,0x00000056,
+ 0x00000022,0x000300f7,0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,
+ 0x000200f8,0x00000058,0x00050041,0x00000027,0x0000005a,0x0000002e,0x0000004a,0x0004003d,
+ 0x00000006,0x0000005b,0x0000005a,0x000500ad,0x00000021,0x0000005c,0x0000005b,0x00000033,
+ 0x000200f9,0x00000059,0x000200f8,0x00000059,0x000700f5,0x00000021,0x0000005d,0x00000057,
+ 0x00000053,0x0000005c,0x00000058,0x000300f7,0x0000005f,0x00000000,0x000400fa,0x0000005d,
+ 0x0000005e,0x0000005f,0x000200f8,0x0000005e,0x00050041,0x00000027,0x00000060,0x0000002e,
+ 0x0000004a,0x0004003d,0x00000006,0x00000061,0x00000060,0x0004003d,0x0000002c,0x00000062,
+ 0x0000002e,0x0008004f,0x0000003c,0x00000063,0x00000062,0x00000062,0x00000000,0x00000001,
+ 0x00000002,0x00060050,0x0000003c,0x00000064,0x00000061,0x00000061,0x00000061,0x00050087,
+ 0x0000003c,0x00000065,0x00000063,0x00000064,0x0004003d,0x0000002c,0x00000066,0x0000002e,
+ 0x0009004f,0x0000002c,0x00000067,0x00000066,0x00000065,0x00000004,0x00000005,0x00000006,
+ 0x00000003,0x0003003e,0x0000002e,0x00000067,0x000200f9,0x0000005f,0x000200f8,0x0000005f,
+ 0x000200f9,0x00000049,0x000200f8,0x00000049,0x0004003d,0x0000002c,0x00000069,0x0000002e,
+ 0x00050051,0x00000006,0x0000006a,0x00000069,0x00000000,0x00050051,0x00000006,0x0000006b,
+ 0x00000069,0x00000001,0x00050051,0x00000006,0x0000006c,0x00000069,0x00000002,0x00050051,
+ 0x00000006,0x0000006d,0x00000069,0x00000003,0x00070050,0x0000002c,0x0000006e,0x0000006a,
+ 0x0000006b,0x0000006c,0x0000006d,0x0003003e,0x00000068,0x0000006e,0x00050041,0x0000001e,
+ 0x00000070,0x00000015,0x0000006f,0x0004003d,0x00000012,0x00000071,0x00000070,0x000500ab,
+ 0x00000021,0x00000072,0x00000071,0x00000022,0x000300f7,0x00000074,0x00000000,0x000400fa,
+ 0x00000072,0x00000073,0x00000079,0x000200f8,0x00000073,0x0004003d,0x0000002c,0x00000075,
+ 0x00000068,0x0007004f,0x00000007,0x00000076,0x00000075,0x00000075,0x00000000,0x00000003,
+ 0x0004003d,0x0000002c,0x00000077,0x00000068,0x0009004f,0x0000002c,0x00000078,0x00000077,
+ 0x00000076,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x00000068,0x00000078,
+ 0x000200f9,0x00000074,0x000200f8,0x00000079,0x00050041,0x0000001e,0x0000007b,0x00000015,
+ 0x0000007a,0x0004003d,0x00000012,0x0000007c,0x0000007b,0x000500ab,0x00000021,0x0000007d,
+ 0x0000007c,0x00000022,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007d,0x0000007e,
+ 0x00000083,0x000200f8,0x0000007e,0x00050041,0x00000027,0x00000080,0x00000068,0x0000004a,
+ 0x0004003d,0x00000006,0x00000081,0x00000080,0x00050041,0x00000027,0x00000082,0x00000068,
+ 0x00000022,0x0003003e,0x00000082,0x00000081,0x000200f9,0x0000007f,0x000200f8,0x00000083,
+ 0x00050041,0x00000039,0x00000086,0x00000015,0x00000085,0x0004003d,0x00000006,0x00000087,
+ 0x00000086,0x0003003e,0x00000084,0x00000087,0x0004003d,0x00000006,0x00000088,0x00000084,
+ 0x000500c7,0x00000006,0x00000089,0x00000088,0x00000040,0x000500ab,0x00000021,0x0000008a,
+ 0x00000089,0x00000033,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,0x0000008b,
+ 0x0000008c,0x000200f8,0x0000008b,0x00050041,0x00000027,0x0000008d,0x00000068,0x00000026,
+ 0x0003003e,0x0000008d,0x00000033,0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x0004003d,
+ 0x00000006,0x0000008e,0x00000084,0x000500c7,0x00000006,0x0000008f,0x0000008e,0x0000001d,
+ 0x000500ab,0x00000021,0x00000090,0x0000008f,0x00000033,0x000300f7,0x00000092,0x00000000,
+ 0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x00050041,0x00000027,
+ 0x00000094,0x00000068,0x00000093,0x0003003e,0x00000094,0x00000033,0x000200f9,0x00000092,
+ 0x000200f8,0x00000092,0x0004003d,0x00000006,0x00000095,0x00000084,0x000500c7,0x00000006,
+ 0x00000096,0x00000095,0x0000007a,0x000500ab,0x00000021,0x00000097,0x00000096,0x00000033,
+ 0x000300f7,0x00000099,0x00000000,0x000400fa,0x00000097,0x00000098,0x00000099,0x000200f8,
+ 0x00000098,0x00050041,0x00000027,0x0000009a,0x00000068,0x0000004a,0x0003003e,0x0000009a,
+ 0x00000016,0x000200f9,0x00000099,0x000200f8,0x00000099,0x000200f9,0x0000007f,0x000200f8,
+ 0x0000007f,0x000200f9,0x00000074,0x000200f8,0x00000074,0x0004003d,0x0000002c,0x0000009d,
+ 0x00000068,0x0003003e,0x0000009c,0x0000009d,0x000100fd,0x00010038
};
// Generated from:
@@ -141,8 +142,8 @@ const uint32_t kImageCopy_frag_00000015[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform utexture2DArray src;
-// layout(location = 0)out uvec4 dest;
+// layout(set = 0, binding = 0)uniform itexture2DArray src;
+// layout(location = 0)out ivec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -159,6 +160,9 @@ const uint32_t kImageCopy_frag_00000015[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -169,9 +173,11 @@ const uint32_t kImageCopy_frag_00000015[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
-// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+// ivec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
// if(params . premultiplyAlpha)
// {
@@ -182,7 +188,7 @@ const uint32_t kImageCopy_frag_00000015[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// uvec4 destValue = uvec4(srcValue);
+// ivec4 destValue = ivec4(srcValue);
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000016.inc
index 77160dc30bf..b754101bb26 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000016.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
-const uint32_t kImageCopy_frag_00000013[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+const uint32_t kImageCopy_frag_00000016[] = {
+ 0x07230203,0x00010000,0x0008000a,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009c,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
@@ -16,26 +16,29 @@ const uint32_t kImageCopy_frag_00000013[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x0000006a,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000084,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009c,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x0000006a,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000084,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009c,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
@@ -51,7 +54,7 @@ const uint32_t kImageCopy_frag_00000013[] = {
0x0004002b,0x00000006,0x00000054,0x00000006,0x00040017,0x00000068,0x00000012,0x00000004,
0x00040020,0x00000069,0x00000007,0x00000068,0x0004002b,0x00000006,0x0000006d,0x00000007,
0x00040017,0x00000073,0x00000012,0x00000002,0x0004002b,0x00000006,0x00000079,0x00000008,
- 0x00040020,0x0000007f,0x00000007,0x00000012,0x0004002b,0x00000006,0x00000085,0x00000009,
+ 0x00040020,0x0000007f,0x00000007,0x00000012,0x0004002b,0x00000006,0x00000085,0x0000000b,
0x0004002b,0x00000012,0x00000093,0x00000002,0x00040020,0x0000009b,0x00000003,0x00000068,
0x0004003b,0x0000009b,0x0000009c,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
@@ -156,6 +159,9 @@ const uint32_t kImageCopy_frag_00000013[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -166,7 +172,9 @@ const uint32_t kImageCopy_frag_00000013[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
// ivec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc
new file mode 100644
index 00000000000..3b31460d7e9
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc
@@ -0,0 +1,274 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000018[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000d0,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000ce,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x42475273,0x694c6f54,
+ 0x7261656e,0x3b316628,0x00000000,0x00040005,0x00000009,0x42475273,0x00000000,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000046,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000049,0x00637273,0x00050005,0x00000083,0x74736564,0x756c6156,0x00000065,
+ 0x00040005,0x00000090,0x61726170,0x0000006d,0x00040005,0x00000095,0x61726170,0x0000006d,
+ 0x00040005,0x0000009a,0x61726170,0x0000006d,0x00070005,0x000000b5,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000ce,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000049,0x00000022,0x00000000,0x00040047,0x00000049,
+ 0x00000021,0x00000000,0x00040047,0x000000ce,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3d25aee6,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3d6147ae,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x4019999a,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040017,0x00000044,
+ 0x0000002b,0x00000004,0x00040020,0x00000045,0x00000007,0x00000044,0x00090019,0x00000047,
+ 0x0000002b,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000048,0x00000000,0x00000047,0x0004003b,0x00000048,0x00000049,0x00000000,0x0004002b,
+ 0x00000020,0x0000004b,0x00000000,0x0004002b,0x00000020,0x00000050,0x00000003,0x00040020,
+ 0x00000051,0x00000009,0x00000020,0x00040017,0x00000054,0x00000020,0x00000003,0x0004002b,
+ 0x00000020,0x00000058,0x00000002,0x0004002b,0x00000020,0x0000005c,0x00000005,0x0004002b,
+ 0x0000002b,0x00000062,0x00000003,0x00040020,0x00000063,0x00000007,0x0000002b,0x00040017,
+ 0x00000066,0x0000002b,0x00000003,0x0004002b,0x00000020,0x0000006e,0x00000006,0x00040020,
+ 0x00000082,0x00000007,0x00000024,0x0004002b,0x00000006,0x00000086,0x437f0000,0x0004002b,
+ 0x00000020,0x0000008a,0x0000000a,0x0004002b,0x0000002b,0x0000009b,0x00000002,0x0004002b,
+ 0x00000020,0x000000a0,0x00000007,0x0004002b,0x00000020,0x000000ab,0x00000008,0x0004002b,
+ 0x00000020,0x000000b6,0x0000000b,0x0004002b,0x00000006,0x000000be,0x00000000,0x0004002b,
+ 0x00000006,0x000000cb,0x3f800000,0x00040020,0x000000cd,0x00000003,0x00000024,0x0004003b,
+ 0x000000cd,0x000000ce,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000045,0x00000046,0x00000007,0x0004003b,0x00000082,
+ 0x00000083,0x00000007,0x0004003b,0x00000007,0x00000090,0x00000007,0x0004003b,0x00000007,
+ 0x00000095,0x00000007,0x0004003b,0x00000007,0x0000009a,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b5,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000047,0x0000004a,0x00000049,0x00050041,0x00000030,0x0000004c,
+ 0x0000002e,0x0000004b,0x0004003d,0x00000021,0x0000004d,0x0000004c,0x0004003d,0x00000021,
+ 0x0000004e,0x00000034,0x00050080,0x00000021,0x0000004f,0x0000004d,0x0000004e,0x00050041,
+ 0x00000051,0x00000052,0x0000002e,0x00000050,0x0004003d,0x00000020,0x00000053,0x00000052,
+ 0x00050051,0x00000020,0x00000055,0x0000004f,0x00000000,0x00050051,0x00000020,0x00000056,
+ 0x0000004f,0x00000001,0x00060050,0x00000054,0x00000057,0x00000055,0x00000056,0x00000053,
+ 0x00050041,0x00000051,0x00000059,0x0000002e,0x00000058,0x0004003d,0x00000020,0x0000005a,
+ 0x00000059,0x0007005f,0x00000044,0x0000005b,0x0000004a,0x00000057,0x00000002,0x0000005a,
+ 0x0003003e,0x00000046,0x0000005b,0x00050041,0x00000037,0x0000005d,0x0000002e,0x0000005c,
+ 0x0004003d,0x0000002b,0x0000005e,0x0000005d,0x000500ab,0x0000000e,0x0000005f,0x0000005e,
+ 0x0000003a,0x000300f7,0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x0000006d,
+ 0x000200f8,0x00000060,0x00050041,0x00000063,0x00000064,0x00000046,0x00000062,0x0004003d,
+ 0x0000002b,0x00000065,0x00000064,0x0004003d,0x00000044,0x00000067,0x00000046,0x0008004f,
+ 0x00000066,0x00000068,0x00000067,0x00000067,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x00000066,0x00000069,0x00000065,0x00000065,0x00000065,0x00050084,0x00000066,0x0000006a,
+ 0x00000068,0x00000069,0x0004003d,0x00000044,0x0000006b,0x00000046,0x0009004f,0x00000044,
+ 0x0000006c,0x0000006b,0x0000006a,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000046,0x0000006c,0x000200f9,0x00000061,0x000200f8,0x0000006d,0x00050041,0x00000037,
+ 0x0000006f,0x0000002e,0x0000006e,0x0004003d,0x0000002b,0x00000070,0x0000006f,0x000500ab,
+ 0x0000000e,0x00000071,0x00000070,0x0000003a,0x000300f7,0x00000073,0x00000000,0x000400fa,
+ 0x00000071,0x00000072,0x00000073,0x000200f8,0x00000072,0x00050041,0x00000063,0x00000074,
+ 0x00000046,0x00000062,0x0004003d,0x0000002b,0x00000075,0x00000074,0x000500ac,0x0000000e,
+ 0x00000076,0x00000075,0x0000003a,0x000200f9,0x00000073,0x000200f8,0x00000073,0x000700f5,
+ 0x0000000e,0x00000077,0x00000071,0x0000006d,0x00000076,0x00000072,0x000300f7,0x00000079,
+ 0x00000000,0x000400fa,0x00000077,0x00000078,0x00000079,0x000200f8,0x00000078,0x00050041,
+ 0x00000063,0x0000007a,0x00000046,0x00000062,0x0004003d,0x0000002b,0x0000007b,0x0000007a,
+ 0x0004003d,0x00000044,0x0000007c,0x00000046,0x0008004f,0x00000066,0x0000007d,0x0000007c,
+ 0x0000007c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000066,0x0000007e,0x0000007b,
+ 0x0000007b,0x0000007b,0x00050086,0x00000066,0x0000007f,0x0000007d,0x0000007e,0x0004003d,
+ 0x00000044,0x00000080,0x00000046,0x0009004f,0x00000044,0x00000081,0x00000080,0x0000007f,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000046,0x00000081,0x000200f9,
+ 0x00000079,0x000200f8,0x00000079,0x000200f9,0x00000061,0x000200f8,0x00000061,0x0004003d,
+ 0x00000044,0x00000084,0x00000046,0x00040070,0x00000024,0x00000085,0x00000084,0x0003003e,
+ 0x00000083,0x00000085,0x0004003d,0x00000024,0x00000087,0x00000083,0x00070050,0x00000024,
+ 0x00000088,0x00000086,0x00000086,0x00000086,0x00000086,0x00050088,0x00000024,0x00000089,
+ 0x00000087,0x00000088,0x0003003e,0x00000083,0x00000089,0x00050041,0x00000037,0x0000008b,
+ 0x0000002e,0x0000008a,0x0004003d,0x0000002b,0x0000008c,0x0000008b,0x000500ab,0x0000000e,
+ 0x0000008d,0x0000008c,0x0000003a,0x000300f7,0x0000008f,0x00000000,0x000400fa,0x0000008d,
+ 0x0000008e,0x0000008f,0x000200f8,0x0000008e,0x00050041,0x00000007,0x00000091,0x00000083,
+ 0x0000003a,0x0004003d,0x00000006,0x00000092,0x00000091,0x0003003e,0x00000090,0x00000092,
+ 0x00050039,0x00000006,0x00000093,0x0000000a,0x00000090,0x00050041,0x00000007,0x00000094,
+ 0x00000083,0x0000003a,0x0003003e,0x00000094,0x00000093,0x00050041,0x00000007,0x00000096,
+ 0x00000083,0x0000003e,0x0004003d,0x00000006,0x00000097,0x00000096,0x0003003e,0x00000095,
+ 0x00000097,0x00050039,0x00000006,0x00000098,0x0000000a,0x00000095,0x00050041,0x00000007,
+ 0x00000099,0x00000083,0x0000003e,0x0003003e,0x00000099,0x00000098,0x00050041,0x00000007,
+ 0x0000009c,0x00000083,0x0000009b,0x0004003d,0x00000006,0x0000009d,0x0000009c,0x0003003e,
+ 0x0000009a,0x0000009d,0x00050039,0x00000006,0x0000009e,0x0000000a,0x0000009a,0x00050041,
+ 0x00000007,0x0000009f,0x00000083,0x0000009b,0x0003003e,0x0000009f,0x0000009e,0x000200f9,
+ 0x0000008f,0x000200f8,0x0000008f,0x00050041,0x00000037,0x000000a1,0x0000002e,0x000000a0,
+ 0x0004003d,0x0000002b,0x000000a2,0x000000a1,0x000500ab,0x0000000e,0x000000a3,0x000000a2,
+ 0x0000003a,0x000300f7,0x000000a5,0x00000000,0x000400fa,0x000000a3,0x000000a4,0x000000aa,
+ 0x000200f8,0x000000a4,0x0004003d,0x00000024,0x000000a6,0x00000083,0x0007004f,0x00000027,
+ 0x000000a7,0x000000a6,0x000000a6,0x00000000,0x00000003,0x0004003d,0x00000024,0x000000a8,
+ 0x00000083,0x0009004f,0x00000024,0x000000a9,0x000000a8,0x000000a7,0x00000004,0x00000005,
+ 0x00000002,0x00000003,0x0003003e,0x00000083,0x000000a9,0x000200f9,0x000000a5,0x000200f8,
+ 0x000000aa,0x00050041,0x00000037,0x000000ac,0x0000002e,0x000000ab,0x0004003d,0x0000002b,
+ 0x000000ad,0x000000ac,0x000500ab,0x0000000e,0x000000ae,0x000000ad,0x0000003a,0x000300f7,
+ 0x000000b0,0x00000000,0x000400fa,0x000000ae,0x000000af,0x000000b4,0x000200f8,0x000000af,
+ 0x00050041,0x00000007,0x000000b1,0x00000083,0x00000062,0x0004003d,0x00000006,0x000000b2,
+ 0x000000b1,0x00050041,0x00000007,0x000000b3,0x00000083,0x0000003a,0x0003003e,0x000000b3,
+ 0x000000b2,0x000200f9,0x000000b0,0x000200f8,0x000000b4,0x00050041,0x00000051,0x000000b7,
+ 0x0000002e,0x000000b6,0x0004003d,0x00000020,0x000000b8,0x000000b7,0x0003003e,0x000000b5,
+ 0x000000b8,0x0004003d,0x00000020,0x000000b9,0x000000b5,0x000500c7,0x00000020,0x000000ba,
+ 0x000000b9,0x00000058,0x000500ab,0x0000000e,0x000000bb,0x000000ba,0x0000004b,0x000300f7,
+ 0x000000bd,0x00000000,0x000400fa,0x000000bb,0x000000bc,0x000000bd,0x000200f8,0x000000bc,
+ 0x00050041,0x00000007,0x000000bf,0x00000083,0x0000003e,0x0003003e,0x000000bf,0x000000be,
+ 0x000200f9,0x000000bd,0x000200f8,0x000000bd,0x0004003d,0x00000020,0x000000c0,0x000000b5,
+ 0x000500c7,0x00000020,0x000000c1,0x000000c0,0x00000036,0x000500ab,0x0000000e,0x000000c2,
+ 0x000000c1,0x0000004b,0x000300f7,0x000000c4,0x00000000,0x000400fa,0x000000c2,0x000000c3,
+ 0x000000c4,0x000200f8,0x000000c3,0x00050041,0x00000007,0x000000c5,0x00000083,0x0000009b,
+ 0x0003003e,0x000000c5,0x000000be,0x000200f9,0x000000c4,0x000200f8,0x000000c4,0x0004003d,
+ 0x00000020,0x000000c6,0x000000b5,0x000500c7,0x00000020,0x000000c7,0x000000c6,0x000000ab,
+ 0x000500ab,0x0000000e,0x000000c8,0x000000c7,0x0000004b,0x000300f7,0x000000ca,0x00000000,
+ 0x000400fa,0x000000c8,0x000000c9,0x000000ca,0x000200f8,0x000000c9,0x00050041,0x00000007,
+ 0x000000cc,0x00000083,0x00000062,0x0003003e,0x000000cc,0x000000cb,0x000200f9,0x000000ca,
+ 0x000200f8,0x000000ca,0x000200f9,0x000000b0,0x000200f8,0x000000b0,0x000200f9,0x000000a5,
+ 0x000200f8,0x000000a5,0x0004003d,0x00000024,0x000000cf,0x00000083,0x0003003e,0x000000ce,
+ 0x000000cf,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,
+ 0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,0x00000006,0x0000000c,
+ 0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x000300f7,0x00000011,
+ 0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,0x000200f8,0x00000010,0x0004003d,
+ 0x00000006,0x00000012,0x00000009,0x00050088,0x00000006,0x00000014,0x00000012,0x00000013,
+ 0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,0x00000006,0x00000017,0x00000009,
+ 0x00050081,0x00000006,0x00000019,0x00000017,0x00000018,0x00050088,0x00000006,0x0000001b,
+ 0x00000019,0x0000001a,0x0007000c,0x00000006,0x0000001d,0x00000001,0x0000001a,0x0000001b,
+ 0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,0x000100ff,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform utexture2DArray src;
+// layout(location = 0)out vec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// vec4 destValue = vec4(srcValue);
+//
+// destValue /= 255.0;
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000D.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000019.inc
index 23c407c527e..5b71a2b323d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000D.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000019.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
-const uint32_t kImageCopy_frag_0000000D[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+const uint32_t kImageCopy_frag_00000019[] = {
+ 0x07230203,0x00010000,0x0008000a,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009c,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
@@ -16,26 +16,29 @@ const uint32_t kImageCopy_frag_0000000D[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x0000006c,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000084,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009c,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x0000006c,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000084,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009c,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
@@ -51,7 +54,7 @@ const uint32_t kImageCopy_frag_0000000D[] = {
0x00040020,0x0000004b,0x00000007,0x00000012,0x00040017,0x0000004e,0x00000012,0x00000003,
0x0004002b,0x00000006,0x00000056,0x00000006,0x00040017,0x0000006a,0x00000006,0x00000004,
0x00040020,0x0000006b,0x00000007,0x0000006a,0x0004002b,0x00000006,0x0000006f,0x00000007,
- 0x0004002b,0x00000006,0x0000007a,0x00000008,0x0004002b,0x00000006,0x00000085,0x00000009,
+ 0x0004002b,0x00000006,0x0000007a,0x00000008,0x0004002b,0x00000006,0x00000085,0x0000000b,
0x0004002b,0x00000012,0x00000093,0x00000002,0x00040020,0x0000009b,0x00000003,0x0000006a,
0x0004003b,0x0000009b,0x0000009c,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
@@ -156,6 +159,9 @@ const uint32_t kImageCopy_frag_0000000D[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -166,7 +172,9 @@ const uint32_t kImageCopy_frag_0000000D[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc
new file mode 100644
index 00000000000..598e950e96a
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc
@@ -0,0 +1,221 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_0000001A[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000a1,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009f,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
+ 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
+ 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
+ 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
+ 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
+ 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
+ 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x0000006a,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000087,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009f,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009f,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
+ 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
+ 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
+ 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
+ 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000001,0x00000000,
+ 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
+ 0x0004002b,0x00000006,0x00000038,0x00000003,0x00040020,0x00000039,0x00000009,0x00000006,
+ 0x00040017,0x0000003c,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000040,0x00000002,
+ 0x0004002b,0x00000006,0x00000044,0x00000005,0x0004002b,0x00000012,0x0000004a,0x00000003,
+ 0x00040020,0x0000004b,0x00000007,0x00000012,0x00040017,0x0000004e,0x00000012,0x00000003,
+ 0x0004002b,0x00000006,0x00000056,0x00000006,0x0004002b,0x00000006,0x00000071,0x00000007,
+ 0x00040017,0x00000077,0x00000012,0x00000002,0x0004002b,0x00000006,0x0000007d,0x00000008,
+ 0x0004002b,0x00000006,0x00000088,0x0000000b,0x0004002b,0x00000012,0x00000096,0x00000002,
+ 0x00040020,0x0000009e,0x00000003,0x0000002c,0x0004003b,0x0000009e,0x0000009f,0x00000003,
+ 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
+ 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
+ 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x0000002d,0x0000006a,0x00000007,0x0004003b,
+ 0x00000027,0x00000087,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
+ 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
+ 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
+ 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
+ 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
+ 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
+ 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
+ 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
+ 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
+ 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
+ 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
+ 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
+ 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
+ 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
+ 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
+ 0x0000003a,0x00050051,0x00000006,0x0000003d,0x00000037,0x00000000,0x00050051,0x00000006,
+ 0x0000003e,0x00000037,0x00000001,0x00060050,0x0000003c,0x0000003f,0x0000003d,0x0000003e,
+ 0x0000003b,0x00050041,0x00000039,0x00000041,0x00000015,0x00000040,0x0004003d,0x00000006,
+ 0x00000042,0x00000041,0x0007005f,0x0000002c,0x00000043,0x00000032,0x0000003f,0x00000002,
+ 0x00000042,0x0003003e,0x0000002e,0x00000043,0x00050041,0x0000001e,0x00000045,0x00000015,
+ 0x00000044,0x0004003d,0x00000012,0x00000046,0x00000045,0x000500ab,0x00000021,0x00000047,
+ 0x00000046,0x00000022,0x000300f7,0x00000049,0x00000000,0x000400fa,0x00000047,0x00000048,
+ 0x00000055,0x000200f8,0x00000048,0x00050041,0x0000004b,0x0000004c,0x0000002e,0x0000004a,
+ 0x0004003d,0x00000012,0x0000004d,0x0000004c,0x0004003d,0x0000002c,0x0000004f,0x0000002e,
+ 0x0008004f,0x0000004e,0x00000050,0x0000004f,0x0000004f,0x00000000,0x00000001,0x00000002,
+ 0x00060050,0x0000004e,0x00000051,0x0000004d,0x0000004d,0x0000004d,0x00050084,0x0000004e,
+ 0x00000052,0x00000050,0x00000051,0x0004003d,0x0000002c,0x00000053,0x0000002e,0x0009004f,
+ 0x0000002c,0x00000054,0x00000053,0x00000052,0x00000004,0x00000005,0x00000006,0x00000003,
+ 0x0003003e,0x0000002e,0x00000054,0x000200f9,0x00000049,0x000200f8,0x00000055,0x00050041,
+ 0x0000001e,0x00000057,0x00000015,0x00000056,0x0004003d,0x00000012,0x00000058,0x00000057,
+ 0x000500ab,0x00000021,0x00000059,0x00000058,0x00000022,0x000300f7,0x0000005b,0x00000000,
+ 0x000400fa,0x00000059,0x0000005a,0x0000005b,0x000200f8,0x0000005a,0x00050041,0x0000004b,
+ 0x0000005c,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x0000005d,0x0000005c,0x000500ac,
+ 0x00000021,0x0000005e,0x0000005d,0x00000022,0x000200f9,0x0000005b,0x000200f8,0x0000005b,
+ 0x000700f5,0x00000021,0x0000005f,0x00000059,0x00000055,0x0000005e,0x0000005a,0x000300f7,
+ 0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x00000061,0x000200f8,0x00000060,
+ 0x00050041,0x0000004b,0x00000062,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x00000063,
+ 0x00000062,0x0004003d,0x0000002c,0x00000064,0x0000002e,0x0008004f,0x0000004e,0x00000065,
+ 0x00000064,0x00000064,0x00000000,0x00000001,0x00000002,0x00060050,0x0000004e,0x00000066,
+ 0x00000063,0x00000063,0x00000063,0x00050086,0x0000004e,0x00000067,0x00000065,0x00000066,
+ 0x0004003d,0x0000002c,0x00000068,0x0000002e,0x0009004f,0x0000002c,0x00000069,0x00000068,
+ 0x00000067,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000069,
+ 0x000200f9,0x00000061,0x000200f8,0x00000061,0x000200f9,0x00000049,0x000200f8,0x00000049,
+ 0x0004003d,0x0000002c,0x0000006b,0x0000002e,0x00050051,0x00000012,0x0000006c,0x0000006b,
+ 0x00000000,0x00050051,0x00000012,0x0000006d,0x0000006b,0x00000001,0x00050051,0x00000012,
+ 0x0000006e,0x0000006b,0x00000002,0x00050051,0x00000012,0x0000006f,0x0000006b,0x00000003,
+ 0x00070050,0x0000002c,0x00000070,0x0000006c,0x0000006d,0x0000006e,0x0000006f,0x0003003e,
+ 0x0000006a,0x00000070,0x00050041,0x0000001e,0x00000072,0x00000015,0x00000071,0x0004003d,
+ 0x00000012,0x00000073,0x00000072,0x000500ab,0x00000021,0x00000074,0x00000073,0x00000022,
+ 0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x0000007c,0x000200f8,
+ 0x00000075,0x0004003d,0x0000002c,0x00000078,0x0000006a,0x0007004f,0x00000077,0x00000079,
+ 0x00000078,0x00000078,0x00000000,0x00000003,0x0004003d,0x0000002c,0x0000007a,0x0000006a,
+ 0x0009004f,0x0000002c,0x0000007b,0x0000007a,0x00000079,0x00000004,0x00000005,0x00000002,
+ 0x00000003,0x0003003e,0x0000006a,0x0000007b,0x000200f9,0x00000076,0x000200f8,0x0000007c,
+ 0x00050041,0x0000001e,0x0000007e,0x00000015,0x0000007d,0x0004003d,0x00000012,0x0000007f,
+ 0x0000007e,0x000500ab,0x00000021,0x00000080,0x0000007f,0x00000022,0x000300f7,0x00000082,
+ 0x00000000,0x000400fa,0x00000080,0x00000081,0x00000086,0x000200f8,0x00000081,0x00050041,
+ 0x0000004b,0x00000083,0x0000006a,0x0000004a,0x0004003d,0x00000012,0x00000084,0x00000083,
+ 0x00050041,0x0000004b,0x00000085,0x0000006a,0x00000022,0x0003003e,0x00000085,0x00000084,
+ 0x000200f9,0x00000082,0x000200f8,0x00000086,0x00050041,0x00000039,0x00000089,0x00000015,
+ 0x00000088,0x0004003d,0x00000006,0x0000008a,0x00000089,0x0003003e,0x00000087,0x0000008a,
+ 0x0004003d,0x00000006,0x0000008b,0x00000087,0x000500c7,0x00000006,0x0000008c,0x0000008b,
+ 0x00000040,0x000500ab,0x00000021,0x0000008d,0x0000008c,0x00000033,0x000300f7,0x0000008f,
+ 0x00000000,0x000400fa,0x0000008d,0x0000008e,0x0000008f,0x000200f8,0x0000008e,0x00050041,
+ 0x0000004b,0x00000090,0x0000006a,0x00000026,0x0003003e,0x00000090,0x00000022,0x000200f9,
+ 0x0000008f,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000091,0x00000087,0x000500c7,
+ 0x00000006,0x00000092,0x00000091,0x0000001d,0x000500ab,0x00000021,0x00000093,0x00000092,
+ 0x00000033,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,0x00000095,
+ 0x000200f8,0x00000094,0x00050041,0x0000004b,0x00000097,0x0000006a,0x00000096,0x0003003e,
+ 0x00000097,0x00000022,0x000200f9,0x00000095,0x000200f8,0x00000095,0x0004003d,0x00000006,
+ 0x00000098,0x00000087,0x000500c7,0x00000006,0x00000099,0x00000098,0x0000007d,0x000500ab,
+ 0x00000021,0x0000009a,0x00000099,0x00000033,0x000300f7,0x0000009c,0x00000000,0x000400fa,
+ 0x0000009a,0x0000009b,0x0000009c,0x000200f8,0x0000009b,0x00050041,0x0000004b,0x0000009d,
+ 0x0000006a,0x0000004a,0x0003003e,0x0000009d,0x00000026,0x000200f9,0x0000009c,0x000200f8,
+ 0x0000009c,0x000200f9,0x00000082,0x000200f8,0x00000082,0x000200f9,0x00000076,0x000200f8,
+ 0x00000076,0x0004003d,0x0000002c,0x000000a0,0x0000006a,0x0003003e,0x0000009f,0x000000a0,
+ 0x000100fd,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform utexture2DArray src;
+// layout(location = 0)out uvec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// uvec4 destValue = uvec4(srcValue);
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc
new file mode 100644
index 00000000000..30bb8317100
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc
@@ -0,0 +1,318 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000020[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000f4,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000039,0x000000f2,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x0000000d,0x42475273,0x694c6f54,0x7261656e,0x3b316628,0x00000000,0x00040005,0x0000000c,
+ 0x42475273,0x00000000,0x00070005,0x00000036,0x74736564,0x49627553,0x6567616d,0x726f6f43,
+ 0x00007364,0x00060005,0x00000039,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,
+ 0x0000003f,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,0x0000003f,0x00000000,
+ 0x4f637273,0x65736666,0x00000074,0x00060006,0x0000003f,0x00000001,0x74736564,0x7366664f,
+ 0x00007465,0x00050006,0x0000003f,0x00000002,0x4d637273,0x00007069,0x00060006,0x0000003f,
+ 0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x0000003f,0x00000004,0x70696c66,
+ 0x00000059,0x00080006,0x0000003f,0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,
+ 0x00000000,0x00070006,0x0000003f,0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,
+ 0x00080006,0x0000003f,0x00000007,0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,
+ 0x00060006,0x0000003f,0x00000008,0x74736564,0x6c417349,0x00616870,0x00060006,0x0000003f,
+ 0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x0000003f,0x0000000a,0x74736564,
+ 0x52537349,0x00004247,0x00090006,0x0000003f,0x0000000b,0x74736564,0x61666544,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000041,0x61726170,0x0000736d,0x00070005,
+ 0x00000047,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000058,
+ 0x56637273,0x65756c61,0x00000000,0x00030005,0x0000005b,0x00637273,0x00040005,0x00000074,
+ 0x61726170,0x0000006d,0x00040005,0x00000079,0x61726170,0x0000006d,0x00040005,0x0000007e,
+ 0x61726170,0x0000006d,0x00050005,0x000000a9,0x74736564,0x756c6156,0x00000065,0x00040005,
+ 0x000000b6,0x61726170,0x0000006d,0x00040005,0x000000bb,0x61726170,0x0000006d,0x00040005,
+ 0x000000c0,0x61726170,0x0000006d,0x00070005,0x000000da,0x61666564,0x43746c75,0x6e6e6168,
+ 0x4d736c65,0x006b7361,0x00040005,0x000000f2,0x74736564,0x00000000,0x00040047,0x00000039,
+ 0x0000000b,0x0000000f,0x00050048,0x0000003f,0x00000000,0x00000023,0x00000000,0x00050048,
+ 0x0000003f,0x00000001,0x00000023,0x00000008,0x00050048,0x0000003f,0x00000002,0x00000023,
+ 0x00000010,0x00050048,0x0000003f,0x00000003,0x00000023,0x00000014,0x00050048,0x0000003f,
+ 0x00000004,0x00000023,0x00000018,0x00050048,0x0000003f,0x00000005,0x00000023,0x0000001c,
+ 0x00050048,0x0000003f,0x00000006,0x00000023,0x00000020,0x00050048,0x0000003f,0x00000007,
+ 0x00000023,0x00000024,0x00050048,0x0000003f,0x00000008,0x00000023,0x00000028,0x00050048,
+ 0x0000003f,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000003f,0x0000000a,0x00000023,
+ 0x00000030,0x00050048,0x0000003f,0x0000000b,0x00000023,0x00000034,0x00030047,0x0000003f,
+ 0x00000002,0x00040047,0x0000005b,0x00000022,0x00000000,0x00040047,0x0000005b,0x00000021,
+ 0x00000000,0x00040047,0x000000f2,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,0x00000007,
+ 0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,0x00000010,
+ 0x3b4d2e1c,0x00020014,0x00000011,0x0004002b,0x00000006,0x00000016,0x414eb852,0x0004002b,
+ 0x00000006,0x0000001b,0x3ed55555,0x0004002b,0x00000006,0x0000001d,0x3f870a3d,0x0004002b,
+ 0x00000006,0x0000001f,0x3d6147ae,0x0004002b,0x00000006,0x00000024,0x3d25aee6,0x0004002b,
+ 0x00000006,0x0000002f,0x4019999a,0x00040015,0x00000033,0x00000020,0x00000001,0x00040017,
+ 0x00000034,0x00000033,0x00000002,0x00040020,0x00000035,0x00000007,0x00000034,0x00040017,
+ 0x00000037,0x00000006,0x00000004,0x00040020,0x00000038,0x00000001,0x00000037,0x0004003b,
+ 0x00000038,0x00000039,0x00000001,0x00040017,0x0000003a,0x00000006,0x00000002,0x00040015,
+ 0x0000003e,0x00000020,0x00000000,0x000e001e,0x0000003f,0x00000034,0x00000034,0x00000033,
+ 0x00000033,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,0x0000003e,
+ 0x00000033,0x00040020,0x00000040,0x00000009,0x0000003f,0x0004003b,0x00000040,0x00000041,
+ 0x00000009,0x0004002b,0x00000033,0x00000042,0x00000001,0x00040020,0x00000043,0x00000009,
+ 0x00000034,0x0004002b,0x00000033,0x00000049,0x00000004,0x00040020,0x0000004a,0x00000009,
+ 0x0000003e,0x0004002b,0x0000003e,0x0000004d,0x00000000,0x0004002b,0x0000003e,0x00000051,
+ 0x00000001,0x00040020,0x00000052,0x00000007,0x00000033,0x00040020,0x00000057,0x00000007,
+ 0x00000037,0x00090019,0x00000059,0x00000006,0x00000002,0x00000000,0x00000000,0x00000000,
+ 0x00000001,0x00000000,0x00040020,0x0000005a,0x00000000,0x00000059,0x0004003b,0x0000005a,
+ 0x0000005b,0x00000000,0x0004002b,0x00000033,0x0000005d,0x00000000,0x0004002b,0x00000033,
+ 0x00000062,0x00000003,0x00040020,0x00000063,0x00000009,0x00000033,0x00040017,0x00000066,
+ 0x00000033,0x00000003,0x0004002b,0x00000033,0x0000006a,0x00000002,0x0004002b,0x00000033,
+ 0x0000006e,0x00000009,0x0004002b,0x0000003e,0x0000007f,0x00000002,0x0004002b,0x00000033,
+ 0x00000084,0x00000005,0x0004002b,0x0000003e,0x0000008a,0x00000003,0x00040017,0x0000008d,
+ 0x00000006,0x00000003,0x0004002b,0x00000033,0x00000094,0x00000006,0x0004002b,0x00000006,
+ 0x0000009c,0x00000000,0x0004002b,0x00000033,0x000000b0,0x0000000a,0x0004002b,0x00000033,
+ 0x000000c5,0x00000007,0x0004002b,0x00000033,0x000000d0,0x00000008,0x0004002b,0x00000033,
+ 0x000000db,0x0000000b,0x0004002b,0x00000006,0x000000ef,0x3f800000,0x00040020,0x000000f1,
+ 0x00000003,0x00000037,0x0004003b,0x000000f1,0x000000f2,0x00000003,0x00050036,0x00000002,
+ 0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000035,0x00000036,
+ 0x00000007,0x0004003b,0x00000035,0x00000047,0x00000007,0x0004003b,0x00000057,0x00000058,
+ 0x00000007,0x0004003b,0x00000007,0x00000074,0x00000007,0x0004003b,0x00000007,0x00000079,
+ 0x00000007,0x0004003b,0x00000007,0x0000007e,0x00000007,0x0004003b,0x00000057,0x000000a9,
+ 0x00000007,0x0004003b,0x00000007,0x000000b6,0x00000007,0x0004003b,0x00000007,0x000000bb,
+ 0x00000007,0x0004003b,0x00000007,0x000000c0,0x00000007,0x0004003b,0x00000052,0x000000da,
+ 0x00000007,0x0004003d,0x00000037,0x0000003b,0x00000039,0x0007004f,0x0000003a,0x0000003c,
+ 0x0000003b,0x0000003b,0x00000000,0x00000001,0x0004006e,0x00000034,0x0000003d,0x0000003c,
+ 0x00050041,0x00000043,0x00000044,0x00000041,0x00000042,0x0004003d,0x00000034,0x00000045,
+ 0x00000044,0x00050082,0x00000034,0x00000046,0x0000003d,0x00000045,0x0003003e,0x00000036,
+ 0x00000046,0x0004003d,0x00000034,0x00000048,0x00000036,0x0003003e,0x00000047,0x00000048,
+ 0x00050041,0x0000004a,0x0000004b,0x00000041,0x00000049,0x0004003d,0x0000003e,0x0000004c,
+ 0x0000004b,0x000500ab,0x00000011,0x0000004e,0x0000004c,0x0000004d,0x000300f7,0x00000050,
+ 0x00000000,0x000400fa,0x0000004e,0x0000004f,0x00000050,0x000200f8,0x0000004f,0x00050041,
+ 0x00000052,0x00000053,0x00000047,0x00000051,0x0004003d,0x00000033,0x00000054,0x00000053,
+ 0x0004007e,0x00000033,0x00000055,0x00000054,0x00050041,0x00000052,0x00000056,0x00000047,
+ 0x00000051,0x0003003e,0x00000056,0x00000055,0x000200f9,0x00000050,0x000200f8,0x00000050,
+ 0x0004003d,0x00000059,0x0000005c,0x0000005b,0x00050041,0x00000043,0x0000005e,0x00000041,
+ 0x0000005d,0x0004003d,0x00000034,0x0000005f,0x0000005e,0x0004003d,0x00000034,0x00000060,
+ 0x00000047,0x00050080,0x00000034,0x00000061,0x0000005f,0x00000060,0x00050041,0x00000063,
+ 0x00000064,0x00000041,0x00000062,0x0004003d,0x00000033,0x00000065,0x00000064,0x00050051,
+ 0x00000033,0x00000067,0x00000061,0x00000000,0x00050051,0x00000033,0x00000068,0x00000061,
+ 0x00000001,0x00060050,0x00000066,0x00000069,0x00000067,0x00000068,0x00000065,0x00050041,
+ 0x00000063,0x0000006b,0x00000041,0x0000006a,0x0004003d,0x00000033,0x0000006c,0x0000006b,
+ 0x0007005f,0x00000037,0x0000006d,0x0000005c,0x00000069,0x00000002,0x0000006c,0x0003003e,
+ 0x00000058,0x0000006d,0x00050041,0x0000004a,0x0000006f,0x00000041,0x0000006e,0x0004003d,
+ 0x0000003e,0x00000070,0x0000006f,0x000500ab,0x00000011,0x00000071,0x00000070,0x0000004d,
+ 0x000300f7,0x00000073,0x00000000,0x000400fa,0x00000071,0x00000072,0x00000073,0x000200f8,
+ 0x00000072,0x00050041,0x00000007,0x00000075,0x00000058,0x0000004d,0x0004003d,0x00000006,
+ 0x00000076,0x00000075,0x0003003e,0x00000074,0x00000076,0x00050039,0x00000006,0x00000077,
+ 0x0000000a,0x00000074,0x00050041,0x00000007,0x00000078,0x00000058,0x0000004d,0x0003003e,
+ 0x00000078,0x00000077,0x00050041,0x00000007,0x0000007a,0x00000058,0x00000051,0x0004003d,
+ 0x00000006,0x0000007b,0x0000007a,0x0003003e,0x00000079,0x0000007b,0x00050039,0x00000006,
+ 0x0000007c,0x0000000a,0x00000079,0x00050041,0x00000007,0x0000007d,0x00000058,0x00000051,
+ 0x0003003e,0x0000007d,0x0000007c,0x00050041,0x00000007,0x00000080,0x00000058,0x0000007f,
+ 0x0004003d,0x00000006,0x00000081,0x00000080,0x0003003e,0x0000007e,0x00000081,0x00050039,
+ 0x00000006,0x00000082,0x0000000a,0x0000007e,0x00050041,0x00000007,0x00000083,0x00000058,
+ 0x0000007f,0x0003003e,0x00000083,0x00000082,0x000200f9,0x00000073,0x000200f8,0x00000073,
+ 0x00050041,0x0000004a,0x00000085,0x00000041,0x00000084,0x0004003d,0x0000003e,0x00000086,
+ 0x00000085,0x000500ab,0x00000011,0x00000087,0x00000086,0x0000004d,0x000300f7,0x00000089,
+ 0x00000000,0x000400fa,0x00000087,0x00000088,0x00000093,0x000200f8,0x00000088,0x00050041,
+ 0x00000007,0x0000008b,0x00000058,0x0000008a,0x0004003d,0x00000006,0x0000008c,0x0000008b,
+ 0x0004003d,0x00000037,0x0000008e,0x00000058,0x0008004f,0x0000008d,0x0000008f,0x0000008e,
+ 0x0000008e,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000008d,0x00000090,0x0000008f,
+ 0x0000008c,0x0004003d,0x00000037,0x00000091,0x00000058,0x0009004f,0x00000037,0x00000092,
+ 0x00000091,0x00000090,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000058,
+ 0x00000092,0x000200f9,0x00000089,0x000200f8,0x00000093,0x00050041,0x0000004a,0x00000095,
+ 0x00000041,0x00000094,0x0004003d,0x0000003e,0x00000096,0x00000095,0x000500ab,0x00000011,
+ 0x00000097,0x00000096,0x0000004d,0x000300f7,0x00000099,0x00000000,0x000400fa,0x00000097,
+ 0x00000098,0x00000099,0x000200f8,0x00000098,0x00050041,0x00000007,0x0000009a,0x00000058,
+ 0x0000008a,0x0004003d,0x00000006,0x0000009b,0x0000009a,0x000500ba,0x00000011,0x0000009d,
+ 0x0000009b,0x0000009c,0x000200f9,0x00000099,0x000200f8,0x00000099,0x000700f5,0x00000011,
+ 0x0000009e,0x00000097,0x00000093,0x0000009d,0x00000098,0x000300f7,0x000000a0,0x00000000,
+ 0x000400fa,0x0000009e,0x0000009f,0x000000a0,0x000200f8,0x0000009f,0x00050041,0x00000007,
+ 0x000000a1,0x00000058,0x0000008a,0x0004003d,0x00000006,0x000000a2,0x000000a1,0x0004003d,
+ 0x00000037,0x000000a3,0x00000058,0x0008004f,0x0000008d,0x000000a4,0x000000a3,0x000000a3,
+ 0x00000000,0x00000001,0x00000002,0x00060050,0x0000008d,0x000000a5,0x000000a2,0x000000a2,
+ 0x000000a2,0x00050088,0x0000008d,0x000000a6,0x000000a4,0x000000a5,0x0004003d,0x00000037,
+ 0x000000a7,0x00000058,0x0009004f,0x00000037,0x000000a8,0x000000a7,0x000000a6,0x00000004,
+ 0x00000005,0x00000006,0x00000003,0x0003003e,0x00000058,0x000000a8,0x000200f9,0x000000a0,
+ 0x000200f8,0x000000a0,0x000200f9,0x00000089,0x000200f8,0x00000089,0x0004003d,0x00000037,
+ 0x000000aa,0x00000058,0x00050051,0x00000006,0x000000ab,0x000000aa,0x00000000,0x00050051,
+ 0x00000006,0x000000ac,0x000000aa,0x00000001,0x00050051,0x00000006,0x000000ad,0x000000aa,
+ 0x00000002,0x00050051,0x00000006,0x000000ae,0x000000aa,0x00000003,0x00070050,0x00000037,
+ 0x000000af,0x000000ab,0x000000ac,0x000000ad,0x000000ae,0x0003003e,0x000000a9,0x000000af,
+ 0x00050041,0x0000004a,0x000000b1,0x00000041,0x000000b0,0x0004003d,0x0000003e,0x000000b2,
+ 0x000000b1,0x000500ab,0x00000011,0x000000b3,0x000000b2,0x0000004d,0x000300f7,0x000000b5,
+ 0x00000000,0x000400fa,0x000000b3,0x000000b4,0x000000b5,0x000200f8,0x000000b4,0x00050041,
+ 0x00000007,0x000000b7,0x000000a9,0x0000004d,0x0004003d,0x00000006,0x000000b8,0x000000b7,
+ 0x0003003e,0x000000b6,0x000000b8,0x00050039,0x00000006,0x000000b9,0x0000000d,0x000000b6,
+ 0x00050041,0x00000007,0x000000ba,0x000000a9,0x0000004d,0x0003003e,0x000000ba,0x000000b9,
+ 0x00050041,0x00000007,0x000000bc,0x000000a9,0x00000051,0x0004003d,0x00000006,0x000000bd,
+ 0x000000bc,0x0003003e,0x000000bb,0x000000bd,0x00050039,0x00000006,0x000000be,0x0000000d,
+ 0x000000bb,0x00050041,0x00000007,0x000000bf,0x000000a9,0x00000051,0x0003003e,0x000000bf,
+ 0x000000be,0x00050041,0x00000007,0x000000c1,0x000000a9,0x0000007f,0x0004003d,0x00000006,
+ 0x000000c2,0x000000c1,0x0003003e,0x000000c0,0x000000c2,0x00050039,0x00000006,0x000000c3,
+ 0x0000000d,0x000000c0,0x00050041,0x00000007,0x000000c4,0x000000a9,0x0000007f,0x0003003e,
+ 0x000000c4,0x000000c3,0x000200f9,0x000000b5,0x000200f8,0x000000b5,0x00050041,0x0000004a,
+ 0x000000c6,0x00000041,0x000000c5,0x0004003d,0x0000003e,0x000000c7,0x000000c6,0x000500ab,
+ 0x00000011,0x000000c8,0x000000c7,0x0000004d,0x000300f7,0x000000ca,0x00000000,0x000400fa,
+ 0x000000c8,0x000000c9,0x000000cf,0x000200f8,0x000000c9,0x0004003d,0x00000037,0x000000cb,
+ 0x000000a9,0x0007004f,0x0000003a,0x000000cc,0x000000cb,0x000000cb,0x00000000,0x00000003,
+ 0x0004003d,0x00000037,0x000000cd,0x000000a9,0x0009004f,0x00000037,0x000000ce,0x000000cd,
+ 0x000000cc,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x000000a9,0x000000ce,
+ 0x000200f9,0x000000ca,0x000200f8,0x000000cf,0x00050041,0x0000004a,0x000000d1,0x00000041,
+ 0x000000d0,0x0004003d,0x0000003e,0x000000d2,0x000000d1,0x000500ab,0x00000011,0x000000d3,
+ 0x000000d2,0x0000004d,0x000300f7,0x000000d5,0x00000000,0x000400fa,0x000000d3,0x000000d4,
+ 0x000000d9,0x000200f8,0x000000d4,0x00050041,0x00000007,0x000000d6,0x000000a9,0x0000008a,
+ 0x0004003d,0x00000006,0x000000d7,0x000000d6,0x00050041,0x00000007,0x000000d8,0x000000a9,
+ 0x0000004d,0x0003003e,0x000000d8,0x000000d7,0x000200f9,0x000000d5,0x000200f8,0x000000d9,
+ 0x00050041,0x00000063,0x000000dc,0x00000041,0x000000db,0x0004003d,0x00000033,0x000000dd,
+ 0x000000dc,0x0003003e,0x000000da,0x000000dd,0x0004003d,0x00000033,0x000000de,0x000000da,
+ 0x000500c7,0x00000033,0x000000df,0x000000de,0x0000006a,0x000500ab,0x00000011,0x000000e0,
+ 0x000000df,0x0000005d,0x000300f7,0x000000e2,0x00000000,0x000400fa,0x000000e0,0x000000e1,
+ 0x000000e2,0x000200f8,0x000000e1,0x00050041,0x00000007,0x000000e3,0x000000a9,0x00000051,
+ 0x0003003e,0x000000e3,0x0000009c,0x000200f9,0x000000e2,0x000200f8,0x000000e2,0x0004003d,
+ 0x00000033,0x000000e4,0x000000da,0x000500c7,0x00000033,0x000000e5,0x000000e4,0x00000049,
+ 0x000500ab,0x00000011,0x000000e6,0x000000e5,0x0000005d,0x000300f7,0x000000e8,0x00000000,
+ 0x000400fa,0x000000e6,0x000000e7,0x000000e8,0x000200f8,0x000000e7,0x00050041,0x00000007,
+ 0x000000e9,0x000000a9,0x0000007f,0x0003003e,0x000000e9,0x0000009c,0x000200f9,0x000000e8,
+ 0x000200f8,0x000000e8,0x0004003d,0x00000033,0x000000ea,0x000000da,0x000500c7,0x00000033,
+ 0x000000eb,0x000000ea,0x000000d0,0x000500ab,0x00000011,0x000000ec,0x000000eb,0x0000005d,
+ 0x000300f7,0x000000ee,0x00000000,0x000400fa,0x000000ec,0x000000ed,0x000000ee,0x000200f8,
+ 0x000000ed,0x00050041,0x00000007,0x000000f0,0x000000a9,0x0000008a,0x0003003e,0x000000f0,
+ 0x000000ef,0x000200f9,0x000000ee,0x000200f8,0x000000ee,0x000200f9,0x000000d5,0x000200f8,
+ 0x000000d5,0x000200f9,0x000000ca,0x000200f8,0x000000ca,0x0004003d,0x00000037,0x000000f3,
+ 0x000000a9,0x0003003e,0x000000f2,0x000000f3,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
+ 0x0004003d,0x00000006,0x0000000f,0x00000009,0x000500bc,0x00000011,0x00000012,0x0000000f,
+ 0x00000010,0x000300f7,0x00000014,0x00000000,0x000400fa,0x00000012,0x00000013,0x00000019,
+ 0x000200f8,0x00000013,0x0004003d,0x00000006,0x00000015,0x00000009,0x00050085,0x00000006,
+ 0x00000017,0x00000015,0x00000016,0x000200fe,0x00000017,0x000200f8,0x00000019,0x0004003d,
+ 0x00000006,0x0000001a,0x00000009,0x0007000c,0x00000006,0x0000001c,0x00000001,0x0000001a,
+ 0x0000001a,0x0000001b,0x00050085,0x00000006,0x0000001e,0x0000001c,0x0000001d,0x00050083,
+ 0x00000006,0x00000020,0x0000001e,0x0000001f,0x000200fe,0x00000020,0x000200f8,0x00000014,
+ 0x000100ff,0x00010038,0x00050036,0x00000006,0x0000000d,0x00000000,0x00000008,0x00030037,
+ 0x00000007,0x0000000c,0x000200f8,0x0000000e,0x0004003d,0x00000006,0x00000023,0x0000000c,
+ 0x000500bc,0x00000011,0x00000025,0x00000023,0x00000024,0x000300f7,0x00000027,0x00000000,
+ 0x000400fa,0x00000025,0x00000026,0x0000002b,0x000200f8,0x00000026,0x0004003d,0x00000006,
+ 0x00000028,0x0000000c,0x00050088,0x00000006,0x00000029,0x00000028,0x00000016,0x000200fe,
+ 0x00000029,0x000200f8,0x0000002b,0x0004003d,0x00000006,0x0000002c,0x0000000c,0x00050081,
+ 0x00000006,0x0000002d,0x0000002c,0x0000001f,0x00050088,0x00000006,0x0000002e,0x0000002d,
+ 0x0000001d,0x0007000c,0x00000006,0x00000030,0x00000001,0x0000001a,0x0000002e,0x0000002f,
+ 0x000200fe,0x00000030,0x000200f8,0x00000027,0x000100ff,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform texture3D src;
+// layout(location = 0)out vec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// vec4 destValue = vec4(srcValue);
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc
new file mode 100644
index 00000000000..385a43a6849
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc
@@ -0,0 +1,272 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000021[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000cc,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000ca,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000045,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000048,0x00637273,0x00040005,0x00000061,0x61726170,0x0000006d,0x00040005,
+ 0x00000066,0x61726170,0x0000006d,0x00040005,0x0000006b,0x61726170,0x0000006d,0x00050005,
+ 0x0000009b,0x74736564,0x756c6156,0x00000065,0x00070005,0x000000b3,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000ca,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x000000ca,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3b4d2e1c,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3ed55555,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x3d6147ae,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040020,0x00000044,
+ 0x00000007,0x00000024,0x00090019,0x00000046,0x00000006,0x00000002,0x00000000,0x00000000,
+ 0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,0x0004003b,
+ 0x00000047,0x00000048,0x00000000,0x0004002b,0x00000020,0x0000004a,0x00000000,0x0004002b,
+ 0x00000020,0x0000004f,0x00000003,0x00040020,0x00000050,0x00000009,0x00000020,0x00040017,
+ 0x00000053,0x00000020,0x00000003,0x0004002b,0x00000020,0x00000057,0x00000002,0x0004002b,
+ 0x00000020,0x0000005b,0x00000009,0x0004002b,0x0000002b,0x0000006c,0x00000002,0x0004002b,
+ 0x00000020,0x00000071,0x00000005,0x0004002b,0x0000002b,0x00000077,0x00000003,0x00040017,
+ 0x0000007a,0x00000006,0x00000003,0x0004002b,0x00000020,0x00000081,0x00000006,0x0004002b,
+ 0x00000006,0x00000089,0x00000000,0x0004002b,0x00000006,0x00000096,0x437f0000,0x00040017,
+ 0x00000099,0x00000020,0x00000004,0x00040020,0x0000009a,0x00000007,0x00000099,0x0004002b,
+ 0x00000020,0x0000009e,0x00000007,0x0004002b,0x00000020,0x000000a9,0x00000008,0x0004002b,
+ 0x00000020,0x000000b4,0x0000000b,0x00040020,0x000000c9,0x00000003,0x00000099,0x0004003b,
+ 0x000000c9,0x000000ca,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000044,0x00000045,0x00000007,0x0004003b,0x00000007,
+ 0x00000061,0x00000007,0x0004003b,0x00000007,0x00000066,0x00000007,0x0004003b,0x00000007,
+ 0x0000006b,0x00000007,0x0004003b,0x0000009a,0x0000009b,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b3,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000046,0x00000049,0x00000048,0x00050041,0x00000030,0x0000004b,
+ 0x0000002e,0x0000004a,0x0004003d,0x00000021,0x0000004c,0x0000004b,0x0004003d,0x00000021,
+ 0x0000004d,0x00000034,0x00050080,0x00000021,0x0000004e,0x0000004c,0x0000004d,0x00050041,
+ 0x00000050,0x00000051,0x0000002e,0x0000004f,0x0004003d,0x00000020,0x00000052,0x00000051,
+ 0x00050051,0x00000020,0x00000054,0x0000004e,0x00000000,0x00050051,0x00000020,0x00000055,
+ 0x0000004e,0x00000001,0x00060050,0x00000053,0x00000056,0x00000054,0x00000055,0x00000052,
+ 0x00050041,0x00000050,0x00000058,0x0000002e,0x00000057,0x0004003d,0x00000020,0x00000059,
+ 0x00000058,0x0007005f,0x00000024,0x0000005a,0x00000049,0x00000056,0x00000002,0x00000059,
+ 0x0003003e,0x00000045,0x0000005a,0x00050041,0x00000037,0x0000005c,0x0000002e,0x0000005b,
+ 0x0004003d,0x0000002b,0x0000005d,0x0000005c,0x000500ab,0x0000000e,0x0000005e,0x0000005d,
+ 0x0000003a,0x000300f7,0x00000060,0x00000000,0x000400fa,0x0000005e,0x0000005f,0x00000060,
+ 0x000200f8,0x0000005f,0x00050041,0x00000007,0x00000062,0x00000045,0x0000003a,0x0004003d,
+ 0x00000006,0x00000063,0x00000062,0x0003003e,0x00000061,0x00000063,0x00050039,0x00000006,
+ 0x00000064,0x0000000a,0x00000061,0x00050041,0x00000007,0x00000065,0x00000045,0x0000003a,
+ 0x0003003e,0x00000065,0x00000064,0x00050041,0x00000007,0x00000067,0x00000045,0x0000003e,
+ 0x0004003d,0x00000006,0x00000068,0x00000067,0x0003003e,0x00000066,0x00000068,0x00050039,
+ 0x00000006,0x00000069,0x0000000a,0x00000066,0x00050041,0x00000007,0x0000006a,0x00000045,
+ 0x0000003e,0x0003003e,0x0000006a,0x00000069,0x00050041,0x00000007,0x0000006d,0x00000045,
+ 0x0000006c,0x0004003d,0x00000006,0x0000006e,0x0000006d,0x0003003e,0x0000006b,0x0000006e,
+ 0x00050039,0x00000006,0x0000006f,0x0000000a,0x0000006b,0x00050041,0x00000007,0x00000070,
+ 0x00000045,0x0000006c,0x0003003e,0x00000070,0x0000006f,0x000200f9,0x00000060,0x000200f8,
+ 0x00000060,0x00050041,0x00000037,0x00000072,0x0000002e,0x00000071,0x0004003d,0x0000002b,
+ 0x00000073,0x00000072,0x000500ab,0x0000000e,0x00000074,0x00000073,0x0000003a,0x000300f7,
+ 0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000080,0x000200f8,0x00000075,
+ 0x00050041,0x00000007,0x00000078,0x00000045,0x00000077,0x0004003d,0x00000006,0x00000079,
+ 0x00000078,0x0004003d,0x00000024,0x0000007b,0x00000045,0x0008004f,0x0000007a,0x0000007c,
+ 0x0000007b,0x0000007b,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000007a,0x0000007d,
+ 0x0000007c,0x00000079,0x0004003d,0x00000024,0x0000007e,0x00000045,0x0009004f,0x00000024,
+ 0x0000007f,0x0000007e,0x0000007d,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000045,0x0000007f,0x000200f9,0x00000076,0x000200f8,0x00000080,0x00050041,0x00000037,
+ 0x00000082,0x0000002e,0x00000081,0x0004003d,0x0000002b,0x00000083,0x00000082,0x000500ab,
+ 0x0000000e,0x00000084,0x00000083,0x0000003a,0x000300f7,0x00000086,0x00000000,0x000400fa,
+ 0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000007,0x00000087,
+ 0x00000045,0x00000077,0x0004003d,0x00000006,0x00000088,0x00000087,0x000500ba,0x0000000e,
+ 0x0000008a,0x00000088,0x00000089,0x000200f9,0x00000086,0x000200f8,0x00000086,0x000700f5,
+ 0x0000000e,0x0000008b,0x00000084,0x00000080,0x0000008a,0x00000085,0x000300f7,0x0000008d,
+ 0x00000000,0x000400fa,0x0000008b,0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x00050041,
+ 0x00000007,0x0000008e,0x00000045,0x00000077,0x0004003d,0x00000006,0x0000008f,0x0000008e,
+ 0x0004003d,0x00000024,0x00000090,0x00000045,0x0008004f,0x0000007a,0x00000091,0x00000090,
+ 0x00000090,0x00000000,0x00000001,0x00000002,0x00060050,0x0000007a,0x00000092,0x0000008f,
+ 0x0000008f,0x0000008f,0x00050088,0x0000007a,0x00000093,0x00000091,0x00000092,0x0004003d,
+ 0x00000024,0x00000094,0x00000045,0x0009004f,0x00000024,0x00000095,0x00000094,0x00000093,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,0x00000095,0x000200f9,
+ 0x0000008d,0x000200f8,0x0000008d,0x000200f9,0x00000076,0x000200f8,0x00000076,0x0004003d,
+ 0x00000024,0x00000097,0x00000045,0x0005008e,0x00000024,0x00000098,0x00000097,0x00000096,
+ 0x0003003e,0x00000045,0x00000098,0x0004003d,0x00000024,0x0000009c,0x00000045,0x0004006e,
+ 0x00000099,0x0000009d,0x0000009c,0x0003003e,0x0000009b,0x0000009d,0x00050041,0x00000037,
+ 0x0000009f,0x0000002e,0x0000009e,0x0004003d,0x0000002b,0x000000a0,0x0000009f,0x000500ab,
+ 0x0000000e,0x000000a1,0x000000a0,0x0000003a,0x000300f7,0x000000a3,0x00000000,0x000400fa,
+ 0x000000a1,0x000000a2,0x000000a8,0x000200f8,0x000000a2,0x0004003d,0x00000099,0x000000a4,
+ 0x0000009b,0x0007004f,0x00000021,0x000000a5,0x000000a4,0x000000a4,0x00000000,0x00000003,
+ 0x0004003d,0x00000099,0x000000a6,0x0000009b,0x0009004f,0x00000099,0x000000a7,0x000000a6,
+ 0x000000a5,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000009b,0x000000a7,
+ 0x000200f9,0x000000a3,0x000200f8,0x000000a8,0x00050041,0x00000037,0x000000aa,0x0000002e,
+ 0x000000a9,0x0004003d,0x0000002b,0x000000ab,0x000000aa,0x000500ab,0x0000000e,0x000000ac,
+ 0x000000ab,0x0000003a,0x000300f7,0x000000ae,0x00000000,0x000400fa,0x000000ac,0x000000ad,
+ 0x000000b2,0x000200f8,0x000000ad,0x00050041,0x0000003f,0x000000af,0x0000009b,0x00000077,
+ 0x0004003d,0x00000020,0x000000b0,0x000000af,0x00050041,0x0000003f,0x000000b1,0x0000009b,
+ 0x0000003a,0x0003003e,0x000000b1,0x000000b0,0x000200f9,0x000000ae,0x000200f8,0x000000b2,
+ 0x00050041,0x00000050,0x000000b5,0x0000002e,0x000000b4,0x0004003d,0x00000020,0x000000b6,
+ 0x000000b5,0x0003003e,0x000000b3,0x000000b6,0x0004003d,0x00000020,0x000000b7,0x000000b3,
+ 0x000500c7,0x00000020,0x000000b8,0x000000b7,0x00000057,0x000500ab,0x0000000e,0x000000b9,
+ 0x000000b8,0x0000004a,0x000300f7,0x000000bb,0x00000000,0x000400fa,0x000000b9,0x000000ba,
+ 0x000000bb,0x000200f8,0x000000ba,0x00050041,0x0000003f,0x000000bc,0x0000009b,0x0000003e,
+ 0x0003003e,0x000000bc,0x0000004a,0x000200f9,0x000000bb,0x000200f8,0x000000bb,0x0004003d,
+ 0x00000020,0x000000bd,0x000000b3,0x000500c7,0x00000020,0x000000be,0x000000bd,0x00000036,
+ 0x000500ab,0x0000000e,0x000000bf,0x000000be,0x0000004a,0x000300f7,0x000000c1,0x00000000,
+ 0x000400fa,0x000000bf,0x000000c0,0x000000c1,0x000200f8,0x000000c0,0x00050041,0x0000003f,
+ 0x000000c2,0x0000009b,0x0000006c,0x0003003e,0x000000c2,0x0000004a,0x000200f9,0x000000c1,
+ 0x000200f8,0x000000c1,0x0004003d,0x00000020,0x000000c3,0x000000b3,0x000500c7,0x00000020,
+ 0x000000c4,0x000000c3,0x000000a9,0x000500ab,0x0000000e,0x000000c5,0x000000c4,0x0000004a,
+ 0x000300f7,0x000000c7,0x00000000,0x000400fa,0x000000c5,0x000000c6,0x000000c7,0x000200f8,
+ 0x000000c6,0x00050041,0x0000003f,0x000000c8,0x0000009b,0x00000077,0x0003003e,0x000000c8,
+ 0x0000002f,0x000200f9,0x000000c7,0x000200f8,0x000000c7,0x000200f9,0x000000ae,0x000200f8,
+ 0x000000ae,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x0004003d,0x00000099,0x000000cb,
+ 0x0000009b,0x0003003e,0x000000ca,0x000000cb,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
+ 0x0004003d,0x00000006,0x0000000c,0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,
+ 0x0000000d,0x000300f7,0x00000011,0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,
+ 0x000200f8,0x00000010,0x0004003d,0x00000006,0x00000012,0x00000009,0x00050085,0x00000006,
+ 0x00000014,0x00000012,0x00000013,0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,
+ 0x00000006,0x00000017,0x00000009,0x0007000c,0x00000006,0x00000019,0x00000001,0x0000001a,
+ 0x00000017,0x00000018,0x00050085,0x00000006,0x0000001b,0x00000019,0x0000001a,0x00050083,
+ 0x00000006,0x0000001d,0x0000001b,0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,
+ 0x000100ff,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform texture3D src;
+// layout(location = 0)out ivec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// srcValue *= 255.0;
+//
+// ivec4 destValue = ivec4(srcValue);
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc
new file mode 100644
index 00000000000..9b51737a3cd
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc
@@ -0,0 +1,273 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000022[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000ce,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000cc,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x656e696c,0x6f547261,
+ 0x42475253,0x3b316628,0x00000000,0x00040005,0x00000009,0x656e696c,0x00007261,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000045,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000048,0x00637273,0x00040005,0x00000061,0x61726170,0x0000006d,0x00040005,
+ 0x00000066,0x61726170,0x0000006d,0x00040005,0x0000006b,0x61726170,0x0000006d,0x00050005,
+ 0x0000009b,0x74736564,0x756c6156,0x00000065,0x00070005,0x000000b5,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000cc,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000048,0x00000022,0x00000000,0x00040047,0x00000048,
+ 0x00000021,0x00000000,0x00040047,0x000000cc,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3b4d2e1c,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3ed55555,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x3d6147ae,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040020,0x00000044,
+ 0x00000007,0x00000024,0x00090019,0x00000046,0x00000006,0x00000002,0x00000000,0x00000000,
+ 0x00000000,0x00000001,0x00000000,0x00040020,0x00000047,0x00000000,0x00000046,0x0004003b,
+ 0x00000047,0x00000048,0x00000000,0x0004002b,0x00000020,0x0000004a,0x00000000,0x0004002b,
+ 0x00000020,0x0000004f,0x00000003,0x00040020,0x00000050,0x00000009,0x00000020,0x00040017,
+ 0x00000053,0x00000020,0x00000003,0x0004002b,0x00000020,0x00000057,0x00000002,0x0004002b,
+ 0x00000020,0x0000005b,0x00000009,0x0004002b,0x0000002b,0x0000006c,0x00000002,0x0004002b,
+ 0x00000020,0x00000071,0x00000005,0x0004002b,0x0000002b,0x00000077,0x00000003,0x00040017,
+ 0x0000007a,0x00000006,0x00000003,0x0004002b,0x00000020,0x00000081,0x00000006,0x0004002b,
+ 0x00000006,0x00000089,0x00000000,0x0004002b,0x00000006,0x00000096,0x437f0000,0x00040017,
+ 0x00000099,0x0000002b,0x00000004,0x00040020,0x0000009a,0x00000007,0x00000099,0x0004002b,
+ 0x00000020,0x0000009e,0x00000007,0x00040017,0x000000a4,0x0000002b,0x00000002,0x0004002b,
+ 0x00000020,0x000000aa,0x00000008,0x00040020,0x000000b0,0x00000007,0x0000002b,0x0004002b,
+ 0x00000020,0x000000b6,0x0000000b,0x00040020,0x000000cb,0x00000003,0x00000099,0x0004003b,
+ 0x000000cb,0x000000cc,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000044,0x00000045,0x00000007,0x0004003b,0x00000007,
+ 0x00000061,0x00000007,0x0004003b,0x00000007,0x00000066,0x00000007,0x0004003b,0x00000007,
+ 0x0000006b,0x00000007,0x0004003b,0x0000009a,0x0000009b,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b5,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000046,0x00000049,0x00000048,0x00050041,0x00000030,0x0000004b,
+ 0x0000002e,0x0000004a,0x0004003d,0x00000021,0x0000004c,0x0000004b,0x0004003d,0x00000021,
+ 0x0000004d,0x00000034,0x00050080,0x00000021,0x0000004e,0x0000004c,0x0000004d,0x00050041,
+ 0x00000050,0x00000051,0x0000002e,0x0000004f,0x0004003d,0x00000020,0x00000052,0x00000051,
+ 0x00050051,0x00000020,0x00000054,0x0000004e,0x00000000,0x00050051,0x00000020,0x00000055,
+ 0x0000004e,0x00000001,0x00060050,0x00000053,0x00000056,0x00000054,0x00000055,0x00000052,
+ 0x00050041,0x00000050,0x00000058,0x0000002e,0x00000057,0x0004003d,0x00000020,0x00000059,
+ 0x00000058,0x0007005f,0x00000024,0x0000005a,0x00000049,0x00000056,0x00000002,0x00000059,
+ 0x0003003e,0x00000045,0x0000005a,0x00050041,0x00000037,0x0000005c,0x0000002e,0x0000005b,
+ 0x0004003d,0x0000002b,0x0000005d,0x0000005c,0x000500ab,0x0000000e,0x0000005e,0x0000005d,
+ 0x0000003a,0x000300f7,0x00000060,0x00000000,0x000400fa,0x0000005e,0x0000005f,0x00000060,
+ 0x000200f8,0x0000005f,0x00050041,0x00000007,0x00000062,0x00000045,0x0000003a,0x0004003d,
+ 0x00000006,0x00000063,0x00000062,0x0003003e,0x00000061,0x00000063,0x00050039,0x00000006,
+ 0x00000064,0x0000000a,0x00000061,0x00050041,0x00000007,0x00000065,0x00000045,0x0000003a,
+ 0x0003003e,0x00000065,0x00000064,0x00050041,0x00000007,0x00000067,0x00000045,0x0000003e,
+ 0x0004003d,0x00000006,0x00000068,0x00000067,0x0003003e,0x00000066,0x00000068,0x00050039,
+ 0x00000006,0x00000069,0x0000000a,0x00000066,0x00050041,0x00000007,0x0000006a,0x00000045,
+ 0x0000003e,0x0003003e,0x0000006a,0x00000069,0x00050041,0x00000007,0x0000006d,0x00000045,
+ 0x0000006c,0x0004003d,0x00000006,0x0000006e,0x0000006d,0x0003003e,0x0000006b,0x0000006e,
+ 0x00050039,0x00000006,0x0000006f,0x0000000a,0x0000006b,0x00050041,0x00000007,0x00000070,
+ 0x00000045,0x0000006c,0x0003003e,0x00000070,0x0000006f,0x000200f9,0x00000060,0x000200f8,
+ 0x00000060,0x00050041,0x00000037,0x00000072,0x0000002e,0x00000071,0x0004003d,0x0000002b,
+ 0x00000073,0x00000072,0x000500ab,0x0000000e,0x00000074,0x00000073,0x0000003a,0x000300f7,
+ 0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000080,0x000200f8,0x00000075,
+ 0x00050041,0x00000007,0x00000078,0x00000045,0x00000077,0x0004003d,0x00000006,0x00000079,
+ 0x00000078,0x0004003d,0x00000024,0x0000007b,0x00000045,0x0008004f,0x0000007a,0x0000007c,
+ 0x0000007b,0x0000007b,0x00000000,0x00000001,0x00000002,0x0005008e,0x0000007a,0x0000007d,
+ 0x0000007c,0x00000079,0x0004003d,0x00000024,0x0000007e,0x00000045,0x0009004f,0x00000024,
+ 0x0000007f,0x0000007e,0x0000007d,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000045,0x0000007f,0x000200f9,0x00000076,0x000200f8,0x00000080,0x00050041,0x00000037,
+ 0x00000082,0x0000002e,0x00000081,0x0004003d,0x0000002b,0x00000083,0x00000082,0x000500ab,
+ 0x0000000e,0x00000084,0x00000083,0x0000003a,0x000300f7,0x00000086,0x00000000,0x000400fa,
+ 0x00000084,0x00000085,0x00000086,0x000200f8,0x00000085,0x00050041,0x00000007,0x00000087,
+ 0x00000045,0x00000077,0x0004003d,0x00000006,0x00000088,0x00000087,0x000500ba,0x0000000e,
+ 0x0000008a,0x00000088,0x00000089,0x000200f9,0x00000086,0x000200f8,0x00000086,0x000700f5,
+ 0x0000000e,0x0000008b,0x00000084,0x00000080,0x0000008a,0x00000085,0x000300f7,0x0000008d,
+ 0x00000000,0x000400fa,0x0000008b,0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x00050041,
+ 0x00000007,0x0000008e,0x00000045,0x00000077,0x0004003d,0x00000006,0x0000008f,0x0000008e,
+ 0x0004003d,0x00000024,0x00000090,0x00000045,0x0008004f,0x0000007a,0x00000091,0x00000090,
+ 0x00000090,0x00000000,0x00000001,0x00000002,0x00060050,0x0000007a,0x00000092,0x0000008f,
+ 0x0000008f,0x0000008f,0x00050088,0x0000007a,0x00000093,0x00000091,0x00000092,0x0004003d,
+ 0x00000024,0x00000094,0x00000045,0x0009004f,0x00000024,0x00000095,0x00000094,0x00000093,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000045,0x00000095,0x000200f9,
+ 0x0000008d,0x000200f8,0x0000008d,0x000200f9,0x00000076,0x000200f8,0x00000076,0x0004003d,
+ 0x00000024,0x00000097,0x00000045,0x0005008e,0x00000024,0x00000098,0x00000097,0x00000096,
+ 0x0003003e,0x00000045,0x00000098,0x0004003d,0x00000024,0x0000009c,0x00000045,0x0004006d,
+ 0x00000099,0x0000009d,0x0000009c,0x0003003e,0x0000009b,0x0000009d,0x00050041,0x00000037,
+ 0x0000009f,0x0000002e,0x0000009e,0x0004003d,0x0000002b,0x000000a0,0x0000009f,0x000500ab,
+ 0x0000000e,0x000000a1,0x000000a0,0x0000003a,0x000300f7,0x000000a3,0x00000000,0x000400fa,
+ 0x000000a1,0x000000a2,0x000000a9,0x000200f8,0x000000a2,0x0004003d,0x00000099,0x000000a5,
+ 0x0000009b,0x0007004f,0x000000a4,0x000000a6,0x000000a5,0x000000a5,0x00000000,0x00000003,
+ 0x0004003d,0x00000099,0x000000a7,0x0000009b,0x0009004f,0x00000099,0x000000a8,0x000000a7,
+ 0x000000a6,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000009b,0x000000a8,
+ 0x000200f9,0x000000a3,0x000200f8,0x000000a9,0x00050041,0x00000037,0x000000ab,0x0000002e,
+ 0x000000aa,0x0004003d,0x0000002b,0x000000ac,0x000000ab,0x000500ab,0x0000000e,0x000000ad,
+ 0x000000ac,0x0000003a,0x000300f7,0x000000af,0x00000000,0x000400fa,0x000000ad,0x000000ae,
+ 0x000000b4,0x000200f8,0x000000ae,0x00050041,0x000000b0,0x000000b1,0x0000009b,0x00000077,
+ 0x0004003d,0x0000002b,0x000000b2,0x000000b1,0x00050041,0x000000b0,0x000000b3,0x0000009b,
+ 0x0000003a,0x0003003e,0x000000b3,0x000000b2,0x000200f9,0x000000af,0x000200f8,0x000000b4,
+ 0x00050041,0x00000050,0x000000b7,0x0000002e,0x000000b6,0x0004003d,0x00000020,0x000000b8,
+ 0x000000b7,0x0003003e,0x000000b5,0x000000b8,0x0004003d,0x00000020,0x000000b9,0x000000b5,
+ 0x000500c7,0x00000020,0x000000ba,0x000000b9,0x00000057,0x000500ab,0x0000000e,0x000000bb,
+ 0x000000ba,0x0000004a,0x000300f7,0x000000bd,0x00000000,0x000400fa,0x000000bb,0x000000bc,
+ 0x000000bd,0x000200f8,0x000000bc,0x00050041,0x000000b0,0x000000be,0x0000009b,0x0000003e,
+ 0x0003003e,0x000000be,0x0000003a,0x000200f9,0x000000bd,0x000200f8,0x000000bd,0x0004003d,
+ 0x00000020,0x000000bf,0x000000b5,0x000500c7,0x00000020,0x000000c0,0x000000bf,0x00000036,
+ 0x000500ab,0x0000000e,0x000000c1,0x000000c0,0x0000004a,0x000300f7,0x000000c3,0x00000000,
+ 0x000400fa,0x000000c1,0x000000c2,0x000000c3,0x000200f8,0x000000c2,0x00050041,0x000000b0,
+ 0x000000c4,0x0000009b,0x0000006c,0x0003003e,0x000000c4,0x0000003a,0x000200f9,0x000000c3,
+ 0x000200f8,0x000000c3,0x0004003d,0x00000020,0x000000c5,0x000000b5,0x000500c7,0x00000020,
+ 0x000000c6,0x000000c5,0x000000aa,0x000500ab,0x0000000e,0x000000c7,0x000000c6,0x0000004a,
+ 0x000300f7,0x000000c9,0x00000000,0x000400fa,0x000000c7,0x000000c8,0x000000c9,0x000200f8,
+ 0x000000c8,0x00050041,0x000000b0,0x000000ca,0x0000009b,0x00000077,0x0003003e,0x000000ca,
+ 0x0000003e,0x000200f9,0x000000c9,0x000200f8,0x000000c9,0x000200f9,0x000000af,0x000200f8,
+ 0x000000af,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x0004003d,0x00000099,0x000000cd,
+ 0x0000009b,0x0003003e,0x000000cc,0x000000cd,0x000100fd,0x00010038,0x00050036,0x00000006,
+ 0x0000000a,0x00000000,0x00000008,0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,
+ 0x0004003d,0x00000006,0x0000000c,0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,
+ 0x0000000d,0x000300f7,0x00000011,0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,
+ 0x000200f8,0x00000010,0x0004003d,0x00000006,0x00000012,0x00000009,0x00050085,0x00000006,
+ 0x00000014,0x00000012,0x00000013,0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,
+ 0x00000006,0x00000017,0x00000009,0x0007000c,0x00000006,0x00000019,0x00000001,0x0000001a,
+ 0x00000017,0x00000018,0x00050085,0x00000006,0x0000001b,0x00000019,0x0000001a,0x00050083,
+ 0x00000006,0x0000001d,0x0000001b,0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,
+ 0x000100ff,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform texture3D src;
+// layout(location = 0)out uvec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// float linearToSRGB(float linear)
+// {
+//
+// if(linear <= 0.0031308)
+// {
+// return linear * 12.92;
+// }
+// else
+// {
+// return pow(linear,(1.0f / 2.4f))* 1.055f - 0.055f;
+// }
+// }
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// vec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . srcIsSRGB)
+// {
+//
+// srcValue . r = linearToSRGB(srcValue . r);
+// srcValue . g = linearToSRGB(srcValue . g);
+// srcValue . b = linearToSRGB(srcValue . b);
+// }
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// srcValue *= 255.0;
+//
+// uvec4 destValue = uvec4(srcValue);
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc
new file mode 100644
index 00000000000..16ca340ad49
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc
@@ -0,0 +1,273 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000024[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000ce,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000cc,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x42475273,0x694c6f54,
+ 0x7261656e,0x3b316628,0x00000000,0x00040005,0x00000009,0x42475273,0x00000000,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000046,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000049,0x00637273,0x00050005,0x00000081,0x74736564,0x756c6156,0x00000065,
+ 0x00040005,0x0000008e,0x61726170,0x0000006d,0x00040005,0x00000093,0x61726170,0x0000006d,
+ 0x00040005,0x00000098,0x61726170,0x0000006d,0x00070005,0x000000b3,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000cc,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000049,0x00000022,0x00000000,0x00040047,0x00000049,
+ 0x00000021,0x00000000,0x00040047,0x000000cc,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3d25aee6,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3d6147ae,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x4019999a,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040017,0x00000044,
+ 0x00000020,0x00000004,0x00040020,0x00000045,0x00000007,0x00000044,0x00090019,0x00000047,
+ 0x00000020,0x00000002,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000048,0x00000000,0x00000047,0x0004003b,0x00000048,0x00000049,0x00000000,0x0004002b,
+ 0x00000020,0x0000004b,0x00000000,0x0004002b,0x00000020,0x00000050,0x00000003,0x00040020,
+ 0x00000051,0x00000009,0x00000020,0x00040017,0x00000054,0x00000020,0x00000003,0x0004002b,
+ 0x00000020,0x00000058,0x00000002,0x0004002b,0x00000020,0x0000005c,0x00000005,0x0004002b,
+ 0x0000002b,0x00000062,0x00000003,0x0004002b,0x00000020,0x0000006c,0x00000006,0x00040020,
+ 0x00000080,0x00000007,0x00000024,0x0004002b,0x00000006,0x00000084,0x437f0000,0x0004002b,
+ 0x00000020,0x00000088,0x0000000a,0x0004002b,0x0000002b,0x00000099,0x00000002,0x0004002b,
+ 0x00000020,0x0000009e,0x00000007,0x0004002b,0x00000020,0x000000a9,0x00000008,0x0004002b,
+ 0x00000020,0x000000b4,0x0000000b,0x0004002b,0x00000006,0x000000bc,0x00000000,0x0004002b,
+ 0x00000006,0x000000c9,0x3f800000,0x00040020,0x000000cb,0x00000003,0x00000024,0x0004003b,
+ 0x000000cb,0x000000cc,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000045,0x00000046,0x00000007,0x0004003b,0x00000080,
+ 0x00000081,0x00000007,0x0004003b,0x00000007,0x0000008e,0x00000007,0x0004003b,0x00000007,
+ 0x00000093,0x00000007,0x0004003b,0x00000007,0x00000098,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b3,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000047,0x0000004a,0x00000049,0x00050041,0x00000030,0x0000004c,
+ 0x0000002e,0x0000004b,0x0004003d,0x00000021,0x0000004d,0x0000004c,0x0004003d,0x00000021,
+ 0x0000004e,0x00000034,0x00050080,0x00000021,0x0000004f,0x0000004d,0x0000004e,0x00050041,
+ 0x00000051,0x00000052,0x0000002e,0x00000050,0x0004003d,0x00000020,0x00000053,0x00000052,
+ 0x00050051,0x00000020,0x00000055,0x0000004f,0x00000000,0x00050051,0x00000020,0x00000056,
+ 0x0000004f,0x00000001,0x00060050,0x00000054,0x00000057,0x00000055,0x00000056,0x00000053,
+ 0x00050041,0x00000051,0x00000059,0x0000002e,0x00000058,0x0004003d,0x00000020,0x0000005a,
+ 0x00000059,0x0007005f,0x00000044,0x0000005b,0x0000004a,0x00000057,0x00000002,0x0000005a,
+ 0x0003003e,0x00000046,0x0000005b,0x00050041,0x00000037,0x0000005d,0x0000002e,0x0000005c,
+ 0x0004003d,0x0000002b,0x0000005e,0x0000005d,0x000500ab,0x0000000e,0x0000005f,0x0000005e,
+ 0x0000003a,0x000300f7,0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x0000006b,
+ 0x000200f8,0x00000060,0x00050041,0x0000003f,0x00000063,0x00000046,0x00000062,0x0004003d,
+ 0x00000020,0x00000064,0x00000063,0x0004003d,0x00000044,0x00000065,0x00000046,0x0008004f,
+ 0x00000054,0x00000066,0x00000065,0x00000065,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x00000054,0x00000067,0x00000064,0x00000064,0x00000064,0x00050084,0x00000054,0x00000068,
+ 0x00000066,0x00000067,0x0004003d,0x00000044,0x00000069,0x00000046,0x0009004f,0x00000044,
+ 0x0000006a,0x00000069,0x00000068,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000046,0x0000006a,0x000200f9,0x00000061,0x000200f8,0x0000006b,0x00050041,0x00000037,
+ 0x0000006d,0x0000002e,0x0000006c,0x0004003d,0x0000002b,0x0000006e,0x0000006d,0x000500ab,
+ 0x0000000e,0x0000006f,0x0000006e,0x0000003a,0x000300f7,0x00000071,0x00000000,0x000400fa,
+ 0x0000006f,0x00000070,0x00000071,0x000200f8,0x00000070,0x00050041,0x0000003f,0x00000072,
+ 0x00000046,0x00000062,0x0004003d,0x00000020,0x00000073,0x00000072,0x000500ad,0x0000000e,
+ 0x00000074,0x00000073,0x0000004b,0x000200f9,0x00000071,0x000200f8,0x00000071,0x000700f5,
+ 0x0000000e,0x00000075,0x0000006f,0x0000006b,0x00000074,0x00000070,0x000300f7,0x00000077,
+ 0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,0x000200f8,0x00000076,0x00050041,
+ 0x0000003f,0x00000078,0x00000046,0x00000062,0x0004003d,0x00000020,0x00000079,0x00000078,
+ 0x0004003d,0x00000044,0x0000007a,0x00000046,0x0008004f,0x00000054,0x0000007b,0x0000007a,
+ 0x0000007a,0x00000000,0x00000001,0x00000002,0x00060050,0x00000054,0x0000007c,0x00000079,
+ 0x00000079,0x00000079,0x00050087,0x00000054,0x0000007d,0x0000007b,0x0000007c,0x0004003d,
+ 0x00000044,0x0000007e,0x00000046,0x0009004f,0x00000044,0x0000007f,0x0000007e,0x0000007d,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000046,0x0000007f,0x000200f9,
+ 0x00000077,0x000200f8,0x00000077,0x000200f9,0x00000061,0x000200f8,0x00000061,0x0004003d,
+ 0x00000044,0x00000082,0x00000046,0x0004006f,0x00000024,0x00000083,0x00000082,0x0003003e,
+ 0x00000081,0x00000083,0x0004003d,0x00000024,0x00000085,0x00000081,0x00070050,0x00000024,
+ 0x00000086,0x00000084,0x00000084,0x00000084,0x00000084,0x00050088,0x00000024,0x00000087,
+ 0x00000085,0x00000086,0x0003003e,0x00000081,0x00000087,0x00050041,0x00000037,0x00000089,
+ 0x0000002e,0x00000088,0x0004003d,0x0000002b,0x0000008a,0x00000089,0x000500ab,0x0000000e,
+ 0x0000008b,0x0000008a,0x0000003a,0x000300f7,0x0000008d,0x00000000,0x000400fa,0x0000008b,
+ 0x0000008c,0x0000008d,0x000200f8,0x0000008c,0x00050041,0x00000007,0x0000008f,0x00000081,
+ 0x0000003a,0x0004003d,0x00000006,0x00000090,0x0000008f,0x0003003e,0x0000008e,0x00000090,
+ 0x00050039,0x00000006,0x00000091,0x0000000a,0x0000008e,0x00050041,0x00000007,0x00000092,
+ 0x00000081,0x0000003a,0x0003003e,0x00000092,0x00000091,0x00050041,0x00000007,0x00000094,
+ 0x00000081,0x0000003e,0x0004003d,0x00000006,0x00000095,0x00000094,0x0003003e,0x00000093,
+ 0x00000095,0x00050039,0x00000006,0x00000096,0x0000000a,0x00000093,0x00050041,0x00000007,
+ 0x00000097,0x00000081,0x0000003e,0x0003003e,0x00000097,0x00000096,0x00050041,0x00000007,
+ 0x0000009a,0x00000081,0x00000099,0x0004003d,0x00000006,0x0000009b,0x0000009a,0x0003003e,
+ 0x00000098,0x0000009b,0x00050039,0x00000006,0x0000009c,0x0000000a,0x00000098,0x00050041,
+ 0x00000007,0x0000009d,0x00000081,0x00000099,0x0003003e,0x0000009d,0x0000009c,0x000200f9,
+ 0x0000008d,0x000200f8,0x0000008d,0x00050041,0x00000037,0x0000009f,0x0000002e,0x0000009e,
+ 0x0004003d,0x0000002b,0x000000a0,0x0000009f,0x000500ab,0x0000000e,0x000000a1,0x000000a0,
+ 0x0000003a,0x000300f7,0x000000a3,0x00000000,0x000400fa,0x000000a1,0x000000a2,0x000000a8,
+ 0x000200f8,0x000000a2,0x0004003d,0x00000024,0x000000a4,0x00000081,0x0007004f,0x00000027,
+ 0x000000a5,0x000000a4,0x000000a4,0x00000000,0x00000003,0x0004003d,0x00000024,0x000000a6,
+ 0x00000081,0x0009004f,0x00000024,0x000000a7,0x000000a6,0x000000a5,0x00000004,0x00000005,
+ 0x00000002,0x00000003,0x0003003e,0x00000081,0x000000a7,0x000200f9,0x000000a3,0x000200f8,
+ 0x000000a8,0x00050041,0x00000037,0x000000aa,0x0000002e,0x000000a9,0x0004003d,0x0000002b,
+ 0x000000ab,0x000000aa,0x000500ab,0x0000000e,0x000000ac,0x000000ab,0x0000003a,0x000300f7,
+ 0x000000ae,0x00000000,0x000400fa,0x000000ac,0x000000ad,0x000000b2,0x000200f8,0x000000ad,
+ 0x00050041,0x00000007,0x000000af,0x00000081,0x00000062,0x0004003d,0x00000006,0x000000b0,
+ 0x000000af,0x00050041,0x00000007,0x000000b1,0x00000081,0x0000003a,0x0003003e,0x000000b1,
+ 0x000000b0,0x000200f9,0x000000ae,0x000200f8,0x000000b2,0x00050041,0x00000051,0x000000b5,
+ 0x0000002e,0x000000b4,0x0004003d,0x00000020,0x000000b6,0x000000b5,0x0003003e,0x000000b3,
+ 0x000000b6,0x0004003d,0x00000020,0x000000b7,0x000000b3,0x000500c7,0x00000020,0x000000b8,
+ 0x000000b7,0x00000058,0x000500ab,0x0000000e,0x000000b9,0x000000b8,0x0000004b,0x000300f7,
+ 0x000000bb,0x00000000,0x000400fa,0x000000b9,0x000000ba,0x000000bb,0x000200f8,0x000000ba,
+ 0x00050041,0x00000007,0x000000bd,0x00000081,0x0000003e,0x0003003e,0x000000bd,0x000000bc,
+ 0x000200f9,0x000000bb,0x000200f8,0x000000bb,0x0004003d,0x00000020,0x000000be,0x000000b3,
+ 0x000500c7,0x00000020,0x000000bf,0x000000be,0x00000036,0x000500ab,0x0000000e,0x000000c0,
+ 0x000000bf,0x0000004b,0x000300f7,0x000000c2,0x00000000,0x000400fa,0x000000c0,0x000000c1,
+ 0x000000c2,0x000200f8,0x000000c1,0x00050041,0x00000007,0x000000c3,0x00000081,0x00000099,
+ 0x0003003e,0x000000c3,0x000000bc,0x000200f9,0x000000c2,0x000200f8,0x000000c2,0x0004003d,
+ 0x00000020,0x000000c4,0x000000b3,0x000500c7,0x00000020,0x000000c5,0x000000c4,0x000000a9,
+ 0x000500ab,0x0000000e,0x000000c6,0x000000c5,0x0000004b,0x000300f7,0x000000c8,0x00000000,
+ 0x000400fa,0x000000c6,0x000000c7,0x000000c8,0x000200f8,0x000000c7,0x00050041,0x00000007,
+ 0x000000ca,0x00000081,0x00000062,0x0003003e,0x000000ca,0x000000c9,0x000200f9,0x000000c8,
+ 0x000200f8,0x000000c8,0x000200f9,0x000000ae,0x000200f8,0x000000ae,0x000200f9,0x000000a3,
+ 0x000200f8,0x000000a3,0x0004003d,0x00000024,0x000000cd,0x00000081,0x0003003e,0x000000cc,
+ 0x000000cd,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,
+ 0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,0x00000006,0x0000000c,
+ 0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x000300f7,0x00000011,
+ 0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,0x000200f8,0x00000010,0x0004003d,
+ 0x00000006,0x00000012,0x00000009,0x00050088,0x00000006,0x00000014,0x00000012,0x00000013,
+ 0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,0x00000006,0x00000017,0x00000009,
+ 0x00050081,0x00000006,0x00000019,0x00000017,0x00000018,0x00050088,0x00000006,0x0000001b,
+ 0x00000019,0x0000001a,0x0007000c,0x00000006,0x0000001d,0x00000001,0x0000001a,0x0000001b,
+ 0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,0x000100ff,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform itexture3D src;
+// layout(location = 0)out vec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// ivec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// vec4 destValue = vec4(srcValue);
+//
+// destValue /= 255.0;
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000025.inc
index a35d759551b..2eb642f73b0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000025.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
-const uint32_t kImageCopy_frag_0000000B[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+const uint32_t kImageCopy_frag_00000025[] = {
+ 0x07230203,0x00010000,0x0008000a,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009c,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
@@ -16,40 +16,43 @@ const uint32_t kImageCopy_frag_0000000B[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000068,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000084,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009c,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x00000068,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000084,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009c,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
- 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000002,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
0x0004002b,0x00000006,0x00000038,0x00000003,0x00040020,0x00000039,0x00000009,0x00000006,
0x00040017,0x0000003c,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000040,0x00000002,
0x0004002b,0x00000006,0x00000044,0x00000005,0x0004002b,0x00000012,0x0000004a,0x00000003,
0x0004002b,0x00000006,0x00000054,0x00000006,0x0004002b,0x00000006,0x0000006f,0x00000007,
- 0x0004002b,0x00000006,0x0000007a,0x00000008,0x0004002b,0x00000006,0x00000085,0x00000009,
+ 0x0004002b,0x00000006,0x0000007a,0x00000008,0x0004002b,0x00000006,0x00000085,0x0000000b,
0x0004002b,0x00000012,0x00000093,0x00000002,0x00040020,0x0000009b,0x00000003,0x0000002c,
0x0004003b,0x0000009b,0x0000009c,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
@@ -139,7 +142,7 @@ const uint32_t kImageCopy_frag_0000000B[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform itexture2DArray src;
+// layout(set = 0, binding = 0)uniform itexture3D src;
// layout(location = 0)out ivec4 dest;
//
// layout(push_constant)uniform PushConstants {
@@ -157,6 +160,9 @@ const uint32_t kImageCopy_frag_0000000B[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -167,7 +173,9 @@ const uint32_t kImageCopy_frag_0000000B[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
// ivec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000026.inc
index db08492b049..a58767a1d72 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000026.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
-const uint32_t kImageCopy_frag_00000003[] = {
- 0x07230203,0x00010000,0x00080007,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+const uint32_t kImageCopy_frag_00000026[] = {
+ 0x07230203,0x00010000,0x0008000a,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009c,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
@@ -16,47 +16,50 @@ const uint32_t kImageCopy_frag_00000003[] = {
0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
- 0x00090006,0x00000013,0x00000009,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,
- 0x006b7361,0x00040005,0x00000015,0x61726170,0x0000736d,0x00070005,0x0000001b,0x53637273,
- 0x6d496275,0x43656761,0x64726f6f,0x00000073,0x00050005,0x0000002e,0x56637273,0x65756c61,
- 0x00000000,0x00030005,0x00000031,0x00637273,0x00050005,0x00000069,0x74736564,0x756c6156,
- 0x00000065,0x00070005,0x00000082,0x61666564,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
- 0x00040005,0x0000009c,0x74736564,0x00000000,0x00040047,0x0000000d,0x0000000b,0x0000000f,
- 0x00050048,0x00000013,0x00000000,0x00000023,0x00000000,0x00050048,0x00000013,0x00000001,
- 0x00000023,0x00000008,0x00050048,0x00000013,0x00000002,0x00000023,0x00000010,0x00050048,
- 0x00000013,0x00000003,0x00000023,0x00000014,0x00050048,0x00000013,0x00000004,0x00000023,
- 0x00000018,0x00050048,0x00000013,0x00000005,0x00000023,0x0000001c,0x00050048,0x00000013,
- 0x00000006,0x00000023,0x00000020,0x00050048,0x00000013,0x00000007,0x00000023,0x00000024,
- 0x00050048,0x00000013,0x00000008,0x00000023,0x00000028,0x00050048,0x00000013,0x00000009,
- 0x00000023,0x0000002c,0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,
- 0x00000000,0x00040047,0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,
- 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,
- 0x00000020,0x00000001,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
- 0x00000007,0x00000007,0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,
- 0x00000004,0x00040020,0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
- 0x00000001,0x00040017,0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,
- 0x00000000,0x000c001e,0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x0000006a,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000084,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009c,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000006,0x00000004,0x00040020,
- 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000001,0x00000000,
- 0x00000001,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000006,0x00000002,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
0x0004002b,0x00000006,0x00000038,0x00000003,0x00040020,0x00000039,0x00000009,0x00000006,
0x00040017,0x0000003c,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000040,0x00000002,
0x0004002b,0x00000006,0x00000044,0x00000005,0x0004002b,0x00000012,0x0000004a,0x00000003,
- 0x0004002b,0x00000006,0x00000054,0x00000006,0x00040020,0x00000068,0x00000007,0x0000000b,
- 0x0004002b,0x00000006,0x0000006c,0x00000007,0x0004002b,0x00000006,0x00000077,0x00000008,
- 0x00040020,0x0000007d,0x00000007,0x0000000a,0x0004002b,0x00000006,0x00000083,0x00000009,
- 0x0004002b,0x0000000a,0x0000008b,0x00000000,0x0004002b,0x00000012,0x00000092,0x00000002,
- 0x0004002b,0x0000000a,0x00000099,0x3f800000,0x00040020,0x0000009b,0x00000003,0x0000000b,
+ 0x0004002b,0x00000006,0x00000054,0x00000006,0x00040017,0x00000068,0x00000012,0x00000004,
+ 0x00040020,0x00000069,0x00000007,0x00000068,0x0004002b,0x00000006,0x0000006d,0x00000007,
+ 0x00040017,0x00000073,0x00000012,0x00000002,0x0004002b,0x00000006,0x00000079,0x00000008,
+ 0x00040020,0x0000007f,0x00000007,0x00000012,0x0004002b,0x00000006,0x00000085,0x0000000b,
+ 0x0004002b,0x00000012,0x00000093,0x00000002,0x00040020,0x0000009b,0x00000003,0x00000068,
0x0004003b,0x0000009b,0x0000009c,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x0004003b,
- 0x00000068,0x00000069,0x00000007,0x0004003b,0x00000027,0x00000082,0x00000007,0x0004003d,
+ 0x00000069,0x0000006a,0x00000007,0x0004003b,0x00000027,0x00000084,0x00000007,0x0004003d,
0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
@@ -99,37 +102,37 @@ const uint32_t kImageCopy_frag_00000003[] = {
0x0000003c,0x00000065,0x00000063,0x00000064,0x0004003d,0x0000002c,0x00000066,0x0000002e,
0x0009004f,0x0000002c,0x00000067,0x00000066,0x00000065,0x00000004,0x00000005,0x00000006,
0x00000003,0x0003003e,0x0000002e,0x00000067,0x000200f9,0x0000005f,0x000200f8,0x0000005f,
- 0x000200f9,0x00000049,0x000200f8,0x00000049,0x0004003d,0x0000002c,0x0000006a,0x0000002e,
- 0x0004006f,0x0000000b,0x0000006b,0x0000006a,0x0003003e,0x00000069,0x0000006b,0x00050041,
- 0x0000001e,0x0000006d,0x00000015,0x0000006c,0x0004003d,0x00000012,0x0000006e,0x0000006d,
- 0x000500ab,0x00000021,0x0000006f,0x0000006e,0x00000022,0x000300f7,0x00000071,0x00000000,
- 0x000400fa,0x0000006f,0x00000070,0x00000076,0x000200f8,0x00000070,0x0004003d,0x0000000b,
- 0x00000072,0x00000069,0x0007004f,0x0000000e,0x00000073,0x00000072,0x00000072,0x00000000,
- 0x00000003,0x0004003d,0x0000000b,0x00000074,0x00000069,0x0009004f,0x0000000b,0x00000075,
- 0x00000074,0x00000073,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x00000069,
- 0x00000075,0x000200f9,0x00000071,0x000200f8,0x00000076,0x00050041,0x0000001e,0x00000078,
- 0x00000015,0x00000077,0x0004003d,0x00000012,0x00000079,0x00000078,0x000500ab,0x00000021,
- 0x0000007a,0x00000079,0x00000022,0x000300f7,0x0000007c,0x00000000,0x000400fa,0x0000007a,
- 0x0000007b,0x00000081,0x000200f8,0x0000007b,0x00050041,0x0000007d,0x0000007e,0x00000069,
- 0x0000004a,0x0004003d,0x0000000a,0x0000007f,0x0000007e,0x00050041,0x0000007d,0x00000080,
- 0x00000069,0x00000022,0x0003003e,0x00000080,0x0000007f,0x000200f9,0x0000007c,0x000200f8,
- 0x00000081,0x00050041,0x00000039,0x00000084,0x00000015,0x00000083,0x0004003d,0x00000006,
- 0x00000085,0x00000084,0x0003003e,0x00000082,0x00000085,0x0004003d,0x00000006,0x00000086,
- 0x00000082,0x000500c7,0x00000006,0x00000087,0x00000086,0x00000040,0x000500ab,0x00000021,
- 0x00000088,0x00000087,0x00000033,0x000300f7,0x0000008a,0x00000000,0x000400fa,0x00000088,
- 0x00000089,0x0000008a,0x000200f8,0x00000089,0x00050041,0x0000007d,0x0000008c,0x00000069,
- 0x00000026,0x0003003e,0x0000008c,0x0000008b,0x000200f9,0x0000008a,0x000200f8,0x0000008a,
- 0x0004003d,0x00000006,0x0000008d,0x00000082,0x000500c7,0x00000006,0x0000008e,0x0000008d,
- 0x0000001d,0x000500ab,0x00000021,0x0000008f,0x0000008e,0x00000033,0x000300f7,0x00000091,
- 0x00000000,0x000400fa,0x0000008f,0x00000090,0x00000091,0x000200f8,0x00000090,0x00050041,
- 0x0000007d,0x00000093,0x00000069,0x00000092,0x0003003e,0x00000093,0x0000008b,0x000200f9,
- 0x00000091,0x000200f8,0x00000091,0x0004003d,0x00000006,0x00000094,0x00000082,0x000500c7,
- 0x00000006,0x00000095,0x00000094,0x00000077,0x000500ab,0x00000021,0x00000096,0x00000095,
- 0x00000033,0x000300f7,0x00000098,0x00000000,0x000400fa,0x00000096,0x00000097,0x00000098,
- 0x000200f8,0x00000097,0x00050041,0x0000007d,0x0000009a,0x00000069,0x0000004a,0x0003003e,
- 0x0000009a,0x00000099,0x000200f9,0x00000098,0x000200f8,0x00000098,0x000200f9,0x0000007c,
- 0x000200f8,0x0000007c,0x000200f9,0x00000071,0x000200f8,0x00000071,0x0004003d,0x0000000b,
- 0x0000009d,0x00000069,0x0003003e,0x0000009c,0x0000009d,0x000100fd,0x00010038
+ 0x000200f9,0x00000049,0x000200f8,0x00000049,0x0004003d,0x0000002c,0x0000006b,0x0000002e,
+ 0x0004007c,0x00000068,0x0000006c,0x0000006b,0x0003003e,0x0000006a,0x0000006c,0x00050041,
+ 0x0000001e,0x0000006e,0x00000015,0x0000006d,0x0004003d,0x00000012,0x0000006f,0x0000006e,
+ 0x000500ab,0x00000021,0x00000070,0x0000006f,0x00000022,0x000300f7,0x00000072,0x00000000,
+ 0x000400fa,0x00000070,0x00000071,0x00000078,0x000200f8,0x00000071,0x0004003d,0x00000068,
+ 0x00000074,0x0000006a,0x0007004f,0x00000073,0x00000075,0x00000074,0x00000074,0x00000000,
+ 0x00000003,0x0004003d,0x00000068,0x00000076,0x0000006a,0x0009004f,0x00000068,0x00000077,
+ 0x00000076,0x00000075,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000006a,
+ 0x00000077,0x000200f9,0x00000072,0x000200f8,0x00000078,0x00050041,0x0000001e,0x0000007a,
+ 0x00000015,0x00000079,0x0004003d,0x00000012,0x0000007b,0x0000007a,0x000500ab,0x00000021,
+ 0x0000007c,0x0000007b,0x00000022,0x000300f7,0x0000007e,0x00000000,0x000400fa,0x0000007c,
+ 0x0000007d,0x00000083,0x000200f8,0x0000007d,0x00050041,0x0000007f,0x00000080,0x0000006a,
+ 0x0000004a,0x0004003d,0x00000012,0x00000081,0x00000080,0x00050041,0x0000007f,0x00000082,
+ 0x0000006a,0x00000022,0x0003003e,0x00000082,0x00000081,0x000200f9,0x0000007e,0x000200f8,
+ 0x00000083,0x00050041,0x00000039,0x00000086,0x00000015,0x00000085,0x0004003d,0x00000006,
+ 0x00000087,0x00000086,0x0003003e,0x00000084,0x00000087,0x0004003d,0x00000006,0x00000088,
+ 0x00000084,0x000500c7,0x00000006,0x00000089,0x00000088,0x00000040,0x000500ab,0x00000021,
+ 0x0000008a,0x00000089,0x00000033,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,
+ 0x0000008b,0x0000008c,0x000200f8,0x0000008b,0x00050041,0x0000007f,0x0000008d,0x0000006a,
+ 0x00000026,0x0003003e,0x0000008d,0x00000022,0x000200f9,0x0000008c,0x000200f8,0x0000008c,
+ 0x0004003d,0x00000006,0x0000008e,0x00000084,0x000500c7,0x00000006,0x0000008f,0x0000008e,
+ 0x0000001d,0x000500ab,0x00000021,0x00000090,0x0000008f,0x00000033,0x000300f7,0x00000092,
+ 0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x00050041,
+ 0x0000007f,0x00000094,0x0000006a,0x00000093,0x0003003e,0x00000094,0x00000022,0x000200f9,
+ 0x00000092,0x000200f8,0x00000092,0x0004003d,0x00000006,0x00000095,0x00000084,0x000500c7,
+ 0x00000006,0x00000096,0x00000095,0x00000079,0x000500ab,0x00000021,0x00000097,0x00000096,
+ 0x00000033,0x000300f7,0x00000099,0x00000000,0x000400fa,0x00000097,0x00000098,0x00000099,
+ 0x000200f8,0x00000098,0x00050041,0x0000007f,0x0000009a,0x0000006a,0x0000004a,0x0003003e,
+ 0x0000009a,0x00000026,0x000200f9,0x00000099,0x000200f8,0x00000099,0x000200f9,0x0000007e,
+ 0x000200f8,0x0000007e,0x000200f9,0x00000072,0x000200f8,0x00000072,0x0004003d,0x00000068,
+ 0x0000009d,0x0000006a,0x0003003e,0x0000009c,0x0000009d,0x000100fd,0x00010038
};
// Generated from:
@@ -138,8 +141,8 @@ const uint32_t kImageCopy_frag_00000003[] = {
//
// #extension GL_EXT_samplerless_texture_functions : require
//
-// layout(set = 0, binding = 0)uniform itexture2DArray src;
-// layout(location = 0)out vec4 dest;
+// layout(set = 0, binding = 0)uniform itexture3D src;
+// layout(location = 0)out uvec4 dest;
//
// layout(push_constant)uniform PushConstants {
//
@@ -156,6 +159,9 @@ const uint32_t kImageCopy_frag_00000003[] = {
// bool destHasLuminance;
// bool destIsAlpha;
//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
// int destDefaultChannelsMask;
// } params;
//
@@ -166,7 +172,9 @@ const uint32_t kImageCopy_frag_00000003[] = {
// ivec2 srcSubImageCoords = destSubImageCoords;
//
// if(params . flipY)
+// {
// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
//
// ivec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
//
@@ -179,7 +187,7 @@ const uint32_t kImageCopy_frag_00000003[] = {
// srcValue . rgb /= srcValue . a;
// }
//
-// vec4 destValue = vec4(srcValue);
+// uvec4 destValue = uvec4(srcValue);
//
// if(params . destHasLuminance)
// {
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc
new file mode 100644
index 00000000000..2d07200b0f3
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc
@@ -0,0 +1,274 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000028[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000d0,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000026,0x000000ce,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x0000000a,0x42475273,0x694c6f54,
+ 0x7261656e,0x3b316628,0x00000000,0x00040005,0x00000009,0x42475273,0x00000000,0x00070005,
+ 0x00000023,0x74736564,0x49627553,0x6567616d,0x726f6f43,0x00007364,0x00060005,0x00000026,
+ 0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00060005,0x0000002c,0x68737550,0x736e6f43,
+ 0x746e6174,0x00000073,0x00060006,0x0000002c,0x00000000,0x4f637273,0x65736666,0x00000074,
+ 0x00060006,0x0000002c,0x00000001,0x74736564,0x7366664f,0x00007465,0x00050006,0x0000002c,
+ 0x00000002,0x4d637273,0x00007069,0x00060006,0x0000002c,0x00000003,0x4c637273,0x72657961,
+ 0x00000000,0x00050006,0x0000002c,0x00000004,0x70696c66,0x00000059,0x00080006,0x0000002c,
+ 0x00000005,0x6d657270,0x69746c75,0x41796c70,0x6168706c,0x00000000,0x00070006,0x0000002c,
+ 0x00000006,0x756d6e75,0x7069746c,0x6c41796c,0x00616870,0x00080006,0x0000002c,0x00000007,
+ 0x74736564,0x4c736148,0x6e696d75,0x65636e61,0x00000000,0x00060006,0x0000002c,0x00000008,
+ 0x74736564,0x6c417349,0x00616870,0x00060006,0x0000002c,0x00000009,0x49637273,0x47525373,
+ 0x00000042,0x00060006,0x0000002c,0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,
+ 0x0000002c,0x0000000b,0x74736564,0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,
+ 0x00040005,0x0000002e,0x61726170,0x0000736d,0x00070005,0x00000034,0x53637273,0x6d496275,
+ 0x43656761,0x64726f6f,0x00000073,0x00050005,0x00000046,0x56637273,0x65756c61,0x00000000,
+ 0x00030005,0x00000049,0x00637273,0x00050005,0x00000083,0x74736564,0x756c6156,0x00000065,
+ 0x00040005,0x00000090,0x61726170,0x0000006d,0x00040005,0x00000095,0x61726170,0x0000006d,
+ 0x00040005,0x0000009a,0x61726170,0x0000006d,0x00070005,0x000000b5,0x61666564,0x43746c75,
+ 0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x000000ce,0x74736564,0x00000000,0x00040047,
+ 0x00000026,0x0000000b,0x0000000f,0x00050048,0x0000002c,0x00000000,0x00000023,0x00000000,
+ 0x00050048,0x0000002c,0x00000001,0x00000023,0x00000008,0x00050048,0x0000002c,0x00000002,
+ 0x00000023,0x00000010,0x00050048,0x0000002c,0x00000003,0x00000023,0x00000014,0x00050048,
+ 0x0000002c,0x00000004,0x00000023,0x00000018,0x00050048,0x0000002c,0x00000005,0x00000023,
+ 0x0000001c,0x00050048,0x0000002c,0x00000006,0x00000023,0x00000020,0x00050048,0x0000002c,
+ 0x00000007,0x00000023,0x00000024,0x00050048,0x0000002c,0x00000008,0x00000023,0x00000028,
+ 0x00050048,0x0000002c,0x00000009,0x00000023,0x0000002c,0x00050048,0x0000002c,0x0000000a,
+ 0x00000023,0x00000030,0x00050048,0x0000002c,0x0000000b,0x00000023,0x00000034,0x00030047,
+ 0x0000002c,0x00000002,0x00040047,0x00000049,0x00000022,0x00000000,0x00040047,0x00000049,
+ 0x00000021,0x00000000,0x00040047,0x000000ce,0x0000001e,0x00000000,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040020,0x00000007,
+ 0x00000007,0x00000006,0x00040021,0x00000008,0x00000006,0x00000007,0x0004002b,0x00000006,
+ 0x0000000d,0x3d25aee6,0x00020014,0x0000000e,0x0004002b,0x00000006,0x00000013,0x414eb852,
+ 0x0004002b,0x00000006,0x00000018,0x3d6147ae,0x0004002b,0x00000006,0x0000001a,0x3f870a3d,
+ 0x0004002b,0x00000006,0x0000001c,0x4019999a,0x00040015,0x00000020,0x00000020,0x00000001,
+ 0x00040017,0x00000021,0x00000020,0x00000002,0x00040020,0x00000022,0x00000007,0x00000021,
+ 0x00040017,0x00000024,0x00000006,0x00000004,0x00040020,0x00000025,0x00000001,0x00000024,
+ 0x0004003b,0x00000025,0x00000026,0x00000001,0x00040017,0x00000027,0x00000006,0x00000002,
+ 0x00040015,0x0000002b,0x00000020,0x00000000,0x000e001e,0x0000002c,0x00000021,0x00000021,
+ 0x00000020,0x00000020,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,0x0000002b,
+ 0x0000002b,0x00000020,0x00040020,0x0000002d,0x00000009,0x0000002c,0x0004003b,0x0000002d,
+ 0x0000002e,0x00000009,0x0004002b,0x00000020,0x0000002f,0x00000001,0x00040020,0x00000030,
+ 0x00000009,0x00000021,0x0004002b,0x00000020,0x00000036,0x00000004,0x00040020,0x00000037,
+ 0x00000009,0x0000002b,0x0004002b,0x0000002b,0x0000003a,0x00000000,0x0004002b,0x0000002b,
+ 0x0000003e,0x00000001,0x00040020,0x0000003f,0x00000007,0x00000020,0x00040017,0x00000044,
+ 0x0000002b,0x00000004,0x00040020,0x00000045,0x00000007,0x00000044,0x00090019,0x00000047,
+ 0x0000002b,0x00000002,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,
+ 0x00000048,0x00000000,0x00000047,0x0004003b,0x00000048,0x00000049,0x00000000,0x0004002b,
+ 0x00000020,0x0000004b,0x00000000,0x0004002b,0x00000020,0x00000050,0x00000003,0x00040020,
+ 0x00000051,0x00000009,0x00000020,0x00040017,0x00000054,0x00000020,0x00000003,0x0004002b,
+ 0x00000020,0x00000058,0x00000002,0x0004002b,0x00000020,0x0000005c,0x00000005,0x0004002b,
+ 0x0000002b,0x00000062,0x00000003,0x00040020,0x00000063,0x00000007,0x0000002b,0x00040017,
+ 0x00000066,0x0000002b,0x00000003,0x0004002b,0x00000020,0x0000006e,0x00000006,0x00040020,
+ 0x00000082,0x00000007,0x00000024,0x0004002b,0x00000006,0x00000086,0x437f0000,0x0004002b,
+ 0x00000020,0x0000008a,0x0000000a,0x0004002b,0x0000002b,0x0000009b,0x00000002,0x0004002b,
+ 0x00000020,0x000000a0,0x00000007,0x0004002b,0x00000020,0x000000ab,0x00000008,0x0004002b,
+ 0x00000020,0x000000b6,0x0000000b,0x0004002b,0x00000006,0x000000be,0x00000000,0x0004002b,
+ 0x00000006,0x000000cb,0x3f800000,0x00040020,0x000000cd,0x00000003,0x00000024,0x0004003b,
+ 0x000000cd,0x000000ce,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
+ 0x000200f8,0x00000005,0x0004003b,0x00000022,0x00000023,0x00000007,0x0004003b,0x00000022,
+ 0x00000034,0x00000007,0x0004003b,0x00000045,0x00000046,0x00000007,0x0004003b,0x00000082,
+ 0x00000083,0x00000007,0x0004003b,0x00000007,0x00000090,0x00000007,0x0004003b,0x00000007,
+ 0x00000095,0x00000007,0x0004003b,0x00000007,0x0000009a,0x00000007,0x0004003b,0x0000003f,
+ 0x000000b5,0x00000007,0x0004003d,0x00000024,0x00000028,0x00000026,0x0007004f,0x00000027,
+ 0x00000029,0x00000028,0x00000028,0x00000000,0x00000001,0x0004006e,0x00000021,0x0000002a,
+ 0x00000029,0x00050041,0x00000030,0x00000031,0x0000002e,0x0000002f,0x0004003d,0x00000021,
+ 0x00000032,0x00000031,0x00050082,0x00000021,0x00000033,0x0000002a,0x00000032,0x0003003e,
+ 0x00000023,0x00000033,0x0004003d,0x00000021,0x00000035,0x00000023,0x0003003e,0x00000034,
+ 0x00000035,0x00050041,0x00000037,0x00000038,0x0000002e,0x00000036,0x0004003d,0x0000002b,
+ 0x00000039,0x00000038,0x000500ab,0x0000000e,0x0000003b,0x00000039,0x0000003a,0x000300f7,
+ 0x0000003d,0x00000000,0x000400fa,0x0000003b,0x0000003c,0x0000003d,0x000200f8,0x0000003c,
+ 0x00050041,0x0000003f,0x00000040,0x00000034,0x0000003e,0x0004003d,0x00000020,0x00000041,
+ 0x00000040,0x0004007e,0x00000020,0x00000042,0x00000041,0x00050041,0x0000003f,0x00000043,
+ 0x00000034,0x0000003e,0x0003003e,0x00000043,0x00000042,0x000200f9,0x0000003d,0x000200f8,
+ 0x0000003d,0x0004003d,0x00000047,0x0000004a,0x00000049,0x00050041,0x00000030,0x0000004c,
+ 0x0000002e,0x0000004b,0x0004003d,0x00000021,0x0000004d,0x0000004c,0x0004003d,0x00000021,
+ 0x0000004e,0x00000034,0x00050080,0x00000021,0x0000004f,0x0000004d,0x0000004e,0x00050041,
+ 0x00000051,0x00000052,0x0000002e,0x00000050,0x0004003d,0x00000020,0x00000053,0x00000052,
+ 0x00050051,0x00000020,0x00000055,0x0000004f,0x00000000,0x00050051,0x00000020,0x00000056,
+ 0x0000004f,0x00000001,0x00060050,0x00000054,0x00000057,0x00000055,0x00000056,0x00000053,
+ 0x00050041,0x00000051,0x00000059,0x0000002e,0x00000058,0x0004003d,0x00000020,0x0000005a,
+ 0x00000059,0x0007005f,0x00000044,0x0000005b,0x0000004a,0x00000057,0x00000002,0x0000005a,
+ 0x0003003e,0x00000046,0x0000005b,0x00050041,0x00000037,0x0000005d,0x0000002e,0x0000005c,
+ 0x0004003d,0x0000002b,0x0000005e,0x0000005d,0x000500ab,0x0000000e,0x0000005f,0x0000005e,
+ 0x0000003a,0x000300f7,0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x0000006d,
+ 0x000200f8,0x00000060,0x00050041,0x00000063,0x00000064,0x00000046,0x00000062,0x0004003d,
+ 0x0000002b,0x00000065,0x00000064,0x0004003d,0x00000044,0x00000067,0x00000046,0x0008004f,
+ 0x00000066,0x00000068,0x00000067,0x00000067,0x00000000,0x00000001,0x00000002,0x00060050,
+ 0x00000066,0x00000069,0x00000065,0x00000065,0x00000065,0x00050084,0x00000066,0x0000006a,
+ 0x00000068,0x00000069,0x0004003d,0x00000044,0x0000006b,0x00000046,0x0009004f,0x00000044,
+ 0x0000006c,0x0000006b,0x0000006a,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,
+ 0x00000046,0x0000006c,0x000200f9,0x00000061,0x000200f8,0x0000006d,0x00050041,0x00000037,
+ 0x0000006f,0x0000002e,0x0000006e,0x0004003d,0x0000002b,0x00000070,0x0000006f,0x000500ab,
+ 0x0000000e,0x00000071,0x00000070,0x0000003a,0x000300f7,0x00000073,0x00000000,0x000400fa,
+ 0x00000071,0x00000072,0x00000073,0x000200f8,0x00000072,0x00050041,0x00000063,0x00000074,
+ 0x00000046,0x00000062,0x0004003d,0x0000002b,0x00000075,0x00000074,0x000500ac,0x0000000e,
+ 0x00000076,0x00000075,0x0000003a,0x000200f9,0x00000073,0x000200f8,0x00000073,0x000700f5,
+ 0x0000000e,0x00000077,0x00000071,0x0000006d,0x00000076,0x00000072,0x000300f7,0x00000079,
+ 0x00000000,0x000400fa,0x00000077,0x00000078,0x00000079,0x000200f8,0x00000078,0x00050041,
+ 0x00000063,0x0000007a,0x00000046,0x00000062,0x0004003d,0x0000002b,0x0000007b,0x0000007a,
+ 0x0004003d,0x00000044,0x0000007c,0x00000046,0x0008004f,0x00000066,0x0000007d,0x0000007c,
+ 0x0000007c,0x00000000,0x00000001,0x00000002,0x00060050,0x00000066,0x0000007e,0x0000007b,
+ 0x0000007b,0x0000007b,0x00050086,0x00000066,0x0000007f,0x0000007d,0x0000007e,0x0004003d,
+ 0x00000044,0x00000080,0x00000046,0x0009004f,0x00000044,0x00000081,0x00000080,0x0000007f,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x00000046,0x00000081,0x000200f9,
+ 0x00000079,0x000200f8,0x00000079,0x000200f9,0x00000061,0x000200f8,0x00000061,0x0004003d,
+ 0x00000044,0x00000084,0x00000046,0x00040070,0x00000024,0x00000085,0x00000084,0x0003003e,
+ 0x00000083,0x00000085,0x0004003d,0x00000024,0x00000087,0x00000083,0x00070050,0x00000024,
+ 0x00000088,0x00000086,0x00000086,0x00000086,0x00000086,0x00050088,0x00000024,0x00000089,
+ 0x00000087,0x00000088,0x0003003e,0x00000083,0x00000089,0x00050041,0x00000037,0x0000008b,
+ 0x0000002e,0x0000008a,0x0004003d,0x0000002b,0x0000008c,0x0000008b,0x000500ab,0x0000000e,
+ 0x0000008d,0x0000008c,0x0000003a,0x000300f7,0x0000008f,0x00000000,0x000400fa,0x0000008d,
+ 0x0000008e,0x0000008f,0x000200f8,0x0000008e,0x00050041,0x00000007,0x00000091,0x00000083,
+ 0x0000003a,0x0004003d,0x00000006,0x00000092,0x00000091,0x0003003e,0x00000090,0x00000092,
+ 0x00050039,0x00000006,0x00000093,0x0000000a,0x00000090,0x00050041,0x00000007,0x00000094,
+ 0x00000083,0x0000003a,0x0003003e,0x00000094,0x00000093,0x00050041,0x00000007,0x00000096,
+ 0x00000083,0x0000003e,0x0004003d,0x00000006,0x00000097,0x00000096,0x0003003e,0x00000095,
+ 0x00000097,0x00050039,0x00000006,0x00000098,0x0000000a,0x00000095,0x00050041,0x00000007,
+ 0x00000099,0x00000083,0x0000003e,0x0003003e,0x00000099,0x00000098,0x00050041,0x00000007,
+ 0x0000009c,0x00000083,0x0000009b,0x0004003d,0x00000006,0x0000009d,0x0000009c,0x0003003e,
+ 0x0000009a,0x0000009d,0x00050039,0x00000006,0x0000009e,0x0000000a,0x0000009a,0x00050041,
+ 0x00000007,0x0000009f,0x00000083,0x0000009b,0x0003003e,0x0000009f,0x0000009e,0x000200f9,
+ 0x0000008f,0x000200f8,0x0000008f,0x00050041,0x00000037,0x000000a1,0x0000002e,0x000000a0,
+ 0x0004003d,0x0000002b,0x000000a2,0x000000a1,0x000500ab,0x0000000e,0x000000a3,0x000000a2,
+ 0x0000003a,0x000300f7,0x000000a5,0x00000000,0x000400fa,0x000000a3,0x000000a4,0x000000aa,
+ 0x000200f8,0x000000a4,0x0004003d,0x00000024,0x000000a6,0x00000083,0x0007004f,0x00000027,
+ 0x000000a7,0x000000a6,0x000000a6,0x00000000,0x00000003,0x0004003d,0x00000024,0x000000a8,
+ 0x00000083,0x0009004f,0x00000024,0x000000a9,0x000000a8,0x000000a7,0x00000004,0x00000005,
+ 0x00000002,0x00000003,0x0003003e,0x00000083,0x000000a9,0x000200f9,0x000000a5,0x000200f8,
+ 0x000000aa,0x00050041,0x00000037,0x000000ac,0x0000002e,0x000000ab,0x0004003d,0x0000002b,
+ 0x000000ad,0x000000ac,0x000500ab,0x0000000e,0x000000ae,0x000000ad,0x0000003a,0x000300f7,
+ 0x000000b0,0x00000000,0x000400fa,0x000000ae,0x000000af,0x000000b4,0x000200f8,0x000000af,
+ 0x00050041,0x00000007,0x000000b1,0x00000083,0x00000062,0x0004003d,0x00000006,0x000000b2,
+ 0x000000b1,0x00050041,0x00000007,0x000000b3,0x00000083,0x0000003a,0x0003003e,0x000000b3,
+ 0x000000b2,0x000200f9,0x000000b0,0x000200f8,0x000000b4,0x00050041,0x00000051,0x000000b7,
+ 0x0000002e,0x000000b6,0x0004003d,0x00000020,0x000000b8,0x000000b7,0x0003003e,0x000000b5,
+ 0x000000b8,0x0004003d,0x00000020,0x000000b9,0x000000b5,0x000500c7,0x00000020,0x000000ba,
+ 0x000000b9,0x00000058,0x000500ab,0x0000000e,0x000000bb,0x000000ba,0x0000004b,0x000300f7,
+ 0x000000bd,0x00000000,0x000400fa,0x000000bb,0x000000bc,0x000000bd,0x000200f8,0x000000bc,
+ 0x00050041,0x00000007,0x000000bf,0x00000083,0x0000003e,0x0003003e,0x000000bf,0x000000be,
+ 0x000200f9,0x000000bd,0x000200f8,0x000000bd,0x0004003d,0x00000020,0x000000c0,0x000000b5,
+ 0x000500c7,0x00000020,0x000000c1,0x000000c0,0x00000036,0x000500ab,0x0000000e,0x000000c2,
+ 0x000000c1,0x0000004b,0x000300f7,0x000000c4,0x00000000,0x000400fa,0x000000c2,0x000000c3,
+ 0x000000c4,0x000200f8,0x000000c3,0x00050041,0x00000007,0x000000c5,0x00000083,0x0000009b,
+ 0x0003003e,0x000000c5,0x000000be,0x000200f9,0x000000c4,0x000200f8,0x000000c4,0x0004003d,
+ 0x00000020,0x000000c6,0x000000b5,0x000500c7,0x00000020,0x000000c7,0x000000c6,0x000000ab,
+ 0x000500ab,0x0000000e,0x000000c8,0x000000c7,0x0000004b,0x000300f7,0x000000ca,0x00000000,
+ 0x000400fa,0x000000c8,0x000000c9,0x000000ca,0x000200f8,0x000000c9,0x00050041,0x00000007,
+ 0x000000cc,0x00000083,0x00000062,0x0003003e,0x000000cc,0x000000cb,0x000200f9,0x000000ca,
+ 0x000200f8,0x000000ca,0x000200f9,0x000000b0,0x000200f8,0x000000b0,0x000200f9,0x000000a5,
+ 0x000200f8,0x000000a5,0x0004003d,0x00000024,0x000000cf,0x00000083,0x0003003e,0x000000ce,
+ 0x000000cf,0x000100fd,0x00010038,0x00050036,0x00000006,0x0000000a,0x00000000,0x00000008,
+ 0x00030037,0x00000007,0x00000009,0x000200f8,0x0000000b,0x0004003d,0x00000006,0x0000000c,
+ 0x00000009,0x000500bc,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x000300f7,0x00000011,
+ 0x00000000,0x000400fa,0x0000000f,0x00000010,0x00000016,0x000200f8,0x00000010,0x0004003d,
+ 0x00000006,0x00000012,0x00000009,0x00050088,0x00000006,0x00000014,0x00000012,0x00000013,
+ 0x000200fe,0x00000014,0x000200f8,0x00000016,0x0004003d,0x00000006,0x00000017,0x00000009,
+ 0x00050081,0x00000006,0x00000019,0x00000017,0x00000018,0x00050088,0x00000006,0x0000001b,
+ 0x00000019,0x0000001a,0x0007000c,0x00000006,0x0000001d,0x00000001,0x0000001a,0x0000001b,
+ 0x0000001c,0x000200fe,0x0000001d,0x000200f8,0x00000011,0x000100ff,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform utexture3D src;
+// layout(location = 0)out vec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// float sRGBToLinear(float sRGB)
+// {
+//
+// if(sRGB <= 0.04045)
+// {
+// return sRGB / 12.92;
+// }
+// else
+// {
+// return pow((sRGB + 0.055f)/ 1.055f, 2.4f);
+// }
+// }
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// vec4 destValue = vec4(srcValue);
+//
+// destValue /= 255.0;
+//
+// if(params . destIsSRGB)
+// {
+//
+// destValue . r = sRGBToLinear(destValue . r);
+// destValue . g = sRGBToLinear(destValue . g);
+// destValue . b = sRGBToLinear(destValue . b);
+// }
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc
new file mode 100644
index 00000000000..82a7cf78842
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc
@@ -0,0 +1,218 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_00000029[] = {
+ 0x07230203,0x00010000,0x0008000a,0x0000009e,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009c,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
+ 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
+ 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
+ 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
+ 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
+ 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
+ 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x0000006c,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000084,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009c,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009c,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
+ 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
+ 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
+ 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
+ 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000002,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
+ 0x0004002b,0x00000006,0x00000038,0x00000003,0x00040020,0x00000039,0x00000009,0x00000006,
+ 0x00040017,0x0000003c,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000040,0x00000002,
+ 0x0004002b,0x00000006,0x00000044,0x00000005,0x0004002b,0x00000012,0x0000004a,0x00000003,
+ 0x00040020,0x0000004b,0x00000007,0x00000012,0x00040017,0x0000004e,0x00000012,0x00000003,
+ 0x0004002b,0x00000006,0x00000056,0x00000006,0x00040017,0x0000006a,0x00000006,0x00000004,
+ 0x00040020,0x0000006b,0x00000007,0x0000006a,0x0004002b,0x00000006,0x0000006f,0x00000007,
+ 0x0004002b,0x00000006,0x0000007a,0x00000008,0x0004002b,0x00000006,0x00000085,0x0000000b,
+ 0x0004002b,0x00000012,0x00000093,0x00000002,0x00040020,0x0000009b,0x00000003,0x0000006a,
+ 0x0004003b,0x0000009b,0x0000009c,0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,0x00000009,0x00000007,0x0004003b,
+ 0x00000008,0x0000001b,0x00000007,0x0004003b,0x0000002d,0x0000002e,0x00000007,0x0004003b,
+ 0x0000006b,0x0000006c,0x00000007,0x0004003b,0x00000027,0x00000084,0x00000007,0x0004003d,
+ 0x0000000b,0x0000000f,0x0000000d,0x0007004f,0x0000000e,0x00000010,0x0000000f,0x0000000f,
+ 0x00000000,0x00000001,0x0004006e,0x00000007,0x00000011,0x00000010,0x00050041,0x00000017,
+ 0x00000018,0x00000015,0x00000016,0x0004003d,0x00000007,0x00000019,0x00000018,0x00050082,
+ 0x00000007,0x0000001a,0x00000011,0x00000019,0x0003003e,0x00000009,0x0000001a,0x0004003d,
+ 0x00000007,0x0000001c,0x00000009,0x0003003e,0x0000001b,0x0000001c,0x00050041,0x0000001e,
+ 0x0000001f,0x00000015,0x0000001d,0x0004003d,0x00000012,0x00000020,0x0000001f,0x000500ab,
+ 0x00000021,0x00000023,0x00000020,0x00000022,0x000300f7,0x00000025,0x00000000,0x000400fa,
+ 0x00000023,0x00000024,0x00000025,0x000200f8,0x00000024,0x00050041,0x00000027,0x00000028,
+ 0x0000001b,0x00000026,0x0004003d,0x00000006,0x00000029,0x00000028,0x0004007e,0x00000006,
+ 0x0000002a,0x00000029,0x00050041,0x00000027,0x0000002b,0x0000001b,0x00000026,0x0003003e,
+ 0x0000002b,0x0000002a,0x000200f9,0x00000025,0x000200f8,0x00000025,0x0004003d,0x0000002f,
+ 0x00000032,0x00000031,0x00050041,0x00000017,0x00000034,0x00000015,0x00000033,0x0004003d,
+ 0x00000007,0x00000035,0x00000034,0x0004003d,0x00000007,0x00000036,0x0000001b,0x00050080,
+ 0x00000007,0x00000037,0x00000035,0x00000036,0x00050041,0x00000039,0x0000003a,0x00000015,
+ 0x00000038,0x0004003d,0x00000006,0x0000003b,0x0000003a,0x00050051,0x00000006,0x0000003d,
+ 0x00000037,0x00000000,0x00050051,0x00000006,0x0000003e,0x00000037,0x00000001,0x00060050,
+ 0x0000003c,0x0000003f,0x0000003d,0x0000003e,0x0000003b,0x00050041,0x00000039,0x00000041,
+ 0x00000015,0x00000040,0x0004003d,0x00000006,0x00000042,0x00000041,0x0007005f,0x0000002c,
+ 0x00000043,0x00000032,0x0000003f,0x00000002,0x00000042,0x0003003e,0x0000002e,0x00000043,
+ 0x00050041,0x0000001e,0x00000045,0x00000015,0x00000044,0x0004003d,0x00000012,0x00000046,
+ 0x00000045,0x000500ab,0x00000021,0x00000047,0x00000046,0x00000022,0x000300f7,0x00000049,
+ 0x00000000,0x000400fa,0x00000047,0x00000048,0x00000055,0x000200f8,0x00000048,0x00050041,
+ 0x0000004b,0x0000004c,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x0000004d,0x0000004c,
+ 0x0004003d,0x0000002c,0x0000004f,0x0000002e,0x0008004f,0x0000004e,0x00000050,0x0000004f,
+ 0x0000004f,0x00000000,0x00000001,0x00000002,0x00060050,0x0000004e,0x00000051,0x0000004d,
+ 0x0000004d,0x0000004d,0x00050084,0x0000004e,0x00000052,0x00000050,0x00000051,0x0004003d,
+ 0x0000002c,0x00000053,0x0000002e,0x0009004f,0x0000002c,0x00000054,0x00000053,0x00000052,
+ 0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000054,0x000200f9,
+ 0x00000049,0x000200f8,0x00000055,0x00050041,0x0000001e,0x00000057,0x00000015,0x00000056,
+ 0x0004003d,0x00000012,0x00000058,0x00000057,0x000500ab,0x00000021,0x00000059,0x00000058,
+ 0x00000022,0x000300f7,0x0000005b,0x00000000,0x000400fa,0x00000059,0x0000005a,0x0000005b,
+ 0x000200f8,0x0000005a,0x00050041,0x0000004b,0x0000005c,0x0000002e,0x0000004a,0x0004003d,
+ 0x00000012,0x0000005d,0x0000005c,0x000500ac,0x00000021,0x0000005e,0x0000005d,0x00000022,
+ 0x000200f9,0x0000005b,0x000200f8,0x0000005b,0x000700f5,0x00000021,0x0000005f,0x00000059,
+ 0x00000055,0x0000005e,0x0000005a,0x000300f7,0x00000061,0x00000000,0x000400fa,0x0000005f,
+ 0x00000060,0x00000061,0x000200f8,0x00000060,0x00050041,0x0000004b,0x00000062,0x0000002e,
+ 0x0000004a,0x0004003d,0x00000012,0x00000063,0x00000062,0x0004003d,0x0000002c,0x00000064,
+ 0x0000002e,0x0008004f,0x0000004e,0x00000065,0x00000064,0x00000064,0x00000000,0x00000001,
+ 0x00000002,0x00060050,0x0000004e,0x00000066,0x00000063,0x00000063,0x00000063,0x00050086,
+ 0x0000004e,0x00000067,0x00000065,0x00000066,0x0004003d,0x0000002c,0x00000068,0x0000002e,
+ 0x0009004f,0x0000002c,0x00000069,0x00000068,0x00000067,0x00000004,0x00000005,0x00000006,
+ 0x00000003,0x0003003e,0x0000002e,0x00000069,0x000200f9,0x00000061,0x000200f8,0x00000061,
+ 0x000200f9,0x00000049,0x000200f8,0x00000049,0x0004003d,0x0000002c,0x0000006d,0x0000002e,
+ 0x0004007c,0x0000006a,0x0000006e,0x0000006d,0x0003003e,0x0000006c,0x0000006e,0x00050041,
+ 0x0000001e,0x00000070,0x00000015,0x0000006f,0x0004003d,0x00000012,0x00000071,0x00000070,
+ 0x000500ab,0x00000021,0x00000072,0x00000071,0x00000022,0x000300f7,0x00000074,0x00000000,
+ 0x000400fa,0x00000072,0x00000073,0x00000079,0x000200f8,0x00000073,0x0004003d,0x0000006a,
+ 0x00000075,0x0000006c,0x0007004f,0x00000007,0x00000076,0x00000075,0x00000075,0x00000000,
+ 0x00000003,0x0004003d,0x0000006a,0x00000077,0x0000006c,0x0009004f,0x0000006a,0x00000078,
+ 0x00000077,0x00000076,0x00000004,0x00000005,0x00000002,0x00000003,0x0003003e,0x0000006c,
+ 0x00000078,0x000200f9,0x00000074,0x000200f8,0x00000079,0x00050041,0x0000001e,0x0000007b,
+ 0x00000015,0x0000007a,0x0004003d,0x00000012,0x0000007c,0x0000007b,0x000500ab,0x00000021,
+ 0x0000007d,0x0000007c,0x00000022,0x000300f7,0x0000007f,0x00000000,0x000400fa,0x0000007d,
+ 0x0000007e,0x00000083,0x000200f8,0x0000007e,0x00050041,0x00000027,0x00000080,0x0000006c,
+ 0x0000004a,0x0004003d,0x00000006,0x00000081,0x00000080,0x00050041,0x00000027,0x00000082,
+ 0x0000006c,0x00000022,0x0003003e,0x00000082,0x00000081,0x000200f9,0x0000007f,0x000200f8,
+ 0x00000083,0x00050041,0x00000039,0x00000086,0x00000015,0x00000085,0x0004003d,0x00000006,
+ 0x00000087,0x00000086,0x0003003e,0x00000084,0x00000087,0x0004003d,0x00000006,0x00000088,
+ 0x00000084,0x000500c7,0x00000006,0x00000089,0x00000088,0x00000040,0x000500ab,0x00000021,
+ 0x0000008a,0x00000089,0x00000033,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x0000008a,
+ 0x0000008b,0x0000008c,0x000200f8,0x0000008b,0x00050041,0x00000027,0x0000008d,0x0000006c,
+ 0x00000026,0x0003003e,0x0000008d,0x00000033,0x000200f9,0x0000008c,0x000200f8,0x0000008c,
+ 0x0004003d,0x00000006,0x0000008e,0x00000084,0x000500c7,0x00000006,0x0000008f,0x0000008e,
+ 0x0000001d,0x000500ab,0x00000021,0x00000090,0x0000008f,0x00000033,0x000300f7,0x00000092,
+ 0x00000000,0x000400fa,0x00000090,0x00000091,0x00000092,0x000200f8,0x00000091,0x00050041,
+ 0x00000027,0x00000094,0x0000006c,0x00000093,0x0003003e,0x00000094,0x00000033,0x000200f9,
+ 0x00000092,0x000200f8,0x00000092,0x0004003d,0x00000006,0x00000095,0x00000084,0x000500c7,
+ 0x00000006,0x00000096,0x00000095,0x0000007a,0x000500ab,0x00000021,0x00000097,0x00000096,
+ 0x00000033,0x000300f7,0x00000099,0x00000000,0x000400fa,0x00000097,0x00000098,0x00000099,
+ 0x000200f8,0x00000098,0x00050041,0x00000027,0x0000009a,0x0000006c,0x0000004a,0x0003003e,
+ 0x0000009a,0x00000016,0x000200f9,0x00000099,0x000200f8,0x00000099,0x000200f9,0x0000007f,
+ 0x000200f8,0x0000007f,0x000200f9,0x00000074,0x000200f8,0x00000074,0x0004003d,0x0000006a,
+ 0x0000009d,0x0000006c,0x0003003e,0x0000009c,0x0000009d,0x000100fd,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform utexture3D src;
+// layout(location = 0)out ivec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// ivec4 destValue = ivec4(srcValue);
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc
new file mode 100644
index 00000000000..b5bc579ae5d
--- /dev/null
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc
@@ -0,0 +1,221 @@
+ // 10.15.3802
+ #pragma once
+const uint32_t kImageCopy_frag_0000002A[] = {
+ 0x07230203,0x00010000,0x0008000a,0x000000a1,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
+ 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000009f,0x00030010,
+ 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x000b0004,0x455f4c47,0x735f5458,
+ 0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,
+ 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,0x00000009,0x74736564,0x49627553,
+ 0x6567616d,0x726f6f43,0x00007364,0x00060005,0x0000000d,0x465f6c67,0x43676172,0x64726f6f,
+ 0x00000000,0x00060005,0x00000013,0x68737550,0x736e6f43,0x746e6174,0x00000073,0x00060006,
+ 0x00000013,0x00000000,0x4f637273,0x65736666,0x00000074,0x00060006,0x00000013,0x00000001,
+ 0x74736564,0x7366664f,0x00007465,0x00050006,0x00000013,0x00000002,0x4d637273,0x00007069,
+ 0x00060006,0x00000013,0x00000003,0x4c637273,0x72657961,0x00000000,0x00050006,0x00000013,
+ 0x00000004,0x70696c66,0x00000059,0x00080006,0x00000013,0x00000005,0x6d657270,0x69746c75,
+ 0x41796c70,0x6168706c,0x00000000,0x00070006,0x00000013,0x00000006,0x756d6e75,0x7069746c,
+ 0x6c41796c,0x00616870,0x00080006,0x00000013,0x00000007,0x74736564,0x4c736148,0x6e696d75,
+ 0x65636e61,0x00000000,0x00060006,0x00000013,0x00000008,0x74736564,0x6c417349,0x00616870,
+ 0x00060006,0x00000013,0x00000009,0x49637273,0x47525373,0x00000042,0x00060006,0x00000013,
+ 0x0000000a,0x74736564,0x52537349,0x00004247,0x00090006,0x00000013,0x0000000b,0x74736564,
+ 0x61666544,0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x00000015,0x61726170,
+ 0x0000736d,0x00070005,0x0000001b,0x53637273,0x6d496275,0x43656761,0x64726f6f,0x00000073,
+ 0x00050005,0x0000002e,0x56637273,0x65756c61,0x00000000,0x00030005,0x00000031,0x00637273,
+ 0x00050005,0x0000006a,0x74736564,0x756c6156,0x00000065,0x00070005,0x00000087,0x61666564,
+ 0x43746c75,0x6e6e6168,0x4d736c65,0x006b7361,0x00040005,0x0000009f,0x74736564,0x00000000,
+ 0x00040047,0x0000000d,0x0000000b,0x0000000f,0x00050048,0x00000013,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x00000013,0x00000001,0x00000023,0x00000008,0x00050048,0x00000013,
+ 0x00000002,0x00000023,0x00000010,0x00050048,0x00000013,0x00000003,0x00000023,0x00000014,
+ 0x00050048,0x00000013,0x00000004,0x00000023,0x00000018,0x00050048,0x00000013,0x00000005,
+ 0x00000023,0x0000001c,0x00050048,0x00000013,0x00000006,0x00000023,0x00000020,0x00050048,
+ 0x00000013,0x00000007,0x00000023,0x00000024,0x00050048,0x00000013,0x00000008,0x00000023,
+ 0x00000028,0x00050048,0x00000013,0x00000009,0x00000023,0x0000002c,0x00050048,0x00000013,
+ 0x0000000a,0x00000023,0x00000030,0x00050048,0x00000013,0x0000000b,0x00000023,0x00000034,
+ 0x00030047,0x00000013,0x00000002,0x00040047,0x00000031,0x00000022,0x00000000,0x00040047,
+ 0x00000031,0x00000021,0x00000000,0x00040047,0x0000009f,0x0000001e,0x00000000,0x00020013,
+ 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,
+ 0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,
+ 0x00030016,0x0000000a,0x00000020,0x00040017,0x0000000b,0x0000000a,0x00000004,0x00040020,
+ 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040017,
+ 0x0000000e,0x0000000a,0x00000002,0x00040015,0x00000012,0x00000020,0x00000000,0x000e001e,
+ 0x00000013,0x00000007,0x00000007,0x00000006,0x00000006,0x00000012,0x00000012,0x00000012,
+ 0x00000012,0x00000012,0x00000012,0x00000012,0x00000006,0x00040020,0x00000014,0x00000009,
+ 0x00000013,0x0004003b,0x00000014,0x00000015,0x00000009,0x0004002b,0x00000006,0x00000016,
+ 0x00000001,0x00040020,0x00000017,0x00000009,0x00000007,0x0004002b,0x00000006,0x0000001d,
+ 0x00000004,0x00040020,0x0000001e,0x00000009,0x00000012,0x00020014,0x00000021,0x0004002b,
+ 0x00000012,0x00000022,0x00000000,0x0004002b,0x00000012,0x00000026,0x00000001,0x00040020,
+ 0x00000027,0x00000007,0x00000006,0x00040017,0x0000002c,0x00000012,0x00000004,0x00040020,
+ 0x0000002d,0x00000007,0x0000002c,0x00090019,0x0000002f,0x00000012,0x00000002,0x00000000,
+ 0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x00000030,0x00000000,0x0000002f,
+ 0x0004003b,0x00000030,0x00000031,0x00000000,0x0004002b,0x00000006,0x00000033,0x00000000,
+ 0x0004002b,0x00000006,0x00000038,0x00000003,0x00040020,0x00000039,0x00000009,0x00000006,
+ 0x00040017,0x0000003c,0x00000006,0x00000003,0x0004002b,0x00000006,0x00000040,0x00000002,
+ 0x0004002b,0x00000006,0x00000044,0x00000005,0x0004002b,0x00000012,0x0000004a,0x00000003,
+ 0x00040020,0x0000004b,0x00000007,0x00000012,0x00040017,0x0000004e,0x00000012,0x00000003,
+ 0x0004002b,0x00000006,0x00000056,0x00000006,0x0004002b,0x00000006,0x00000071,0x00000007,
+ 0x00040017,0x00000077,0x00000012,0x00000002,0x0004002b,0x00000006,0x0000007d,0x00000008,
+ 0x0004002b,0x00000006,0x00000088,0x0000000b,0x0004002b,0x00000012,0x00000096,0x00000002,
+ 0x00040020,0x0000009e,0x00000003,0x0000002c,0x0004003b,0x0000009e,0x0000009f,0x00000003,
+ 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
+ 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x0000001b,0x00000007,0x0004003b,
+ 0x0000002d,0x0000002e,0x00000007,0x0004003b,0x0000002d,0x0000006a,0x00000007,0x0004003b,
+ 0x00000027,0x00000087,0x00000007,0x0004003d,0x0000000b,0x0000000f,0x0000000d,0x0007004f,
+ 0x0000000e,0x00000010,0x0000000f,0x0000000f,0x00000000,0x00000001,0x0004006e,0x00000007,
+ 0x00000011,0x00000010,0x00050041,0x00000017,0x00000018,0x00000015,0x00000016,0x0004003d,
+ 0x00000007,0x00000019,0x00000018,0x00050082,0x00000007,0x0000001a,0x00000011,0x00000019,
+ 0x0003003e,0x00000009,0x0000001a,0x0004003d,0x00000007,0x0000001c,0x00000009,0x0003003e,
+ 0x0000001b,0x0000001c,0x00050041,0x0000001e,0x0000001f,0x00000015,0x0000001d,0x0004003d,
+ 0x00000012,0x00000020,0x0000001f,0x000500ab,0x00000021,0x00000023,0x00000020,0x00000022,
+ 0x000300f7,0x00000025,0x00000000,0x000400fa,0x00000023,0x00000024,0x00000025,0x000200f8,
+ 0x00000024,0x00050041,0x00000027,0x00000028,0x0000001b,0x00000026,0x0004003d,0x00000006,
+ 0x00000029,0x00000028,0x0004007e,0x00000006,0x0000002a,0x00000029,0x00050041,0x00000027,
+ 0x0000002b,0x0000001b,0x00000026,0x0003003e,0x0000002b,0x0000002a,0x000200f9,0x00000025,
+ 0x000200f8,0x00000025,0x0004003d,0x0000002f,0x00000032,0x00000031,0x00050041,0x00000017,
+ 0x00000034,0x00000015,0x00000033,0x0004003d,0x00000007,0x00000035,0x00000034,0x0004003d,
+ 0x00000007,0x00000036,0x0000001b,0x00050080,0x00000007,0x00000037,0x00000035,0x00000036,
+ 0x00050041,0x00000039,0x0000003a,0x00000015,0x00000038,0x0004003d,0x00000006,0x0000003b,
+ 0x0000003a,0x00050051,0x00000006,0x0000003d,0x00000037,0x00000000,0x00050051,0x00000006,
+ 0x0000003e,0x00000037,0x00000001,0x00060050,0x0000003c,0x0000003f,0x0000003d,0x0000003e,
+ 0x0000003b,0x00050041,0x00000039,0x00000041,0x00000015,0x00000040,0x0004003d,0x00000006,
+ 0x00000042,0x00000041,0x0007005f,0x0000002c,0x00000043,0x00000032,0x0000003f,0x00000002,
+ 0x00000042,0x0003003e,0x0000002e,0x00000043,0x00050041,0x0000001e,0x00000045,0x00000015,
+ 0x00000044,0x0004003d,0x00000012,0x00000046,0x00000045,0x000500ab,0x00000021,0x00000047,
+ 0x00000046,0x00000022,0x000300f7,0x00000049,0x00000000,0x000400fa,0x00000047,0x00000048,
+ 0x00000055,0x000200f8,0x00000048,0x00050041,0x0000004b,0x0000004c,0x0000002e,0x0000004a,
+ 0x0004003d,0x00000012,0x0000004d,0x0000004c,0x0004003d,0x0000002c,0x0000004f,0x0000002e,
+ 0x0008004f,0x0000004e,0x00000050,0x0000004f,0x0000004f,0x00000000,0x00000001,0x00000002,
+ 0x00060050,0x0000004e,0x00000051,0x0000004d,0x0000004d,0x0000004d,0x00050084,0x0000004e,
+ 0x00000052,0x00000050,0x00000051,0x0004003d,0x0000002c,0x00000053,0x0000002e,0x0009004f,
+ 0x0000002c,0x00000054,0x00000053,0x00000052,0x00000004,0x00000005,0x00000006,0x00000003,
+ 0x0003003e,0x0000002e,0x00000054,0x000200f9,0x00000049,0x000200f8,0x00000055,0x00050041,
+ 0x0000001e,0x00000057,0x00000015,0x00000056,0x0004003d,0x00000012,0x00000058,0x00000057,
+ 0x000500ab,0x00000021,0x00000059,0x00000058,0x00000022,0x000300f7,0x0000005b,0x00000000,
+ 0x000400fa,0x00000059,0x0000005a,0x0000005b,0x000200f8,0x0000005a,0x00050041,0x0000004b,
+ 0x0000005c,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x0000005d,0x0000005c,0x000500ac,
+ 0x00000021,0x0000005e,0x0000005d,0x00000022,0x000200f9,0x0000005b,0x000200f8,0x0000005b,
+ 0x000700f5,0x00000021,0x0000005f,0x00000059,0x00000055,0x0000005e,0x0000005a,0x000300f7,
+ 0x00000061,0x00000000,0x000400fa,0x0000005f,0x00000060,0x00000061,0x000200f8,0x00000060,
+ 0x00050041,0x0000004b,0x00000062,0x0000002e,0x0000004a,0x0004003d,0x00000012,0x00000063,
+ 0x00000062,0x0004003d,0x0000002c,0x00000064,0x0000002e,0x0008004f,0x0000004e,0x00000065,
+ 0x00000064,0x00000064,0x00000000,0x00000001,0x00000002,0x00060050,0x0000004e,0x00000066,
+ 0x00000063,0x00000063,0x00000063,0x00050086,0x0000004e,0x00000067,0x00000065,0x00000066,
+ 0x0004003d,0x0000002c,0x00000068,0x0000002e,0x0009004f,0x0000002c,0x00000069,0x00000068,
+ 0x00000067,0x00000004,0x00000005,0x00000006,0x00000003,0x0003003e,0x0000002e,0x00000069,
+ 0x000200f9,0x00000061,0x000200f8,0x00000061,0x000200f9,0x00000049,0x000200f8,0x00000049,
+ 0x0004003d,0x0000002c,0x0000006b,0x0000002e,0x00050051,0x00000012,0x0000006c,0x0000006b,
+ 0x00000000,0x00050051,0x00000012,0x0000006d,0x0000006b,0x00000001,0x00050051,0x00000012,
+ 0x0000006e,0x0000006b,0x00000002,0x00050051,0x00000012,0x0000006f,0x0000006b,0x00000003,
+ 0x00070050,0x0000002c,0x00000070,0x0000006c,0x0000006d,0x0000006e,0x0000006f,0x0003003e,
+ 0x0000006a,0x00000070,0x00050041,0x0000001e,0x00000072,0x00000015,0x00000071,0x0004003d,
+ 0x00000012,0x00000073,0x00000072,0x000500ab,0x00000021,0x00000074,0x00000073,0x00000022,
+ 0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x0000007c,0x000200f8,
+ 0x00000075,0x0004003d,0x0000002c,0x00000078,0x0000006a,0x0007004f,0x00000077,0x00000079,
+ 0x00000078,0x00000078,0x00000000,0x00000003,0x0004003d,0x0000002c,0x0000007a,0x0000006a,
+ 0x0009004f,0x0000002c,0x0000007b,0x0000007a,0x00000079,0x00000004,0x00000005,0x00000002,
+ 0x00000003,0x0003003e,0x0000006a,0x0000007b,0x000200f9,0x00000076,0x000200f8,0x0000007c,
+ 0x00050041,0x0000001e,0x0000007e,0x00000015,0x0000007d,0x0004003d,0x00000012,0x0000007f,
+ 0x0000007e,0x000500ab,0x00000021,0x00000080,0x0000007f,0x00000022,0x000300f7,0x00000082,
+ 0x00000000,0x000400fa,0x00000080,0x00000081,0x00000086,0x000200f8,0x00000081,0x00050041,
+ 0x0000004b,0x00000083,0x0000006a,0x0000004a,0x0004003d,0x00000012,0x00000084,0x00000083,
+ 0x00050041,0x0000004b,0x00000085,0x0000006a,0x00000022,0x0003003e,0x00000085,0x00000084,
+ 0x000200f9,0x00000082,0x000200f8,0x00000086,0x00050041,0x00000039,0x00000089,0x00000015,
+ 0x00000088,0x0004003d,0x00000006,0x0000008a,0x00000089,0x0003003e,0x00000087,0x0000008a,
+ 0x0004003d,0x00000006,0x0000008b,0x00000087,0x000500c7,0x00000006,0x0000008c,0x0000008b,
+ 0x00000040,0x000500ab,0x00000021,0x0000008d,0x0000008c,0x00000033,0x000300f7,0x0000008f,
+ 0x00000000,0x000400fa,0x0000008d,0x0000008e,0x0000008f,0x000200f8,0x0000008e,0x00050041,
+ 0x0000004b,0x00000090,0x0000006a,0x00000026,0x0003003e,0x00000090,0x00000022,0x000200f9,
+ 0x0000008f,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000091,0x00000087,0x000500c7,
+ 0x00000006,0x00000092,0x00000091,0x0000001d,0x000500ab,0x00000021,0x00000093,0x00000092,
+ 0x00000033,0x000300f7,0x00000095,0x00000000,0x000400fa,0x00000093,0x00000094,0x00000095,
+ 0x000200f8,0x00000094,0x00050041,0x0000004b,0x00000097,0x0000006a,0x00000096,0x0003003e,
+ 0x00000097,0x00000022,0x000200f9,0x00000095,0x000200f8,0x00000095,0x0004003d,0x00000006,
+ 0x00000098,0x00000087,0x000500c7,0x00000006,0x00000099,0x00000098,0x0000007d,0x000500ab,
+ 0x00000021,0x0000009a,0x00000099,0x00000033,0x000300f7,0x0000009c,0x00000000,0x000400fa,
+ 0x0000009a,0x0000009b,0x0000009c,0x000200f8,0x0000009b,0x00050041,0x0000004b,0x0000009d,
+ 0x0000006a,0x0000004a,0x0003003e,0x0000009d,0x00000026,0x000200f9,0x0000009c,0x000200f8,
+ 0x0000009c,0x000200f9,0x00000082,0x000200f8,0x00000082,0x000200f9,0x00000076,0x000200f8,
+ 0x00000076,0x0004003d,0x0000002c,0x000000a0,0x0000006a,0x0003003e,0x0000009f,0x000000a0,
+ 0x000100fd,0x00010038
+};
+
+// Generated from:
+//
+// #version 450 core
+//
+// #extension GL_EXT_samplerless_texture_functions : require
+//
+// layout(set = 0, binding = 0)uniform utexture3D src;
+// layout(location = 0)out uvec4 dest;
+//
+// layout(push_constant)uniform PushConstants {
+//
+// ivec2 srcOffset;
+// ivec2 destOffset;
+// int srcMip;
+// int srcLayer;
+//
+// bool flipY;
+//
+// bool premultiplyAlpha;
+// bool unmultiplyAlpha;
+//
+// bool destHasLuminance;
+// bool destIsAlpha;
+//
+// bool srcIsSRGB;
+// bool destIsSRGB;
+//
+// int destDefaultChannelsMask;
+// } params;
+//
+// void main()
+// {
+// ivec2 destSubImageCoords = ivec2(gl_FragCoord . xy)- params . destOffset;
+//
+// ivec2 srcSubImageCoords = destSubImageCoords;
+//
+// if(params . flipY)
+// {
+// srcSubImageCoords . y = - srcSubImageCoords . y;
+// }
+//
+// uvec4 srcValue = texelFetch(src, ivec3(params . srcOffset + srcSubImageCoords, params . srcLayer), params . srcMip);
+//
+// if(params . premultiplyAlpha)
+// {
+// srcValue . rgb *= srcValue . a;
+// }
+// else if(params . unmultiplyAlpha && srcValue . a > 0)
+// {
+// srcValue . rgb /= srcValue . a;
+// }
+//
+// uvec4 destValue = uvec4(srcValue);
+//
+// if(params . destHasLuminance)
+// {
+// destValue . rg = destValue . ra;
+// }
+// else if(params . destIsAlpha)
+// {
+// destValue . r = destValue . a;
+// }
+// else
+// {
+// int defaultChannelsMask = params . destDefaultChannelsMask;
+// if((defaultChannelsMask & 2)!= 0)
+// {
+// destValue . g = 0;
+// }
+// if((defaultChannelsMask & 4)!= 0)
+// {
+// destValue . b = 0;
+// }
+// if((defaultChannelsMask & 8)!= 0)
+// {
+// destValue . a = 1;
+// }
+// }
+//
+// dest = destValue;
+// }
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000000.inc
index 0369a180867..c6bfc59fb62 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000000.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayCull_comp_00000000[] = {
- 0x07230203,0x00010300,0x00080007,0x00000070,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010300,0x0008000a,0x000000b1,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000003d,0x00020011,0x00000040,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000012,0x00000046,0x00060010,0x00000004,0x00000011,0x00000020,0x00000001,
@@ -9,91 +9,70 @@ const uint32_t kOverlayCull_comp_00000000[] = {
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00090004,
0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x625f7075,0x6f6c6c61,0x00000074,
0x00090004,0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x625f7075,0x63697361,
- 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000c,0x6c6c7563,
- 0x67646957,0x28737465,0x763b3175,0x763b3275,0x003b3275,0x00040005,0x00000009,0x7366666f,
- 0x00007465,0x00060005,0x0000000a,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,
- 0x0000000b,0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00040005,0x0000000f,0x61636f6c,
- 0x0064496c,0x00080005,0x00000012,0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,
- 0x00000000,0x00060005,0x00000019,0x67646977,0x6f437465,0x7364726f,0x00000000,0x00070005,
- 0x0000001c,0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000001c,
- 0x00000000,0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,0x00050005,
- 0x00000028,0x65746e69,0x63657372,0x00007374,0x00050005,0x00000045,0x4374756f,0x64726f6f,
- 0x00000000,0x00060005,0x00000046,0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00060005,
- 0x00000049,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000004f,0x636f6c62,
- 0x6f6f436b,0x69486472,0x00006867,0x00060005,0x00000052,0x6c6c7563,0x69576465,0x74656764,
- 0x00000073,0x00070005,0x00000066,0x6c6c7563,0x69576465,0x74656764,0x74754f73,0x00000000,
- 0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,0x0000001b,0x00000006,0x00000010,
- 0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,0x00030047,0x0000001c,0x00000002,
- 0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,0x0000001e,0x00000021,0x00000001,
- 0x00040047,0x00000046,0x0000000b,0x0000001a,0x00040047,0x00000066,0x00000022,0x00000000,
- 0x00040047,0x00000066,0x00000021,0x00000000,0x00030047,0x00000066,0x00000019,0x00040047,
- 0x0000006f,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00060021,0x00000008,0x00000007,0x00000006,0x00000007,0x00000007,0x00040020,0x0000000e,
- 0x00000007,0x00000006,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,0x00000011,
+ 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x00000012,0x4c5f6c67,
+ 0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00070005,0x0000001c,0x67646957,
+ 0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000001c,0x00000000,0x726f6f63,
+ 0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,0x00060005,0x00000046,0x575f6c67,
+ 0x476b726f,0x70756f72,0x00004449,0x00070005,0x00000066,0x6c6c7563,0x69576465,0x74656764,
+ 0x74754f73,0x00000000,0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,0x0000001b,
+ 0x00000006,0x00000010,0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,0x00030047,
+ 0x0000001c,0x00000002,0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,0x0000001e,
+ 0x00000021,0x00000001,0x00040047,0x00000046,0x0000000b,0x0000001a,0x00040047,0x00000066,
+ 0x00000022,0x00000000,0x00040047,0x00000066,0x00000021,0x00000000,0x00030047,0x00000066,
+ 0x00000019,0x00040047,0x0000006f,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
+ 0x00000006,0x00000002,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,0x00000011,
0x00000001,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000001,0x0004002b,0x00000006,
0x00000013,0x00000000,0x00040020,0x00000014,0x00000001,0x00000006,0x00040017,0x00000017,
- 0x00000006,0x00000004,0x00040020,0x00000018,0x00000007,0x00000017,0x0004002b,0x00000006,
- 0x0000001a,0x00000040,0x0004001c,0x0000001b,0x00000017,0x0000001a,0x0003001e,0x0000001c,
- 0x0000001b,0x00040020,0x0000001d,0x00000002,0x0000001c,0x0004003b,0x0000001d,0x0000001e,
- 0x00000002,0x00040015,0x0000001f,0x00000020,0x00000001,0x0004002b,0x0000001f,0x00000020,
- 0x00000000,0x00040020,0x00000023,0x00000002,0x00000017,0x00020014,0x00000026,0x00040020,
- 0x00000027,0x00000007,0x00000026,0x0004002b,0x00000006,0x0000002b,0x00000002,0x00040017,
- 0x00000033,0x00000026,0x00000002,0x0004002b,0x00000006,0x0000003f,0x00000003,0x00040020,
- 0x00000044,0x00000007,0x00000007,0x0004003b,0x00000011,0x00000046,0x00000001,0x0004002b,
+ 0x00000006,0x00000004,0x0004002b,0x00000006,0x0000001a,0x00000040,0x0004001c,0x0000001b,
+ 0x00000017,0x0000001a,0x0003001e,0x0000001c,0x0000001b,0x00040020,0x0000001d,0x00000002,
+ 0x0000001c,0x0004003b,0x0000001d,0x0000001e,0x00000002,0x00040015,0x0000001f,0x00000020,
+ 0x00000001,0x0004002b,0x0000001f,0x00000020,0x00000000,0x00040020,0x00000023,0x00000002,
+ 0x00000017,0x00020014,0x00000026,0x00040017,0x00000033,0x00000026,0x00000002,0x0004002b,
+ 0x00000006,0x0000003f,0x00000003,0x0004003b,0x00000011,0x00000046,0x00000001,0x0004002b,
0x00000006,0x0000004b,0x00000008,0x0004002b,0x00000006,0x0000004c,0x00000004,0x0005002c,
0x00000007,0x0000004d,0x0000004b,0x0000004c,0x0004002b,0x00000006,0x00000058,0x00000020,
0x0004002b,0x00000006,0x0000005d,0x00000001,0x00090019,0x00000064,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x00000065,0x00000000,
0x00000064,0x0004003b,0x00000065,0x00000066,0x00000000,0x00040017,0x00000069,0x0000001f,
0x00000002,0x0006002c,0x00000010,0x0000006f,0x00000058,0x0000005d,0x0000005d,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000044,
- 0x00000045,0x00000007,0x0004003b,0x00000044,0x00000049,0x00000007,0x0004003b,0x00000044,
- 0x0000004f,0x00000007,0x0004003b,0x00000044,0x00000052,0x00000007,0x0004003d,0x00000010,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000010,
0x00000047,0x00000046,0x0007004f,0x00000007,0x00000048,0x00000047,0x00000047,0x00000000,
- 0x00000001,0x0003003e,0x00000045,0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000045,
- 0x00050084,0x00000007,0x0000004e,0x0000004a,0x0000004d,0x0003003e,0x00000049,0x0000004e,
- 0x0004003d,0x00000007,0x00000050,0x00000049,0x00050080,0x00000007,0x00000051,0x00000050,
- 0x0000004d,0x0003003e,0x0000004f,0x00000051,0x0004003d,0x00000007,0x00000053,0x00000049,
- 0x0004003d,0x00000007,0x00000054,0x0000004f,0x00070039,0x00000007,0x00000055,0x0000000c,
- 0x00000013,0x00000053,0x00000054,0x00050051,0x00000006,0x00000056,0x00000055,0x00000000,
- 0x00050041,0x0000000e,0x00000057,0x00000052,0x00000013,0x0003003e,0x00000057,0x00000056,
- 0x0004003d,0x00000007,0x00000059,0x00000049,0x0004003d,0x00000007,0x0000005a,0x0000004f,
- 0x00070039,0x00000007,0x0000005b,0x0000000c,0x00000058,0x00000059,0x0000005a,0x00050051,
- 0x00000006,0x0000005c,0x0000005b,0x00000000,0x00050041,0x0000000e,0x0000005e,0x00000052,
- 0x0000005d,0x0003003e,0x0000005e,0x0000005c,0x00050041,0x00000014,0x0000005f,0x00000012,
- 0x00000013,0x0004003d,0x00000006,0x00000060,0x0000005f,0x000500aa,0x00000026,0x00000061,
- 0x00000060,0x00000013,0x000300f7,0x00000063,0x00000000,0x000400fa,0x00000061,0x00000062,
- 0x00000063,0x000200f8,0x00000062,0x0004003d,0x00000064,0x00000067,0x00000066,0x0004003d,
- 0x00000007,0x00000068,0x00000045,0x0004007c,0x00000069,0x0000006a,0x00000068,0x0004003d,
- 0x00000007,0x0000006b,0x00000052,0x00050051,0x00000006,0x0000006c,0x0000006b,0x00000000,
- 0x00050051,0x00000006,0x0000006d,0x0000006b,0x00000001,0x00070050,0x00000017,0x0000006e,
- 0x0000006c,0x0000006d,0x00000013,0x00000013,0x00040063,0x00000067,0x0000006a,0x0000006e,
- 0x000200f9,0x00000063,0x000200f8,0x00000063,0x000100fd,0x00010038,0x00050036,0x00000007,
- 0x0000000c,0x00000000,0x00000008,0x00030037,0x00000006,0x00000009,0x00030037,0x00000007,
- 0x0000000a,0x00030037,0x00000007,0x0000000b,0x000200f8,0x0000000d,0x0004003b,0x0000000e,
- 0x0000000f,0x00000007,0x0004003b,0x00000018,0x00000019,0x00000007,0x0004003b,0x00000027,
- 0x00000028,0x00000007,0x00050041,0x00000014,0x00000015,0x00000012,0x00000013,0x0004003d,
- 0x00000006,0x00000016,0x00000015,0x0003003e,0x0000000f,0x00000016,0x0004003d,0x00000006,
- 0x00000021,0x0000000f,0x00050080,0x00000006,0x00000022,0x00000009,0x00000021,0x00060041,
- 0x00000023,0x00000024,0x0000001e,0x00000020,0x00000022,0x0004003d,0x00000017,0x00000025,
- 0x00000024,0x0003003e,0x00000019,0x00000025,0x00050041,0x0000000e,0x00000029,0x00000019,
- 0x00000013,0x0004003d,0x00000006,0x0000002a,0x00000029,0x00050041,0x0000000e,0x0000002c,
- 0x00000019,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x000500b0,0x00000026,
- 0x0000002e,0x0000002a,0x0000002d,0x000300f7,0x00000030,0x00000000,0x000400fa,0x0000002e,
- 0x0000002f,0x00000030,0x000200f8,0x0000002f,0x0004003d,0x00000017,0x00000031,0x00000019,
- 0x0007004f,0x00000007,0x00000032,0x00000031,0x00000031,0x00000000,0x00000001,0x000500b0,
- 0x00000033,0x00000034,0x00000032,0x0000000b,0x0004009b,0x00000026,0x00000035,0x00000034,
- 0x000200f9,0x00000030,0x000200f8,0x00000030,0x000700f5,0x00000026,0x00000036,0x0000002e,
- 0x0000000d,0x00000035,0x0000002f,0x000300f7,0x00000038,0x00000000,0x000400fa,0x00000036,
- 0x00000037,0x00000038,0x000200f8,0x00000037,0x0004003d,0x00000017,0x00000039,0x00000019,
- 0x0007004f,0x00000007,0x0000003a,0x00000039,0x00000039,0x00000002,0x00000003,0x000500ae,
- 0x00000033,0x0000003b,0x0000003a,0x0000000a,0x0004009b,0x00000026,0x0000003c,0x0000003b,
- 0x000200f9,0x00000038,0x000200f8,0x00000038,0x000700f5,0x00000026,0x0000003d,0x00000036,
- 0x00000030,0x0000003c,0x00000037,0x0003003e,0x00000028,0x0000003d,0x0004003d,0x00000026,
- 0x0000003e,0x00000028,0x00050153,0x00000017,0x00000040,0x0000003f,0x0000003e,0x0007004f,
- 0x00000007,0x00000041,0x00000040,0x00000040,0x00000000,0x00000001,0x000200fe,0x00000041,
- 0x00010038
+ 0x00000001,0x00050084,0x00000007,0x0000004e,0x00000048,0x0000004d,0x00050080,0x00000007,
+ 0x00000051,0x0000004e,0x0000004d,0x00050041,0x00000014,0x00000075,0x00000012,0x00000013,
+ 0x0004003d,0x00000006,0x00000076,0x00000075,0x00060041,0x00000023,0x00000079,0x0000001e,
+ 0x00000020,0x00000076,0x0004003d,0x00000017,0x0000007a,0x00000079,0x00050051,0x00000006,
+ 0x0000007c,0x0000007a,0x00000000,0x00050051,0x00000006,0x0000007e,0x0000007a,0x00000002,
+ 0x000500b0,0x00000026,0x0000007f,0x0000007c,0x0000007e,0x000300f7,0x00000085,0x00000000,
+ 0x000400fa,0x0000007f,0x00000080,0x00000085,0x000200f8,0x00000080,0x0007004f,0x00000007,
+ 0x00000082,0x0000007a,0x0000007a,0x00000000,0x00000001,0x000500b0,0x00000033,0x00000083,
+ 0x00000082,0x00000051,0x0004009b,0x00000026,0x00000084,0x00000083,0x000200f9,0x00000085,
+ 0x000200f8,0x00000085,0x000700f5,0x00000026,0x00000086,0x0000007f,0x00000005,0x00000084,
+ 0x00000080,0x000300f7,0x0000008c,0x00000000,0x000400fa,0x00000086,0x00000087,0x0000008c,
+ 0x000200f8,0x00000087,0x0007004f,0x00000007,0x00000089,0x0000007a,0x0000007a,0x00000002,
+ 0x00000003,0x000500ae,0x00000033,0x0000008a,0x00000089,0x0000004e,0x0004009b,0x00000026,
+ 0x0000008b,0x0000008a,0x000200f9,0x0000008c,0x000200f8,0x0000008c,0x000700f5,0x00000026,
+ 0x0000008d,0x00000086,0x00000085,0x0000008b,0x00000087,0x00050153,0x00000017,0x0000008f,
+ 0x0000003f,0x0000008d,0x00050051,0x00000006,0x00000056,0x0000008f,0x00000000,0x00050080,
+ 0x00000006,0x00000099,0x00000058,0x00000076,0x00060041,0x00000023,0x0000009a,0x0000001e,
+ 0x00000020,0x00000099,0x0004003d,0x00000017,0x0000009b,0x0000009a,0x00050051,0x00000006,
+ 0x0000009d,0x0000009b,0x00000000,0x00050051,0x00000006,0x0000009f,0x0000009b,0x00000002,
+ 0x000500b0,0x00000026,0x000000a0,0x0000009d,0x0000009f,0x000300f7,0x000000a6,0x00000000,
+ 0x000400fa,0x000000a0,0x000000a1,0x000000a6,0x000200f8,0x000000a1,0x0007004f,0x00000007,
+ 0x000000a3,0x0000009b,0x0000009b,0x00000000,0x00000001,0x000500b0,0x00000033,0x000000a4,
+ 0x000000a3,0x00000051,0x0004009b,0x00000026,0x000000a5,0x000000a4,0x000200f9,0x000000a6,
+ 0x000200f8,0x000000a6,0x000700f5,0x00000026,0x000000a7,0x000000a0,0x0000008c,0x000000a5,
+ 0x000000a1,0x000300f7,0x000000ad,0x00000000,0x000400fa,0x000000a7,0x000000a8,0x000000ad,
+ 0x000200f8,0x000000a8,0x0007004f,0x00000007,0x000000aa,0x0000009b,0x0000009b,0x00000002,
+ 0x00000003,0x000500ae,0x00000033,0x000000ab,0x000000aa,0x0000004e,0x0004009b,0x00000026,
+ 0x000000ac,0x000000ab,0x000200f9,0x000000ad,0x000200f8,0x000000ad,0x000700f5,0x00000026,
+ 0x000000ae,0x000000a7,0x000000a6,0x000000ac,0x000000a8,0x00050153,0x00000017,0x000000b0,
+ 0x0000003f,0x000000ae,0x00050051,0x00000006,0x0000005c,0x000000b0,0x00000000,0x000500aa,
+ 0x00000026,0x00000061,0x00000076,0x00000013,0x000300f7,0x00000063,0x00000000,0x000400fa,
+ 0x00000061,0x00000062,0x00000063,0x000200f8,0x00000062,0x0004003d,0x00000064,0x00000067,
+ 0x00000066,0x0004007c,0x00000069,0x0000006a,0x00000048,0x00070050,0x00000017,0x0000006e,
+ 0x00000056,0x0000005c,0x00000013,0x00000013,0x00040063,0x00000067,0x0000006a,0x0000006e,
+ 0x000200f9,0x00000063,0x000200f8,0x00000063,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000001.inc
index cde3872b4a6..1111a7b5912 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000001.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayCull_comp_00000001[] = {
- 0x07230203,0x00010300,0x00080007,0x00000067,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010300,0x0008000a,0x00000087,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000003d,0x00020011,0x00000040,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000012,0x00000046,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,
@@ -9,85 +9,56 @@ const uint32_t kOverlayCull_comp_00000001[] = {
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x00090004,
0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x625f7075,0x6f6c6c61,0x00000074,
0x00090004,0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x625f7075,0x63697361,
- 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000c,0x6c6c7563,
- 0x67646957,0x28737465,0x763b3175,0x763b3275,0x003b3275,0x00040005,0x00000009,0x7366666f,
- 0x00007465,0x00060005,0x0000000a,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,
- 0x0000000b,0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00040005,0x0000000f,0x61636f6c,
- 0x0064496c,0x00080005,0x00000012,0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,
- 0x00000000,0x00060005,0x00000019,0x67646977,0x6f437465,0x7364726f,0x00000000,0x00070005,
- 0x0000001c,0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000001c,
- 0x00000000,0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,0x00050005,
- 0x00000028,0x65746e69,0x63657372,0x00007374,0x00050005,0x00000045,0x4374756f,0x64726f6f,
- 0x00000000,0x00060005,0x00000046,0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00060005,
- 0x00000049,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000004e,0x636f6c62,
- 0x6f6f436b,0x69486472,0x00006867,0x00060005,0x00000051,0x6c6c7563,0x69576465,0x74656764,
- 0x00000073,0x00070005,0x0000005c,0x6c6c7563,0x69576465,0x74656764,0x74754f73,0x00000000,
- 0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,0x0000001b,0x00000006,0x00000010,
- 0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,0x00030047,0x0000001c,0x00000002,
- 0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,0x0000001e,0x00000021,0x00000001,
- 0x00040047,0x00000046,0x0000000b,0x0000001a,0x00040047,0x0000005c,0x00000022,0x00000000,
- 0x00040047,0x0000005c,0x00000021,0x00000000,0x00030047,0x0000005c,0x00000019,0x00040047,
- 0x00000066,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
- 0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,0x00000002,
- 0x00060021,0x00000008,0x00000007,0x00000006,0x00000007,0x00000007,0x00040020,0x0000000e,
- 0x00000007,0x00000006,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,0x00000011,
+ 0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x00000012,0x4c5f6c67,
+ 0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00070005,0x0000001c,0x67646957,
+ 0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000001c,0x00000000,0x726f6f63,
+ 0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,0x00060005,0x00000046,0x575f6c67,
+ 0x476b726f,0x70756f72,0x00004449,0x00070005,0x0000005c,0x6c6c7563,0x69576465,0x74656764,
+ 0x74754f73,0x00000000,0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,0x0000001b,
+ 0x00000006,0x00000010,0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,0x00030047,
+ 0x0000001c,0x00000002,0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,0x0000001e,
+ 0x00000021,0x00000001,0x00040047,0x00000046,0x0000000b,0x0000001a,0x00040047,0x0000005c,
+ 0x00000022,0x00000000,0x00040047,0x0000005c,0x00000021,0x00000000,0x00030047,0x0000005c,
+ 0x00000019,0x00040047,0x00000066,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,
+ 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,
+ 0x00000006,0x00000002,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,0x00000011,
0x00000001,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000001,0x0004002b,0x00000006,
0x00000013,0x00000000,0x00040020,0x00000014,0x00000001,0x00000006,0x00040017,0x00000017,
- 0x00000006,0x00000004,0x00040020,0x00000018,0x00000007,0x00000017,0x0004002b,0x00000006,
- 0x0000001a,0x00000040,0x0004001c,0x0000001b,0x00000017,0x0000001a,0x0003001e,0x0000001c,
- 0x0000001b,0x00040020,0x0000001d,0x00000002,0x0000001c,0x0004003b,0x0000001d,0x0000001e,
- 0x00000002,0x00040015,0x0000001f,0x00000020,0x00000001,0x0004002b,0x0000001f,0x00000020,
- 0x00000000,0x00040020,0x00000023,0x00000002,0x00000017,0x00020014,0x00000026,0x00040020,
- 0x00000027,0x00000007,0x00000026,0x0004002b,0x00000006,0x0000002b,0x00000002,0x00040017,
- 0x00000033,0x00000026,0x00000002,0x0004002b,0x00000006,0x0000003f,0x00000003,0x00040020,
- 0x00000044,0x00000007,0x00000007,0x0004003b,0x00000011,0x00000046,0x00000001,0x0004002b,
+ 0x00000006,0x00000004,0x0004002b,0x00000006,0x0000001a,0x00000040,0x0004001c,0x0000001b,
+ 0x00000017,0x0000001a,0x0003001e,0x0000001c,0x0000001b,0x00040020,0x0000001d,0x00000002,
+ 0x0000001c,0x0004003b,0x0000001d,0x0000001e,0x00000002,0x00040015,0x0000001f,0x00000020,
+ 0x00000001,0x0004002b,0x0000001f,0x00000020,0x00000000,0x00040020,0x00000023,0x00000002,
+ 0x00000017,0x00020014,0x00000026,0x00040017,0x00000033,0x00000026,0x00000002,0x0004002b,
+ 0x00000006,0x0000003f,0x00000003,0x0004003b,0x00000011,0x00000046,0x00000001,0x0004002b,
0x00000006,0x0000004b,0x00000008,0x0005002c,0x00000007,0x0000004c,0x0000004b,0x0000004b,
0x00090019,0x0000005a,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,
0x0000001e,0x00040020,0x0000005b,0x00000000,0x0000005a,0x0004003b,0x0000005b,0x0000005c,
0x00000000,0x00040017,0x0000005f,0x0000001f,0x00000002,0x0004002b,0x00000006,0x00000065,
0x00000001,0x0006002c,0x00000010,0x00000066,0x0000001a,0x00000065,0x00000065,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000044,
- 0x00000045,0x00000007,0x0004003b,0x00000044,0x00000049,0x00000007,0x0004003b,0x00000044,
- 0x0000004e,0x00000007,0x0004003b,0x00000044,0x00000051,0x00000007,0x0004003d,0x00000010,
+ 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000010,
0x00000047,0x00000046,0x0007004f,0x00000007,0x00000048,0x00000047,0x00000047,0x00000000,
- 0x00000001,0x0003003e,0x00000045,0x00000048,0x0004003d,0x00000007,0x0000004a,0x00000045,
- 0x00050084,0x00000007,0x0000004d,0x0000004a,0x0000004c,0x0003003e,0x00000049,0x0000004d,
- 0x0004003d,0x00000007,0x0000004f,0x00000049,0x00050080,0x00000007,0x00000050,0x0000004f,
- 0x0000004c,0x0003003e,0x0000004e,0x00000050,0x0004003d,0x00000007,0x00000052,0x00000049,
- 0x0004003d,0x00000007,0x00000053,0x0000004e,0x00070039,0x00000007,0x00000054,0x0000000c,
- 0x00000013,0x00000052,0x00000053,0x0003003e,0x00000051,0x00000054,0x00050041,0x00000014,
- 0x00000055,0x00000012,0x00000013,0x0004003d,0x00000006,0x00000056,0x00000055,0x000500aa,
- 0x00000026,0x00000057,0x00000056,0x00000013,0x000300f7,0x00000059,0x00000000,0x000400fa,
- 0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,0x0004003d,0x0000005a,0x0000005d,
- 0x0000005c,0x0004003d,0x00000007,0x0000005e,0x00000045,0x0004007c,0x0000005f,0x00000060,
- 0x0000005e,0x0004003d,0x00000007,0x00000061,0x00000051,0x00050051,0x00000006,0x00000062,
- 0x00000061,0x00000000,0x00050051,0x00000006,0x00000063,0x00000061,0x00000001,0x00070050,
- 0x00000017,0x00000064,0x00000062,0x00000063,0x00000013,0x00000013,0x00040063,0x0000005d,
- 0x00000060,0x00000064,0x000200f9,0x00000059,0x000200f8,0x00000059,0x000100fd,0x00010038,
- 0x00050036,0x00000007,0x0000000c,0x00000000,0x00000008,0x00030037,0x00000006,0x00000009,
- 0x00030037,0x00000007,0x0000000a,0x00030037,0x00000007,0x0000000b,0x000200f8,0x0000000d,
- 0x0004003b,0x0000000e,0x0000000f,0x00000007,0x0004003b,0x00000018,0x00000019,0x00000007,
- 0x0004003b,0x00000027,0x00000028,0x00000007,0x00050041,0x00000014,0x00000015,0x00000012,
- 0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x0003003e,0x0000000f,0x00000016,
- 0x0004003d,0x00000006,0x00000021,0x0000000f,0x00050080,0x00000006,0x00000022,0x00000009,
- 0x00000021,0x00060041,0x00000023,0x00000024,0x0000001e,0x00000020,0x00000022,0x0004003d,
- 0x00000017,0x00000025,0x00000024,0x0003003e,0x00000019,0x00000025,0x00050041,0x0000000e,
- 0x00000029,0x00000019,0x00000013,0x0004003d,0x00000006,0x0000002a,0x00000029,0x00050041,
- 0x0000000e,0x0000002c,0x00000019,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,
- 0x000500b0,0x00000026,0x0000002e,0x0000002a,0x0000002d,0x000300f7,0x00000030,0x00000000,
- 0x000400fa,0x0000002e,0x0000002f,0x00000030,0x000200f8,0x0000002f,0x0004003d,0x00000017,
- 0x00000031,0x00000019,0x0007004f,0x00000007,0x00000032,0x00000031,0x00000031,0x00000000,
- 0x00000001,0x000500b0,0x00000033,0x00000034,0x00000032,0x0000000b,0x0004009b,0x00000026,
- 0x00000035,0x00000034,0x000200f9,0x00000030,0x000200f8,0x00000030,0x000700f5,0x00000026,
- 0x00000036,0x0000002e,0x0000000d,0x00000035,0x0000002f,0x000300f7,0x00000038,0x00000000,
- 0x000400fa,0x00000036,0x00000037,0x00000038,0x000200f8,0x00000037,0x0004003d,0x00000017,
- 0x00000039,0x00000019,0x0007004f,0x00000007,0x0000003a,0x00000039,0x00000039,0x00000002,
- 0x00000003,0x000500ae,0x00000033,0x0000003b,0x0000003a,0x0000000a,0x0004009b,0x00000026,
- 0x0000003c,0x0000003b,0x000200f9,0x00000038,0x000200f8,0x00000038,0x000700f5,0x00000026,
- 0x0000003d,0x00000036,0x00000030,0x0000003c,0x00000037,0x0003003e,0x00000028,0x0000003d,
- 0x0004003d,0x00000026,0x0000003e,0x00000028,0x00050153,0x00000017,0x00000040,0x0000003f,
- 0x0000003e,0x0007004f,0x00000007,0x00000041,0x00000040,0x00000040,0x00000000,0x00000001,
- 0x000200fe,0x00000041,0x00010038
+ 0x00000001,0x00050084,0x00000007,0x0000004d,0x00000048,0x0000004c,0x00050080,0x00000007,
+ 0x00000050,0x0000004d,0x0000004c,0x00050041,0x00000014,0x0000006c,0x00000012,0x00000013,
+ 0x0004003d,0x00000006,0x0000006d,0x0000006c,0x00060041,0x00000023,0x00000070,0x0000001e,
+ 0x00000020,0x0000006d,0x0004003d,0x00000017,0x00000071,0x00000070,0x00050051,0x00000006,
+ 0x00000073,0x00000071,0x00000000,0x00050051,0x00000006,0x00000075,0x00000071,0x00000002,
+ 0x000500b0,0x00000026,0x00000076,0x00000073,0x00000075,0x000300f7,0x0000007c,0x00000000,
+ 0x000400fa,0x00000076,0x00000077,0x0000007c,0x000200f8,0x00000077,0x0007004f,0x00000007,
+ 0x00000079,0x00000071,0x00000071,0x00000000,0x00000001,0x000500b0,0x00000033,0x0000007a,
+ 0x00000079,0x00000050,0x0004009b,0x00000026,0x0000007b,0x0000007a,0x000200f9,0x0000007c,
+ 0x000200f8,0x0000007c,0x000700f5,0x00000026,0x0000007d,0x00000076,0x00000005,0x0000007b,
+ 0x00000077,0x000300f7,0x00000083,0x00000000,0x000400fa,0x0000007d,0x0000007e,0x00000083,
+ 0x000200f8,0x0000007e,0x0007004f,0x00000007,0x00000080,0x00000071,0x00000071,0x00000002,
+ 0x00000003,0x000500ae,0x00000033,0x00000081,0x00000080,0x0000004d,0x0004009b,0x00000026,
+ 0x00000082,0x00000081,0x000200f9,0x00000083,0x000200f8,0x00000083,0x000700f5,0x00000026,
+ 0x00000084,0x0000007d,0x0000007c,0x00000082,0x0000007e,0x00050153,0x00000017,0x00000086,
+ 0x0000003f,0x00000084,0x000500aa,0x00000026,0x00000057,0x0000006d,0x00000013,0x000300f7,
+ 0x00000059,0x00000000,0x000400fa,0x00000057,0x00000058,0x00000059,0x000200f8,0x00000058,
+ 0x0004003d,0x0000005a,0x0000005d,0x0000005c,0x0004007c,0x0000005f,0x00000060,0x00000048,
+ 0x00050051,0x00000006,0x00000062,0x00000086,0x00000000,0x00050051,0x00000006,0x00000063,
+ 0x00000086,0x00000001,0x00070050,0x00000017,0x00000064,0x00000062,0x00000063,0x00000013,
+ 0x00000013,0x00040063,0x0000005d,0x00000060,0x00000064,0x000200f9,0x00000059,0x000200f8,
+ 0x00000059,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000002.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000002.inc
index ee22eacb042..42729e3e33d 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000002.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000002.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayCull_comp_00000002[] = {
- 0x07230203,0x00010300,0x00080007,0x00000073,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010300,0x0008000a,0x000000ba,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000003d,0x00020011,0x0000003f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000012,0x0000004a,0x00060010,0x00000004,0x00000011,0x00000020,0x00000001,
@@ -9,92 +9,72 @@ const uint32_t kOverlayCull_comp_00000002[] = {
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x000a0004,
0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x615f7075,0x68746972,0x6974656d,
0x00000063,0x00090004,0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x625f7075,
- 0x63697361,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000c,
- 0x6c6c7563,0x67646957,0x28737465,0x763b3175,0x763b3275,0x003b3275,0x00040005,0x00000009,
- 0x7366666f,0x00007465,0x00060005,0x0000000a,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,
- 0x00060005,0x0000000b,0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00040005,0x0000000f,
- 0x61636f6c,0x0064496c,0x00080005,0x00000012,0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,
- 0x44496e6f,0x00000000,0x00060005,0x00000019,0x67646977,0x6f437465,0x7364726f,0x00000000,
- 0x00070005,0x0000001c,0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,
- 0x0000001c,0x00000000,0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,
- 0x00050005,0x00000028,0x65746e69,0x63657372,0x00007374,0x00050005,0x00000049,0x4374756f,
- 0x64726f6f,0x00000000,0x00060005,0x0000004a,0x575f6c67,0x476b726f,0x70756f72,0x00004449,
- 0x00060005,0x0000004d,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x00000053,
- 0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00060005,0x00000056,0x6c6c7563,0x69576465,
- 0x74656764,0x00000073,0x00070005,0x00000069,0x6c6c7563,0x69576465,0x74656764,0x74754f73,
- 0x00000000,0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,0x0000001b,0x00000006,
- 0x00000010,0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,0x00030047,0x0000001c,
- 0x00000002,0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,0x0000001e,0x00000021,
- 0x00000001,0x00040047,0x0000004a,0x0000000b,0x0000001a,0x00040047,0x00000069,0x00000022,
- 0x00000000,0x00040047,0x00000069,0x00000021,0x00000000,0x00030047,0x00000069,0x00000019,
- 0x00040047,0x00000072,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,
- 0x00000002,0x00060021,0x00000008,0x00000007,0x00000006,0x00000007,0x00000007,0x00040020,
- 0x0000000e,0x00000007,0x00000006,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,
+ 0x63697361,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x00000012,
+ 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00070005,0x0000001c,
+ 0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000001c,0x00000000,
+ 0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,0x00060005,0x0000004a,
+ 0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00070005,0x00000069,0x6c6c7563,0x69576465,
+ 0x74656764,0x74754f73,0x00000000,0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,
+ 0x0000001b,0x00000006,0x00000010,0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x0000001c,0x00000002,0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,
+ 0x0000001e,0x00000021,0x00000001,0x00040047,0x0000004a,0x0000000b,0x0000001a,0x00040047,
+ 0x00000069,0x00000022,0x00000000,0x00040047,0x00000069,0x00000021,0x00000000,0x00030047,
+ 0x00000069,0x00000019,0x00040047,0x00000072,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
+ 0x00000007,0x00000006,0x00000002,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,
0x00000011,0x00000001,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000001,0x0004002b,
0x00000006,0x00000013,0x00000000,0x00040020,0x00000014,0x00000001,0x00000006,0x00040017,
- 0x00000017,0x00000006,0x00000004,0x00040020,0x00000018,0x00000007,0x00000017,0x0004002b,
- 0x00000006,0x0000001a,0x00000040,0x0004001c,0x0000001b,0x00000017,0x0000001a,0x0003001e,
- 0x0000001c,0x0000001b,0x00040020,0x0000001d,0x00000002,0x0000001c,0x0004003b,0x0000001d,
- 0x0000001e,0x00000002,0x00040015,0x0000001f,0x00000020,0x00000001,0x0004002b,0x0000001f,
- 0x00000020,0x00000000,0x00040020,0x00000023,0x00000002,0x00000017,0x00020014,0x00000026,
- 0x00040020,0x00000027,0x00000007,0x00000026,0x0004002b,0x00000006,0x0000002b,0x00000002,
- 0x00040017,0x00000033,0x00000026,0x00000002,0x0004002b,0x00000006,0x0000003f,0x00000001,
- 0x0004002b,0x00000006,0x00000043,0x00000003,0x00040020,0x00000048,0x00000007,0x00000007,
+ 0x00000017,0x00000006,0x00000004,0x0004002b,0x00000006,0x0000001a,0x00000040,0x0004001c,
+ 0x0000001b,0x00000017,0x0000001a,0x0003001e,0x0000001c,0x0000001b,0x00040020,0x0000001d,
+ 0x00000002,0x0000001c,0x0004003b,0x0000001d,0x0000001e,0x00000002,0x00040015,0x0000001f,
+ 0x00000020,0x00000001,0x0004002b,0x0000001f,0x00000020,0x00000000,0x00040020,0x00000023,
+ 0x00000002,0x00000017,0x00020014,0x00000026,0x00040017,0x00000033,0x00000026,0x00000002,
+ 0x0004002b,0x00000006,0x0000003f,0x00000001,0x0004002b,0x00000006,0x00000043,0x00000003,
0x0004003b,0x00000011,0x0000004a,0x00000001,0x0004002b,0x00000006,0x0000004f,0x00000008,
0x0004002b,0x00000006,0x00000050,0x00000004,0x0005002c,0x00000007,0x00000051,0x0000004f,
0x00000050,0x0004002b,0x00000006,0x0000005c,0x00000020,0x00090019,0x00000067,0x00000006,
0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x00000068,
0x00000000,0x00000067,0x0004003b,0x00000068,0x00000069,0x00000000,0x00040017,0x0000006c,
0x0000001f,0x00000002,0x0006002c,0x00000010,0x00000072,0x0000005c,0x0000003f,0x0000003f,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000048,0x00000049,0x00000007,0x0004003b,0x00000048,0x0000004d,0x00000007,0x0004003b,
- 0x00000048,0x00000053,0x00000007,0x0004003b,0x00000048,0x00000056,0x00000007,0x0004003d,
+ 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,
0x00000010,0x0000004b,0x0000004a,0x0007004f,0x00000007,0x0000004c,0x0000004b,0x0000004b,
- 0x00000000,0x00000001,0x0003003e,0x00000049,0x0000004c,0x0004003d,0x00000007,0x0000004e,
- 0x00000049,0x00050084,0x00000007,0x00000052,0x0000004e,0x00000051,0x0003003e,0x0000004d,
- 0x00000052,0x0004003d,0x00000007,0x00000054,0x0000004d,0x00050080,0x00000007,0x00000055,
- 0x00000054,0x00000051,0x0003003e,0x00000053,0x00000055,0x0004003d,0x00000007,0x00000057,
- 0x0000004d,0x0004003d,0x00000007,0x00000058,0x00000053,0x00070039,0x00000007,0x00000059,
- 0x0000000c,0x00000013,0x00000057,0x00000058,0x00050051,0x00000006,0x0000005a,0x00000059,
- 0x00000000,0x00050041,0x0000000e,0x0000005b,0x00000056,0x00000013,0x0003003e,0x0000005b,
- 0x0000005a,0x0004003d,0x00000007,0x0000005d,0x0000004d,0x0004003d,0x00000007,0x0000005e,
- 0x00000053,0x00070039,0x00000007,0x0000005f,0x0000000c,0x0000005c,0x0000005d,0x0000005e,
- 0x00050051,0x00000006,0x00000060,0x0000005f,0x00000000,0x00050041,0x0000000e,0x00000061,
- 0x00000056,0x0000003f,0x0003003e,0x00000061,0x00000060,0x00050041,0x00000014,0x00000062,
- 0x00000012,0x00000013,0x0004003d,0x00000006,0x00000063,0x00000062,0x000500aa,0x00000026,
- 0x00000064,0x00000063,0x00000013,0x000300f7,0x00000066,0x00000000,0x000400fa,0x00000064,
+ 0x00000000,0x00000001,0x00050084,0x00000007,0x00000052,0x0000004c,0x00000051,0x00050080,
+ 0x00000007,0x00000055,0x00000052,0x00000051,0x00050041,0x00000014,0x00000078,0x00000012,
+ 0x00000013,0x0004003d,0x00000006,0x00000079,0x00000078,0x00060041,0x00000023,0x0000007c,
+ 0x0000001e,0x00000020,0x00000079,0x0004003d,0x00000017,0x0000007d,0x0000007c,0x00050051,
+ 0x00000006,0x0000007f,0x0000007d,0x00000000,0x00050051,0x00000006,0x00000081,0x0000007d,
+ 0x00000002,0x000500b0,0x00000026,0x00000082,0x0000007f,0x00000081,0x000300f7,0x00000088,
+ 0x00000000,0x000400fa,0x00000082,0x00000083,0x00000088,0x000200f8,0x00000083,0x0007004f,
+ 0x00000007,0x00000085,0x0000007d,0x0000007d,0x00000000,0x00000001,0x000500b0,0x00000033,
+ 0x00000086,0x00000085,0x00000055,0x0004009b,0x00000026,0x00000087,0x00000086,0x000200f9,
+ 0x00000088,0x000200f8,0x00000088,0x000700f5,0x00000026,0x00000089,0x00000082,0x00000005,
+ 0x00000087,0x00000083,0x000300f7,0x0000008f,0x00000000,0x000400fa,0x00000089,0x0000008a,
+ 0x0000008f,0x000200f8,0x0000008a,0x0007004f,0x00000007,0x0000008c,0x0000007d,0x0000007d,
+ 0x00000002,0x00000003,0x000500ae,0x00000033,0x0000008d,0x0000008c,0x00000052,0x0004009b,
+ 0x00000026,0x0000008e,0x0000008d,0x000200f9,0x0000008f,0x000200f8,0x0000008f,0x000700f5,
+ 0x00000026,0x00000090,0x00000089,0x00000088,0x0000008e,0x0000008a,0x000600a9,0x00000006,
+ 0x00000092,0x00000090,0x0000003f,0x00000013,0x000500c4,0x00000006,0x00000094,0x00000092,
+ 0x00000079,0x00060168,0x00000006,0x00000095,0x00000043,0x00000000,0x00000094,0x00050080,
+ 0x00000006,0x0000009f,0x0000005c,0x00000079,0x00060041,0x00000023,0x000000a0,0x0000001e,
+ 0x00000020,0x0000009f,0x0004003d,0x00000017,0x000000a1,0x000000a0,0x00050051,0x00000006,
+ 0x000000a3,0x000000a1,0x00000000,0x00050051,0x00000006,0x000000a5,0x000000a1,0x00000002,
+ 0x000500b0,0x00000026,0x000000a6,0x000000a3,0x000000a5,0x000300f7,0x000000ac,0x00000000,
+ 0x000400fa,0x000000a6,0x000000a7,0x000000ac,0x000200f8,0x000000a7,0x0007004f,0x00000007,
+ 0x000000a9,0x000000a1,0x000000a1,0x00000000,0x00000001,0x000500b0,0x00000033,0x000000aa,
+ 0x000000a9,0x00000055,0x0004009b,0x00000026,0x000000ab,0x000000aa,0x000200f9,0x000000ac,
+ 0x000200f8,0x000000ac,0x000700f5,0x00000026,0x000000ad,0x000000a6,0x0000008f,0x000000ab,
+ 0x000000a7,0x000300f7,0x000000b3,0x00000000,0x000400fa,0x000000ad,0x000000ae,0x000000b3,
+ 0x000200f8,0x000000ae,0x0007004f,0x00000007,0x000000b0,0x000000a1,0x000000a1,0x00000002,
+ 0x00000003,0x000500ae,0x00000033,0x000000b1,0x000000b0,0x00000052,0x0004009b,0x00000026,
+ 0x000000b2,0x000000b1,0x000200f9,0x000000b3,0x000200f8,0x000000b3,0x000700f5,0x00000026,
+ 0x000000b4,0x000000ad,0x000000ac,0x000000b2,0x000000ae,0x000600a9,0x00000006,0x000000b6,
+ 0x000000b4,0x0000003f,0x00000013,0x000500c4,0x00000006,0x000000b8,0x000000b6,0x00000079,
+ 0x00060168,0x00000006,0x000000b9,0x00000043,0x00000000,0x000000b8,0x000500aa,0x00000026,
+ 0x00000064,0x00000079,0x00000013,0x000300f7,0x00000066,0x00000000,0x000400fa,0x00000064,
0x00000065,0x00000066,0x000200f8,0x00000065,0x0004003d,0x00000067,0x0000006a,0x00000069,
- 0x0004003d,0x00000007,0x0000006b,0x00000049,0x0004007c,0x0000006c,0x0000006d,0x0000006b,
- 0x0004003d,0x00000007,0x0000006e,0x00000056,0x00050051,0x00000006,0x0000006f,0x0000006e,
- 0x00000000,0x00050051,0x00000006,0x00000070,0x0000006e,0x00000001,0x00070050,0x00000017,
- 0x00000071,0x0000006f,0x00000070,0x00000013,0x00000013,0x00040063,0x0000006a,0x0000006d,
- 0x00000071,0x000200f9,0x00000066,0x000200f8,0x00000066,0x000100fd,0x00010038,0x00050036,
- 0x00000007,0x0000000c,0x00000000,0x00000008,0x00030037,0x00000006,0x00000009,0x00030037,
- 0x00000007,0x0000000a,0x00030037,0x00000007,0x0000000b,0x000200f8,0x0000000d,0x0004003b,
- 0x0000000e,0x0000000f,0x00000007,0x0004003b,0x00000018,0x00000019,0x00000007,0x0004003b,
- 0x00000027,0x00000028,0x00000007,0x00050041,0x00000014,0x00000015,0x00000012,0x00000013,
- 0x0004003d,0x00000006,0x00000016,0x00000015,0x0003003e,0x0000000f,0x00000016,0x0004003d,
- 0x00000006,0x00000021,0x0000000f,0x00050080,0x00000006,0x00000022,0x00000009,0x00000021,
- 0x00060041,0x00000023,0x00000024,0x0000001e,0x00000020,0x00000022,0x0004003d,0x00000017,
- 0x00000025,0x00000024,0x0003003e,0x00000019,0x00000025,0x00050041,0x0000000e,0x00000029,
- 0x00000019,0x00000013,0x0004003d,0x00000006,0x0000002a,0x00000029,0x00050041,0x0000000e,
- 0x0000002c,0x00000019,0x0000002b,0x0004003d,0x00000006,0x0000002d,0x0000002c,0x000500b0,
- 0x00000026,0x0000002e,0x0000002a,0x0000002d,0x000300f7,0x00000030,0x00000000,0x000400fa,
- 0x0000002e,0x0000002f,0x00000030,0x000200f8,0x0000002f,0x0004003d,0x00000017,0x00000031,
- 0x00000019,0x0007004f,0x00000007,0x00000032,0x00000031,0x00000031,0x00000000,0x00000001,
- 0x000500b0,0x00000033,0x00000034,0x00000032,0x0000000b,0x0004009b,0x00000026,0x00000035,
- 0x00000034,0x000200f9,0x00000030,0x000200f8,0x00000030,0x000700f5,0x00000026,0x00000036,
- 0x0000002e,0x0000000d,0x00000035,0x0000002f,0x000300f7,0x00000038,0x00000000,0x000400fa,
- 0x00000036,0x00000037,0x00000038,0x000200f8,0x00000037,0x0004003d,0x00000017,0x00000039,
- 0x00000019,0x0007004f,0x00000007,0x0000003a,0x00000039,0x00000039,0x00000002,0x00000003,
- 0x000500ae,0x00000033,0x0000003b,0x0000003a,0x0000000a,0x0004009b,0x00000026,0x0000003c,
- 0x0000003b,0x000200f9,0x00000038,0x000200f8,0x00000038,0x000700f5,0x00000026,0x0000003d,
- 0x00000036,0x00000030,0x0000003c,0x00000037,0x0003003e,0x00000028,0x0000003d,0x0004003d,
- 0x00000026,0x0000003e,0x00000028,0x000600a9,0x00000006,0x00000040,0x0000003e,0x0000003f,
- 0x00000013,0x0004003d,0x00000006,0x00000041,0x0000000f,0x000500c4,0x00000006,0x00000042,
- 0x00000040,0x00000041,0x00060168,0x00000006,0x00000044,0x00000043,0x00000000,0x00000042,
- 0x00050050,0x00000007,0x00000045,0x00000044,0x00000013,0x000200fe,0x00000045,0x00010038
+ 0x0004007c,0x0000006c,0x0000006d,0x0000004c,0x00070050,0x00000017,0x00000071,0x00000095,
+ 0x000000b9,0x00000013,0x00000013,0x00040063,0x0000006a,0x0000006d,0x00000071,0x000200f9,
+ 0x00000066,0x000200f8,0x00000066,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000003.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000003.inc
index e0124bbb138..c8e6dec0f82 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000003.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000003.inc
@@ -1,7 +1,7 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayCull_comp_00000003[] = {
- 0x07230203,0x00010300,0x00080007,0x00000083,0x00000000,0x00020011,0x00000001,0x00020011,
+ 0x07230203,0x00010300,0x0008000a,0x000000c3,0x00000000,0x00020011,0x00000001,0x00020011,
0x0000003d,0x00020011,0x0000003f,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,0x0007000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000012,0x00000063,0x00060010,0x00000004,0x00000011,0x00000040,0x00000001,
@@ -9,105 +9,67 @@ const uint32_t kOverlayCull_comp_00000003[] = {
0x656c7265,0x745f7373,0x75747865,0x665f6572,0x74636e75,0x736e6f69,0x00000000,0x000a0004,
0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x615f7075,0x68746972,0x6974656d,
0x00000063,0x00090004,0x4b5f4c47,0x735f5248,0x65646168,0x75735f72,0x6f726762,0x625f7075,
- 0x63697361,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x0000000c,
- 0x6c6c7563,0x67646957,0x28737465,0x763b3175,0x763b3275,0x003b3275,0x00040005,0x00000009,
- 0x7366666f,0x00007465,0x00060005,0x0000000a,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,
- 0x00060005,0x0000000b,0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00040005,0x0000000f,
- 0x61636f6c,0x0064496c,0x00080005,0x00000012,0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,
- 0x44496e6f,0x00000000,0x00060005,0x00000019,0x67646977,0x6f437465,0x7364726f,0x00000000,
- 0x00070005,0x0000001c,0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,
- 0x0000001c,0x00000000,0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,
- 0x00050005,0x00000028,0x65746e69,0x63657372,0x00007374,0x00060005,0x0000003e,0x74786574,
- 0x67646957,0x69427465,0x00000074,0x00060005,0x0000004c,0x70617267,0x64695768,0x42746567,
- 0x00007469,0x00050005,0x00000062,0x4374756f,0x64726f6f,0x00000000,0x00060005,0x00000063,
- 0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00060005,0x00000066,0x636f6c62,0x6f6f436b,
- 0x6f4c6472,0x00000077,0x00060005,0x0000006b,0x636f6c62,0x6f6f436b,0x69486472,0x00006867,
- 0x00060005,0x0000006e,0x6c6c7563,0x69576465,0x74656764,0x00000073,0x00070005,0x00000079,
- 0x6c6c7563,0x69576465,0x74656764,0x74754f73,0x00000000,0x00040047,0x00000012,0x0000000b,
- 0x0000001b,0x00040047,0x0000001b,0x00000006,0x00000010,0x00050048,0x0000001c,0x00000000,
- 0x00000023,0x00000000,0x00030047,0x0000001c,0x00000002,0x00040047,0x0000001e,0x00000022,
- 0x00000000,0x00040047,0x0000001e,0x00000021,0x00000001,0x00040047,0x00000063,0x0000000b,
- 0x0000001a,0x00040047,0x00000079,0x00000022,0x00000000,0x00040047,0x00000079,0x00000021,
- 0x00000000,0x00030047,0x00000079,0x00000019,0x00040047,0x00000082,0x0000000b,0x00000019,
- 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
- 0x00000000,0x00040017,0x00000007,0x00000006,0x00000002,0x00060021,0x00000008,0x00000007,
- 0x00000006,0x00000007,0x00000007,0x00040020,0x0000000e,0x00000007,0x00000006,0x00040017,
- 0x00000010,0x00000006,0x00000003,0x00040020,0x00000011,0x00000001,0x00000010,0x0004003b,
- 0x00000011,0x00000012,0x00000001,0x0004002b,0x00000006,0x00000013,0x00000000,0x00040020,
- 0x00000014,0x00000001,0x00000006,0x00040017,0x00000017,0x00000006,0x00000004,0x00040020,
- 0x00000018,0x00000007,0x00000017,0x0004002b,0x00000006,0x0000001a,0x00000040,0x0004001c,
+ 0x63697361,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,0x00000012,
+ 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00070005,0x0000001c,
+ 0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000001c,0x00000000,
+ 0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000001e,0x00000000,0x00060005,0x00000063,
+ 0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00070005,0x00000079,0x6c6c7563,0x69576465,
+ 0x74656764,0x74754f73,0x00000000,0x00040047,0x00000012,0x0000000b,0x0000001b,0x00040047,
+ 0x0000001b,0x00000006,0x00000010,0x00050048,0x0000001c,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x0000001c,0x00000002,0x00040047,0x0000001e,0x00000022,0x00000000,0x00040047,
+ 0x0000001e,0x00000021,0x00000001,0x00040047,0x00000063,0x0000000b,0x0000001a,0x00040047,
+ 0x00000079,0x00000022,0x00000000,0x00040047,0x00000079,0x00000021,0x00000000,0x00030047,
+ 0x00000079,0x00000019,0x00040047,0x00000082,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
+ 0x00000007,0x00000006,0x00000002,0x00040017,0x00000010,0x00000006,0x00000003,0x00040020,
+ 0x00000011,0x00000001,0x00000010,0x0004003b,0x00000011,0x00000012,0x00000001,0x0004002b,
+ 0x00000006,0x00000013,0x00000000,0x00040020,0x00000014,0x00000001,0x00000006,0x00040017,
+ 0x00000017,0x00000006,0x00000004,0x0004002b,0x00000006,0x0000001a,0x00000040,0x0004001c,
0x0000001b,0x00000017,0x0000001a,0x0003001e,0x0000001c,0x0000001b,0x00040020,0x0000001d,
0x00000002,0x0000001c,0x0004003b,0x0000001d,0x0000001e,0x00000002,0x00040015,0x0000001f,
0x00000020,0x00000001,0x0004002b,0x0000001f,0x00000020,0x00000000,0x00040020,0x00000023,
- 0x00000002,0x00000017,0x00020014,0x00000026,0x00040020,0x00000027,0x00000007,0x00000026,
- 0x0004002b,0x00000006,0x0000002b,0x00000002,0x00040017,0x00000033,0x00000026,0x00000002,
+ 0x00000002,0x00000017,0x00020014,0x00000026,0x00040017,0x00000033,0x00000026,0x00000002,
0x0004002b,0x00000006,0x00000040,0x00000020,0x0004002b,0x00000006,0x00000046,0x00000001,
- 0x0004002b,0x00000006,0x0000005a,0x00000003,0x00040020,0x00000061,0x00000007,0x00000007,
- 0x0004003b,0x00000011,0x00000063,0x00000001,0x0004002b,0x00000006,0x00000068,0x00000008,
- 0x0005002c,0x00000007,0x00000069,0x00000068,0x00000068,0x00090019,0x00000077,0x00000006,
- 0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x00000078,
- 0x00000000,0x00000077,0x0004003b,0x00000078,0x00000079,0x00000000,0x00040017,0x0000007c,
- 0x0000001f,0x00000002,0x0006002c,0x00000010,0x00000082,0x0000001a,0x00000046,0x00000046,
- 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,
- 0x00000061,0x00000062,0x00000007,0x0004003b,0x00000061,0x00000066,0x00000007,0x0004003b,
- 0x00000061,0x0000006b,0x00000007,0x0004003b,0x00000061,0x0000006e,0x00000007,0x0004003d,
- 0x00000010,0x00000064,0x00000063,0x0007004f,0x00000007,0x00000065,0x00000064,0x00000064,
- 0x00000000,0x00000001,0x0003003e,0x00000062,0x00000065,0x0004003d,0x00000007,0x00000067,
- 0x00000062,0x00050084,0x00000007,0x0000006a,0x00000067,0x00000069,0x0003003e,0x00000066,
- 0x0000006a,0x0004003d,0x00000007,0x0000006c,0x00000066,0x00050080,0x00000007,0x0000006d,
- 0x0000006c,0x00000069,0x0003003e,0x0000006b,0x0000006d,0x0004003d,0x00000007,0x0000006f,
- 0x00000066,0x0004003d,0x00000007,0x00000070,0x0000006b,0x00070039,0x00000007,0x00000071,
- 0x0000000c,0x00000013,0x0000006f,0x00000070,0x0003003e,0x0000006e,0x00000071,0x00050041,
- 0x00000014,0x00000072,0x00000012,0x00000013,0x0004003d,0x00000006,0x00000073,0x00000072,
- 0x000500aa,0x00000026,0x00000074,0x00000073,0x00000013,0x000300f7,0x00000076,0x00000000,
- 0x000400fa,0x00000074,0x00000075,0x00000076,0x000200f8,0x00000075,0x0004003d,0x00000077,
- 0x0000007a,0x00000079,0x0004003d,0x00000007,0x0000007b,0x00000062,0x0004007c,0x0000007c,
- 0x0000007d,0x0000007b,0x0004003d,0x00000007,0x0000007e,0x0000006e,0x00050051,0x00000006,
- 0x0000007f,0x0000007e,0x00000000,0x00050051,0x00000006,0x00000080,0x0000007e,0x00000001,
- 0x00070050,0x00000017,0x00000081,0x0000007f,0x00000080,0x00000013,0x00000013,0x00040063,
- 0x0000007a,0x0000007d,0x00000081,0x000200f9,0x00000076,0x000200f8,0x00000076,0x000100fd,
- 0x00010038,0x00050036,0x00000007,0x0000000c,0x00000000,0x00000008,0x00030037,0x00000006,
- 0x00000009,0x00030037,0x00000007,0x0000000a,0x00030037,0x00000007,0x0000000b,0x000200f8,
- 0x0000000d,0x0004003b,0x0000000e,0x0000000f,0x00000007,0x0004003b,0x00000018,0x00000019,
- 0x00000007,0x0004003b,0x00000027,0x00000028,0x00000007,0x0004003b,0x0000000e,0x0000003e,
- 0x00000007,0x0004003b,0x0000000e,0x00000042,0x00000007,0x0004003b,0x0000000e,0x0000004c,
- 0x00000007,0x0004003b,0x0000000e,0x0000004f,0x00000007,0x00050041,0x00000014,0x00000015,
- 0x00000012,0x00000013,0x0004003d,0x00000006,0x00000016,0x00000015,0x0003003e,0x0000000f,
- 0x00000016,0x0004003d,0x00000006,0x00000021,0x0000000f,0x00050080,0x00000006,0x00000022,
- 0x00000009,0x00000021,0x00060041,0x00000023,0x00000024,0x0000001e,0x00000020,0x00000022,
- 0x0004003d,0x00000017,0x00000025,0x00000024,0x0003003e,0x00000019,0x00000025,0x00050041,
- 0x0000000e,0x00000029,0x00000019,0x00000013,0x0004003d,0x00000006,0x0000002a,0x00000029,
- 0x00050041,0x0000000e,0x0000002c,0x00000019,0x0000002b,0x0004003d,0x00000006,0x0000002d,
- 0x0000002c,0x000500b0,0x00000026,0x0000002e,0x0000002a,0x0000002d,0x000300f7,0x00000030,
- 0x00000000,0x000400fa,0x0000002e,0x0000002f,0x00000030,0x000200f8,0x0000002f,0x0004003d,
- 0x00000017,0x00000031,0x00000019,0x0007004f,0x00000007,0x00000032,0x00000031,0x00000031,
- 0x00000000,0x00000001,0x000500b0,0x00000033,0x00000034,0x00000032,0x0000000b,0x0004009b,
- 0x00000026,0x00000035,0x00000034,0x000200f9,0x00000030,0x000200f8,0x00000030,0x000700f5,
- 0x00000026,0x00000036,0x0000002e,0x0000000d,0x00000035,0x0000002f,0x000300f7,0x00000038,
- 0x00000000,0x000400fa,0x00000036,0x00000037,0x00000038,0x000200f8,0x00000037,0x0004003d,
- 0x00000017,0x00000039,0x00000019,0x0007004f,0x00000007,0x0000003a,0x00000039,0x00000039,
- 0x00000002,0x00000003,0x000500ae,0x00000033,0x0000003b,0x0000003a,0x0000000a,0x0004009b,
- 0x00000026,0x0000003c,0x0000003b,0x000200f9,0x00000038,0x000200f8,0x00000038,0x000700f5,
- 0x00000026,0x0000003d,0x00000036,0x00000030,0x0000003c,0x00000037,0x0003003e,0x00000028,
- 0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000000f,0x000500b0,0x00000026,0x00000041,
- 0x0000003f,0x00000040,0x000300f7,0x00000044,0x00000000,0x000400fa,0x00000041,0x00000043,
- 0x0000004a,0x000200f8,0x00000043,0x0004003d,0x00000026,0x00000045,0x00000028,0x000600a9,
- 0x00000006,0x00000047,0x00000045,0x00000046,0x00000013,0x0004003d,0x00000006,0x00000048,
- 0x0000000f,0x000500c4,0x00000006,0x00000049,0x00000047,0x00000048,0x0003003e,0x00000042,
- 0x00000049,0x000200f9,0x00000044,0x000200f8,0x0000004a,0x0003003e,0x00000042,0x00000013,
- 0x000200f9,0x00000044,0x000200f8,0x00000044,0x0004003d,0x00000006,0x0000004b,0x00000042,
- 0x0003003e,0x0000003e,0x0000004b,0x0004003d,0x00000006,0x0000004d,0x0000000f,0x000500ae,
- 0x00000026,0x0000004e,0x0000004d,0x00000040,0x000300f7,0x00000051,0x00000000,0x000400fa,
- 0x0000004e,0x00000050,0x00000057,0x000200f8,0x00000050,0x0004003d,0x00000026,0x00000052,
- 0x00000028,0x000600a9,0x00000006,0x00000053,0x00000052,0x00000046,0x00000013,0x0004003d,
- 0x00000006,0x00000054,0x0000000f,0x00050082,0x00000006,0x00000055,0x00000054,0x00000040,
- 0x000500c4,0x00000006,0x00000056,0x00000053,0x00000055,0x0003003e,0x0000004f,0x00000056,
- 0x000200f9,0x00000051,0x000200f8,0x00000057,0x0003003e,0x0000004f,0x00000013,0x000200f9,
- 0x00000051,0x000200f8,0x00000051,0x0004003d,0x00000006,0x00000058,0x0000004f,0x0003003e,
- 0x0000004c,0x00000058,0x0004003d,0x00000006,0x00000059,0x0000003e,0x00060168,0x00000006,
- 0x0000005b,0x0000005a,0x00000000,0x00000059,0x0004003d,0x00000006,0x0000005c,0x0000004c,
- 0x00060168,0x00000006,0x0000005d,0x0000005a,0x00000000,0x0000005c,0x00050050,0x00000007,
- 0x0000005e,0x0000005b,0x0000005d,0x000200fe,0x0000005e,0x00010038
+ 0x0004002b,0x00000006,0x0000005a,0x00000003,0x0004003b,0x00000011,0x00000063,0x00000001,
+ 0x0004002b,0x00000006,0x00000068,0x00000008,0x0005002c,0x00000007,0x00000069,0x00000068,
+ 0x00000068,0x00090019,0x00000077,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,
+ 0x00000002,0x0000001e,0x00040020,0x00000078,0x00000000,0x00000077,0x0004003b,0x00000078,
+ 0x00000079,0x00000000,0x00040017,0x0000007c,0x0000001f,0x00000002,0x0006002c,0x00000010,
+ 0x00000082,0x0000001a,0x00000046,0x00000046,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000010,0x00000064,0x00000063,0x0007004f,
+ 0x00000007,0x00000065,0x00000064,0x00000064,0x00000000,0x00000001,0x00050084,0x00000007,
+ 0x0000006a,0x00000065,0x00000069,0x00050080,0x00000007,0x0000006d,0x0000006a,0x00000069,
+ 0x00050041,0x00000014,0x0000008c,0x00000012,0x00000013,0x0004003d,0x00000006,0x0000008d,
+ 0x0000008c,0x00060041,0x00000023,0x00000090,0x0000001e,0x00000020,0x0000008d,0x0004003d,
+ 0x00000017,0x00000091,0x00000090,0x00050051,0x00000006,0x00000093,0x00000091,0x00000000,
+ 0x00050051,0x00000006,0x00000095,0x00000091,0x00000002,0x000500b0,0x00000026,0x00000096,
+ 0x00000093,0x00000095,0x000300f7,0x0000009c,0x00000000,0x000400fa,0x00000096,0x00000097,
+ 0x0000009c,0x000200f8,0x00000097,0x0007004f,0x00000007,0x00000099,0x00000091,0x00000091,
+ 0x00000000,0x00000001,0x000500b0,0x00000033,0x0000009a,0x00000099,0x0000006d,0x0004009b,
+ 0x00000026,0x0000009b,0x0000009a,0x000200f9,0x0000009c,0x000200f8,0x0000009c,0x000700f5,
+ 0x00000026,0x0000009d,0x00000096,0x00000005,0x0000009b,0x00000097,0x000300f7,0x000000a3,
+ 0x00000000,0x000400fa,0x0000009d,0x0000009e,0x000000a3,0x000200f8,0x0000009e,0x0007004f,
+ 0x00000007,0x000000a0,0x00000091,0x00000091,0x00000002,0x00000003,0x000500ae,0x00000033,
+ 0x000000a1,0x000000a0,0x0000006a,0x0004009b,0x00000026,0x000000a2,0x000000a1,0x000200f9,
+ 0x000000a3,0x000200f8,0x000000a3,0x000700f5,0x00000026,0x000000a4,0x0000009d,0x0000009c,
+ 0x000000a2,0x0000009e,0x000500b0,0x00000026,0x000000a6,0x0000008d,0x00000040,0x000300f7,
+ 0x000000ad,0x00000000,0x000400fa,0x000000a6,0x000000a7,0x000000ac,0x000200f8,0x000000a7,
+ 0x000600a9,0x00000006,0x000000a9,0x000000a4,0x00000046,0x00000013,0x000500c4,0x00000006,
+ 0x000000ab,0x000000a9,0x0000008d,0x000200f9,0x000000ad,0x000200f8,0x000000ac,0x000200f9,
+ 0x000000ad,0x000200f8,0x000000ad,0x000700f5,0x00000006,0x000000c1,0x000000ab,0x000000a7,
+ 0x00000013,0x000000ac,0x000500ae,0x00000026,0x000000b0,0x0000008d,0x00000040,0x000300f7,
+ 0x000000b8,0x00000000,0x000400fa,0x000000b0,0x000000b1,0x000000b7,0x000200f8,0x000000b1,
+ 0x000600a9,0x00000006,0x000000b3,0x000000a4,0x00000046,0x00000013,0x00050082,0x00000006,
+ 0x000000b5,0x0000008d,0x00000040,0x000500c4,0x00000006,0x000000b6,0x000000b3,0x000000b5,
+ 0x000200f9,0x000000b8,0x000200f8,0x000000b7,0x000200f9,0x000000b8,0x000200f8,0x000000b8,
+ 0x000700f5,0x00000006,0x000000c2,0x000000b6,0x000000b1,0x00000013,0x000000b7,0x00060168,
+ 0x00000006,0x000000bb,0x0000005a,0x00000000,0x000000c1,0x00060168,0x00000006,0x000000bd,
+ 0x0000005a,0x00000000,0x000000c2,0x000500aa,0x00000026,0x00000074,0x0000008d,0x00000013,
+ 0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x00000076,0x000200f8,
+ 0x00000075,0x0004003d,0x00000077,0x0000007a,0x00000079,0x0004007c,0x0000007c,0x0000007d,
+ 0x00000065,0x00070050,0x00000017,0x00000081,0x000000bb,0x000000bd,0x00000013,0x00000013,
+ 0x00040063,0x0000007a,0x0000007d,0x00000081,0x000200f9,0x00000076,0x000200f8,0x00000076,
+ 0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000004.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000004.inc
index 56b82d1b32e..9750176d8a1 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000004.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000004.inc
@@ -1,146 +1,146 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayCull_comp_00000004[] = {
- 0x07230203,0x00010000,0x00080007,0x000000b9,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x000001a7,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000053,0x00000093,0x00060010,
0x00000004,0x00000011,0x00000020,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,
0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,
- 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,
- 0x00000009,0x75636361,0x616c756d,0x69576574,0x74656764,0x31752873,0x0000003b,0x00040005,
- 0x00000008,0x61636f6c,0x0064496c,0x00080005,0x00000010,0x6c6c7563,0x67646957,0x28737465,
- 0x763b3175,0x763b3275,0x003b3275,0x00040005,0x0000000d,0x7366666f,0x00007465,0x00060005,
- 0x0000000e,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000000f,0x636f6c62,
- 0x6f6f436b,0x69486472,0x00006867,0x00070005,0x0000001a,0x65746e69,0x63657372,0x676e6974,
- 0x67646957,0x00737465,0x00040005,0x00000050,0x61636f6c,0x0064496c,0x00080005,0x00000053,
- 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00060005,0x0000005a,
- 0x67646977,0x6f437465,0x7364726f,0x00000000,0x00070005,0x0000005d,0x67646957,0x6f437465,
- 0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000005d,0x00000000,0x726f6f63,0x616e6964,
- 0x00736574,0x00030005,0x0000005f,0x00000000,0x00050005,0x00000068,0x65746e69,0x63657372,
- 0x00007374,0x00040005,0x0000007e,0x6c6c6162,0x0000746f,0x00050005,0x00000092,0x4374756f,
- 0x64726f6f,0x00000000,0x00060005,0x00000093,0x575f6c67,0x476b726f,0x70756f72,0x00004449,
- 0x00060005,0x00000096,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000009a,
- 0x636f6c62,0x6f6f436b,0x69486472,0x00006867,0x00060005,0x0000009d,0x6c6c7563,0x69576465,
- 0x74656764,0x00000073,0x00070005,0x000000af,0x6c6c7563,0x69576465,0x74656764,0x74754f73,
- 0x00000000,0x00040047,0x00000053,0x0000000b,0x0000001b,0x00040047,0x0000005c,0x00000006,
- 0x00000010,0x00050048,0x0000005d,0x00000000,0x00000023,0x00000000,0x00030047,0x0000005d,
- 0x00000002,0x00040047,0x0000005f,0x00000022,0x00000000,0x00040047,0x0000005f,0x00000021,
- 0x00000001,0x00040047,0x00000093,0x0000000b,0x0000001a,0x00040047,0x000000af,0x00000022,
- 0x00000000,0x00040047,0x000000af,0x00000021,0x00000000,0x00030047,0x000000af,0x00000019,
- 0x00040047,0x000000b8,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040021,0x00000007,0x00000002,
- 0x00000006,0x00040017,0x0000000b,0x00000006,0x00000002,0x00060021,0x0000000c,0x0000000b,
- 0x00000006,0x0000000b,0x0000000b,0x0004002b,0x00000006,0x00000012,0x00000010,0x00020014,
+ 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,
+ 0x0000001a,0x65746e69,0x63657372,0x676e6974,0x67646957,0x00737465,0x00080005,0x00000053,
+ 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00070005,0x0000005d,
+ 0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000005d,0x00000000,
+ 0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000005f,0x00000000,0x00060005,0x00000093,
+ 0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00070005,0x000000af,0x6c6c7563,0x69576465,
+ 0x74656764,0x74754f73,0x00000000,0x00040047,0x00000053,0x0000000b,0x0000001b,0x00040047,
+ 0x0000005c,0x00000006,0x00000010,0x00050048,0x0000005d,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x0000005d,0x00000002,0x00040047,0x0000005f,0x00000022,0x00000000,0x00040047,
+ 0x0000005f,0x00000021,0x00000001,0x00040047,0x00000093,0x0000000b,0x0000001a,0x00040047,
+ 0x000000af,0x00000022,0x00000000,0x00040047,0x000000af,0x00000021,0x00000000,0x00030047,
+ 0x000000af,0x00000019,0x00040047,0x000000b8,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
+ 0x0000000b,0x00000006,0x00000002,0x0004002b,0x00000006,0x00000012,0x00000010,0x00020014,
0x00000013,0x0004002b,0x00000006,0x00000017,0x00000020,0x0004001c,0x00000018,0x00000006,
0x00000017,0x00040020,0x00000019,0x00000004,0x00000018,0x0004003b,0x00000019,0x0000001a,
0x00000004,0x00040020,0x0000001c,0x00000004,0x00000006,0x0004002b,0x00000006,0x00000023,
0x00000008,0x0004002b,0x00000006,0x0000002e,0x00000004,0x0004002b,0x00000006,0x00000039,
- 0x00000002,0x0004002b,0x00000006,0x00000044,0x00000001,0x00040020,0x0000004f,0x00000007,
- 0x00000006,0x00040017,0x00000051,0x00000006,0x00000003,0x00040020,0x00000052,0x00000001,
- 0x00000051,0x0004003b,0x00000052,0x00000053,0x00000001,0x0004002b,0x00000006,0x00000054,
- 0x00000000,0x00040020,0x00000055,0x00000001,0x00000006,0x00040017,0x00000058,0x00000006,
- 0x00000004,0x00040020,0x00000059,0x00000007,0x00000058,0x0004002b,0x00000006,0x0000005b,
+ 0x00000002,0x0004002b,0x00000006,0x00000044,0x00000001,0x00040017,0x00000051,0x00000006,
+ 0x00000003,0x00040020,0x00000052,0x00000001,0x00000051,0x0004003b,0x00000052,0x00000053,
+ 0x00000001,0x0004002b,0x00000006,0x00000054,0x00000000,0x00040020,0x00000055,0x00000001,
+ 0x00000006,0x00040017,0x00000058,0x00000006,0x00000004,0x0004002b,0x00000006,0x0000005b,
0x00000040,0x0004001c,0x0000005c,0x00000058,0x0000005b,0x0003001e,0x0000005d,0x0000005c,
0x00040020,0x0000005e,0x00000002,0x0000005d,0x0004003b,0x0000005e,0x0000005f,0x00000002,
0x00040015,0x00000060,0x00000020,0x00000001,0x0004002b,0x00000060,0x00000061,0x00000000,
- 0x00040020,0x00000064,0x00000002,0x00000058,0x00040020,0x00000067,0x00000007,0x00000013,
- 0x00040017,0x00000072,0x00000013,0x00000002,0x00040020,0x0000007d,0x00000007,0x0000000b,
+ 0x00040020,0x00000064,0x00000002,0x00000058,0x00040017,0x00000072,0x00000013,0x00000002,
0x0005002c,0x0000000b,0x0000007f,0x00000054,0x00000054,0x0004003b,0x00000052,0x00000093,
0x00000001,0x0005002c,0x0000000b,0x00000098,0x00000023,0x0000002e,0x00090019,0x000000ad,
0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,
0x000000ae,0x00000000,0x000000ad,0x0004003b,0x000000ae,0x000000af,0x00000000,0x00040017,
0x000000b2,0x00000060,0x00000002,0x0006002c,0x00000051,0x000000b8,0x00000017,0x00000044,
- 0x00000044,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
- 0x0004003b,0x0000007d,0x00000092,0x00000007,0x0004003b,0x0000007d,0x00000096,0x00000007,
- 0x0004003b,0x0000007d,0x0000009a,0x00000007,0x0004003b,0x0000007d,0x0000009d,0x00000007,
- 0x0004003d,0x00000051,0x00000094,0x00000093,0x0007004f,0x0000000b,0x00000095,0x00000094,
- 0x00000094,0x00000000,0x00000001,0x0003003e,0x00000092,0x00000095,0x0004003d,0x0000000b,
- 0x00000097,0x00000092,0x00050084,0x0000000b,0x00000099,0x00000097,0x00000098,0x0003003e,
- 0x00000096,0x00000099,0x0004003d,0x0000000b,0x0000009b,0x00000096,0x00050080,0x0000000b,
- 0x0000009c,0x0000009b,0x00000098,0x0003003e,0x0000009a,0x0000009c,0x0004003d,0x0000000b,
- 0x0000009e,0x00000096,0x0004003d,0x0000000b,0x0000009f,0x0000009a,0x00070039,0x0000000b,
- 0x000000a0,0x00000010,0x00000054,0x0000009e,0x0000009f,0x00050051,0x00000006,0x000000a1,
- 0x000000a0,0x00000000,0x00050041,0x0000004f,0x000000a2,0x0000009d,0x00000054,0x0003003e,
- 0x000000a2,0x000000a1,0x0004003d,0x0000000b,0x000000a3,0x00000096,0x0004003d,0x0000000b,
- 0x000000a4,0x0000009a,0x00070039,0x0000000b,0x000000a5,0x00000010,0x00000017,0x000000a3,
- 0x000000a4,0x00050051,0x00000006,0x000000a6,0x000000a5,0x00000000,0x00050041,0x0000004f,
- 0x000000a7,0x0000009d,0x00000044,0x0003003e,0x000000a7,0x000000a6,0x00050041,0x00000055,
- 0x000000a8,0x00000053,0x00000054,0x0004003d,0x00000006,0x000000a9,0x000000a8,0x000500aa,
- 0x00000013,0x000000aa,0x000000a9,0x00000054,0x000300f7,0x000000ac,0x00000000,0x000400fa,
- 0x000000aa,0x000000ab,0x000000ac,0x000200f8,0x000000ab,0x0004003d,0x000000ad,0x000000b0,
- 0x000000af,0x0004003d,0x0000000b,0x000000b1,0x00000092,0x0004007c,0x000000b2,0x000000b3,
- 0x000000b1,0x0004003d,0x0000000b,0x000000b4,0x0000009d,0x00050051,0x00000006,0x000000b5,
- 0x000000b4,0x00000000,0x00050051,0x00000006,0x000000b6,0x000000b4,0x00000001,0x00070050,
- 0x00000058,0x000000b7,0x000000b5,0x000000b6,0x00000054,0x00000054,0x00040063,0x000000b0,
- 0x000000b3,0x000000b7,0x000200f9,0x000000ac,0x000200f8,0x000000ac,0x000100fd,0x00010038,
- 0x00050036,0x00000002,0x00000009,0x00000000,0x00000007,0x00030037,0x00000006,0x00000008,
- 0x000200f8,0x0000000a,0x000500b0,0x00000013,0x00000014,0x00000008,0x00000012,0x000300f7,
- 0x00000016,0x00000000,0x000400fa,0x00000014,0x00000015,0x00000016,0x000200f8,0x00000015,
- 0x00050080,0x00000006,0x0000001b,0x00000008,0x00000012,0x00050041,0x0000001c,0x0000001d,
- 0x0000001a,0x0000001b,0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000001c,
- 0x0000001f,0x0000001a,0x00000008,0x0004003d,0x00000006,0x00000020,0x0000001f,0x000500c5,
- 0x00000006,0x00000021,0x00000020,0x0000001e,0x00050041,0x0000001c,0x00000022,0x0000001a,
- 0x00000008,0x0003003e,0x00000022,0x00000021,0x000500b0,0x00000013,0x00000024,0x00000008,
- 0x00000023,0x000300f7,0x00000026,0x00000000,0x000400fa,0x00000024,0x00000025,0x00000026,
- 0x000200f8,0x00000025,0x00050080,0x00000006,0x00000027,0x00000008,0x00000023,0x00050041,
- 0x0000001c,0x00000028,0x0000001a,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000028,
- 0x00050041,0x0000001c,0x0000002a,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000002b,
- 0x0000002a,0x000500c5,0x00000006,0x0000002c,0x0000002b,0x00000029,0x00050041,0x0000001c,
- 0x0000002d,0x0000001a,0x00000008,0x0003003e,0x0000002d,0x0000002c,0x000500b0,0x00000013,
- 0x0000002f,0x00000008,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f,
- 0x00000030,0x00000031,0x000200f8,0x00000030,0x00050080,0x00000006,0x00000032,0x00000008,
- 0x0000002e,0x00050041,0x0000001c,0x00000033,0x0000001a,0x00000032,0x0004003d,0x00000006,
- 0x00000034,0x00000033,0x00050041,0x0000001c,0x00000035,0x0000001a,0x00000008,0x0004003d,
- 0x00000006,0x00000036,0x00000035,0x000500c5,0x00000006,0x00000037,0x00000036,0x00000034,
- 0x00050041,0x0000001c,0x00000038,0x0000001a,0x00000008,0x0003003e,0x00000038,0x00000037,
- 0x000500b0,0x00000013,0x0000003a,0x00000008,0x00000039,0x000300f7,0x0000003c,0x00000000,
- 0x000400fa,0x0000003a,0x0000003b,0x0000003c,0x000200f8,0x0000003b,0x00050080,0x00000006,
- 0x0000003d,0x00000008,0x00000039,0x00050041,0x0000001c,0x0000003e,0x0000001a,0x0000003d,
- 0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050041,0x0000001c,0x00000040,0x0000001a,
- 0x00000008,0x0004003d,0x00000006,0x00000041,0x00000040,0x000500c5,0x00000006,0x00000042,
- 0x00000041,0x0000003f,0x00050041,0x0000001c,0x00000043,0x0000001a,0x00000008,0x0003003e,
- 0x00000043,0x00000042,0x000500b0,0x00000013,0x00000045,0x00000008,0x00000044,0x000300f7,
- 0x00000047,0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,0x00000046,
- 0x00050080,0x00000006,0x00000048,0x00000008,0x00000044,0x00050041,0x0000001c,0x00000049,
- 0x0000001a,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050041,0x0000001c,
- 0x0000004b,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x000500c5,
- 0x00000006,0x0000004d,0x0000004c,0x0000004a,0x00050041,0x0000001c,0x0000004e,0x0000001a,
- 0x00000008,0x0003003e,0x0000004e,0x0000004d,0x000200f9,0x00000047,0x000200f8,0x00000047,
- 0x000200f9,0x0000003c,0x000200f8,0x0000003c,0x000200f9,0x00000031,0x000200f8,0x00000031,
- 0x000200f9,0x00000026,0x000200f8,0x00000026,0x000200f9,0x00000016,0x000200f8,0x00000016,
- 0x000100fd,0x00010038,0x00050036,0x0000000b,0x00000010,0x00000000,0x0000000c,0x00030037,
- 0x00000006,0x0000000d,0x00030037,0x0000000b,0x0000000e,0x00030037,0x0000000b,0x0000000f,
- 0x000200f8,0x00000011,0x0004003b,0x0000004f,0x00000050,0x00000007,0x0004003b,0x00000059,
- 0x0000005a,0x00000007,0x0004003b,0x00000067,0x00000068,0x00000007,0x0004003b,0x0000007d,
- 0x0000007e,0x00000007,0x00050041,0x00000055,0x00000056,0x00000053,0x00000054,0x0004003d,
- 0x00000006,0x00000057,0x00000056,0x0003003e,0x00000050,0x00000057,0x0004003d,0x00000006,
- 0x00000062,0x00000050,0x00050080,0x00000006,0x00000063,0x0000000d,0x00000062,0x00060041,
- 0x00000064,0x00000065,0x0000005f,0x00000061,0x00000063,0x0004003d,0x00000058,0x00000066,
- 0x00000065,0x0003003e,0x0000005a,0x00000066,0x00050041,0x0000004f,0x00000069,0x0000005a,
- 0x00000054,0x0004003d,0x00000006,0x0000006a,0x00000069,0x00050041,0x0000004f,0x0000006b,
- 0x0000005a,0x00000039,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x000500b0,0x00000013,
- 0x0000006d,0x0000006a,0x0000006c,0x000300f7,0x0000006f,0x00000000,0x000400fa,0x0000006d,
- 0x0000006e,0x0000006f,0x000200f8,0x0000006e,0x0004003d,0x00000058,0x00000070,0x0000005a,
- 0x0007004f,0x0000000b,0x00000071,0x00000070,0x00000070,0x00000000,0x00000001,0x000500b0,
- 0x00000072,0x00000073,0x00000071,0x0000000f,0x0004009b,0x00000013,0x00000074,0x00000073,
- 0x000200f9,0x0000006f,0x000200f8,0x0000006f,0x000700f5,0x00000013,0x00000075,0x0000006d,
- 0x00000011,0x00000074,0x0000006e,0x000300f7,0x00000077,0x00000000,0x000400fa,0x00000075,
- 0x00000076,0x00000077,0x000200f8,0x00000076,0x0004003d,0x00000058,0x00000078,0x0000005a,
- 0x0007004f,0x0000000b,0x00000079,0x00000078,0x00000078,0x00000002,0x00000003,0x000500ae,
- 0x00000072,0x0000007a,0x00000079,0x0000000e,0x0004009b,0x00000013,0x0000007b,0x0000007a,
- 0x000200f9,0x00000077,0x000200f8,0x00000077,0x000700f5,0x00000013,0x0000007c,0x00000075,
- 0x0000006f,0x0000007b,0x00000076,0x0003003e,0x00000068,0x0000007c,0x0003003e,0x0000007e,
- 0x0000007f,0x0004003d,0x00000006,0x00000080,0x00000050,0x0004003d,0x00000013,0x00000081,
- 0x00000068,0x000600a9,0x00000006,0x00000082,0x00000081,0x00000044,0x00000054,0x0004003d,
- 0x00000006,0x00000083,0x00000050,0x000500c4,0x00000006,0x00000084,0x00000082,0x00000083,
- 0x00050041,0x0000001c,0x00000085,0x0000001a,0x00000080,0x0003003e,0x00000085,0x00000084,
- 0x0004003d,0x00000006,0x00000086,0x00000050,0x00050039,0x00000002,0x00000087,0x00000009,
- 0x00000086,0x0004003d,0x00000006,0x00000088,0x00000050,0x000500aa,0x00000013,0x00000089,
- 0x00000088,0x00000054,0x000300f7,0x0000008b,0x00000000,0x000400fa,0x00000089,0x0000008a,
- 0x0000008b,0x000200f8,0x0000008a,0x00050041,0x0000001c,0x0000008c,0x0000001a,0x00000061,
- 0x0004003d,0x00000006,0x0000008d,0x0000008c,0x00050041,0x0000004f,0x0000008e,0x0000007e,
- 0x00000054,0x0003003e,0x0000008e,0x0000008d,0x000200f9,0x0000008b,0x000200f8,0x0000008b,
- 0x0004003d,0x0000000b,0x0000008f,0x0000007e,0x000200fe,0x0000008f,0x00010038
+ 0x00000044,0x00030001,0x0000000b,0x000001a6,0x00050036,0x00000002,0x00000004,0x00000000,
+ 0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000051,0x00000094,0x00000093,0x0007004f,
+ 0x0000000b,0x00000095,0x00000094,0x00000094,0x00000000,0x00000001,0x00050084,0x0000000b,
+ 0x00000099,0x00000095,0x00000098,0x00050080,0x0000000b,0x0000009c,0x00000099,0x00000098,
+ 0x00050041,0x00000055,0x000000bf,0x00000053,0x00000054,0x0004003d,0x00000006,0x000000c0,
+ 0x000000bf,0x00060041,0x00000064,0x000000c3,0x0000005f,0x00000061,0x000000c0,0x0004003d,
+ 0x00000058,0x000000c4,0x000000c3,0x00050051,0x00000006,0x000000c6,0x000000c4,0x00000000,
+ 0x00050051,0x00000006,0x000000c8,0x000000c4,0x00000002,0x000500b0,0x00000013,0x000000c9,
+ 0x000000c6,0x000000c8,0x000300f7,0x000000cf,0x00000000,0x000400fa,0x000000c9,0x000000ca,
+ 0x000000cf,0x000200f8,0x000000ca,0x0007004f,0x0000000b,0x000000cc,0x000000c4,0x000000c4,
+ 0x00000000,0x00000001,0x000500b0,0x00000072,0x000000cd,0x000000cc,0x0000009c,0x0004009b,
+ 0x00000013,0x000000ce,0x000000cd,0x000200f9,0x000000cf,0x000200f8,0x000000cf,0x000700f5,
+ 0x00000013,0x000000d0,0x000000c9,0x00000005,0x000000ce,0x000000ca,0x000300f7,0x000000d6,
+ 0x00000000,0x000400fa,0x000000d0,0x000000d1,0x000000d6,0x000200f8,0x000000d1,0x0007004f,
+ 0x0000000b,0x000000d3,0x000000c4,0x000000c4,0x00000002,0x00000003,0x000500ae,0x00000072,
+ 0x000000d4,0x000000d3,0x00000099,0x0004009b,0x00000013,0x000000d5,0x000000d4,0x000200f9,
+ 0x000000d6,0x000200f8,0x000000d6,0x000700f5,0x00000013,0x000000d7,0x000000d0,0x000000cf,
+ 0x000000d5,0x000000d1,0x000600a9,0x00000006,0x000000da,0x000000d7,0x00000044,0x00000054,
+ 0x000500c4,0x00000006,0x000000dc,0x000000da,0x000000c0,0x00050041,0x0000001c,0x000000dd,
+ 0x0000001a,0x000000c0,0x0003003e,0x000000dd,0x000000dc,0x000500b0,0x00000013,0x000000e9,
+ 0x000000c0,0x00000012,0x000300f7,0x0000011a,0x00000000,0x000400fa,0x000000e9,0x000000ea,
+ 0x0000011a,0x000200f8,0x000000ea,0x00050080,0x00000006,0x000000eb,0x000000c0,0x00000012,
+ 0x00050041,0x0000001c,0x000000ec,0x0000001a,0x000000eb,0x0004003d,0x00000006,0x000000ed,
+ 0x000000ec,0x0004003d,0x00000006,0x000000ef,0x000000dd,0x000500c5,0x00000006,0x000000f0,
+ 0x000000ef,0x000000ed,0x0003003e,0x000000dd,0x000000f0,0x000500b0,0x00000013,0x000000f2,
+ 0x000000c0,0x00000023,0x000300f7,0x00000119,0x00000000,0x000400fa,0x000000f2,0x000000f3,
+ 0x00000119,0x000200f8,0x000000f3,0x00050080,0x00000006,0x000000f4,0x000000c0,0x00000023,
+ 0x00050041,0x0000001c,0x000000f5,0x0000001a,0x000000f4,0x0004003d,0x00000006,0x000000f6,
+ 0x000000f5,0x0004003d,0x00000006,0x000000f8,0x000000dd,0x000500c5,0x00000006,0x000000f9,
+ 0x000000f8,0x000000f6,0x0003003e,0x000000dd,0x000000f9,0x000500b0,0x00000013,0x000000fb,
+ 0x000000c0,0x0000002e,0x000300f7,0x00000118,0x00000000,0x000400fa,0x000000fb,0x000000fc,
+ 0x00000118,0x000200f8,0x000000fc,0x00050080,0x00000006,0x000000fd,0x000000c0,0x0000002e,
+ 0x00050041,0x0000001c,0x000000fe,0x0000001a,0x000000fd,0x0004003d,0x00000006,0x000000ff,
+ 0x000000fe,0x0004003d,0x00000006,0x00000101,0x000000dd,0x000500c5,0x00000006,0x00000102,
+ 0x00000101,0x000000ff,0x0003003e,0x000000dd,0x00000102,0x000500b0,0x00000013,0x00000104,
+ 0x000000c0,0x00000039,0x000300f7,0x00000117,0x00000000,0x000400fa,0x00000104,0x00000105,
+ 0x00000117,0x000200f8,0x00000105,0x00050080,0x00000006,0x00000106,0x000000c0,0x00000039,
+ 0x00050041,0x0000001c,0x00000107,0x0000001a,0x00000106,0x0004003d,0x00000006,0x00000108,
+ 0x00000107,0x0004003d,0x00000006,0x0000010a,0x000000dd,0x000500c5,0x00000006,0x0000010b,
+ 0x0000010a,0x00000108,0x0003003e,0x000000dd,0x0000010b,0x000500b0,0x00000013,0x0000010d,
+ 0x000000c0,0x00000044,0x000300f7,0x00000116,0x00000000,0x000400fa,0x0000010d,0x0000010e,
+ 0x00000116,0x000200f8,0x0000010e,0x00050080,0x00000006,0x0000010f,0x000000c0,0x00000044,
+ 0x00050041,0x0000001c,0x00000110,0x0000001a,0x0000010f,0x0004003d,0x00000006,0x00000111,
+ 0x00000110,0x0004003d,0x00000006,0x00000113,0x000000dd,0x000500c5,0x00000006,0x00000114,
+ 0x00000113,0x00000111,0x0003003e,0x000000dd,0x00000114,0x000200f9,0x00000116,0x000200f8,
+ 0x00000116,0x000200f9,0x00000117,0x000200f8,0x00000117,0x000200f9,0x00000118,0x000200f8,
+ 0x00000118,0x000200f9,0x00000119,0x000200f8,0x00000119,0x000200f9,0x0000011a,0x000200f8,
+ 0x0000011a,0x000500aa,0x00000013,0x000000e1,0x000000c0,0x00000054,0x000300f7,0x000000e6,
+ 0x00000000,0x000400fa,0x000000e1,0x000000e2,0x000000e6,0x000200f8,0x000000e2,0x00050041,
+ 0x0000001c,0x000000e3,0x0000001a,0x00000061,0x0004003d,0x00000006,0x000000e4,0x000000e3,
+ 0x00060052,0x0000000b,0x00000180,0x000000e4,0x000001a6,0x00000000,0x000200f9,0x000000e6,
+ 0x000200f8,0x000000e6,0x000700f5,0x0000000b,0x0000018e,0x0000007f,0x0000011a,0x00000180,
+ 0x000000e2,0x00050051,0x00000006,0x000000a1,0x0000018e,0x00000000,0x00050080,0x00000006,
+ 0x00000124,0x00000017,0x000000c0,0x00060041,0x00000064,0x00000125,0x0000005f,0x00000061,
+ 0x00000124,0x0004003d,0x00000058,0x00000126,0x00000125,0x00050051,0x00000006,0x00000128,
+ 0x00000126,0x00000000,0x00050051,0x00000006,0x0000012a,0x00000126,0x00000002,0x000500b0,
+ 0x00000013,0x0000012b,0x00000128,0x0000012a,0x000300f7,0x00000131,0x00000000,0x000400fa,
+ 0x0000012b,0x0000012c,0x00000131,0x000200f8,0x0000012c,0x0007004f,0x0000000b,0x0000012e,
+ 0x00000126,0x00000126,0x00000000,0x00000001,0x000500b0,0x00000072,0x0000012f,0x0000012e,
+ 0x0000009c,0x0004009b,0x00000013,0x00000130,0x0000012f,0x000200f9,0x00000131,0x000200f8,
+ 0x00000131,0x000700f5,0x00000013,0x00000132,0x0000012b,0x000000e6,0x00000130,0x0000012c,
+ 0x000300f7,0x00000138,0x00000000,0x000400fa,0x00000132,0x00000133,0x00000138,0x000200f8,
+ 0x00000133,0x0007004f,0x0000000b,0x00000135,0x00000126,0x00000126,0x00000002,0x00000003,
+ 0x000500ae,0x00000072,0x00000136,0x00000135,0x00000099,0x0004009b,0x00000013,0x00000137,
+ 0x00000136,0x000200f9,0x00000138,0x000200f8,0x00000138,0x000700f5,0x00000013,0x00000139,
+ 0x00000132,0x00000131,0x00000137,0x00000133,0x000600a9,0x00000006,0x0000013c,0x00000139,
+ 0x00000044,0x00000054,0x000500c4,0x00000006,0x0000013e,0x0000013c,0x000000c0,0x0003003e,
+ 0x000000dd,0x0000013e,0x000300f7,0x0000017c,0x00000000,0x000400fa,0x000000e9,0x0000014c,
+ 0x0000017c,0x000200f8,0x0000014c,0x00050080,0x00000006,0x0000014d,0x000000c0,0x00000012,
+ 0x00050041,0x0000001c,0x0000014e,0x0000001a,0x0000014d,0x0004003d,0x00000006,0x0000014f,
+ 0x0000014e,0x0004003d,0x00000006,0x00000151,0x000000dd,0x000500c5,0x00000006,0x00000152,
+ 0x00000151,0x0000014f,0x0003003e,0x000000dd,0x00000152,0x000500b0,0x00000013,0x00000154,
+ 0x000000c0,0x00000023,0x000300f7,0x0000017b,0x00000000,0x000400fa,0x00000154,0x00000155,
+ 0x0000017b,0x000200f8,0x00000155,0x00050080,0x00000006,0x00000156,0x000000c0,0x00000023,
+ 0x00050041,0x0000001c,0x00000157,0x0000001a,0x00000156,0x0004003d,0x00000006,0x00000158,
+ 0x00000157,0x0004003d,0x00000006,0x0000015a,0x000000dd,0x000500c5,0x00000006,0x0000015b,
+ 0x0000015a,0x00000158,0x0003003e,0x000000dd,0x0000015b,0x000500b0,0x00000013,0x0000015d,
+ 0x000000c0,0x0000002e,0x000300f7,0x0000017a,0x00000000,0x000400fa,0x0000015d,0x0000015e,
+ 0x0000017a,0x000200f8,0x0000015e,0x00050080,0x00000006,0x0000015f,0x000000c0,0x0000002e,
+ 0x00050041,0x0000001c,0x00000160,0x0000001a,0x0000015f,0x0004003d,0x00000006,0x00000161,
+ 0x00000160,0x0004003d,0x00000006,0x00000163,0x000000dd,0x000500c5,0x00000006,0x00000164,
+ 0x00000163,0x00000161,0x0003003e,0x000000dd,0x00000164,0x000500b0,0x00000013,0x00000166,
+ 0x000000c0,0x00000039,0x000300f7,0x00000179,0x00000000,0x000400fa,0x00000166,0x00000167,
+ 0x00000179,0x000200f8,0x00000167,0x00050080,0x00000006,0x00000168,0x000000c0,0x00000039,
+ 0x00050041,0x0000001c,0x00000169,0x0000001a,0x00000168,0x0004003d,0x00000006,0x0000016a,
+ 0x00000169,0x0004003d,0x00000006,0x0000016c,0x000000dd,0x000500c5,0x00000006,0x0000016d,
+ 0x0000016c,0x0000016a,0x0003003e,0x000000dd,0x0000016d,0x000500b0,0x00000013,0x0000016f,
+ 0x000000c0,0x00000044,0x000300f7,0x00000178,0x00000000,0x000400fa,0x0000016f,0x00000170,
+ 0x00000178,0x000200f8,0x00000170,0x00050080,0x00000006,0x00000171,0x000000c0,0x00000044,
+ 0x00050041,0x0000001c,0x00000172,0x0000001a,0x00000171,0x0004003d,0x00000006,0x00000173,
+ 0x00000172,0x0004003d,0x00000006,0x00000175,0x000000dd,0x000500c5,0x00000006,0x00000176,
+ 0x00000175,0x00000173,0x0003003e,0x000000dd,0x00000176,0x000200f9,0x00000178,0x000200f8,
+ 0x00000178,0x000200f9,0x00000179,0x000200f8,0x00000179,0x000200f9,0x0000017a,0x000200f8,
+ 0x0000017a,0x000200f9,0x0000017b,0x000200f8,0x0000017b,0x000200f9,0x0000017c,0x000200f8,
+ 0x0000017c,0x000300f7,0x00000148,0x00000000,0x000400fa,0x000000e1,0x00000144,0x00000148,
+ 0x000200f8,0x00000144,0x00050041,0x0000001c,0x00000145,0x0000001a,0x00000061,0x0004003d,
+ 0x00000006,0x00000146,0x00000145,0x00060052,0x0000000b,0x00000186,0x00000146,0x000001a6,
+ 0x00000000,0x000200f9,0x00000148,0x000200f8,0x00000148,0x000700f5,0x0000000b,0x0000019d,
+ 0x0000007f,0x0000017c,0x00000186,0x00000144,0x00050051,0x00000006,0x000000a6,0x0000019d,
+ 0x00000000,0x000300f7,0x000000ac,0x00000000,0x000400fa,0x000000e1,0x000000ab,0x000000ac,
+ 0x000200f8,0x000000ab,0x0004003d,0x000000ad,0x000000b0,0x000000af,0x0004007c,0x000000b2,
+ 0x000000b3,0x00000095,0x00070050,0x00000058,0x000000b7,0x000000a1,0x000000a6,0x00000054,
+ 0x00000054,0x00040063,0x000000b0,0x000000b3,0x000000b7,0x000200f9,0x000000ac,0x000200f8,
+ 0x000000ac,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000005.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000005.inc
index 67047d9eba2..1c7e4f19378 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000005.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000005.inc
@@ -1,157 +1,141 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayCull_comp_00000005[] = {
- 0x07230203,0x00010000,0x00080007,0x000000c9,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x0000018d,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x00000053,0x000000aa,0x00060010,
0x00000004,0x00000011,0x00000040,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,
0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,
- 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00080005,
- 0x00000009,0x75636361,0x616c756d,0x69576574,0x74656764,0x31752873,0x0000003b,0x00040005,
- 0x00000008,0x61636f6c,0x0064496c,0x00080005,0x00000010,0x6c6c7563,0x67646957,0x28737465,
- 0x763b3175,0x763b3275,0x003b3275,0x00040005,0x0000000d,0x7366666f,0x00007465,0x00060005,
- 0x0000000e,0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x0000000f,0x636f6c62,
- 0x6f6f436b,0x69486472,0x00006867,0x00070005,0x0000001a,0x65746e69,0x63657372,0x676e6974,
- 0x67646957,0x00737465,0x00040005,0x00000050,0x61636f6c,0x0064496c,0x00080005,0x00000053,
- 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00060005,0x0000005a,
- 0x67646977,0x6f437465,0x7364726f,0x00000000,0x00070005,0x0000005d,0x67646957,0x6f437465,
- 0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000005d,0x00000000,0x726f6f63,0x616e6964,
- 0x00736574,0x00030005,0x0000005f,0x00000000,0x00050005,0x00000068,0x65746e69,0x63657372,
- 0x00007374,0x00040005,0x0000007e,0x6c6c6162,0x0000746f,0x00060005,0x00000094,0x70617267,
- 0x636f4c68,0x64496c61,0x00000000,0x00050005,0x000000a9,0x4374756f,0x64726f6f,0x00000000,
- 0x00060005,0x000000aa,0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00060005,0x000000ad,
- 0x636f6c62,0x6f6f436b,0x6f4c6472,0x00000077,0x00060005,0x000000b1,0x636f6c62,0x6f6f436b,
- 0x69486472,0x00006867,0x00060005,0x000000b4,0x6c6c7563,0x69576465,0x74656764,0x00000073,
- 0x00070005,0x000000bf,0x6c6c7563,0x69576465,0x74656764,0x74754f73,0x00000000,0x00040047,
- 0x00000053,0x0000000b,0x0000001b,0x00040047,0x0000005c,0x00000006,0x00000010,0x00050048,
- 0x0000005d,0x00000000,0x00000023,0x00000000,0x00030047,0x0000005d,0x00000002,0x00040047,
- 0x0000005f,0x00000022,0x00000000,0x00040047,0x0000005f,0x00000021,0x00000001,0x00040047,
- 0x000000aa,0x0000000b,0x0000001a,0x00040047,0x000000bf,0x00000022,0x00000000,0x00040047,
- 0x000000bf,0x00000021,0x00000000,0x00030047,0x000000bf,0x00000019,0x00040047,0x000000c8,
- 0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,
- 0x00000006,0x00000020,0x00000000,0x00040021,0x00000007,0x00000002,0x00000006,0x00040017,
- 0x0000000b,0x00000006,0x00000002,0x00060021,0x0000000c,0x0000000b,0x00000006,0x0000000b,
- 0x0000000b,0x0004002b,0x00000006,0x00000012,0x00000010,0x00020014,0x00000013,0x0004002b,
- 0x00000006,0x00000017,0x00000020,0x0004001c,0x00000018,0x00000006,0x00000017,0x00040020,
- 0x00000019,0x00000004,0x00000018,0x0004003b,0x00000019,0x0000001a,0x00000004,0x00040020,
- 0x0000001c,0x00000004,0x00000006,0x0004002b,0x00000006,0x00000023,0x00000008,0x0004002b,
- 0x00000006,0x0000002e,0x00000004,0x0004002b,0x00000006,0x00000039,0x00000002,0x0004002b,
- 0x00000006,0x00000044,0x00000001,0x00040020,0x0000004f,0x00000007,0x00000006,0x00040017,
- 0x00000051,0x00000006,0x00000003,0x00040020,0x00000052,0x00000001,0x00000051,0x0004003b,
- 0x00000052,0x00000053,0x00000001,0x0004002b,0x00000006,0x00000054,0x00000000,0x00040020,
- 0x00000055,0x00000001,0x00000006,0x00040017,0x00000058,0x00000006,0x00000004,0x00040020,
- 0x00000059,0x00000007,0x00000058,0x0004002b,0x00000006,0x0000005b,0x00000040,0x0004001c,
- 0x0000005c,0x00000058,0x0000005b,0x0003001e,0x0000005d,0x0000005c,0x00040020,0x0000005e,
- 0x00000002,0x0000005d,0x0004003b,0x0000005e,0x0000005f,0x00000002,0x00040015,0x00000060,
- 0x00000020,0x00000001,0x0004002b,0x00000060,0x00000061,0x00000000,0x00040020,0x00000064,
- 0x00000002,0x00000058,0x00040020,0x00000067,0x00000007,0x00000013,0x00040017,0x00000072,
- 0x00000013,0x00000002,0x00040020,0x0000007d,0x00000007,0x0000000b,0x0005002c,0x0000000b,
- 0x0000007f,0x00000054,0x00000054,0x0004003b,0x00000052,0x000000aa,0x00000001,0x0005002c,
- 0x0000000b,0x000000af,0x00000023,0x00000023,0x00090019,0x000000bd,0x00000006,0x00000001,
- 0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,0x000000be,0x00000000,
- 0x000000bd,0x0004003b,0x000000be,0x000000bf,0x00000000,0x00040017,0x000000c2,0x00000060,
- 0x00000002,0x0006002c,0x00000051,0x000000c8,0x0000005b,0x00000044,0x00000044,0x00050036,
- 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x0000007d,
- 0x000000a9,0x00000007,0x0004003b,0x0000007d,0x000000ad,0x00000007,0x0004003b,0x0000007d,
- 0x000000b1,0x00000007,0x0004003b,0x0000007d,0x000000b4,0x00000007,0x0004003d,0x00000051,
- 0x000000ab,0x000000aa,0x0007004f,0x0000000b,0x000000ac,0x000000ab,0x000000ab,0x00000000,
- 0x00000001,0x0003003e,0x000000a9,0x000000ac,0x0004003d,0x0000000b,0x000000ae,0x000000a9,
- 0x00050084,0x0000000b,0x000000b0,0x000000ae,0x000000af,0x0003003e,0x000000ad,0x000000b0,
- 0x0004003d,0x0000000b,0x000000b2,0x000000ad,0x00050080,0x0000000b,0x000000b3,0x000000b2,
- 0x000000af,0x0003003e,0x000000b1,0x000000b3,0x0004003d,0x0000000b,0x000000b5,0x000000ad,
- 0x0004003d,0x0000000b,0x000000b6,0x000000b1,0x00070039,0x0000000b,0x000000b7,0x00000010,
- 0x00000054,0x000000b5,0x000000b6,0x0003003e,0x000000b4,0x000000b7,0x00050041,0x00000055,
- 0x000000b8,0x00000053,0x00000054,0x0004003d,0x00000006,0x000000b9,0x000000b8,0x000500aa,
- 0x00000013,0x000000ba,0x000000b9,0x00000054,0x000300f7,0x000000bc,0x00000000,0x000400fa,
- 0x000000ba,0x000000bb,0x000000bc,0x000200f8,0x000000bb,0x0004003d,0x000000bd,0x000000c0,
- 0x000000bf,0x0004003d,0x0000000b,0x000000c1,0x000000a9,0x0004007c,0x000000c2,0x000000c3,
- 0x000000c1,0x0004003d,0x0000000b,0x000000c4,0x000000b4,0x00050051,0x00000006,0x000000c5,
- 0x000000c4,0x00000000,0x00050051,0x00000006,0x000000c6,0x000000c4,0x00000001,0x00070050,
- 0x00000058,0x000000c7,0x000000c5,0x000000c6,0x00000054,0x00000054,0x00040063,0x000000c0,
- 0x000000c3,0x000000c7,0x000200f9,0x000000bc,0x000200f8,0x000000bc,0x000100fd,0x00010038,
- 0x00050036,0x00000002,0x00000009,0x00000000,0x00000007,0x00030037,0x00000006,0x00000008,
- 0x000200f8,0x0000000a,0x000500b0,0x00000013,0x00000014,0x00000008,0x00000012,0x000300f7,
- 0x00000016,0x00000000,0x000400fa,0x00000014,0x00000015,0x00000016,0x000200f8,0x00000015,
- 0x00050080,0x00000006,0x0000001b,0x00000008,0x00000012,0x00050041,0x0000001c,0x0000001d,
- 0x0000001a,0x0000001b,0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000001c,
- 0x0000001f,0x0000001a,0x00000008,0x0004003d,0x00000006,0x00000020,0x0000001f,0x000500c5,
- 0x00000006,0x00000021,0x00000020,0x0000001e,0x00050041,0x0000001c,0x00000022,0x0000001a,
- 0x00000008,0x0003003e,0x00000022,0x00000021,0x000500b0,0x00000013,0x00000024,0x00000008,
- 0x00000023,0x000300f7,0x00000026,0x00000000,0x000400fa,0x00000024,0x00000025,0x00000026,
- 0x000200f8,0x00000025,0x00050080,0x00000006,0x00000027,0x00000008,0x00000023,0x00050041,
- 0x0000001c,0x00000028,0x0000001a,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000028,
- 0x00050041,0x0000001c,0x0000002a,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000002b,
- 0x0000002a,0x000500c5,0x00000006,0x0000002c,0x0000002b,0x00000029,0x00050041,0x0000001c,
- 0x0000002d,0x0000001a,0x00000008,0x0003003e,0x0000002d,0x0000002c,0x000500b0,0x00000013,
- 0x0000002f,0x00000008,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f,
- 0x00000030,0x00000031,0x000200f8,0x00000030,0x00050080,0x00000006,0x00000032,0x00000008,
- 0x0000002e,0x00050041,0x0000001c,0x00000033,0x0000001a,0x00000032,0x0004003d,0x00000006,
- 0x00000034,0x00000033,0x00050041,0x0000001c,0x00000035,0x0000001a,0x00000008,0x0004003d,
- 0x00000006,0x00000036,0x00000035,0x000500c5,0x00000006,0x00000037,0x00000036,0x00000034,
- 0x00050041,0x0000001c,0x00000038,0x0000001a,0x00000008,0x0003003e,0x00000038,0x00000037,
- 0x000500b0,0x00000013,0x0000003a,0x00000008,0x00000039,0x000300f7,0x0000003c,0x00000000,
- 0x000400fa,0x0000003a,0x0000003b,0x0000003c,0x000200f8,0x0000003b,0x00050080,0x00000006,
- 0x0000003d,0x00000008,0x00000039,0x00050041,0x0000001c,0x0000003e,0x0000001a,0x0000003d,
- 0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050041,0x0000001c,0x00000040,0x0000001a,
- 0x00000008,0x0004003d,0x00000006,0x00000041,0x00000040,0x000500c5,0x00000006,0x00000042,
- 0x00000041,0x0000003f,0x00050041,0x0000001c,0x00000043,0x0000001a,0x00000008,0x0003003e,
- 0x00000043,0x00000042,0x000500b0,0x00000013,0x00000045,0x00000008,0x00000044,0x000300f7,
- 0x00000047,0x00000000,0x000400fa,0x00000045,0x00000046,0x00000047,0x000200f8,0x00000046,
- 0x00050080,0x00000006,0x00000048,0x00000008,0x00000044,0x00050041,0x0000001c,0x00000049,
- 0x0000001a,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x00050041,0x0000001c,
- 0x0000004b,0x0000001a,0x00000008,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x000500c5,
- 0x00000006,0x0000004d,0x0000004c,0x0000004a,0x00050041,0x0000001c,0x0000004e,0x0000001a,
- 0x00000008,0x0003003e,0x0000004e,0x0000004d,0x000200f9,0x00000047,0x000200f8,0x00000047,
- 0x000200f9,0x0000003c,0x000200f8,0x0000003c,0x000200f9,0x00000031,0x000200f8,0x00000031,
- 0x000200f9,0x00000026,0x000200f8,0x00000026,0x000200f9,0x00000016,0x000200f8,0x00000016,
- 0x000100fd,0x00010038,0x00050036,0x0000000b,0x00000010,0x00000000,0x0000000c,0x00030037,
- 0x00000006,0x0000000d,0x00030037,0x0000000b,0x0000000e,0x00030037,0x0000000b,0x0000000f,
- 0x000200f8,0x00000011,0x0004003b,0x0000004f,0x00000050,0x00000007,0x0004003b,0x00000059,
- 0x0000005a,0x00000007,0x0004003b,0x00000067,0x00000068,0x00000007,0x0004003b,0x0000007d,
- 0x0000007e,0x00000007,0x0004003b,0x0000004f,0x00000094,0x00000007,0x00050041,0x00000055,
- 0x00000056,0x00000053,0x00000054,0x0004003d,0x00000006,0x00000057,0x00000056,0x0003003e,
- 0x00000050,0x00000057,0x0004003d,0x00000006,0x00000062,0x00000050,0x00050080,0x00000006,
- 0x00000063,0x0000000d,0x00000062,0x00060041,0x00000064,0x00000065,0x0000005f,0x00000061,
- 0x00000063,0x0004003d,0x00000058,0x00000066,0x00000065,0x0003003e,0x0000005a,0x00000066,
- 0x00050041,0x0000004f,0x00000069,0x0000005a,0x00000054,0x0004003d,0x00000006,0x0000006a,
- 0x00000069,0x00050041,0x0000004f,0x0000006b,0x0000005a,0x00000039,0x0004003d,0x00000006,
- 0x0000006c,0x0000006b,0x000500b0,0x00000013,0x0000006d,0x0000006a,0x0000006c,0x000300f7,
- 0x0000006f,0x00000000,0x000400fa,0x0000006d,0x0000006e,0x0000006f,0x000200f8,0x0000006e,
- 0x0004003d,0x00000058,0x00000070,0x0000005a,0x0007004f,0x0000000b,0x00000071,0x00000070,
- 0x00000070,0x00000000,0x00000001,0x000500b0,0x00000072,0x00000073,0x00000071,0x0000000f,
- 0x0004009b,0x00000013,0x00000074,0x00000073,0x000200f9,0x0000006f,0x000200f8,0x0000006f,
- 0x000700f5,0x00000013,0x00000075,0x0000006d,0x00000011,0x00000074,0x0000006e,0x000300f7,
- 0x00000077,0x00000000,0x000400fa,0x00000075,0x00000076,0x00000077,0x000200f8,0x00000076,
- 0x0004003d,0x00000058,0x00000078,0x0000005a,0x0007004f,0x0000000b,0x00000079,0x00000078,
- 0x00000078,0x00000002,0x00000003,0x000500ae,0x00000072,0x0000007a,0x00000079,0x0000000e,
- 0x0004009b,0x00000013,0x0000007b,0x0000007a,0x000200f9,0x00000077,0x000200f8,0x00000077,
- 0x000700f5,0x00000013,0x0000007c,0x00000075,0x0000006f,0x0000007b,0x00000076,0x0003003e,
- 0x00000068,0x0000007c,0x0003003e,0x0000007e,0x0000007f,0x0004003d,0x00000006,0x00000080,
- 0x00000050,0x000500b0,0x00000013,0x00000081,0x00000080,0x00000017,0x000300f7,0x00000083,
- 0x00000000,0x000400fa,0x00000081,0x00000082,0x00000093,0x000200f8,0x00000082,0x0004003d,
- 0x00000006,0x00000084,0x00000050,0x0004003d,0x00000013,0x00000085,0x00000068,0x000600a9,
- 0x00000006,0x00000086,0x00000085,0x00000044,0x00000054,0x0004003d,0x00000006,0x00000087,
- 0x00000050,0x000500c4,0x00000006,0x00000088,0x00000086,0x00000087,0x00050041,0x0000001c,
- 0x00000089,0x0000001a,0x00000084,0x0003003e,0x00000089,0x00000088,0x0004003d,0x00000006,
- 0x0000008a,0x00000050,0x00050039,0x00000002,0x0000008b,0x00000009,0x0000008a,0x0004003d,
- 0x00000006,0x0000008c,0x00000050,0x000500aa,0x00000013,0x0000008d,0x0000008c,0x00000054,
- 0x000300f7,0x0000008f,0x00000000,0x000400fa,0x0000008d,0x0000008e,0x0000008f,0x000200f8,
- 0x0000008e,0x00050041,0x0000001c,0x00000090,0x0000001a,0x00000061,0x0004003d,0x00000006,
- 0x00000091,0x00000090,0x00050041,0x0000004f,0x00000092,0x0000007e,0x00000054,0x0003003e,
- 0x00000092,0x00000091,0x000200f9,0x0000008f,0x000200f8,0x0000008f,0x000200f9,0x00000083,
- 0x000200f8,0x00000093,0x0004003d,0x00000006,0x00000095,0x00000050,0x00050082,0x00000006,
- 0x00000096,0x00000095,0x00000017,0x0003003e,0x00000094,0x00000096,0x0004003d,0x00000006,
- 0x00000097,0x00000094,0x0004003d,0x00000013,0x00000098,0x00000068,0x000600a9,0x00000006,
- 0x00000099,0x00000098,0x00000044,0x00000054,0x0004003d,0x00000006,0x0000009a,0x00000094,
- 0x000500c4,0x00000006,0x0000009b,0x00000099,0x0000009a,0x00050041,0x0000001c,0x0000009c,
- 0x0000001a,0x00000097,0x0003003e,0x0000009c,0x0000009b,0x0004003d,0x00000006,0x0000009d,
- 0x00000094,0x00050039,0x00000002,0x0000009e,0x00000009,0x0000009d,0x000200f9,0x00000083,
- 0x000200f8,0x00000083,0x0004003d,0x00000006,0x0000009f,0x00000050,0x000500aa,0x00000013,
- 0x000000a0,0x0000009f,0x00000054,0x000300f7,0x000000a2,0x00000000,0x000400fa,0x000000a0,
- 0x000000a1,0x000000a2,0x000200f8,0x000000a1,0x00050041,0x0000001c,0x000000a3,0x0000001a,
- 0x00000061,0x0004003d,0x00000006,0x000000a4,0x000000a3,0x00050041,0x0000004f,0x000000a5,
- 0x0000007e,0x00000044,0x0003003e,0x000000a5,0x000000a4,0x000200f9,0x000000a2,0x000200f8,
- 0x000000a2,0x0004003d,0x0000000b,0x000000a6,0x0000007e,0x000200fe,0x000000a6,0x00010038
+ 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,
+ 0x0000001a,0x65746e69,0x63657372,0x676e6974,0x67646957,0x00737465,0x00080005,0x00000053,
+ 0x4c5f6c67,0x6c61636f,0x6f766e49,0x69746163,0x44496e6f,0x00000000,0x00070005,0x0000005d,
+ 0x67646957,0x6f437465,0x6964726f,0x6574616e,0x00000073,0x00060006,0x0000005d,0x00000000,
+ 0x726f6f63,0x616e6964,0x00736574,0x00030005,0x0000005f,0x00000000,0x00060005,0x000000aa,
+ 0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00070005,0x000000bf,0x6c6c7563,0x69576465,
+ 0x74656764,0x74754f73,0x00000000,0x00040047,0x00000053,0x0000000b,0x0000001b,0x00040047,
+ 0x0000005c,0x00000006,0x00000010,0x00050048,0x0000005d,0x00000000,0x00000023,0x00000000,
+ 0x00030047,0x0000005d,0x00000002,0x00040047,0x0000005f,0x00000022,0x00000000,0x00040047,
+ 0x0000005f,0x00000021,0x00000001,0x00040047,0x000000aa,0x0000000b,0x0000001a,0x00040047,
+ 0x000000bf,0x00000022,0x00000000,0x00040047,0x000000bf,0x00000021,0x00000000,0x00030047,
+ 0x000000bf,0x00000019,0x00040047,0x000000c8,0x0000000b,0x00000019,0x00020013,0x00000002,
+ 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,
+ 0x0000000b,0x00000006,0x00000002,0x0004002b,0x00000006,0x00000012,0x00000010,0x00020014,
+ 0x00000013,0x0004002b,0x00000006,0x00000017,0x00000020,0x0004001c,0x00000018,0x00000006,
+ 0x00000017,0x00040020,0x00000019,0x00000004,0x00000018,0x0004003b,0x00000019,0x0000001a,
+ 0x00000004,0x00040020,0x0000001c,0x00000004,0x00000006,0x0004002b,0x00000006,0x00000023,
+ 0x00000008,0x0004002b,0x00000006,0x0000002e,0x00000004,0x0004002b,0x00000006,0x00000039,
+ 0x00000002,0x0004002b,0x00000006,0x00000044,0x00000001,0x00040017,0x00000051,0x00000006,
+ 0x00000003,0x00040020,0x00000052,0x00000001,0x00000051,0x0004003b,0x00000052,0x00000053,
+ 0x00000001,0x0004002b,0x00000006,0x00000054,0x00000000,0x00040020,0x00000055,0x00000001,
+ 0x00000006,0x00040017,0x00000058,0x00000006,0x00000004,0x0004002b,0x00000006,0x0000005b,
+ 0x00000040,0x0004001c,0x0000005c,0x00000058,0x0000005b,0x0003001e,0x0000005d,0x0000005c,
+ 0x00040020,0x0000005e,0x00000002,0x0000005d,0x0004003b,0x0000005e,0x0000005f,0x00000002,
+ 0x00040015,0x00000060,0x00000020,0x00000001,0x0004002b,0x00000060,0x00000061,0x00000000,
+ 0x00040020,0x00000064,0x00000002,0x00000058,0x00040017,0x00000072,0x00000013,0x00000002,
+ 0x0005002c,0x0000000b,0x0000007f,0x00000054,0x00000054,0x0004003b,0x00000052,0x000000aa,
+ 0x00000001,0x0005002c,0x0000000b,0x000000af,0x00000023,0x00000023,0x00090019,0x000000bd,
+ 0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x0000001e,0x00040020,
+ 0x000000be,0x00000000,0x000000bd,0x0004003b,0x000000be,0x000000bf,0x00000000,0x00040017,
+ 0x000000c2,0x00000060,0x00000002,0x0006002c,0x00000051,0x000000c8,0x0000005b,0x00000044,
+ 0x00000044,0x0004002b,0x00000006,0x0000017b,0xfffffff0,0x0004002b,0x00000006,0x0000017c,
+ 0xffffffe8,0x0004002b,0x00000006,0x0000017d,0xffffffe4,0x0004002b,0x00000006,0x0000017e,
+ 0xffffffe2,0x0004002b,0x00000006,0x0000017f,0xffffffe1,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000051,0x000000ab,0x000000aa,
+ 0x0007004f,0x0000000b,0x000000ac,0x000000ab,0x000000ab,0x00000000,0x00000001,0x00050084,
+ 0x0000000b,0x000000b0,0x000000ac,0x000000af,0x00050080,0x0000000b,0x000000b3,0x000000b0,
+ 0x000000af,0x00050041,0x00000055,0x000000d0,0x00000053,0x00000054,0x0004003d,0x00000006,
+ 0x000000d1,0x000000d0,0x00060041,0x00000064,0x000000d4,0x0000005f,0x00000061,0x000000d1,
+ 0x0004003d,0x00000058,0x000000d5,0x000000d4,0x00050051,0x00000006,0x000000d7,0x000000d5,
+ 0x00000000,0x00050051,0x00000006,0x000000d9,0x000000d5,0x00000002,0x000500b0,0x00000013,
+ 0x000000da,0x000000d7,0x000000d9,0x000300f7,0x000000e0,0x00000000,0x000400fa,0x000000da,
+ 0x000000db,0x000000e0,0x000200f8,0x000000db,0x0007004f,0x0000000b,0x000000dd,0x000000d5,
+ 0x000000d5,0x00000000,0x00000001,0x000500b0,0x00000072,0x000000de,0x000000dd,0x000000b3,
+ 0x0004009b,0x00000013,0x000000df,0x000000de,0x000200f9,0x000000e0,0x000200f8,0x000000e0,
+ 0x000700f5,0x00000013,0x000000e1,0x000000da,0x00000005,0x000000df,0x000000db,0x000300f7,
+ 0x000000e7,0x00000000,0x000400fa,0x000000e1,0x000000e2,0x000000e7,0x000200f8,0x000000e2,
+ 0x0007004f,0x0000000b,0x000000e4,0x000000d5,0x000000d5,0x00000002,0x00000003,0x000500ae,
+ 0x00000072,0x000000e5,0x000000e4,0x000000b0,0x0004009b,0x00000013,0x000000e6,0x000000e5,
+ 0x000200f9,0x000000e7,0x000200f8,0x000000e7,0x000700f5,0x00000013,0x000000e8,0x000000e1,
+ 0x000000e0,0x000000e6,0x000000e2,0x000500b0,0x00000013,0x000000ea,0x000000d1,0x00000017,
+ 0x000300f7,0x00000106,0x00000000,0x000400fa,0x000000ea,0x000000eb,0x000000fb,0x000200f8,
+ 0x000000eb,0x000600a9,0x00000006,0x000000ee,0x000000e8,0x00000044,0x00000054,0x000500c4,
+ 0x00000006,0x000000f0,0x000000ee,0x000000d1,0x00050041,0x0000001c,0x000000f1,0x0000001a,
+ 0x000000d1,0x0003003e,0x000000f1,0x000000f0,0x000500b0,0x00000013,0x00000110,0x000000d1,
+ 0x00000012,0x000300f7,0x00000141,0x00000000,0x000400fa,0x00000110,0x00000111,0x00000141,
+ 0x000200f8,0x00000111,0x00050080,0x00000006,0x00000112,0x000000d1,0x00000012,0x00050041,
+ 0x0000001c,0x00000113,0x0000001a,0x00000112,0x0004003d,0x00000006,0x00000114,0x00000113,
+ 0x0004003d,0x00000006,0x00000116,0x000000f1,0x000500c5,0x00000006,0x00000117,0x00000116,
+ 0x00000114,0x0003003e,0x000000f1,0x00000117,0x000500b0,0x00000013,0x00000119,0x000000d1,
+ 0x00000023,0x000300f7,0x00000140,0x00000000,0x000400fa,0x00000119,0x0000011a,0x00000140,
+ 0x000200f8,0x0000011a,0x00050080,0x00000006,0x0000011b,0x000000d1,0x00000023,0x00050041,
+ 0x0000001c,0x0000011c,0x0000001a,0x0000011b,0x0004003d,0x00000006,0x0000011d,0x0000011c,
+ 0x0004003d,0x00000006,0x0000011f,0x000000f1,0x000500c5,0x00000006,0x00000120,0x0000011f,
+ 0x0000011d,0x0003003e,0x000000f1,0x00000120,0x000500b0,0x00000013,0x00000122,0x000000d1,
+ 0x0000002e,0x000300f7,0x0000013f,0x00000000,0x000400fa,0x00000122,0x00000123,0x0000013f,
+ 0x000200f8,0x00000123,0x00050080,0x00000006,0x00000124,0x000000d1,0x0000002e,0x00050041,
+ 0x0000001c,0x00000125,0x0000001a,0x00000124,0x0004003d,0x00000006,0x00000126,0x00000125,
+ 0x0004003d,0x00000006,0x00000128,0x000000f1,0x000500c5,0x00000006,0x00000129,0x00000128,
+ 0x00000126,0x0003003e,0x000000f1,0x00000129,0x000500b0,0x00000013,0x0000012b,0x000000d1,
+ 0x00000039,0x000300f7,0x0000013e,0x00000000,0x000400fa,0x0000012b,0x0000012c,0x0000013e,
+ 0x000200f8,0x0000012c,0x00050080,0x00000006,0x0000012d,0x000000d1,0x00000039,0x00050041,
+ 0x0000001c,0x0000012e,0x0000001a,0x0000012d,0x0004003d,0x00000006,0x0000012f,0x0000012e,
+ 0x0004003d,0x00000006,0x00000131,0x000000f1,0x000500c5,0x00000006,0x00000132,0x00000131,
+ 0x0000012f,0x0003003e,0x000000f1,0x00000132,0x000500b0,0x00000013,0x00000134,0x000000d1,
+ 0x00000044,0x000300f7,0x0000013d,0x00000000,0x000400fa,0x00000134,0x00000135,0x0000013d,
+ 0x000200f8,0x00000135,0x00050080,0x00000006,0x00000136,0x000000d1,0x00000044,0x00050041,
+ 0x0000001c,0x00000137,0x0000001a,0x00000136,0x0004003d,0x00000006,0x00000138,0x00000137,
+ 0x0004003d,0x00000006,0x0000013a,0x000000f1,0x000500c5,0x00000006,0x0000013b,0x0000013a,
+ 0x00000138,0x0003003e,0x000000f1,0x0000013b,0x000200f9,0x0000013d,0x000200f8,0x0000013d,
+ 0x000200f9,0x0000013e,0x000200f8,0x0000013e,0x000200f9,0x0000013f,0x000200f8,0x0000013f,
+ 0x000200f9,0x00000140,0x000200f8,0x00000140,0x000200f9,0x00000141,0x000200f8,0x00000141,
+ 0x000500aa,0x00000013,0x000000f5,0x000000d1,0x00000054,0x000300f7,0x000000fa,0x00000000,
+ 0x000400fa,0x000000f5,0x000000f6,0x000000fa,0x000200f8,0x000000f6,0x00050041,0x0000001c,
+ 0x000000f7,0x0000001a,0x00000061,0x0004003d,0x00000006,0x000000f8,0x000000f7,0x00060052,
+ 0x0000000b,0x00000178,0x000000f8,0x0000007f,0x00000000,0x000200f9,0x000000fa,0x000200f8,
+ 0x000000fa,0x000700f5,0x0000000b,0x00000186,0x0000007f,0x00000141,0x00000178,0x000000f6,
+ 0x000200f9,0x00000106,0x000200f8,0x000000fb,0x00050082,0x00000006,0x000000fd,0x000000d1,
+ 0x00000017,0x000600a9,0x00000006,0x00000100,0x000000e8,0x00000044,0x00000054,0x000500c4,
+ 0x00000006,0x00000102,0x00000100,0x000000fd,0x00050041,0x0000001c,0x00000103,0x0000001a,
+ 0x000000fd,0x0003003e,0x00000103,0x00000102,0x000500b0,0x00000013,0x00000143,0x000000fd,
+ 0x00000012,0x000300f7,0x00000174,0x00000000,0x000400fa,0x00000143,0x00000144,0x00000174,
+ 0x000200f8,0x00000144,0x00050080,0x00000006,0x00000145,0x000000d1,0x0000017b,0x00050041,
+ 0x0000001c,0x00000146,0x0000001a,0x00000145,0x0004003d,0x00000006,0x00000147,0x00000146,
+ 0x0004003d,0x00000006,0x00000149,0x00000103,0x000500c5,0x00000006,0x0000014a,0x00000149,
+ 0x00000147,0x0003003e,0x00000103,0x0000014a,0x000500b0,0x00000013,0x0000014c,0x000000fd,
+ 0x00000023,0x000300f7,0x00000173,0x00000000,0x000400fa,0x0000014c,0x0000014d,0x00000173,
+ 0x000200f8,0x0000014d,0x00050080,0x00000006,0x0000014e,0x000000d1,0x0000017c,0x00050041,
+ 0x0000001c,0x0000014f,0x0000001a,0x0000014e,0x0004003d,0x00000006,0x00000150,0x0000014f,
+ 0x0004003d,0x00000006,0x00000152,0x00000103,0x000500c5,0x00000006,0x00000153,0x00000152,
+ 0x00000150,0x0003003e,0x00000103,0x00000153,0x000500b0,0x00000013,0x00000155,0x000000fd,
+ 0x0000002e,0x000300f7,0x00000172,0x00000000,0x000400fa,0x00000155,0x00000156,0x00000172,
+ 0x000200f8,0x00000156,0x00050080,0x00000006,0x00000157,0x000000d1,0x0000017d,0x00050041,
+ 0x0000001c,0x00000158,0x0000001a,0x00000157,0x0004003d,0x00000006,0x00000159,0x00000158,
+ 0x0004003d,0x00000006,0x0000015b,0x00000103,0x000500c5,0x00000006,0x0000015c,0x0000015b,
+ 0x00000159,0x0003003e,0x00000103,0x0000015c,0x000500b0,0x00000013,0x0000015e,0x000000fd,
+ 0x00000039,0x000300f7,0x00000171,0x00000000,0x000400fa,0x0000015e,0x0000015f,0x00000171,
+ 0x000200f8,0x0000015f,0x00050080,0x00000006,0x00000160,0x000000d1,0x0000017e,0x00050041,
+ 0x0000001c,0x00000161,0x0000001a,0x00000160,0x0004003d,0x00000006,0x00000162,0x00000161,
+ 0x0004003d,0x00000006,0x00000164,0x00000103,0x000500c5,0x00000006,0x00000165,0x00000164,
+ 0x00000162,0x0003003e,0x00000103,0x00000165,0x000500b0,0x00000013,0x00000167,0x000000fd,
+ 0x00000044,0x000300f7,0x00000170,0x00000000,0x000400fa,0x00000167,0x00000168,0x00000170,
+ 0x000200f8,0x00000168,0x00050080,0x00000006,0x00000169,0x000000d1,0x0000017f,0x00050041,
+ 0x0000001c,0x0000016a,0x0000001a,0x00000169,0x0004003d,0x00000006,0x0000016b,0x0000016a,
+ 0x0004003d,0x00000006,0x0000016d,0x00000103,0x000500c5,0x00000006,0x0000016e,0x0000016d,
+ 0x0000016b,0x0003003e,0x00000103,0x0000016e,0x000200f9,0x00000170,0x000200f8,0x00000170,
+ 0x000200f9,0x00000171,0x000200f8,0x00000171,0x000200f9,0x00000172,0x000200f8,0x00000172,
+ 0x000200f9,0x00000173,0x000200f8,0x00000173,0x000200f9,0x00000174,0x000200f8,0x00000174,
+ 0x000200f9,0x00000106,0x000200f8,0x00000106,0x000700f5,0x0000000b,0x00000185,0x00000186,
+ 0x000000fa,0x0000007f,0x00000174,0x000500aa,0x00000013,0x00000108,0x000000d1,0x00000054,
+ 0x000300f7,0x0000010d,0x00000000,0x000400fa,0x00000108,0x00000109,0x0000010d,0x000200f8,
+ 0x00000109,0x00050041,0x0000001c,0x0000010a,0x0000001a,0x00000061,0x0004003d,0x00000006,
+ 0x0000010b,0x0000010a,0x00060052,0x0000000b,0x0000017a,0x0000010b,0x00000185,0x00000001,
+ 0x000200f9,0x0000010d,0x000200f8,0x0000010d,0x000700f5,0x0000000b,0x0000018c,0x00000185,
+ 0x00000106,0x0000017a,0x00000109,0x000300f7,0x000000bc,0x00000000,0x000400fa,0x00000108,
+ 0x000000bb,0x000000bc,0x000200f8,0x000000bb,0x0004003d,0x000000bd,0x000000c0,0x000000bf,
+ 0x0004007c,0x000000c2,0x000000c3,0x000000ac,0x00050051,0x00000006,0x000000c5,0x0000018c,
+ 0x00000000,0x00050051,0x00000006,0x000000c6,0x0000018c,0x00000001,0x00070050,0x00000058,
+ 0x000000c7,0x000000c5,0x000000c6,0x00000054,0x00000054,0x00040063,0x000000c0,0x000000c3,
+ 0x000000c7,0x000200f9,0x000000bc,0x000200f8,0x000000bc,0x000100fd,0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000000.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000000.inc
index 591a822a1a1..a710b0e3505 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000000.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000000.inc
@@ -1,349 +1,236 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayDraw_comp_00000000[] = {
- 0x07230203,0x00010000,0x00080007,0x000001ba,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000269,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000009f,0x000000b7,0x00060010,
0x00000004,0x00000011,0x00000008,0x00000004,0x00000001,0x00030003,0x00000002,0x000001c2,
0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,
- 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,
- 0x0000000d,0x65746e69,0x63657372,0x76287374,0x763b3275,0x003b3475,0x00050005,0x0000000b,
- 0x67616d69,0x6f6f4365,0x00736472,0x00060005,0x0000000c,0x67646977,0x6f437465,0x7364726f,
- 0x00000000,0x00070005,0x00000013,0x43746567,0x28726168,0x763b3175,0x753b3275,0x00003b31,
- 0x00050005,0x00000010,0x74786574,0x67646957,0x00007465,0x00060005,0x00000011,0x726f6f63,
- 0x576e4964,0x65676469,0x00000074,0x00060005,0x00000012,0x746e6f66,0x70796c47,0x64695768,
- 0x00006874,0x00090005,0x0000001b,0x706d6173,0x6f46656c,0x7528746e,0x75763b31,0x75763b32,
- 0x31753b32,0x0000003b,0x00050005,0x00000017,0x74786574,0x72616843,0x00000000,0x00060005,
- 0x00000018,0x726f6f63,0x576e4964,0x65676469,0x00000074,0x00060005,0x00000019,0x746e6f66,
- 0x70796c47,0x7a695368,0x00000065,0x00050005,0x0000001a,0x746e6f66,0x6579614c,0x00000072,
- 0x00070005,0x00000020,0x56746567,0x65756c61,0x3b317528,0x3b327576,0x003b3175,0x00050005,
- 0x0000001d,0x70617267,0x64695768,0x00746567,0x00060005,0x0000001e,0x726f6f63,0x576e4964,
- 0x65676469,0x00000074,0x00050005,0x0000001f,0x756c6176,0x64695765,0x00006874,0x00060005,
- 0x00000026,0x6e656c62,0x66762864,0x66763b34,0x00003b34,0x00060005,0x00000024,0x6e656c62,
- 0x53646564,0x7261466f,0x00000000,0x00040005,0x00000025,0x6f6c6f63,0x00000072,0x00050005,
- 0x00000035,0x72616863,0x65646e49,0x00000078,0x00050005,0x00000039,0x6b636170,0x65646e49,
- 0x00000078,0x00050005,0x0000003d,0x6b636170,0x68436465,0x00737261,0x00060005,0x00000040,
- 0x74786554,0x67646957,0x61447465,0x00006174,0x00060006,0x00000040,0x00000000,0x726f6f63,
- 0x616e6964,0x00736574,0x00050006,0x00000040,0x00000001,0x6f6c6f63,0x00000072,0x00060006,
- 0x00000040,0x00000002,0x746e6f66,0x657a6953,0x00000000,0x00050006,0x00000040,0x00000003,
- 0x74786574,0x00000000,0x00050005,0x00000043,0x74786554,0x67646957,0x00737465,0x00070006,
- 0x00000043,0x00000000,0x74786574,0x67646957,0x44737465,0x00617461,0x00030005,0x00000045,
- 0x00000000,0x00040005,0x00000050,0x66696873,0x00000074,0x00060005,0x0000005d,0x726f6f63,
- 0x476e4964,0x6870796c,0x00000000,0x00050005,0x0000005f,0x70796c67,0x66664f68,0x00746573,
- 0x00040005,0x00000066,0x746e6f66,0x00000000,0x00050005,0x00000076,0x756c6176,0x646e4965,
- 0x00007865,0x00060005,0x0000007a,0x70617247,0x64695768,0x44746567,0x00617461,0x00060006,
- 0x0000007a,0x00000000,0x726f6f63,0x616e6964,0x00736574,0x00050006,0x0000007a,0x00000001,
- 0x6f6c6f63,0x00000072,0x00060006,0x0000007a,0x00000002,0x756c6176,0x64695765,0x00006874,
- 0x00050006,0x0000007a,0x00000003,0x756c6176,0x00007365,0x00060005,0x0000007c,0x70617247,
- 0x64695768,0x73746567,0x00000000,0x00080006,0x0000007c,0x00000000,0x70617267,0x64695768,
- 0x73746567,0x61746144,0x00000000,0x00030005,0x0000007e,0x00000000,0x00050005,0x0000009c,
- 0x67616d69,0x6f6f4365,0x00736472,0x00080005,0x0000009f,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,
+ 0x00000040,0x74786554,0x67646957,0x61447465,0x00006174,0x00060006,0x00000040,0x00000000,
+ 0x726f6f63,0x616e6964,0x00736574,0x00050006,0x00000040,0x00000001,0x6f6c6f63,0x00000072,
+ 0x00060006,0x00000040,0x00000002,0x746e6f66,0x657a6953,0x00000000,0x00050006,0x00000040,
+ 0x00000003,0x74786574,0x00000000,0x00050005,0x00000043,0x74786554,0x67646957,0x00737465,
+ 0x00070006,0x00000043,0x00000000,0x74786574,0x67646957,0x44737465,0x00617461,0x00030005,
+ 0x00000045,0x00000000,0x00040005,0x00000066,0x746e6f66,0x00000000,0x00060005,0x0000007a,
+ 0x70617247,0x64695768,0x44746567,0x00617461,0x00060006,0x0000007a,0x00000000,0x726f6f63,
+ 0x616e6964,0x00736574,0x00050006,0x0000007a,0x00000001,0x6f6c6f63,0x00000072,0x00060006,
+ 0x0000007a,0x00000002,0x756c6176,0x64695765,0x00006874,0x00050006,0x0000007a,0x00000003,
+ 0x756c6176,0x00007365,0x00060005,0x0000007c,0x70617247,0x64695768,0x73746567,0x00000000,
+ 0x00080006,0x0000007c,0x00000000,0x70617267,0x64695768,0x73746567,0x61746144,0x00000000,
+ 0x00030005,0x0000007e,0x00000000,0x00080005,0x0000009f,0x475f6c67,0x61626f6c,0x766e496c,
0x7461636f,0x496e6f69,0x00000044,0x00060005,0x000000a3,0x68737550,0x736e6f43,0x746e6174,
0x00000073,0x00060006,0x000000a3,0x00000000,0x7074756f,0x69537475,0x0000657a,0x00040005,
- 0x000000a5,0x61726170,0x0000736d,0x00060005,0x000000af,0x6e656c62,0x57646564,0x65676469,
- 0x00007374,0x00060005,0x000000b2,0x67627573,0x70756f72,0x67646957,0x00737465,0x00060005,
- 0x000000b5,0x6c6c7563,0x69576465,0x74656764,0x00000073,0x00060005,0x000000b7,0x575f6c67,
- 0x476b726f,0x70756f72,0x00004449,0x00050005,0x000000bd,0x74786574,0x67646957,0x00737465,
- 0x00060005,0x000000c0,0x70617267,0x64695768,0x73746567,0x00000000,0x00050005,0x000000cb,
- 0x70617267,0x64695768,0x00746567,0x00060005,0x000000d6,0x67646977,0x6f437465,0x7364726f,
- 0x00000000,0x00060005,0x00000109,0x726f6f63,0x576e4964,0x65676469,0x00000074,0x00050005,
- 0x0000010e,0x756c6176,0x64695765,0x00006874,0x00040005,0x00000113,0x756c6176,0x00000065,
- 0x00040005,0x00000118,0x6f6c6f63,0x00000072,0x00060005,0x00000119,0x67646977,0x65487465,
- 0x74686769,0x00000000,0x00070005,0x00000120,0x69646e69,0x65746163,0x7265764f,0x776f6c66,
- 0x00000000,0x00050005,0x0000014f,0x74786574,0x67646957,0x00007465,0x00060005,0x00000158,
- 0x67646977,0x6f437465,0x7364726f,0x00000000,0x00060005,0x00000163,0x726f6f63,0x576e4964,
- 0x65676469,0x00000074,0x00060005,0x00000168,0x746e6f66,0x657a6953,0x6b636150,0x00006465,
- 0x00060005,0x0000016c,0x746e6f66,0x70796c47,0x7a695368,0x00000065,0x00050005,0x0000016f,
- 0x746e6f66,0x6579614c,0x00000072,0x00050005,0x00000172,0x74786574,0x72616843,0x00000000,
- 0x00050005,0x0000017e,0x706d6173,0x6156656c,0x0065756c,0x00040005,0x00000184,0x6f6c6f63,
- 0x00000072,0x00060005,0x00000197,0x6e656c62,0x43646564,0x726f6c6f,0x00000000,0x00040005,
- 0x0000019f,0x6f6c6f63,0x00000072,0x00050005,0x000001a2,0x6e656c62,0x74754f64,0x00747570,
- 0x00040047,0x0000003f,0x00000006,0x00000010,0x00050048,0x00000040,0x00000000,0x00000023,
- 0x00000000,0x00050048,0x00000040,0x00000001,0x00000023,0x00000010,0x00050048,0x00000040,
- 0x00000002,0x00000023,0x00000020,0x00050048,0x00000040,0x00000003,0x00000023,0x00000030,
- 0x00040047,0x00000042,0x00000006,0x00000130,0x00050048,0x00000043,0x00000000,0x00000023,
- 0x00000000,0x00030047,0x00000043,0x00000002,0x00040047,0x00000045,0x00000022,0x00000000,
- 0x00040047,0x00000045,0x00000021,0x00000001,0x00040047,0x00000066,0x00000022,0x00000000,
- 0x00040047,0x00000066,0x00000021,0x00000004,0x00040047,0x00000079,0x00000006,0x00000010,
- 0x00050048,0x0000007a,0x00000000,0x00000023,0x00000000,0x00050048,0x0000007a,0x00000001,
- 0x00000023,0x00000010,0x00050048,0x0000007a,0x00000002,0x00000023,0x00000020,0x00050048,
- 0x0000007a,0x00000003,0x00000023,0x00000030,0x00040047,0x0000007b,0x00000006,0x00000130,
- 0x00050048,0x0000007c,0x00000000,0x00000023,0x00000000,0x00030047,0x0000007c,0x00000002,
- 0x00040047,0x0000007e,0x00000022,0x00000000,0x00040047,0x0000007e,0x00000021,0x00000002,
- 0x00040047,0x0000009f,0x0000000b,0x0000001c,0x00050048,0x000000a3,0x00000000,0x00000023,
- 0x00000000,0x00030047,0x000000a3,0x00000002,0x00040047,0x000000b5,0x00000022,0x00000000,
- 0x00040047,0x000000b5,0x00000021,0x00000003,0x00040047,0x000000b7,0x0000000b,0x0000001a,
- 0x00040047,0x000001a2,0x00000022,0x00000000,0x00040047,0x000001a2,0x00000021,0x00000000,
- 0x00040047,0x000001b9,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,
- 0x00000002,0x00040017,0x00000008,0x00000006,0x00000004,0x00020014,0x00000009,0x00050021,
- 0x0000000a,0x00000009,0x00000007,0x00000008,0x00060021,0x0000000f,0x00000006,0x00000006,
- 0x00000007,0x00000006,0x00030016,0x00000015,0x00000020,0x00070021,0x00000016,0x00000015,
- 0x00000006,0x00000007,0x00000007,0x00000006,0x00040017,0x00000022,0x00000015,0x00000004,
- 0x00050021,0x00000023,0x00000022,0x00000022,0x00000022,0x00040017,0x00000029,0x00000009,
- 0x00000002,0x00040020,0x00000034,0x00000007,0x00000006,0x0004002b,0x00000006,0x00000036,
- 0x00000000,0x0004002b,0x00000006,0x0000003b,0x00000004,0x0004002b,0x00000006,0x0000003e,
- 0x00000010,0x0004001c,0x0000003f,0x00000008,0x0000003e,0x0006001e,0x00000040,0x00000008,
- 0x00000022,0x00000008,0x0000003f,0x0004002b,0x00000006,0x00000041,0x00000020,0x0004001c,
- 0x00000042,0x00000040,0x00000041,0x0003001e,0x00000043,0x00000042,0x00040020,0x00000044,
- 0x00000002,0x00000043,0x0004003b,0x00000044,0x00000045,0x00000002,0x00040015,0x00000046,
- 0x00000020,0x00000001,0x0004002b,0x00000046,0x00000047,0x00000000,0x0004002b,0x00000046,
- 0x00000048,0x00000003,0x00040020,0x0000004d,0x00000002,0x00000006,0x0004002b,0x00000006,
- 0x00000053,0x00000008,0x0004002b,0x00000006,0x00000058,0x000000ff,0x00040020,0x0000005c,
- 0x00000007,0x00000007,0x00090019,0x00000064,0x00000015,0x00000001,0x00000000,0x00000001,
- 0x00000000,0x00000001,0x00000000,0x00040020,0x00000065,0x00000000,0x00000064,0x0004003b,
- 0x00000065,0x00000066,0x00000000,0x00040017,0x0000006b,0x00000046,0x00000002,0x00040017,
- 0x0000006e,0x00000046,0x00000003,0x0004001c,0x00000079,0x00000008,0x0000003e,0x0006001e,
- 0x0000007a,0x00000008,0x00000022,0x00000008,0x00000079,0x0004001c,0x0000007b,0x0000007a,
- 0x00000041,0x0003001e,0x0000007c,0x0000007b,0x00040020,0x0000007d,0x00000002,0x0000007c,
- 0x0004003b,0x0000007d,0x0000007e,0x00000002,0x00040017,0x00000087,0x00000015,0x00000003,
- 0x0004002b,0x00000015,0x00000089,0x3f800000,0x0004002b,0x00000006,0x0000008a,0x00000003,
- 0x00040017,0x0000009d,0x00000006,0x00000003,0x00040020,0x0000009e,0x00000001,0x0000009d,
- 0x0004003b,0x0000009e,0x0000009f,0x00000001,0x0003001e,0x000000a3,0x00000007,0x00040020,
- 0x000000a4,0x00000009,0x000000a3,0x0004003b,0x000000a4,0x000000a5,0x00000009,0x00040020,
- 0x000000a6,0x00000009,0x00000007,0x00040020,0x000000ae,0x00000007,0x00000022,0x0004002b,
- 0x00000015,0x000000b0,0x00000000,0x0007002c,0x00000022,0x000000b1,0x000000b0,0x000000b0,
- 0x000000b0,0x00000089,0x00090019,0x000000b3,0x00000006,0x00000001,0x00000000,0x00000000,
- 0x00000000,0x00000001,0x00000000,0x00040020,0x000000b4,0x00000000,0x000000b3,0x0004003b,
- 0x000000b4,0x000000b5,0x00000000,0x0004003b,0x0000009e,0x000000b7,0x00000001,0x0004002b,
- 0x00000006,0x000000c1,0x00000001,0x0004002b,0x00000046,0x000000cf,0x00000001,0x00040020,
- 0x000000d5,0x00000007,0x00000008,0x00040020,0x000000d8,0x00000002,0x00000008,0x0004002b,
- 0x00000006,0x000000f6,0x00000002,0x0007002c,0x00000022,0x00000107,0x000000b0,0x000000b0,
- 0x000000b0,0x000000b0,0x0004002b,0x00000046,0x00000110,0x00000002,0x00040020,0x0000011f,
- 0x00000007,0x00000009,0x00040020,0x00000142,0x00000002,0x00000022,0x0004002b,0x00000006,
- 0x00000179,0x00000060,0x00040020,0x0000017d,0x00000007,0x00000015,0x0004002b,0x00000015,
- 0x00000185,0x3ecccccd,0x0007002c,0x00000022,0x00000186,0x000000b0,0x000000b0,0x000000b0,
- 0x00000185,0x00040020,0x00000196,0x00000007,0x00000087,0x00090019,0x000001a0,0x00000015,
- 0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,0x000001a1,
- 0x00000000,0x000001a0,0x0004003b,0x000001a1,0x000001a2,0x00000000,0x0006002c,0x0000009d,
- 0x000001b9,0x00000053,0x0000003b,0x000000c1,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x0000005c,0x0000009c,0x00000007,0x0004003b,
- 0x000000ae,0x000000af,0x00000007,0x0004003b,0x0000005c,0x000000b2,0x00000007,0x0004003b,
- 0x00000034,0x000000bd,0x00000007,0x0004003b,0x00000034,0x000000c0,0x00000007,0x0004003b,
- 0x00000034,0x000000cb,0x00000007,0x0004003b,0x000000d5,0x000000d6,0x00000007,0x0004003b,
- 0x0000005c,0x00000109,0x00000007,0x0004003b,0x00000034,0x0000010e,0x00000007,0x0004003b,
- 0x00000034,0x00000113,0x00000007,0x0004003b,0x000000ae,0x00000118,0x00000007,0x0004003b,
- 0x00000034,0x00000119,0x00000007,0x0004003b,0x0000011f,0x00000120,0x00000007,0x0004003b,
- 0x00000034,0x0000014f,0x00000007,0x0004003b,0x000000d5,0x00000158,0x00000007,0x0004003b,
- 0x0000005c,0x00000163,0x00000007,0x0004003b,0x000000d5,0x00000168,0x00000007,0x0004003b,
- 0x0000005c,0x0000016c,0x00000007,0x0004003b,0x00000034,0x0000016f,0x00000007,0x0004003b,
- 0x00000034,0x00000172,0x00000007,0x0004003b,0x0000017d,0x0000017e,0x00000007,0x0004003b,
- 0x000000ae,0x00000184,0x00000007,0x0004003b,0x00000196,0x00000197,0x00000007,0x0004003b,
- 0x000000ae,0x0000019f,0x00000007,0x0004003d,0x0000009d,0x000000a0,0x0000009f,0x0007004f,
- 0x00000007,0x000000a1,0x000000a0,0x000000a0,0x00000000,0x00000001,0x0003003e,0x0000009c,
- 0x000000a1,0x0004003d,0x00000007,0x000000a2,0x0000009c,0x00050041,0x000000a6,0x000000a7,
- 0x000000a5,0x00000047,0x0004003d,0x00000007,0x000000a8,0x000000a7,0x000500ae,0x00000029,
- 0x000000a9,0x000000a2,0x000000a8,0x0004009a,0x00000009,0x000000aa,0x000000a9,0x000300f7,
- 0x000000ac,0x00000000,0x000400fa,0x000000aa,0x000000ab,0x000000ac,0x000200f8,0x000000ab,
- 0x000100fd,0x000200f8,0x000000ac,0x0003003e,0x000000af,0x000000b1,0x0004003d,0x000000b3,
+ 0x000000a5,0x61726170,0x0000736d,0x00060005,0x000000b5,0x6c6c7563,0x69576465,0x74656764,
+ 0x00000073,0x00060005,0x000000b7,0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00050005,
+ 0x000001a2,0x6e656c62,0x74754f64,0x00747570,0x00040047,0x0000003f,0x00000006,0x00000010,
+ 0x00050048,0x00000040,0x00000000,0x00000023,0x00000000,0x00050048,0x00000040,0x00000001,
+ 0x00000023,0x00000010,0x00050048,0x00000040,0x00000002,0x00000023,0x00000020,0x00050048,
+ 0x00000040,0x00000003,0x00000023,0x00000030,0x00040047,0x00000042,0x00000006,0x00000130,
+ 0x00050048,0x00000043,0x00000000,0x00000023,0x00000000,0x00030047,0x00000043,0x00000002,
+ 0x00040047,0x00000045,0x00000022,0x00000000,0x00040047,0x00000045,0x00000021,0x00000001,
+ 0x00040047,0x00000066,0x00000022,0x00000000,0x00040047,0x00000066,0x00000021,0x00000004,
+ 0x00040047,0x00000079,0x00000006,0x00000010,0x00050048,0x0000007a,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x0000007a,0x00000001,0x00000023,0x00000010,0x00050048,0x0000007a,
+ 0x00000002,0x00000023,0x00000020,0x00050048,0x0000007a,0x00000003,0x00000023,0x00000030,
+ 0x00040047,0x0000007b,0x00000006,0x00000130,0x00050048,0x0000007c,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x0000007c,0x00000002,0x00040047,0x0000007e,0x00000022,0x00000000,
+ 0x00040047,0x0000007e,0x00000021,0x00000002,0x00040047,0x0000009f,0x0000000b,0x0000001c,
+ 0x00050048,0x000000a3,0x00000000,0x00000023,0x00000000,0x00030047,0x000000a3,0x00000002,
+ 0x00040047,0x000000b5,0x00000022,0x00000000,0x00040047,0x000000b5,0x00000021,0x00000003,
+ 0x00040047,0x000000b7,0x0000000b,0x0000001a,0x00040047,0x000001a2,0x00000022,0x00000000,
+ 0x00040047,0x000001a2,0x00000021,0x00000000,0x00040047,0x000001b9,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000000,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x00000008,0x00000006,
+ 0x00000004,0x00020014,0x00000009,0x00030016,0x00000015,0x00000020,0x00040017,0x00000022,
+ 0x00000015,0x00000004,0x00040017,0x00000029,0x00000009,0x00000002,0x0004002b,0x00000006,
+ 0x00000036,0x00000000,0x0004002b,0x00000006,0x0000003b,0x00000004,0x0004002b,0x00000006,
+ 0x0000003e,0x00000010,0x0004001c,0x0000003f,0x00000008,0x0000003e,0x0006001e,0x00000040,
+ 0x00000008,0x00000022,0x00000008,0x0000003f,0x0004002b,0x00000006,0x00000041,0x00000020,
+ 0x0004001c,0x00000042,0x00000040,0x00000041,0x0003001e,0x00000043,0x00000042,0x00040020,
+ 0x00000044,0x00000002,0x00000043,0x0004003b,0x00000044,0x00000045,0x00000002,0x00040015,
+ 0x00000046,0x00000020,0x00000001,0x0004002b,0x00000046,0x00000047,0x00000000,0x0004002b,
+ 0x00000046,0x00000048,0x00000003,0x00040020,0x0000004d,0x00000002,0x00000006,0x0004002b,
+ 0x00000006,0x00000053,0x00000008,0x0004002b,0x00000006,0x00000058,0x000000ff,0x00090019,
+ 0x00000064,0x00000015,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,
+ 0x00040020,0x00000065,0x00000000,0x00000064,0x0004003b,0x00000065,0x00000066,0x00000000,
+ 0x00040017,0x0000006b,0x00000046,0x00000002,0x00040017,0x0000006e,0x00000046,0x00000003,
+ 0x0004001c,0x00000079,0x00000008,0x0000003e,0x0006001e,0x0000007a,0x00000008,0x00000022,
+ 0x00000008,0x00000079,0x0004001c,0x0000007b,0x0000007a,0x00000041,0x0003001e,0x0000007c,
+ 0x0000007b,0x00040020,0x0000007d,0x00000002,0x0000007c,0x0004003b,0x0000007d,0x0000007e,
+ 0x00000002,0x00040017,0x00000087,0x00000015,0x00000003,0x0004002b,0x00000015,0x00000089,
+ 0x3f800000,0x00040017,0x0000009d,0x00000006,0x00000003,0x00040020,0x0000009e,0x00000001,
+ 0x0000009d,0x0004003b,0x0000009e,0x0000009f,0x00000001,0x0003001e,0x000000a3,0x00000007,
+ 0x00040020,0x000000a4,0x00000009,0x000000a3,0x0004003b,0x000000a4,0x000000a5,0x00000009,
+ 0x00040020,0x000000a6,0x00000009,0x00000007,0x0004002b,0x00000015,0x000000b0,0x00000000,
+ 0x0007002c,0x00000022,0x000000b1,0x000000b0,0x000000b0,0x000000b0,0x00000089,0x00090019,
+ 0x000000b3,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
+ 0x00040020,0x000000b4,0x00000000,0x000000b3,0x0004003b,0x000000b4,0x000000b5,0x00000000,
+ 0x0004003b,0x0000009e,0x000000b7,0x00000001,0x0004002b,0x00000006,0x000000c1,0x00000001,
+ 0x0004002b,0x00000046,0x000000cf,0x00000001,0x00040020,0x000000d8,0x00000002,0x00000008,
+ 0x0007002c,0x00000022,0x00000107,0x000000b0,0x000000b0,0x000000b0,0x000000b0,0x0004002b,
+ 0x00000046,0x00000110,0x00000002,0x00040020,0x00000142,0x00000002,0x00000022,0x0004002b,
+ 0x00000006,0x00000179,0x00000060,0x0004002b,0x00000015,0x00000185,0x3ecccccd,0x0007002c,
+ 0x00000022,0x00000186,0x000000b0,0x000000b0,0x000000b0,0x00000185,0x00090019,0x000001a0,
+ 0x00000015,0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,
+ 0x000001a1,0x00000000,0x000001a0,0x0004003b,0x000001a1,0x000001a2,0x00000000,0x0006002c,
+ 0x0000009d,0x000001b9,0x00000053,0x0000003b,0x000000c1,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000001ba,0x00000000,0x000300fb,
+ 0x00000036,0x000001bb,0x000200f8,0x000001bb,0x0004003d,0x0000009d,0x000000a0,0x0000009f,
+ 0x0007004f,0x00000007,0x000000a1,0x000000a0,0x000000a0,0x00000000,0x00000001,0x00050041,
+ 0x000000a6,0x000000a7,0x000000a5,0x00000047,0x0004003d,0x00000007,0x000000a8,0x000000a7,
+ 0x000500ae,0x00000029,0x000000a9,0x000000a1,0x000000a8,0x0004009a,0x00000009,0x000000aa,
+ 0x000000a9,0x000300f7,0x000000ac,0x00000000,0x000400fa,0x000000aa,0x000000ab,0x000000ac,
+ 0x000200f8,0x000000ab,0x000200f9,0x000001ba,0x000200f8,0x000000ac,0x0004003d,0x000000b3,
0x000000b6,0x000000b5,0x0004003d,0x0000009d,0x000000b8,0x000000b7,0x0007004f,0x00000007,
0x000000b9,0x000000b8,0x000000b8,0x00000000,0x00000001,0x0004007c,0x0000006b,0x000000ba,
0x000000b9,0x0007005f,0x00000008,0x000000bb,0x000000b6,0x000000ba,0x00000002,0x00000047,
- 0x0007004f,0x00000007,0x000000bc,0x000000bb,0x000000bb,0x00000000,0x00000001,0x0003003e,
- 0x000000b2,0x000000bc,0x00050041,0x00000034,0x000000be,0x000000b2,0x00000036,0x0004003d,
- 0x00000006,0x000000bf,0x000000be,0x0003003e,0x000000bd,0x000000bf,0x00050041,0x00000034,
- 0x000000c2,0x000000b2,0x000000c1,0x0004003d,0x00000006,0x000000c3,0x000000c2,0x0003003e,
- 0x000000c0,0x000000c3,0x000200f9,0x000000c4,0x000200f8,0x000000c4,0x000400f6,0x000000c6,
- 0x000000c7,0x00000000,0x000200f9,0x000000c8,0x000200f8,0x000000c8,0x0004003d,0x00000006,
- 0x000000c9,0x000000c0,0x000500ab,0x00000009,0x000000ca,0x000000c9,0x00000036,0x000400fa,
- 0x000000ca,0x000000c5,0x000000c6,0x000200f8,0x000000c5,0x0004003d,0x00000006,0x000000cc,
- 0x000000c0,0x0006000c,0x00000046,0x000000cd,0x00000001,0x00000049,0x000000cc,0x0004007c,
- 0x00000006,0x000000ce,0x000000cd,0x0003003e,0x000000cb,0x000000ce,0x0004003d,0x00000006,
- 0x000000d0,0x000000cb,0x000500c4,0x00000046,0x000000d1,0x000000cf,0x000000d0,0x0004007c,
- 0x00000006,0x000000d2,0x000000d1,0x0004003d,0x00000006,0x000000d3,0x000000c0,0x000500c6,
- 0x00000006,0x000000d4,0x000000d3,0x000000d2,0x0003003e,0x000000c0,0x000000d4,0x0004003d,
- 0x00000006,0x000000d7,0x000000cb,0x00070041,0x000000d8,0x000000d9,0x0000007e,0x00000047,
- 0x000000d7,0x00000047,0x0004003d,0x00000008,0x000000da,0x000000d9,0x0003003e,0x000000d6,
- 0x000000da,0x0004003d,0x00000007,0x000000db,0x0000009c,0x0004003d,0x00000008,0x000000dc,
- 0x000000d6,0x00060039,0x00000009,0x000000dd,0x0000000d,0x000000db,0x000000dc,0x000400a8,
- 0x00000009,0x000000de,0x000000dd,0x000300f7,0x000000e0,0x00000000,0x000400fa,0x000000de,
- 0x000000df,0x000000e0,0x000200f8,0x000000df,0x000200f9,0x000000c7,0x000200f8,0x000000e0,
- 0x00050041,0x00000034,0x000000e2,0x0000009c,0x00000036,0x0004003d,0x00000006,0x000000e3,
- 0x000000e2,0x00050041,0x00000034,0x000000e4,0x000000d6,0x00000036,0x0004003d,0x00000006,
- 0x000000e5,0x000000e4,0x000500aa,0x00000009,0x000000e6,0x000000e3,0x000000e5,0x000400a8,
- 0x00000009,0x000000e7,0x000000e6,0x000300f7,0x000000e9,0x00000000,0x000400fa,0x000000e7,
- 0x000000e8,0x000000e9,0x000200f8,0x000000e8,0x00050041,0x00000034,0x000000ea,0x0000009c,
- 0x000000c1,0x0004003d,0x00000006,0x000000eb,0x000000ea,0x00050041,0x00000034,0x000000ec,
- 0x000000d6,0x000000c1,0x0004003d,0x00000006,0x000000ed,0x000000ec,0x000500aa,0x00000009,
- 0x000000ee,0x000000eb,0x000000ed,0x000200f9,0x000000e9,0x000200f8,0x000000e9,0x000700f5,
- 0x00000009,0x000000ef,0x000000e6,0x000000e0,0x000000ee,0x000000e8,0x000400a8,0x00000009,
- 0x000000f0,0x000000ef,0x000300f7,0x000000f2,0x00000000,0x000400fa,0x000000f0,0x000000f1,
- 0x000000f2,0x000200f8,0x000000f1,0x00050041,0x00000034,0x000000f3,0x0000009c,0x00000036,
- 0x0004003d,0x00000006,0x000000f4,0x000000f3,0x00050080,0x00000006,0x000000f5,0x000000f4,
- 0x000000c1,0x00050041,0x00000034,0x000000f7,0x000000d6,0x000000f6,0x0004003d,0x00000006,
- 0x000000f8,0x000000f7,0x000500aa,0x00000009,0x000000f9,0x000000f5,0x000000f8,0x000200f9,
- 0x000000f2,0x000200f8,0x000000f2,0x000700f5,0x00000009,0x000000fa,0x000000ef,0x000000e9,
- 0x000000f9,0x000000f1,0x000400a8,0x00000009,0x000000fb,0x000000fa,0x000300f7,0x000000fd,
- 0x00000000,0x000400fa,0x000000fb,0x000000fc,0x000000fd,0x000200f8,0x000000fc,0x00050041,
- 0x00000034,0x000000fe,0x0000009c,0x000000c1,0x0004003d,0x00000006,0x000000ff,0x000000fe,
- 0x00050080,0x00000006,0x00000100,0x000000ff,0x000000c1,0x00050041,0x00000034,0x00000101,
- 0x000000d6,0x0000008a,0x0004003d,0x00000006,0x00000102,0x00000101,0x000500aa,0x00000009,
- 0x00000103,0x00000100,0x00000102,0x000200f9,0x000000fd,0x000200f8,0x000000fd,0x000700f5,
- 0x00000009,0x00000104,0x000000fa,0x000000f2,0x00000103,0x000000fc,0x000300f7,0x00000106,
- 0x00000000,0x000400fa,0x00000104,0x00000105,0x00000106,0x000200f8,0x00000105,0x0003003e,
- 0x000000af,0x00000107,0x000200f9,0x000000c7,0x000200f8,0x00000106,0x0004003d,0x00000007,
- 0x0000010a,0x0000009c,0x0004003d,0x00000008,0x0000010b,0x000000d6,0x0007004f,0x00000007,
- 0x0000010c,0x0000010b,0x0000010b,0x00000000,0x00000001,0x00050082,0x00000007,0x0000010d,
- 0x0000010a,0x0000010c,0x0003003e,0x00000109,0x0000010d,0x0004003d,0x00000006,0x0000010f,
- 0x000000cb,0x00080041,0x0000004d,0x00000111,0x0000007e,0x00000047,0x0000010f,0x00000110,
- 0x00000036,0x0004003d,0x00000006,0x00000112,0x00000111,0x0003003e,0x0000010e,0x00000112,
- 0x0004003d,0x00000006,0x00000114,0x000000cb,0x0004003d,0x00000007,0x00000115,0x00000109,
- 0x0004003d,0x00000006,0x00000116,0x0000010e,0x00070039,0x00000006,0x00000117,0x00000020,
- 0x00000114,0x00000115,0x00000116,0x0003003e,0x00000113,0x00000117,0x0003003e,0x00000118,
- 0x00000107,0x00050041,0x00000034,0x0000011a,0x000000d6,0x0000008a,0x0004003d,0x00000006,
- 0x0000011b,0x0000011a,0x00050041,0x00000034,0x0000011c,0x000000d6,0x000000c1,0x0004003d,
- 0x00000006,0x0000011d,0x0000011c,0x00050082,0x00000006,0x0000011e,0x0000011b,0x0000011d,
- 0x0003003e,0x00000119,0x0000011e,0x0004003d,0x00000006,0x00000121,0x00000113,0x0004003d,
- 0x00000006,0x00000122,0x00000119,0x000500ac,0x00000009,0x00000123,0x00000121,0x00000122,
- 0x000300f7,0x00000125,0x00000000,0x000400fa,0x00000123,0x00000124,0x00000125,0x000200f8,
- 0x00000124,0x00050041,0x00000034,0x00000126,0x00000109,0x000000c1,0x0004003d,0x00000006,
- 0x00000127,0x00000126,0x00050080,0x00000006,0x00000128,0x00000127,0x0000003b,0x0004003d,
- 0x00000006,0x00000129,0x00000119,0x000500ae,0x00000009,0x0000012a,0x00000128,0x00000129,
- 0x000200f9,0x00000125,0x000200f8,0x00000125,0x000700f5,0x00000009,0x0000012b,0x00000123,
- 0x00000106,0x0000012a,0x00000124,0x000300f7,0x0000012d,0x00000000,0x000400fa,0x0000012b,
- 0x0000012c,0x0000012d,0x000200f8,0x0000012c,0x00050041,0x00000034,0x0000012e,0x00000109,
- 0x00000036,0x0004003d,0x00000006,0x0000012f,0x0000012e,0x00050041,0x00000034,0x00000130,
- 0x00000109,0x000000c1,0x0004003d,0x00000006,0x00000131,0x00000130,0x000500c6,0x00000006,
- 0x00000132,0x0000012f,0x00000131,0x000500c7,0x00000006,0x00000133,0x00000132,0x000000c1,
- 0x000500aa,0x00000009,0x00000134,0x00000133,0x00000036,0x000200f9,0x0000012d,0x000200f8,
- 0x0000012d,0x000700f5,0x00000009,0x00000135,0x0000012b,0x00000125,0x00000134,0x0000012c,
- 0x0003003e,0x00000120,0x00000135,0x0004003d,0x00000006,0x00000136,0x00000119,0x00050041,
- 0x00000034,0x00000137,0x00000109,0x000000c1,0x0004003d,0x00000006,0x00000138,0x00000137,
- 0x00050082,0x00000006,0x00000139,0x00000136,0x00000138,0x0004003d,0x00000006,0x0000013a,
- 0x00000113,0x000500b0,0x00000009,0x0000013b,0x00000139,0x0000013a,0x0004003d,0x00000009,
- 0x0000013c,0x00000120,0x000400a8,0x00000009,0x0000013d,0x0000013c,0x000500a7,0x00000009,
- 0x0000013e,0x0000013b,0x0000013d,0x000300f7,0x00000140,0x00000000,0x000400fa,0x0000013e,
- 0x0000013f,0x00000140,0x000200f8,0x0000013f,0x0004003d,0x00000006,0x00000141,0x000000cb,
- 0x00070041,0x00000142,0x00000143,0x0000007e,0x00000047,0x00000141,0x000000cf,0x0004003d,
- 0x00000022,0x00000144,0x00000143,0x0003003e,0x00000118,0x00000144,0x0004003d,0x00000022,
- 0x00000145,0x000000af,0x0004003d,0x00000022,0x00000146,0x00000118,0x00060039,0x00000022,
- 0x00000147,0x00000026,0x00000145,0x00000146,0x0003003e,0x000000af,0x00000147,0x000200f9,
- 0x00000140,0x000200f8,0x00000140,0x000200f9,0x000000c7,0x000200f8,0x000000c7,0x000200f9,
- 0x000000c4,0x000200f8,0x000000c6,0x000200f9,0x00000148,0x000200f8,0x00000148,0x000400f6,
- 0x0000014a,0x0000014b,0x00000000,0x000200f9,0x0000014c,0x000200f8,0x0000014c,0x0004003d,
- 0x00000006,0x0000014d,0x000000bd,0x000500ab,0x00000009,0x0000014e,0x0000014d,0x00000036,
- 0x000400fa,0x0000014e,0x00000149,0x0000014a,0x000200f8,0x00000149,0x0004003d,0x00000006,
- 0x00000150,0x000000bd,0x0006000c,0x00000046,0x00000151,0x00000001,0x00000049,0x00000150,
- 0x0004007c,0x00000006,0x00000152,0x00000151,0x0003003e,0x0000014f,0x00000152,0x0004003d,
- 0x00000006,0x00000153,0x0000014f,0x000500c4,0x00000046,0x00000154,0x000000cf,0x00000153,
- 0x0004007c,0x00000006,0x00000155,0x00000154,0x0004003d,0x00000006,0x00000156,0x000000bd,
- 0x000500c6,0x00000006,0x00000157,0x00000156,0x00000155,0x0003003e,0x000000bd,0x00000157,
- 0x0004003d,0x00000006,0x00000159,0x0000014f,0x00070041,0x000000d8,0x0000015a,0x00000045,
- 0x00000047,0x00000159,0x00000047,0x0004003d,0x00000008,0x0000015b,0x0000015a,0x0003003e,
- 0x00000158,0x0000015b,0x0004003d,0x00000007,0x0000015c,0x0000009c,0x0004003d,0x00000008,
- 0x0000015d,0x00000158,0x00060039,0x00000009,0x0000015e,0x0000000d,0x0000015c,0x0000015d,
- 0x000400a8,0x00000009,0x0000015f,0x0000015e,0x000300f7,0x00000161,0x00000000,0x000400fa,
- 0x0000015f,0x00000160,0x00000161,0x000200f8,0x00000160,0x000200f9,0x0000014b,0x000200f8,
- 0x00000161,0x0004003d,0x00000007,0x00000164,0x0000009c,0x0004003d,0x00000008,0x00000165,
- 0x00000158,0x0007004f,0x00000007,0x00000166,0x00000165,0x00000165,0x00000000,0x00000001,
- 0x00050082,0x00000007,0x00000167,0x00000164,0x00000166,0x0003003e,0x00000163,0x00000167,
- 0x0004003d,0x00000006,0x00000169,0x0000014f,0x00070041,0x000000d8,0x0000016a,0x00000045,
- 0x00000047,0x00000169,0x00000110,0x0004003d,0x00000008,0x0000016b,0x0000016a,0x0003003e,
- 0x00000168,0x0000016b,0x0004003d,0x00000008,0x0000016d,0x00000168,0x0007004f,0x00000007,
- 0x0000016e,0x0000016d,0x0000016d,0x00000000,0x00000001,0x0003003e,0x0000016c,0x0000016e,
- 0x00050041,0x00000034,0x00000170,0x00000168,0x000000f6,0x0004003d,0x00000006,0x00000171,
- 0x00000170,0x0003003e,0x0000016f,0x00000171,0x0004003d,0x00000006,0x00000173,0x0000014f,
- 0x0004003d,0x00000007,0x00000174,0x00000163,0x00050041,0x00000034,0x00000175,0x0000016c,
- 0x00000036,0x0004003d,0x00000006,0x00000176,0x00000175,0x00070039,0x00000006,0x00000177,
- 0x00000013,0x00000173,0x00000174,0x00000176,0x0003003e,0x00000172,0x00000177,0x0004003d,
- 0x00000006,0x00000178,0x00000172,0x000500b0,0x00000009,0x0000017a,0x00000178,0x00000179,
- 0x000300f7,0x0000017c,0x00000000,0x000400fa,0x0000017a,0x0000017b,0x0000017c,0x000200f8,
- 0x0000017b,0x0004003d,0x00000006,0x0000017f,0x00000172,0x0004003d,0x00000007,0x00000180,
- 0x00000163,0x0004003d,0x00000007,0x00000181,0x0000016c,0x0004003d,0x00000006,0x00000182,
- 0x0000016f,0x00080039,0x00000015,0x00000183,0x0000001b,0x0000017f,0x00000180,0x00000181,
- 0x00000182,0x0003003e,0x0000017e,0x00000183,0x0003003e,0x00000184,0x00000186,0x0004003d,
- 0x00000022,0x00000187,0x00000184,0x0004003d,0x00000006,0x00000188,0x0000014f,0x00070041,
- 0x00000142,0x00000189,0x00000045,0x00000047,0x00000188,0x000000cf,0x0004003d,0x00000022,
- 0x0000018a,0x00000189,0x0004003d,0x00000015,0x0000018b,0x0000017e,0x00070050,0x00000022,
- 0x0000018c,0x0000018b,0x0000018b,0x0000018b,0x0000018b,0x0008000c,0x00000022,0x0000018d,
- 0x00000001,0x0000002e,0x00000187,0x0000018a,0x0000018c,0x0003003e,0x00000184,0x0000018d,
- 0x0004003d,0x00000022,0x0000018e,0x000000af,0x0004003d,0x00000022,0x0000018f,0x00000184,
- 0x00060039,0x00000022,0x00000190,0x00000026,0x0000018e,0x0000018f,0x0003003e,0x000000af,
- 0x00000190,0x000200f9,0x0000017c,0x000200f8,0x0000017c,0x000200f9,0x0000014b,0x000200f8,
- 0x0000014b,0x000200f9,0x00000148,0x000200f8,0x0000014a,0x00050041,0x0000017d,0x00000191,
- 0x000000af,0x0000008a,0x0004003d,0x00000015,0x00000192,0x00000191,0x000500b8,0x00000009,
- 0x00000193,0x00000192,0x00000089,0x000300f7,0x00000195,0x00000000,0x000400fa,0x00000193,
- 0x00000194,0x00000195,0x000200f8,0x00000194,0x0004003d,0x00000022,0x00000198,0x000000af,
- 0x0008004f,0x00000087,0x00000199,0x00000198,0x00000198,0x00000000,0x00000001,0x00000002,
- 0x0003003e,0x00000197,0x00000199,0x00050041,0x0000017d,0x0000019a,0x000000af,0x0000008a,
- 0x0004003d,0x00000015,0x0000019b,0x0000019a,0x000500ba,0x00000009,0x0000019c,0x0000019b,
- 0x000000b0,0x000300f7,0x0000019e,0x00000000,0x000400fa,0x0000019c,0x0000019d,0x0000019e,
- 0x000200f8,0x0000019d,0x0004003d,0x000001a0,0x000001a3,0x000001a2,0x0004003d,0x00000007,
- 0x000001a4,0x0000009c,0x0004007c,0x0000006b,0x000001a5,0x000001a4,0x00050062,0x00000022,
- 0x000001a6,0x000001a3,0x000001a5,0x0003003e,0x0000019f,0x000001a6,0x0004003d,0x00000022,
- 0x000001a7,0x0000019f,0x0008004f,0x00000087,0x000001a8,0x000001a7,0x000001a7,0x00000000,
- 0x00000001,0x00000002,0x00050041,0x0000017d,0x000001a9,0x0000019f,0x0000008a,0x0004003d,
- 0x00000015,0x000001aa,0x000001a9,0x0005008e,0x00000087,0x000001ab,0x000001a8,0x000001aa,
- 0x00050041,0x0000017d,0x000001ac,0x000000af,0x0000008a,0x0004003d,0x00000015,0x000001ad,
- 0x000001ac,0x0005008e,0x00000087,0x000001ae,0x000001ab,0x000001ad,0x0004003d,0x00000087,
- 0x000001af,0x00000197,0x00050081,0x00000087,0x000001b0,0x000001af,0x000001ae,0x0003003e,
- 0x00000197,0x000001b0,0x000200f9,0x0000019e,0x000200f8,0x0000019e,0x0004003d,0x000001a0,
- 0x000001b1,0x000001a2,0x0004003d,0x00000007,0x000001b2,0x0000009c,0x0004007c,0x0000006b,
- 0x000001b3,0x000001b2,0x0004003d,0x00000087,0x000001b4,0x00000197,0x00050051,0x00000015,
- 0x000001b5,0x000001b4,0x00000000,0x00050051,0x00000015,0x000001b6,0x000001b4,0x00000001,
- 0x00050051,0x00000015,0x000001b7,0x000001b4,0x00000002,0x00070050,0x00000022,0x000001b8,
- 0x000001b5,0x000001b6,0x000001b7,0x00000089,0x00040063,0x000001b1,0x000001b3,0x000001b8,
- 0x000200f9,0x00000195,0x000200f8,0x00000195,0x000100fd,0x00010038,0x00050036,0x00000009,
- 0x0000000d,0x00000000,0x0000000a,0x00030037,0x00000007,0x0000000b,0x00030037,0x00000008,
- 0x0000000c,0x000200f8,0x0000000e,0x0007004f,0x00000007,0x00000028,0x0000000c,0x0000000c,
- 0x00000000,0x00000001,0x000500ae,0x00000029,0x0000002a,0x0000000b,0x00000028,0x0004009b,
- 0x00000009,0x0000002b,0x0000002a,0x000300f7,0x0000002d,0x00000000,0x000400fa,0x0000002b,
- 0x0000002c,0x0000002d,0x000200f8,0x0000002c,0x0007004f,0x00000007,0x0000002e,0x0000000c,
- 0x0000000c,0x00000002,0x00000003,0x000500b0,0x00000029,0x0000002f,0x0000000b,0x0000002e,
- 0x0004009b,0x00000009,0x00000030,0x0000002f,0x000200f9,0x0000002d,0x000200f8,0x0000002d,
- 0x000700f5,0x00000009,0x00000031,0x0000002b,0x0000000e,0x00000030,0x0000002c,0x000200fe,
- 0x00000031,0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,0x0000000f,0x00030037,
- 0x00000006,0x00000010,0x00030037,0x00000007,0x00000011,0x00030037,0x00000006,0x00000012,
- 0x000200f8,0x00000014,0x0004003b,0x00000034,0x00000035,0x00000007,0x0004003b,0x00000034,
- 0x00000039,0x00000007,0x0004003b,0x00000034,0x0000003d,0x00000007,0x0004003b,0x00000034,
- 0x00000050,0x00000007,0x00050051,0x00000006,0x00000037,0x00000011,0x00000000,0x00050086,
- 0x00000006,0x00000038,0x00000037,0x00000012,0x0003003e,0x00000035,0x00000038,0x0004003d,
- 0x00000006,0x0000003a,0x00000035,0x00050086,0x00000006,0x0000003c,0x0000003a,0x0000003b,
- 0x0003003e,0x00000039,0x0000003c,0x0004003d,0x00000006,0x00000049,0x00000039,0x00050086,
- 0x00000006,0x0000004a,0x00000049,0x0000003b,0x0004003d,0x00000006,0x0000004b,0x00000039,
- 0x00050089,0x00000006,0x0000004c,0x0000004b,0x0000003b,0x00090041,0x0000004d,0x0000004e,
- 0x00000045,0x00000047,0x00000010,0x00000048,0x0000004a,0x0000004c,0x0004003d,0x00000006,
- 0x0000004f,0x0000004e,0x0003003e,0x0000003d,0x0000004f,0x0004003d,0x00000006,0x00000051,
- 0x00000035,0x00050089,0x00000006,0x00000052,0x00000051,0x0000003b,0x00050084,0x00000006,
- 0x00000054,0x00000052,0x00000053,0x0003003e,0x00000050,0x00000054,0x0004003d,0x00000006,
- 0x00000055,0x0000003d,0x0004003d,0x00000006,0x00000056,0x00000050,0x000500c2,0x00000006,
- 0x00000057,0x00000055,0x00000056,0x000500c7,0x00000006,0x00000059,0x00000057,0x00000058,
- 0x000200fe,0x00000059,0x00010038,0x00050036,0x00000015,0x0000001b,0x00000000,0x00000016,
- 0x00030037,0x00000006,0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,0x00000007,
- 0x00000019,0x00030037,0x00000006,0x0000001a,0x000200f8,0x0000001c,0x0004003b,0x0000005c,
- 0x0000005d,0x00000007,0x0004003b,0x0000005c,0x0000005f,0x00000007,0x00050089,0x00000007,
- 0x0000005e,0x00000018,0x00000019,0x0003003e,0x0000005d,0x0000005e,0x00050089,0x00000006,
- 0x00000060,0x00000017,0x00000041,0x00050086,0x00000006,0x00000061,0x00000017,0x00000041,
- 0x00050050,0x00000007,0x00000062,0x00000060,0x00000061,0x00050084,0x00000007,0x00000063,
- 0x00000019,0x00000062,0x0003003e,0x0000005f,0x00000063,0x0004003d,0x00000064,0x00000067,
- 0x00000066,0x0004003d,0x00000007,0x00000068,0x0000005f,0x0004003d,0x00000007,0x00000069,
- 0x0000005d,0x00050080,0x00000007,0x0000006a,0x00000068,0x00000069,0x0004007c,0x0000006b,
- 0x0000006c,0x0000006a,0x0004007c,0x00000046,0x0000006d,0x0000001a,0x00050051,0x00000046,
- 0x0000006f,0x0000006c,0x00000000,0x00050051,0x00000046,0x00000070,0x0000006c,0x00000001,
- 0x00060050,0x0000006e,0x00000071,0x0000006f,0x00000070,0x0000006d,0x0007005f,0x00000022,
- 0x00000072,0x00000067,0x00000071,0x00000002,0x00000047,0x00050051,0x00000015,0x00000073,
- 0x00000072,0x00000000,0x000200fe,0x00000073,0x00010038,0x00050036,0x00000006,0x00000020,
- 0x00000000,0x0000000f,0x00030037,0x00000006,0x0000001d,0x00030037,0x00000007,0x0000001e,
- 0x00030037,0x00000006,0x0000001f,0x000200f8,0x00000021,0x0004003b,0x00000034,0x00000076,
- 0x00000007,0x00050051,0x00000006,0x00000077,0x0000001e,0x00000000,0x00050086,0x00000006,
- 0x00000078,0x00000077,0x0000001f,0x0003003e,0x00000076,0x00000078,0x0004003d,0x00000006,
- 0x0000007f,0x00000076,0x00050086,0x00000006,0x00000080,0x0000007f,0x0000003b,0x0004003d,
- 0x00000006,0x00000081,0x00000076,0x00050089,0x00000006,0x00000082,0x00000081,0x0000003b,
- 0x00090041,0x0000004d,0x00000083,0x0000007e,0x00000047,0x0000001d,0x00000048,0x00000080,
- 0x00000082,0x0004003d,0x00000006,0x00000084,0x00000083,0x000200fe,0x00000084,0x00010038,
- 0x00050036,0x00000022,0x00000026,0x00000000,0x00000023,0x00030037,0x00000022,0x00000024,
- 0x00030037,0x00000022,0x00000025,0x000200f8,0x00000027,0x0008004f,0x00000087,0x00000088,
- 0x00000024,0x00000024,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,0x0000008b,
- 0x00000025,0x00000003,0x00050083,0x00000015,0x0000008c,0x00000089,0x0000008b,0x0005008e,
- 0x00000087,0x0000008d,0x00000088,0x0000008c,0x0008004f,0x00000087,0x0000008e,0x00000025,
- 0x00000025,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,0x0000008f,0x00000025,
- 0x00000003,0x0005008e,0x00000087,0x00000090,0x0000008e,0x0000008f,0x00050081,0x00000087,
- 0x00000091,0x0000008d,0x00000090,0x00050051,0x00000015,0x00000092,0x00000024,0x00000003,
- 0x00050051,0x00000015,0x00000093,0x00000025,0x00000003,0x00050083,0x00000015,0x00000094,
- 0x00000089,0x00000093,0x00050085,0x00000015,0x00000095,0x00000092,0x00000094,0x00050051,
- 0x00000015,0x00000096,0x00000091,0x00000000,0x00050051,0x00000015,0x00000097,0x00000091,
- 0x00000001,0x00050051,0x00000015,0x00000098,0x00000091,0x00000002,0x00070050,0x00000022,
- 0x00000099,0x00000096,0x00000097,0x00000098,0x00000095,0x000200fe,0x00000099,0x00010038
+ 0x00050051,0x00000006,0x000000bf,0x000000bb,0x00000000,0x00050051,0x00000006,0x000000c3,
+ 0x000000bb,0x00000001,0x000200f9,0x000000c4,0x000200f8,0x000000c4,0x000700f5,0x00000022,
+ 0x00000249,0x000000b1,0x000000ac,0x00000265,0x000000c7,0x000700f5,0x00000006,0x00000245,
+ 0x000000c3,0x000000ac,0x000000d4,0x000000c7,0x000500ab,0x00000009,0x000000ca,0x00000245,
+ 0x00000036,0x000400f6,0x000000c6,0x000000c7,0x00000000,0x000400fa,0x000000ca,0x000000c5,
+ 0x000000c6,0x000200f8,0x000000c5,0x0006000c,0x00000046,0x000000cd,0x00000001,0x00000049,
+ 0x00000245,0x0004007c,0x00000006,0x000000ce,0x000000cd,0x000500c4,0x00000046,0x000000d1,
+ 0x000000cf,0x000000ce,0x0004007c,0x00000006,0x000000d2,0x000000d1,0x000500c6,0x00000006,
+ 0x000000d4,0x00000245,0x000000d2,0x00070041,0x000000d8,0x000000d9,0x0000007e,0x00000047,
+ 0x000000ce,0x00000047,0x0004003d,0x00000008,0x000000da,0x000000d9,0x0007004f,0x00000007,
+ 0x000001c1,0x000000da,0x000000da,0x00000000,0x00000001,0x000500ae,0x00000029,0x000001c2,
+ 0x000000a1,0x000001c1,0x0004009b,0x00000009,0x000001c3,0x000001c2,0x000300f7,0x000001c8,
+ 0x00000000,0x000400fa,0x000001c3,0x000001c4,0x000001c8,0x000200f8,0x000001c4,0x0007004f,
+ 0x00000007,0x000001c5,0x000000da,0x000000da,0x00000002,0x00000003,0x000500b0,0x00000029,
+ 0x000001c6,0x000000a1,0x000001c5,0x0004009b,0x00000009,0x000001c7,0x000001c6,0x000200f9,
+ 0x000001c8,0x000200f8,0x000001c8,0x000700f5,0x00000009,0x000001c9,0x000001c3,0x000000c5,
+ 0x000001c7,0x000001c4,0x000400a8,0x00000009,0x000000de,0x000001c9,0x000300f7,0x000000e0,
+ 0x00000000,0x000400fa,0x000000de,0x000000df,0x000000e0,0x000200f8,0x000000df,0x000200f9,
+ 0x000000c7,0x000200f8,0x000000e0,0x00050051,0x00000006,0x000000e3,0x000000a0,0x00000000,
+ 0x00050051,0x00000006,0x000000e5,0x000000da,0x00000000,0x000500aa,0x00000009,0x000000e6,
+ 0x000000e3,0x000000e5,0x000400a8,0x00000009,0x000000e7,0x000000e6,0x000300f7,0x000000e9,
+ 0x00000000,0x000400fa,0x000000e7,0x000000e8,0x000000e9,0x000200f8,0x000000e8,0x00050051,
+ 0x00000006,0x000000eb,0x000000a0,0x00000001,0x00050051,0x00000006,0x000000ed,0x000000da,
+ 0x00000001,0x000500aa,0x00000009,0x000000ee,0x000000eb,0x000000ed,0x000200f9,0x000000e9,
+ 0x000200f8,0x000000e9,0x000700f5,0x00000009,0x000000ef,0x000000e6,0x000000e0,0x000000ee,
+ 0x000000e8,0x000400a8,0x00000009,0x000000f0,0x000000ef,0x000300f7,0x000000f2,0x00000000,
+ 0x000400fa,0x000000f0,0x000000f1,0x000000f2,0x000200f8,0x000000f1,0x00050080,0x00000006,
+ 0x000000f5,0x000000e3,0x000000c1,0x00050051,0x00000006,0x000000f8,0x000000da,0x00000002,
+ 0x000500aa,0x00000009,0x000000f9,0x000000f5,0x000000f8,0x000200f9,0x000000f2,0x000200f8,
+ 0x000000f2,0x000700f5,0x00000009,0x000000fa,0x000000ef,0x000000e9,0x000000f9,0x000000f1,
+ 0x000400a8,0x00000009,0x000000fb,0x000000fa,0x000300f7,0x000000fd,0x00000000,0x000400fa,
+ 0x000000fb,0x000000fc,0x000000fd,0x000200f8,0x000000fc,0x00050051,0x00000006,0x000000ff,
+ 0x000000a0,0x00000001,0x00050080,0x00000006,0x00000100,0x000000ff,0x000000c1,0x00050051,
+ 0x00000006,0x00000102,0x000000da,0x00000003,0x000500aa,0x00000009,0x00000103,0x00000100,
+ 0x00000102,0x000200f9,0x000000fd,0x000200f8,0x000000fd,0x000700f5,0x00000009,0x00000104,
+ 0x000000fa,0x000000f2,0x00000103,0x000000fc,0x000300f7,0x00000106,0x00000000,0x000400fa,
+ 0x00000104,0x00000105,0x00000106,0x000200f8,0x00000105,0x000200f9,0x000000c7,0x000200f8,
+ 0x00000106,0x00050082,0x00000007,0x0000010d,0x000000a1,0x000001c1,0x00080041,0x0000004d,
+ 0x00000111,0x0000007e,0x00000047,0x000000ce,0x00000110,0x00000036,0x0004003d,0x00000006,
+ 0x00000112,0x00000111,0x00050051,0x00000006,0x000001cd,0x0000010d,0x00000000,0x00050086,
+ 0x00000006,0x000001ce,0x000001cd,0x00000112,0x00050086,0x00000006,0x000001d0,0x000001ce,
+ 0x0000003b,0x00050089,0x00000006,0x000001d2,0x000001ce,0x0000003b,0x00090041,0x0000004d,
+ 0x000001d3,0x0000007e,0x00000047,0x000000ce,0x00000048,0x000001d0,0x000001d2,0x0004003d,
+ 0x00000006,0x000001d4,0x000001d3,0x00050051,0x00000006,0x0000011b,0x000000da,0x00000003,
+ 0x00050051,0x00000006,0x0000011d,0x000000da,0x00000001,0x00050082,0x00000006,0x0000011e,
+ 0x0000011b,0x0000011d,0x000500ac,0x00000009,0x00000123,0x000001d4,0x0000011e,0x000300f7,
+ 0x00000125,0x00000000,0x000400fa,0x00000123,0x00000124,0x00000125,0x000200f8,0x00000124,
+ 0x00050051,0x00000006,0x00000127,0x0000010d,0x00000001,0x00050080,0x00000006,0x00000128,
+ 0x00000127,0x0000003b,0x000500ae,0x00000009,0x0000012a,0x00000128,0x0000011e,0x000200f9,
+ 0x00000125,0x000200f8,0x00000125,0x000700f5,0x00000009,0x0000012b,0x00000123,0x00000106,
+ 0x0000012a,0x00000124,0x000300f7,0x0000012d,0x00000000,0x000400fa,0x0000012b,0x0000012c,
+ 0x0000012d,0x000200f8,0x0000012c,0x00050051,0x00000006,0x00000131,0x0000010d,0x00000001,
+ 0x000500c6,0x00000006,0x00000132,0x000001cd,0x00000131,0x000500c7,0x00000006,0x00000133,
+ 0x00000132,0x000000c1,0x000500aa,0x00000009,0x00000134,0x00000133,0x00000036,0x000200f9,
+ 0x0000012d,0x000200f8,0x0000012d,0x000700f5,0x00000009,0x00000135,0x0000012b,0x00000125,
+ 0x00000134,0x0000012c,0x00050051,0x00000006,0x00000138,0x0000010d,0x00000001,0x00050082,
+ 0x00000006,0x00000139,0x0000011e,0x00000138,0x000500b0,0x00000009,0x0000013b,0x00000139,
+ 0x000001d4,0x000400a8,0x00000009,0x0000013d,0x00000135,0x000500a7,0x00000009,0x0000013e,
+ 0x0000013b,0x0000013d,0x000300f7,0x00000140,0x00000000,0x000400fa,0x0000013e,0x0000013f,
+ 0x00000140,0x000200f8,0x0000013f,0x00070041,0x00000142,0x00000143,0x0000007e,0x00000047,
+ 0x000000ce,0x000000cf,0x0004003d,0x00000022,0x00000144,0x00000143,0x0008004f,0x00000087,
+ 0x000001d7,0x00000249,0x00000249,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,
+ 0x000001d8,0x00000144,0x00000003,0x00050083,0x00000015,0x000001d9,0x00000089,0x000001d8,
+ 0x0005008e,0x00000087,0x000001da,0x000001d7,0x000001d9,0x0008004f,0x00000087,0x000001db,
+ 0x00000144,0x00000144,0x00000000,0x00000001,0x00000002,0x0005008e,0x00000087,0x000001dd,
+ 0x000001db,0x000001d8,0x00050081,0x00000087,0x000001de,0x000001da,0x000001dd,0x00050051,
+ 0x00000015,0x000001df,0x00000249,0x00000003,0x00050085,0x00000015,0x000001e2,0x000001df,
+ 0x000001d9,0x00050051,0x00000015,0x000001e3,0x000001de,0x00000000,0x00050051,0x00000015,
+ 0x000001e4,0x000001de,0x00000001,0x00050051,0x00000015,0x000001e5,0x000001de,0x00000002,
+ 0x00070050,0x00000022,0x000001e6,0x000001e3,0x000001e4,0x000001e5,0x000001e2,0x000200f9,
+ 0x00000140,0x000200f8,0x00000140,0x000700f5,0x00000022,0x00000266,0x00000249,0x0000012d,
+ 0x000001e6,0x0000013f,0x000200f9,0x000000c7,0x000200f8,0x000000c7,0x000900f5,0x00000022,
+ 0x00000265,0x00000249,0x000000df,0x00000107,0x00000105,0x00000266,0x00000140,0x000200f9,
+ 0x000000c4,0x000200f8,0x000000c6,0x000200f9,0x00000148,0x000200f8,0x00000148,0x000700f5,
+ 0x00000022,0x00000248,0x00000249,0x000000c6,0x00000267,0x0000014b,0x000700f5,0x00000006,
+ 0x00000246,0x000000bf,0x000000c6,0x00000157,0x0000014b,0x000500ab,0x00000009,0x0000014e,
+ 0x00000246,0x00000036,0x000400f6,0x0000014a,0x0000014b,0x00000000,0x000400fa,0x0000014e,
+ 0x00000149,0x0000014a,0x000200f8,0x00000149,0x0006000c,0x00000046,0x00000151,0x00000001,
+ 0x00000049,0x00000246,0x0004007c,0x00000006,0x00000152,0x00000151,0x000500c4,0x00000046,
+ 0x00000154,0x000000cf,0x00000152,0x0004007c,0x00000006,0x00000155,0x00000154,0x000500c6,
+ 0x00000006,0x00000157,0x00000246,0x00000155,0x00070041,0x000000d8,0x0000015a,0x00000045,
+ 0x00000047,0x00000152,0x00000047,0x0004003d,0x00000008,0x0000015b,0x0000015a,0x0007004f,
+ 0x00000007,0x000001e9,0x0000015b,0x0000015b,0x00000000,0x00000001,0x000500ae,0x00000029,
+ 0x000001ea,0x000000a1,0x000001e9,0x0004009b,0x00000009,0x000001eb,0x000001ea,0x000300f7,
+ 0x000001f0,0x00000000,0x000400fa,0x000001eb,0x000001ec,0x000001f0,0x000200f8,0x000001ec,
+ 0x0007004f,0x00000007,0x000001ed,0x0000015b,0x0000015b,0x00000002,0x00000003,0x000500b0,
+ 0x00000029,0x000001ee,0x000000a1,0x000001ed,0x0004009b,0x00000009,0x000001ef,0x000001ee,
+ 0x000200f9,0x000001f0,0x000200f8,0x000001f0,0x000700f5,0x00000009,0x000001f1,0x000001eb,
+ 0x00000149,0x000001ef,0x000001ec,0x000400a8,0x00000009,0x0000015f,0x000001f1,0x000300f7,
+ 0x00000161,0x00000000,0x000400fa,0x0000015f,0x00000160,0x00000161,0x000200f8,0x00000160,
+ 0x000200f9,0x0000014b,0x000200f8,0x00000161,0x00050082,0x00000007,0x00000167,0x000000a1,
+ 0x000001e9,0x00070041,0x000000d8,0x0000016a,0x00000045,0x00000047,0x00000152,0x00000110,
+ 0x0004003d,0x00000008,0x0000016b,0x0000016a,0x0007004f,0x00000007,0x0000016e,0x0000016b,
+ 0x0000016b,0x00000000,0x00000001,0x00050051,0x00000006,0x00000171,0x0000016b,0x00000002,
+ 0x00050051,0x00000006,0x00000176,0x0000016b,0x00000000,0x00050051,0x00000006,0x000001f8,
+ 0x00000167,0x00000000,0x00050086,0x00000006,0x000001f9,0x000001f8,0x00000176,0x00050086,
+ 0x00000006,0x000001fb,0x000001f9,0x0000003b,0x00050086,0x00000006,0x000001fd,0x000001fb,
+ 0x0000003b,0x00050089,0x00000006,0x000001ff,0x000001fb,0x0000003b,0x00090041,0x0000004d,
+ 0x00000200,0x00000045,0x00000047,0x00000152,0x00000048,0x000001fd,0x000001ff,0x0004003d,
+ 0x00000006,0x00000201,0x00000200,0x00050089,0x00000006,0x00000203,0x000001f9,0x0000003b,
+ 0x00050084,0x00000006,0x00000204,0x00000203,0x00000053,0x000500c2,0x00000006,0x00000207,
+ 0x00000201,0x00000204,0x000500c7,0x00000006,0x00000208,0x00000207,0x00000058,0x000500b0,
+ 0x00000009,0x0000017a,0x00000208,0x00000179,0x000300f7,0x0000017c,0x00000000,0x000400fa,
+ 0x0000017a,0x0000017b,0x0000017c,0x000200f8,0x0000017b,0x00050089,0x00000007,0x0000020d,
+ 0x00000167,0x0000016e,0x00050089,0x00000006,0x0000020e,0x00000208,0x00000041,0x00050086,
+ 0x00000006,0x0000020f,0x00000208,0x00000041,0x00050050,0x00000007,0x00000210,0x0000020e,
+ 0x0000020f,0x00050084,0x00000007,0x00000211,0x0000016e,0x00000210,0x0004003d,0x00000064,
+ 0x00000212,0x00000066,0x00050080,0x00000007,0x00000215,0x00000211,0x0000020d,0x0004007c,
+ 0x0000006b,0x00000216,0x00000215,0x0004007c,0x00000046,0x00000217,0x00000171,0x00050051,
+ 0x00000046,0x00000218,0x00000216,0x00000000,0x00050051,0x00000046,0x00000219,0x00000216,
+ 0x00000001,0x00060050,0x0000006e,0x0000021a,0x00000218,0x00000219,0x00000217,0x0007005f,
+ 0x00000022,0x0000021b,0x00000212,0x0000021a,0x00000002,0x00000047,0x00050051,0x00000015,
+ 0x0000021c,0x0000021b,0x00000000,0x00070041,0x00000142,0x00000189,0x00000045,0x00000047,
+ 0x00000152,0x000000cf,0x0004003d,0x00000022,0x0000018a,0x00000189,0x00070050,0x00000022,
+ 0x0000018c,0x0000021c,0x0000021c,0x0000021c,0x0000021c,0x0008000c,0x00000022,0x0000018d,
+ 0x00000001,0x0000002e,0x00000186,0x0000018a,0x0000018c,0x0008004f,0x00000087,0x0000021f,
+ 0x00000248,0x00000248,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,0x00000220,
+ 0x0000018d,0x00000003,0x00050083,0x00000015,0x00000221,0x00000089,0x00000220,0x0005008e,
+ 0x00000087,0x00000222,0x0000021f,0x00000221,0x0008004f,0x00000087,0x00000223,0x0000018d,
+ 0x0000018d,0x00000000,0x00000001,0x00000002,0x0005008e,0x00000087,0x00000225,0x00000223,
+ 0x00000220,0x00050081,0x00000087,0x00000226,0x00000222,0x00000225,0x00050051,0x00000015,
+ 0x00000227,0x00000248,0x00000003,0x00050085,0x00000015,0x0000022a,0x00000227,0x00000221,
+ 0x00050051,0x00000015,0x0000022b,0x00000226,0x00000000,0x00050051,0x00000015,0x0000022c,
+ 0x00000226,0x00000001,0x00050051,0x00000015,0x0000022d,0x00000226,0x00000002,0x00070050,
+ 0x00000022,0x0000022e,0x0000022b,0x0000022c,0x0000022d,0x0000022a,0x000200f9,0x0000017c,
+ 0x000200f8,0x0000017c,0x000700f5,0x00000022,0x00000268,0x00000248,0x00000161,0x0000022e,
+ 0x0000017b,0x000200f9,0x0000014b,0x000200f8,0x0000014b,0x000700f5,0x00000022,0x00000267,
+ 0x00000248,0x00000160,0x00000268,0x0000017c,0x000200f9,0x00000148,0x000200f8,0x0000014a,
+ 0x00050051,0x00000015,0x00000192,0x00000248,0x00000003,0x000500b8,0x00000009,0x00000193,
+ 0x00000192,0x00000089,0x000300f7,0x00000195,0x00000000,0x000400fa,0x00000193,0x00000194,
+ 0x00000195,0x000200f8,0x00000194,0x0008004f,0x00000087,0x00000199,0x00000248,0x00000248,
+ 0x00000000,0x00000001,0x00000002,0x000500ba,0x00000009,0x0000019c,0x00000192,0x000000b0,
+ 0x000300f7,0x0000019e,0x00000000,0x000400fa,0x0000019c,0x0000019d,0x0000019e,0x000200f8,
+ 0x0000019d,0x0004003d,0x000001a0,0x000001a3,0x000001a2,0x0004007c,0x0000006b,0x000001a5,
+ 0x000000a1,0x00050062,0x00000022,0x000001a6,0x000001a3,0x000001a5,0x0008004f,0x00000087,
+ 0x000001a8,0x000001a6,0x000001a6,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,
+ 0x000001aa,0x000001a6,0x00000003,0x0005008e,0x00000087,0x000001ab,0x000001a8,0x000001aa,
+ 0x0005008e,0x00000087,0x000001ae,0x000001ab,0x00000192,0x00050081,0x00000087,0x000001b0,
+ 0x00000199,0x000001ae,0x000200f9,0x0000019e,0x000200f8,0x0000019e,0x000700f5,0x00000087,
+ 0x0000024a,0x00000199,0x00000194,0x000001b0,0x0000019d,0x0004003d,0x000001a0,0x000001b1,
+ 0x000001a2,0x0004007c,0x0000006b,0x000001b3,0x000000a1,0x00050051,0x00000015,0x000001b5,
+ 0x0000024a,0x00000000,0x00050051,0x00000015,0x000001b6,0x0000024a,0x00000001,0x00050051,
+ 0x00000015,0x000001b7,0x0000024a,0x00000002,0x00070050,0x00000022,0x000001b8,0x000001b5,
+ 0x000001b6,0x000001b7,0x00000089,0x00040063,0x000001b1,0x000001b3,0x000001b8,0x000200f9,
+ 0x00000195,0x000200f8,0x00000195,0x000200f9,0x000001ba,0x000200f8,0x000001ba,0x000100fd,
+ 0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000001.inc b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000001.inc
index 989db78f9c1..7743771c5c0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000001.inc
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000001.inc
@@ -1,349 +1,236 @@
- // 7.12.3226
+ // 10.15.3802
#pragma once
const uint32_t kOverlayDraw_comp_00000001[] = {
- 0x07230203,0x00010000,0x00080007,0x000001ba,0x00000000,0x00020011,0x00000001,0x0006000b,
+ 0x07230203,0x00010000,0x0008000a,0x00000269,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000009f,0x000000b7,0x00060010,
0x00000004,0x00000011,0x00000008,0x00000008,0x00000001,0x00030003,0x00000002,0x000001c2,
0x000b0004,0x455f4c47,0x735f5458,0x6c706d61,0x656c7265,0x745f7373,0x75747865,0x665f6572,
- 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00070005,
- 0x0000000d,0x65746e69,0x63657372,0x76287374,0x763b3275,0x003b3475,0x00050005,0x0000000b,
- 0x67616d69,0x6f6f4365,0x00736472,0x00060005,0x0000000c,0x67646977,0x6f437465,0x7364726f,
- 0x00000000,0x00070005,0x00000013,0x43746567,0x28726168,0x763b3175,0x753b3275,0x00003b31,
- 0x00050005,0x00000010,0x74786574,0x67646957,0x00007465,0x00060005,0x00000011,0x726f6f63,
- 0x576e4964,0x65676469,0x00000074,0x00060005,0x00000012,0x746e6f66,0x70796c47,0x64695768,
- 0x00006874,0x00090005,0x0000001b,0x706d6173,0x6f46656c,0x7528746e,0x75763b31,0x75763b32,
- 0x31753b32,0x0000003b,0x00050005,0x00000017,0x74786574,0x72616843,0x00000000,0x00060005,
- 0x00000018,0x726f6f63,0x576e4964,0x65676469,0x00000074,0x00060005,0x00000019,0x746e6f66,
- 0x70796c47,0x7a695368,0x00000065,0x00050005,0x0000001a,0x746e6f66,0x6579614c,0x00000072,
- 0x00070005,0x00000020,0x56746567,0x65756c61,0x3b317528,0x3b327576,0x003b3175,0x00050005,
- 0x0000001d,0x70617267,0x64695768,0x00746567,0x00060005,0x0000001e,0x726f6f63,0x576e4964,
- 0x65676469,0x00000074,0x00050005,0x0000001f,0x756c6176,0x64695765,0x00006874,0x00060005,
- 0x00000026,0x6e656c62,0x66762864,0x66763b34,0x00003b34,0x00060005,0x00000024,0x6e656c62,
- 0x53646564,0x7261466f,0x00000000,0x00040005,0x00000025,0x6f6c6f63,0x00000072,0x00050005,
- 0x00000035,0x72616863,0x65646e49,0x00000078,0x00050005,0x00000039,0x6b636170,0x65646e49,
- 0x00000078,0x00050005,0x0000003d,0x6b636170,0x68436465,0x00737261,0x00060005,0x00000040,
- 0x74786554,0x67646957,0x61447465,0x00006174,0x00060006,0x00000040,0x00000000,0x726f6f63,
- 0x616e6964,0x00736574,0x00050006,0x00000040,0x00000001,0x6f6c6f63,0x00000072,0x00060006,
- 0x00000040,0x00000002,0x746e6f66,0x657a6953,0x00000000,0x00050006,0x00000040,0x00000003,
- 0x74786574,0x00000000,0x00050005,0x00000043,0x74786554,0x67646957,0x00737465,0x00070006,
- 0x00000043,0x00000000,0x74786574,0x67646957,0x44737465,0x00617461,0x00030005,0x00000045,
- 0x00000000,0x00040005,0x00000050,0x66696873,0x00000074,0x00060005,0x0000005d,0x726f6f63,
- 0x476e4964,0x6870796c,0x00000000,0x00050005,0x0000005f,0x70796c67,0x66664f68,0x00746573,
- 0x00040005,0x00000066,0x746e6f66,0x00000000,0x00050005,0x00000076,0x756c6176,0x646e4965,
- 0x00007865,0x00060005,0x0000007a,0x70617247,0x64695768,0x44746567,0x00617461,0x00060006,
- 0x0000007a,0x00000000,0x726f6f63,0x616e6964,0x00736574,0x00050006,0x0000007a,0x00000001,
- 0x6f6c6f63,0x00000072,0x00060006,0x0000007a,0x00000002,0x756c6176,0x64695765,0x00006874,
- 0x00050006,0x0000007a,0x00000003,0x756c6176,0x00007365,0x00060005,0x0000007c,0x70617247,
- 0x64695768,0x73746567,0x00000000,0x00080006,0x0000007c,0x00000000,0x70617267,0x64695768,
- 0x73746567,0x61746144,0x00000000,0x00030005,0x0000007e,0x00000000,0x00050005,0x0000009c,
- 0x67616d69,0x6f6f4365,0x00736472,0x00080005,0x0000009f,0x475f6c67,0x61626f6c,0x766e496c,
+ 0x74636e75,0x736e6f69,0x00000000,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,
+ 0x00000040,0x74786554,0x67646957,0x61447465,0x00006174,0x00060006,0x00000040,0x00000000,
+ 0x726f6f63,0x616e6964,0x00736574,0x00050006,0x00000040,0x00000001,0x6f6c6f63,0x00000072,
+ 0x00060006,0x00000040,0x00000002,0x746e6f66,0x657a6953,0x00000000,0x00050006,0x00000040,
+ 0x00000003,0x74786574,0x00000000,0x00050005,0x00000043,0x74786554,0x67646957,0x00737465,
+ 0x00070006,0x00000043,0x00000000,0x74786574,0x67646957,0x44737465,0x00617461,0x00030005,
+ 0x00000045,0x00000000,0x00040005,0x00000066,0x746e6f66,0x00000000,0x00060005,0x0000007a,
+ 0x70617247,0x64695768,0x44746567,0x00617461,0x00060006,0x0000007a,0x00000000,0x726f6f63,
+ 0x616e6964,0x00736574,0x00050006,0x0000007a,0x00000001,0x6f6c6f63,0x00000072,0x00060006,
+ 0x0000007a,0x00000002,0x756c6176,0x64695765,0x00006874,0x00050006,0x0000007a,0x00000003,
+ 0x756c6176,0x00007365,0x00060005,0x0000007c,0x70617247,0x64695768,0x73746567,0x00000000,
+ 0x00080006,0x0000007c,0x00000000,0x70617267,0x64695768,0x73746567,0x61746144,0x00000000,
+ 0x00030005,0x0000007e,0x00000000,0x00080005,0x0000009f,0x475f6c67,0x61626f6c,0x766e496c,
0x7461636f,0x496e6f69,0x00000044,0x00060005,0x000000a3,0x68737550,0x736e6f43,0x746e6174,
0x00000073,0x00060006,0x000000a3,0x00000000,0x7074756f,0x69537475,0x0000657a,0x00040005,
- 0x000000a5,0x61726170,0x0000736d,0x00060005,0x000000af,0x6e656c62,0x57646564,0x65676469,
- 0x00007374,0x00060005,0x000000b2,0x67627573,0x70756f72,0x67646957,0x00737465,0x00060005,
- 0x000000b5,0x6c6c7563,0x69576465,0x74656764,0x00000073,0x00060005,0x000000b7,0x575f6c67,
- 0x476b726f,0x70756f72,0x00004449,0x00050005,0x000000bd,0x74786574,0x67646957,0x00737465,
- 0x00060005,0x000000c0,0x70617267,0x64695768,0x73746567,0x00000000,0x00050005,0x000000cb,
- 0x70617267,0x64695768,0x00746567,0x00060005,0x000000d6,0x67646977,0x6f437465,0x7364726f,
- 0x00000000,0x00060005,0x00000109,0x726f6f63,0x576e4964,0x65676469,0x00000074,0x00050005,
- 0x0000010e,0x756c6176,0x64695765,0x00006874,0x00040005,0x00000113,0x756c6176,0x00000065,
- 0x00040005,0x00000118,0x6f6c6f63,0x00000072,0x00060005,0x00000119,0x67646977,0x65487465,
- 0x74686769,0x00000000,0x00070005,0x00000120,0x69646e69,0x65746163,0x7265764f,0x776f6c66,
- 0x00000000,0x00050005,0x0000014f,0x74786574,0x67646957,0x00007465,0x00060005,0x00000158,
- 0x67646977,0x6f437465,0x7364726f,0x00000000,0x00060005,0x00000163,0x726f6f63,0x576e4964,
- 0x65676469,0x00000074,0x00060005,0x00000168,0x746e6f66,0x657a6953,0x6b636150,0x00006465,
- 0x00060005,0x0000016c,0x746e6f66,0x70796c47,0x7a695368,0x00000065,0x00050005,0x0000016f,
- 0x746e6f66,0x6579614c,0x00000072,0x00050005,0x00000172,0x74786574,0x72616843,0x00000000,
- 0x00050005,0x0000017e,0x706d6173,0x6156656c,0x0065756c,0x00040005,0x00000184,0x6f6c6f63,
- 0x00000072,0x00060005,0x00000197,0x6e656c62,0x43646564,0x726f6c6f,0x00000000,0x00040005,
- 0x0000019f,0x6f6c6f63,0x00000072,0x00050005,0x000001a2,0x6e656c62,0x74754f64,0x00747570,
- 0x00040047,0x0000003f,0x00000006,0x00000010,0x00050048,0x00000040,0x00000000,0x00000023,
- 0x00000000,0x00050048,0x00000040,0x00000001,0x00000023,0x00000010,0x00050048,0x00000040,
- 0x00000002,0x00000023,0x00000020,0x00050048,0x00000040,0x00000003,0x00000023,0x00000030,
- 0x00040047,0x00000042,0x00000006,0x00000130,0x00050048,0x00000043,0x00000000,0x00000023,
- 0x00000000,0x00030047,0x00000043,0x00000002,0x00040047,0x00000045,0x00000022,0x00000000,
- 0x00040047,0x00000045,0x00000021,0x00000001,0x00040047,0x00000066,0x00000022,0x00000000,
- 0x00040047,0x00000066,0x00000021,0x00000004,0x00040047,0x00000079,0x00000006,0x00000010,
- 0x00050048,0x0000007a,0x00000000,0x00000023,0x00000000,0x00050048,0x0000007a,0x00000001,
- 0x00000023,0x00000010,0x00050048,0x0000007a,0x00000002,0x00000023,0x00000020,0x00050048,
- 0x0000007a,0x00000003,0x00000023,0x00000030,0x00040047,0x0000007b,0x00000006,0x00000130,
- 0x00050048,0x0000007c,0x00000000,0x00000023,0x00000000,0x00030047,0x0000007c,0x00000002,
- 0x00040047,0x0000007e,0x00000022,0x00000000,0x00040047,0x0000007e,0x00000021,0x00000002,
- 0x00040047,0x0000009f,0x0000000b,0x0000001c,0x00050048,0x000000a3,0x00000000,0x00000023,
- 0x00000000,0x00030047,0x000000a3,0x00000002,0x00040047,0x000000b5,0x00000022,0x00000000,
- 0x00040047,0x000000b5,0x00000021,0x00000003,0x00040047,0x000000b7,0x0000000b,0x0000001a,
- 0x00040047,0x000001a2,0x00000022,0x00000000,0x00040047,0x000001a2,0x00000021,0x00000000,
- 0x00040047,0x000001b9,0x0000000b,0x00000019,0x00020013,0x00000002,0x00030021,0x00000003,
- 0x00000002,0x00040015,0x00000006,0x00000020,0x00000000,0x00040017,0x00000007,0x00000006,
- 0x00000002,0x00040017,0x00000008,0x00000006,0x00000004,0x00020014,0x00000009,0x00050021,
- 0x0000000a,0x00000009,0x00000007,0x00000008,0x00060021,0x0000000f,0x00000006,0x00000006,
- 0x00000007,0x00000006,0x00030016,0x00000015,0x00000020,0x00070021,0x00000016,0x00000015,
- 0x00000006,0x00000007,0x00000007,0x00000006,0x00040017,0x00000022,0x00000015,0x00000004,
- 0x00050021,0x00000023,0x00000022,0x00000022,0x00000022,0x00040017,0x00000029,0x00000009,
- 0x00000002,0x00040020,0x00000034,0x00000007,0x00000006,0x0004002b,0x00000006,0x00000036,
- 0x00000000,0x0004002b,0x00000006,0x0000003b,0x00000004,0x0004002b,0x00000006,0x0000003e,
- 0x00000010,0x0004001c,0x0000003f,0x00000008,0x0000003e,0x0006001e,0x00000040,0x00000008,
- 0x00000022,0x00000008,0x0000003f,0x0004002b,0x00000006,0x00000041,0x00000020,0x0004001c,
- 0x00000042,0x00000040,0x00000041,0x0003001e,0x00000043,0x00000042,0x00040020,0x00000044,
- 0x00000002,0x00000043,0x0004003b,0x00000044,0x00000045,0x00000002,0x00040015,0x00000046,
- 0x00000020,0x00000001,0x0004002b,0x00000046,0x00000047,0x00000000,0x0004002b,0x00000046,
- 0x00000048,0x00000003,0x00040020,0x0000004d,0x00000002,0x00000006,0x0004002b,0x00000006,
- 0x00000053,0x00000008,0x0004002b,0x00000006,0x00000058,0x000000ff,0x00040020,0x0000005c,
- 0x00000007,0x00000007,0x00090019,0x00000064,0x00000015,0x00000001,0x00000000,0x00000001,
- 0x00000000,0x00000001,0x00000000,0x00040020,0x00000065,0x00000000,0x00000064,0x0004003b,
- 0x00000065,0x00000066,0x00000000,0x00040017,0x0000006b,0x00000046,0x00000002,0x00040017,
- 0x0000006e,0x00000046,0x00000003,0x0004001c,0x00000079,0x00000008,0x0000003e,0x0006001e,
- 0x0000007a,0x00000008,0x00000022,0x00000008,0x00000079,0x0004001c,0x0000007b,0x0000007a,
- 0x00000041,0x0003001e,0x0000007c,0x0000007b,0x00040020,0x0000007d,0x00000002,0x0000007c,
- 0x0004003b,0x0000007d,0x0000007e,0x00000002,0x00040017,0x00000087,0x00000015,0x00000003,
- 0x0004002b,0x00000015,0x00000089,0x3f800000,0x0004002b,0x00000006,0x0000008a,0x00000003,
- 0x00040017,0x0000009d,0x00000006,0x00000003,0x00040020,0x0000009e,0x00000001,0x0000009d,
- 0x0004003b,0x0000009e,0x0000009f,0x00000001,0x0003001e,0x000000a3,0x00000007,0x00040020,
- 0x000000a4,0x00000009,0x000000a3,0x0004003b,0x000000a4,0x000000a5,0x00000009,0x00040020,
- 0x000000a6,0x00000009,0x00000007,0x00040020,0x000000ae,0x00000007,0x00000022,0x0004002b,
- 0x00000015,0x000000b0,0x00000000,0x0007002c,0x00000022,0x000000b1,0x000000b0,0x000000b0,
- 0x000000b0,0x00000089,0x00090019,0x000000b3,0x00000006,0x00000001,0x00000000,0x00000000,
- 0x00000000,0x00000001,0x00000000,0x00040020,0x000000b4,0x00000000,0x000000b3,0x0004003b,
- 0x000000b4,0x000000b5,0x00000000,0x0004003b,0x0000009e,0x000000b7,0x00000001,0x0004002b,
- 0x00000006,0x000000c1,0x00000001,0x0004002b,0x00000046,0x000000cf,0x00000001,0x00040020,
- 0x000000d5,0x00000007,0x00000008,0x00040020,0x000000d8,0x00000002,0x00000008,0x0004002b,
- 0x00000006,0x000000f6,0x00000002,0x0007002c,0x00000022,0x00000107,0x000000b0,0x000000b0,
- 0x000000b0,0x000000b0,0x0004002b,0x00000046,0x00000110,0x00000002,0x00040020,0x0000011f,
- 0x00000007,0x00000009,0x00040020,0x00000142,0x00000002,0x00000022,0x0004002b,0x00000006,
- 0x00000179,0x00000060,0x00040020,0x0000017d,0x00000007,0x00000015,0x0004002b,0x00000015,
- 0x00000185,0x3ecccccd,0x0007002c,0x00000022,0x00000186,0x000000b0,0x000000b0,0x000000b0,
- 0x00000185,0x00040020,0x00000196,0x00000007,0x00000087,0x00090019,0x000001a0,0x00000015,
- 0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,0x000001a1,
- 0x00000000,0x000001a0,0x0004003b,0x000001a1,0x000001a2,0x00000000,0x0006002c,0x0000009d,
- 0x000001b9,0x00000053,0x00000053,0x000000c1,0x00050036,0x00000002,0x00000004,0x00000000,
- 0x00000003,0x000200f8,0x00000005,0x0004003b,0x0000005c,0x0000009c,0x00000007,0x0004003b,
- 0x000000ae,0x000000af,0x00000007,0x0004003b,0x0000005c,0x000000b2,0x00000007,0x0004003b,
- 0x00000034,0x000000bd,0x00000007,0x0004003b,0x00000034,0x000000c0,0x00000007,0x0004003b,
- 0x00000034,0x000000cb,0x00000007,0x0004003b,0x000000d5,0x000000d6,0x00000007,0x0004003b,
- 0x0000005c,0x00000109,0x00000007,0x0004003b,0x00000034,0x0000010e,0x00000007,0x0004003b,
- 0x00000034,0x00000113,0x00000007,0x0004003b,0x000000ae,0x00000118,0x00000007,0x0004003b,
- 0x00000034,0x00000119,0x00000007,0x0004003b,0x0000011f,0x00000120,0x00000007,0x0004003b,
- 0x00000034,0x0000014f,0x00000007,0x0004003b,0x000000d5,0x00000158,0x00000007,0x0004003b,
- 0x0000005c,0x00000163,0x00000007,0x0004003b,0x000000d5,0x00000168,0x00000007,0x0004003b,
- 0x0000005c,0x0000016c,0x00000007,0x0004003b,0x00000034,0x0000016f,0x00000007,0x0004003b,
- 0x00000034,0x00000172,0x00000007,0x0004003b,0x0000017d,0x0000017e,0x00000007,0x0004003b,
- 0x000000ae,0x00000184,0x00000007,0x0004003b,0x00000196,0x00000197,0x00000007,0x0004003b,
- 0x000000ae,0x0000019f,0x00000007,0x0004003d,0x0000009d,0x000000a0,0x0000009f,0x0007004f,
- 0x00000007,0x000000a1,0x000000a0,0x000000a0,0x00000000,0x00000001,0x0003003e,0x0000009c,
- 0x000000a1,0x0004003d,0x00000007,0x000000a2,0x0000009c,0x00050041,0x000000a6,0x000000a7,
- 0x000000a5,0x00000047,0x0004003d,0x00000007,0x000000a8,0x000000a7,0x000500ae,0x00000029,
- 0x000000a9,0x000000a2,0x000000a8,0x0004009a,0x00000009,0x000000aa,0x000000a9,0x000300f7,
- 0x000000ac,0x00000000,0x000400fa,0x000000aa,0x000000ab,0x000000ac,0x000200f8,0x000000ab,
- 0x000100fd,0x000200f8,0x000000ac,0x0003003e,0x000000af,0x000000b1,0x0004003d,0x000000b3,
+ 0x000000a5,0x61726170,0x0000736d,0x00060005,0x000000b5,0x6c6c7563,0x69576465,0x74656764,
+ 0x00000073,0x00060005,0x000000b7,0x575f6c67,0x476b726f,0x70756f72,0x00004449,0x00050005,
+ 0x000001a2,0x6e656c62,0x74754f64,0x00747570,0x00040047,0x0000003f,0x00000006,0x00000010,
+ 0x00050048,0x00000040,0x00000000,0x00000023,0x00000000,0x00050048,0x00000040,0x00000001,
+ 0x00000023,0x00000010,0x00050048,0x00000040,0x00000002,0x00000023,0x00000020,0x00050048,
+ 0x00000040,0x00000003,0x00000023,0x00000030,0x00040047,0x00000042,0x00000006,0x00000130,
+ 0x00050048,0x00000043,0x00000000,0x00000023,0x00000000,0x00030047,0x00000043,0x00000002,
+ 0x00040047,0x00000045,0x00000022,0x00000000,0x00040047,0x00000045,0x00000021,0x00000001,
+ 0x00040047,0x00000066,0x00000022,0x00000000,0x00040047,0x00000066,0x00000021,0x00000004,
+ 0x00040047,0x00000079,0x00000006,0x00000010,0x00050048,0x0000007a,0x00000000,0x00000023,
+ 0x00000000,0x00050048,0x0000007a,0x00000001,0x00000023,0x00000010,0x00050048,0x0000007a,
+ 0x00000002,0x00000023,0x00000020,0x00050048,0x0000007a,0x00000003,0x00000023,0x00000030,
+ 0x00040047,0x0000007b,0x00000006,0x00000130,0x00050048,0x0000007c,0x00000000,0x00000023,
+ 0x00000000,0x00030047,0x0000007c,0x00000002,0x00040047,0x0000007e,0x00000022,0x00000000,
+ 0x00040047,0x0000007e,0x00000021,0x00000002,0x00040047,0x0000009f,0x0000000b,0x0000001c,
+ 0x00050048,0x000000a3,0x00000000,0x00000023,0x00000000,0x00030047,0x000000a3,0x00000002,
+ 0x00040047,0x000000b5,0x00000022,0x00000000,0x00040047,0x000000b5,0x00000021,0x00000003,
+ 0x00040047,0x000000b7,0x0000000b,0x0000001a,0x00040047,0x000001a2,0x00000022,0x00000000,
+ 0x00040047,0x000001a2,0x00000021,0x00000000,0x00040047,0x000001b9,0x0000000b,0x00000019,
+ 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,
+ 0x00000000,0x00040017,0x00000007,0x00000006,0x00000002,0x00040017,0x00000008,0x00000006,
+ 0x00000004,0x00020014,0x00000009,0x00030016,0x00000015,0x00000020,0x00040017,0x00000022,
+ 0x00000015,0x00000004,0x00040017,0x00000029,0x00000009,0x00000002,0x0004002b,0x00000006,
+ 0x00000036,0x00000000,0x0004002b,0x00000006,0x0000003b,0x00000004,0x0004002b,0x00000006,
+ 0x0000003e,0x00000010,0x0004001c,0x0000003f,0x00000008,0x0000003e,0x0006001e,0x00000040,
+ 0x00000008,0x00000022,0x00000008,0x0000003f,0x0004002b,0x00000006,0x00000041,0x00000020,
+ 0x0004001c,0x00000042,0x00000040,0x00000041,0x0003001e,0x00000043,0x00000042,0x00040020,
+ 0x00000044,0x00000002,0x00000043,0x0004003b,0x00000044,0x00000045,0x00000002,0x00040015,
+ 0x00000046,0x00000020,0x00000001,0x0004002b,0x00000046,0x00000047,0x00000000,0x0004002b,
+ 0x00000046,0x00000048,0x00000003,0x00040020,0x0000004d,0x00000002,0x00000006,0x0004002b,
+ 0x00000006,0x00000053,0x00000008,0x0004002b,0x00000006,0x00000058,0x000000ff,0x00090019,
+ 0x00000064,0x00000015,0x00000001,0x00000000,0x00000001,0x00000000,0x00000001,0x00000000,
+ 0x00040020,0x00000065,0x00000000,0x00000064,0x0004003b,0x00000065,0x00000066,0x00000000,
+ 0x00040017,0x0000006b,0x00000046,0x00000002,0x00040017,0x0000006e,0x00000046,0x00000003,
+ 0x0004001c,0x00000079,0x00000008,0x0000003e,0x0006001e,0x0000007a,0x00000008,0x00000022,
+ 0x00000008,0x00000079,0x0004001c,0x0000007b,0x0000007a,0x00000041,0x0003001e,0x0000007c,
+ 0x0000007b,0x00040020,0x0000007d,0x00000002,0x0000007c,0x0004003b,0x0000007d,0x0000007e,
+ 0x00000002,0x00040017,0x00000087,0x00000015,0x00000003,0x0004002b,0x00000015,0x00000089,
+ 0x3f800000,0x00040017,0x0000009d,0x00000006,0x00000003,0x00040020,0x0000009e,0x00000001,
+ 0x0000009d,0x0004003b,0x0000009e,0x0000009f,0x00000001,0x0003001e,0x000000a3,0x00000007,
+ 0x00040020,0x000000a4,0x00000009,0x000000a3,0x0004003b,0x000000a4,0x000000a5,0x00000009,
+ 0x00040020,0x000000a6,0x00000009,0x00000007,0x0004002b,0x00000015,0x000000b0,0x00000000,
+ 0x0007002c,0x00000022,0x000000b1,0x000000b0,0x000000b0,0x000000b0,0x00000089,0x00090019,
+ 0x000000b3,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
+ 0x00040020,0x000000b4,0x00000000,0x000000b3,0x0004003b,0x000000b4,0x000000b5,0x00000000,
+ 0x0004003b,0x0000009e,0x000000b7,0x00000001,0x0004002b,0x00000006,0x000000c1,0x00000001,
+ 0x0004002b,0x00000046,0x000000cf,0x00000001,0x00040020,0x000000d8,0x00000002,0x00000008,
+ 0x0007002c,0x00000022,0x00000107,0x000000b0,0x000000b0,0x000000b0,0x000000b0,0x0004002b,
+ 0x00000046,0x00000110,0x00000002,0x00040020,0x00000142,0x00000002,0x00000022,0x0004002b,
+ 0x00000006,0x00000179,0x00000060,0x0004002b,0x00000015,0x00000185,0x3ecccccd,0x0007002c,
+ 0x00000022,0x00000186,0x000000b0,0x000000b0,0x000000b0,0x00000185,0x00090019,0x000001a0,
+ 0x00000015,0x00000001,0x00000000,0x00000000,0x00000000,0x00000002,0x00000001,0x00040020,
+ 0x000001a1,0x00000000,0x000001a0,0x0004003b,0x000001a1,0x000001a2,0x00000000,0x0006002c,
+ 0x0000009d,0x000001b9,0x00000053,0x00000053,0x000000c1,0x00050036,0x00000002,0x00000004,
+ 0x00000000,0x00000003,0x000200f8,0x00000005,0x000300f7,0x000001ba,0x00000000,0x000300fb,
+ 0x00000036,0x000001bb,0x000200f8,0x000001bb,0x0004003d,0x0000009d,0x000000a0,0x0000009f,
+ 0x0007004f,0x00000007,0x000000a1,0x000000a0,0x000000a0,0x00000000,0x00000001,0x00050041,
+ 0x000000a6,0x000000a7,0x000000a5,0x00000047,0x0004003d,0x00000007,0x000000a8,0x000000a7,
+ 0x000500ae,0x00000029,0x000000a9,0x000000a1,0x000000a8,0x0004009a,0x00000009,0x000000aa,
+ 0x000000a9,0x000300f7,0x000000ac,0x00000000,0x000400fa,0x000000aa,0x000000ab,0x000000ac,
+ 0x000200f8,0x000000ab,0x000200f9,0x000001ba,0x000200f8,0x000000ac,0x0004003d,0x000000b3,
0x000000b6,0x000000b5,0x0004003d,0x0000009d,0x000000b8,0x000000b7,0x0007004f,0x00000007,
0x000000b9,0x000000b8,0x000000b8,0x00000000,0x00000001,0x0004007c,0x0000006b,0x000000ba,
0x000000b9,0x0007005f,0x00000008,0x000000bb,0x000000b6,0x000000ba,0x00000002,0x00000047,
- 0x0007004f,0x00000007,0x000000bc,0x000000bb,0x000000bb,0x00000000,0x00000001,0x0003003e,
- 0x000000b2,0x000000bc,0x00050041,0x00000034,0x000000be,0x000000b2,0x00000036,0x0004003d,
- 0x00000006,0x000000bf,0x000000be,0x0003003e,0x000000bd,0x000000bf,0x00050041,0x00000034,
- 0x000000c2,0x000000b2,0x000000c1,0x0004003d,0x00000006,0x000000c3,0x000000c2,0x0003003e,
- 0x000000c0,0x000000c3,0x000200f9,0x000000c4,0x000200f8,0x000000c4,0x000400f6,0x000000c6,
- 0x000000c7,0x00000000,0x000200f9,0x000000c8,0x000200f8,0x000000c8,0x0004003d,0x00000006,
- 0x000000c9,0x000000c0,0x000500ab,0x00000009,0x000000ca,0x000000c9,0x00000036,0x000400fa,
- 0x000000ca,0x000000c5,0x000000c6,0x000200f8,0x000000c5,0x0004003d,0x00000006,0x000000cc,
- 0x000000c0,0x0006000c,0x00000046,0x000000cd,0x00000001,0x00000049,0x000000cc,0x0004007c,
- 0x00000006,0x000000ce,0x000000cd,0x0003003e,0x000000cb,0x000000ce,0x0004003d,0x00000006,
- 0x000000d0,0x000000cb,0x000500c4,0x00000046,0x000000d1,0x000000cf,0x000000d0,0x0004007c,
- 0x00000006,0x000000d2,0x000000d1,0x0004003d,0x00000006,0x000000d3,0x000000c0,0x000500c6,
- 0x00000006,0x000000d4,0x000000d3,0x000000d2,0x0003003e,0x000000c0,0x000000d4,0x0004003d,
- 0x00000006,0x000000d7,0x000000cb,0x00070041,0x000000d8,0x000000d9,0x0000007e,0x00000047,
- 0x000000d7,0x00000047,0x0004003d,0x00000008,0x000000da,0x000000d9,0x0003003e,0x000000d6,
- 0x000000da,0x0004003d,0x00000007,0x000000db,0x0000009c,0x0004003d,0x00000008,0x000000dc,
- 0x000000d6,0x00060039,0x00000009,0x000000dd,0x0000000d,0x000000db,0x000000dc,0x000400a8,
- 0x00000009,0x000000de,0x000000dd,0x000300f7,0x000000e0,0x00000000,0x000400fa,0x000000de,
- 0x000000df,0x000000e0,0x000200f8,0x000000df,0x000200f9,0x000000c7,0x000200f8,0x000000e0,
- 0x00050041,0x00000034,0x000000e2,0x0000009c,0x00000036,0x0004003d,0x00000006,0x000000e3,
- 0x000000e2,0x00050041,0x00000034,0x000000e4,0x000000d6,0x00000036,0x0004003d,0x00000006,
- 0x000000e5,0x000000e4,0x000500aa,0x00000009,0x000000e6,0x000000e3,0x000000e5,0x000400a8,
- 0x00000009,0x000000e7,0x000000e6,0x000300f7,0x000000e9,0x00000000,0x000400fa,0x000000e7,
- 0x000000e8,0x000000e9,0x000200f8,0x000000e8,0x00050041,0x00000034,0x000000ea,0x0000009c,
- 0x000000c1,0x0004003d,0x00000006,0x000000eb,0x000000ea,0x00050041,0x00000034,0x000000ec,
- 0x000000d6,0x000000c1,0x0004003d,0x00000006,0x000000ed,0x000000ec,0x000500aa,0x00000009,
- 0x000000ee,0x000000eb,0x000000ed,0x000200f9,0x000000e9,0x000200f8,0x000000e9,0x000700f5,
- 0x00000009,0x000000ef,0x000000e6,0x000000e0,0x000000ee,0x000000e8,0x000400a8,0x00000009,
- 0x000000f0,0x000000ef,0x000300f7,0x000000f2,0x00000000,0x000400fa,0x000000f0,0x000000f1,
- 0x000000f2,0x000200f8,0x000000f1,0x00050041,0x00000034,0x000000f3,0x0000009c,0x00000036,
- 0x0004003d,0x00000006,0x000000f4,0x000000f3,0x00050080,0x00000006,0x000000f5,0x000000f4,
- 0x000000c1,0x00050041,0x00000034,0x000000f7,0x000000d6,0x000000f6,0x0004003d,0x00000006,
- 0x000000f8,0x000000f7,0x000500aa,0x00000009,0x000000f9,0x000000f5,0x000000f8,0x000200f9,
- 0x000000f2,0x000200f8,0x000000f2,0x000700f5,0x00000009,0x000000fa,0x000000ef,0x000000e9,
- 0x000000f9,0x000000f1,0x000400a8,0x00000009,0x000000fb,0x000000fa,0x000300f7,0x000000fd,
- 0x00000000,0x000400fa,0x000000fb,0x000000fc,0x000000fd,0x000200f8,0x000000fc,0x00050041,
- 0x00000034,0x000000fe,0x0000009c,0x000000c1,0x0004003d,0x00000006,0x000000ff,0x000000fe,
- 0x00050080,0x00000006,0x00000100,0x000000ff,0x000000c1,0x00050041,0x00000034,0x00000101,
- 0x000000d6,0x0000008a,0x0004003d,0x00000006,0x00000102,0x00000101,0x000500aa,0x00000009,
- 0x00000103,0x00000100,0x00000102,0x000200f9,0x000000fd,0x000200f8,0x000000fd,0x000700f5,
- 0x00000009,0x00000104,0x000000fa,0x000000f2,0x00000103,0x000000fc,0x000300f7,0x00000106,
- 0x00000000,0x000400fa,0x00000104,0x00000105,0x00000106,0x000200f8,0x00000105,0x0003003e,
- 0x000000af,0x00000107,0x000200f9,0x000000c7,0x000200f8,0x00000106,0x0004003d,0x00000007,
- 0x0000010a,0x0000009c,0x0004003d,0x00000008,0x0000010b,0x000000d6,0x0007004f,0x00000007,
- 0x0000010c,0x0000010b,0x0000010b,0x00000000,0x00000001,0x00050082,0x00000007,0x0000010d,
- 0x0000010a,0x0000010c,0x0003003e,0x00000109,0x0000010d,0x0004003d,0x00000006,0x0000010f,
- 0x000000cb,0x00080041,0x0000004d,0x00000111,0x0000007e,0x00000047,0x0000010f,0x00000110,
- 0x00000036,0x0004003d,0x00000006,0x00000112,0x00000111,0x0003003e,0x0000010e,0x00000112,
- 0x0004003d,0x00000006,0x00000114,0x000000cb,0x0004003d,0x00000007,0x00000115,0x00000109,
- 0x0004003d,0x00000006,0x00000116,0x0000010e,0x00070039,0x00000006,0x00000117,0x00000020,
- 0x00000114,0x00000115,0x00000116,0x0003003e,0x00000113,0x00000117,0x0003003e,0x00000118,
- 0x00000107,0x00050041,0x00000034,0x0000011a,0x000000d6,0x0000008a,0x0004003d,0x00000006,
- 0x0000011b,0x0000011a,0x00050041,0x00000034,0x0000011c,0x000000d6,0x000000c1,0x0004003d,
- 0x00000006,0x0000011d,0x0000011c,0x00050082,0x00000006,0x0000011e,0x0000011b,0x0000011d,
- 0x0003003e,0x00000119,0x0000011e,0x0004003d,0x00000006,0x00000121,0x00000113,0x0004003d,
- 0x00000006,0x00000122,0x00000119,0x000500ac,0x00000009,0x00000123,0x00000121,0x00000122,
- 0x000300f7,0x00000125,0x00000000,0x000400fa,0x00000123,0x00000124,0x00000125,0x000200f8,
- 0x00000124,0x00050041,0x00000034,0x00000126,0x00000109,0x000000c1,0x0004003d,0x00000006,
- 0x00000127,0x00000126,0x00050080,0x00000006,0x00000128,0x00000127,0x0000003b,0x0004003d,
- 0x00000006,0x00000129,0x00000119,0x000500ae,0x00000009,0x0000012a,0x00000128,0x00000129,
- 0x000200f9,0x00000125,0x000200f8,0x00000125,0x000700f5,0x00000009,0x0000012b,0x00000123,
- 0x00000106,0x0000012a,0x00000124,0x000300f7,0x0000012d,0x00000000,0x000400fa,0x0000012b,
- 0x0000012c,0x0000012d,0x000200f8,0x0000012c,0x00050041,0x00000034,0x0000012e,0x00000109,
- 0x00000036,0x0004003d,0x00000006,0x0000012f,0x0000012e,0x00050041,0x00000034,0x00000130,
- 0x00000109,0x000000c1,0x0004003d,0x00000006,0x00000131,0x00000130,0x000500c6,0x00000006,
- 0x00000132,0x0000012f,0x00000131,0x000500c7,0x00000006,0x00000133,0x00000132,0x000000c1,
- 0x000500aa,0x00000009,0x00000134,0x00000133,0x00000036,0x000200f9,0x0000012d,0x000200f8,
- 0x0000012d,0x000700f5,0x00000009,0x00000135,0x0000012b,0x00000125,0x00000134,0x0000012c,
- 0x0003003e,0x00000120,0x00000135,0x0004003d,0x00000006,0x00000136,0x00000119,0x00050041,
- 0x00000034,0x00000137,0x00000109,0x000000c1,0x0004003d,0x00000006,0x00000138,0x00000137,
- 0x00050082,0x00000006,0x00000139,0x00000136,0x00000138,0x0004003d,0x00000006,0x0000013a,
- 0x00000113,0x000500b0,0x00000009,0x0000013b,0x00000139,0x0000013a,0x0004003d,0x00000009,
- 0x0000013c,0x00000120,0x000400a8,0x00000009,0x0000013d,0x0000013c,0x000500a7,0x00000009,
- 0x0000013e,0x0000013b,0x0000013d,0x000300f7,0x00000140,0x00000000,0x000400fa,0x0000013e,
- 0x0000013f,0x00000140,0x000200f8,0x0000013f,0x0004003d,0x00000006,0x00000141,0x000000cb,
- 0x00070041,0x00000142,0x00000143,0x0000007e,0x00000047,0x00000141,0x000000cf,0x0004003d,
- 0x00000022,0x00000144,0x00000143,0x0003003e,0x00000118,0x00000144,0x0004003d,0x00000022,
- 0x00000145,0x000000af,0x0004003d,0x00000022,0x00000146,0x00000118,0x00060039,0x00000022,
- 0x00000147,0x00000026,0x00000145,0x00000146,0x0003003e,0x000000af,0x00000147,0x000200f9,
- 0x00000140,0x000200f8,0x00000140,0x000200f9,0x000000c7,0x000200f8,0x000000c7,0x000200f9,
- 0x000000c4,0x000200f8,0x000000c6,0x000200f9,0x00000148,0x000200f8,0x00000148,0x000400f6,
- 0x0000014a,0x0000014b,0x00000000,0x000200f9,0x0000014c,0x000200f8,0x0000014c,0x0004003d,
- 0x00000006,0x0000014d,0x000000bd,0x000500ab,0x00000009,0x0000014e,0x0000014d,0x00000036,
- 0x000400fa,0x0000014e,0x00000149,0x0000014a,0x000200f8,0x00000149,0x0004003d,0x00000006,
- 0x00000150,0x000000bd,0x0006000c,0x00000046,0x00000151,0x00000001,0x00000049,0x00000150,
- 0x0004007c,0x00000006,0x00000152,0x00000151,0x0003003e,0x0000014f,0x00000152,0x0004003d,
- 0x00000006,0x00000153,0x0000014f,0x000500c4,0x00000046,0x00000154,0x000000cf,0x00000153,
- 0x0004007c,0x00000006,0x00000155,0x00000154,0x0004003d,0x00000006,0x00000156,0x000000bd,
- 0x000500c6,0x00000006,0x00000157,0x00000156,0x00000155,0x0003003e,0x000000bd,0x00000157,
- 0x0004003d,0x00000006,0x00000159,0x0000014f,0x00070041,0x000000d8,0x0000015a,0x00000045,
- 0x00000047,0x00000159,0x00000047,0x0004003d,0x00000008,0x0000015b,0x0000015a,0x0003003e,
- 0x00000158,0x0000015b,0x0004003d,0x00000007,0x0000015c,0x0000009c,0x0004003d,0x00000008,
- 0x0000015d,0x00000158,0x00060039,0x00000009,0x0000015e,0x0000000d,0x0000015c,0x0000015d,
- 0x000400a8,0x00000009,0x0000015f,0x0000015e,0x000300f7,0x00000161,0x00000000,0x000400fa,
- 0x0000015f,0x00000160,0x00000161,0x000200f8,0x00000160,0x000200f9,0x0000014b,0x000200f8,
- 0x00000161,0x0004003d,0x00000007,0x00000164,0x0000009c,0x0004003d,0x00000008,0x00000165,
- 0x00000158,0x0007004f,0x00000007,0x00000166,0x00000165,0x00000165,0x00000000,0x00000001,
- 0x00050082,0x00000007,0x00000167,0x00000164,0x00000166,0x0003003e,0x00000163,0x00000167,
- 0x0004003d,0x00000006,0x00000169,0x0000014f,0x00070041,0x000000d8,0x0000016a,0x00000045,
- 0x00000047,0x00000169,0x00000110,0x0004003d,0x00000008,0x0000016b,0x0000016a,0x0003003e,
- 0x00000168,0x0000016b,0x0004003d,0x00000008,0x0000016d,0x00000168,0x0007004f,0x00000007,
- 0x0000016e,0x0000016d,0x0000016d,0x00000000,0x00000001,0x0003003e,0x0000016c,0x0000016e,
- 0x00050041,0x00000034,0x00000170,0x00000168,0x000000f6,0x0004003d,0x00000006,0x00000171,
- 0x00000170,0x0003003e,0x0000016f,0x00000171,0x0004003d,0x00000006,0x00000173,0x0000014f,
- 0x0004003d,0x00000007,0x00000174,0x00000163,0x00050041,0x00000034,0x00000175,0x0000016c,
- 0x00000036,0x0004003d,0x00000006,0x00000176,0x00000175,0x00070039,0x00000006,0x00000177,
- 0x00000013,0x00000173,0x00000174,0x00000176,0x0003003e,0x00000172,0x00000177,0x0004003d,
- 0x00000006,0x00000178,0x00000172,0x000500b0,0x00000009,0x0000017a,0x00000178,0x00000179,
- 0x000300f7,0x0000017c,0x00000000,0x000400fa,0x0000017a,0x0000017b,0x0000017c,0x000200f8,
- 0x0000017b,0x0004003d,0x00000006,0x0000017f,0x00000172,0x0004003d,0x00000007,0x00000180,
- 0x00000163,0x0004003d,0x00000007,0x00000181,0x0000016c,0x0004003d,0x00000006,0x00000182,
- 0x0000016f,0x00080039,0x00000015,0x00000183,0x0000001b,0x0000017f,0x00000180,0x00000181,
- 0x00000182,0x0003003e,0x0000017e,0x00000183,0x0003003e,0x00000184,0x00000186,0x0004003d,
- 0x00000022,0x00000187,0x00000184,0x0004003d,0x00000006,0x00000188,0x0000014f,0x00070041,
- 0x00000142,0x00000189,0x00000045,0x00000047,0x00000188,0x000000cf,0x0004003d,0x00000022,
- 0x0000018a,0x00000189,0x0004003d,0x00000015,0x0000018b,0x0000017e,0x00070050,0x00000022,
- 0x0000018c,0x0000018b,0x0000018b,0x0000018b,0x0000018b,0x0008000c,0x00000022,0x0000018d,
- 0x00000001,0x0000002e,0x00000187,0x0000018a,0x0000018c,0x0003003e,0x00000184,0x0000018d,
- 0x0004003d,0x00000022,0x0000018e,0x000000af,0x0004003d,0x00000022,0x0000018f,0x00000184,
- 0x00060039,0x00000022,0x00000190,0x00000026,0x0000018e,0x0000018f,0x0003003e,0x000000af,
- 0x00000190,0x000200f9,0x0000017c,0x000200f8,0x0000017c,0x000200f9,0x0000014b,0x000200f8,
- 0x0000014b,0x000200f9,0x00000148,0x000200f8,0x0000014a,0x00050041,0x0000017d,0x00000191,
- 0x000000af,0x0000008a,0x0004003d,0x00000015,0x00000192,0x00000191,0x000500b8,0x00000009,
- 0x00000193,0x00000192,0x00000089,0x000300f7,0x00000195,0x00000000,0x000400fa,0x00000193,
- 0x00000194,0x00000195,0x000200f8,0x00000194,0x0004003d,0x00000022,0x00000198,0x000000af,
- 0x0008004f,0x00000087,0x00000199,0x00000198,0x00000198,0x00000000,0x00000001,0x00000002,
- 0x0003003e,0x00000197,0x00000199,0x00050041,0x0000017d,0x0000019a,0x000000af,0x0000008a,
- 0x0004003d,0x00000015,0x0000019b,0x0000019a,0x000500ba,0x00000009,0x0000019c,0x0000019b,
- 0x000000b0,0x000300f7,0x0000019e,0x00000000,0x000400fa,0x0000019c,0x0000019d,0x0000019e,
- 0x000200f8,0x0000019d,0x0004003d,0x000001a0,0x000001a3,0x000001a2,0x0004003d,0x00000007,
- 0x000001a4,0x0000009c,0x0004007c,0x0000006b,0x000001a5,0x000001a4,0x00050062,0x00000022,
- 0x000001a6,0x000001a3,0x000001a5,0x0003003e,0x0000019f,0x000001a6,0x0004003d,0x00000022,
- 0x000001a7,0x0000019f,0x0008004f,0x00000087,0x000001a8,0x000001a7,0x000001a7,0x00000000,
- 0x00000001,0x00000002,0x00050041,0x0000017d,0x000001a9,0x0000019f,0x0000008a,0x0004003d,
- 0x00000015,0x000001aa,0x000001a9,0x0005008e,0x00000087,0x000001ab,0x000001a8,0x000001aa,
- 0x00050041,0x0000017d,0x000001ac,0x000000af,0x0000008a,0x0004003d,0x00000015,0x000001ad,
- 0x000001ac,0x0005008e,0x00000087,0x000001ae,0x000001ab,0x000001ad,0x0004003d,0x00000087,
- 0x000001af,0x00000197,0x00050081,0x00000087,0x000001b0,0x000001af,0x000001ae,0x0003003e,
- 0x00000197,0x000001b0,0x000200f9,0x0000019e,0x000200f8,0x0000019e,0x0004003d,0x000001a0,
- 0x000001b1,0x000001a2,0x0004003d,0x00000007,0x000001b2,0x0000009c,0x0004007c,0x0000006b,
- 0x000001b3,0x000001b2,0x0004003d,0x00000087,0x000001b4,0x00000197,0x00050051,0x00000015,
- 0x000001b5,0x000001b4,0x00000000,0x00050051,0x00000015,0x000001b6,0x000001b4,0x00000001,
- 0x00050051,0x00000015,0x000001b7,0x000001b4,0x00000002,0x00070050,0x00000022,0x000001b8,
- 0x000001b5,0x000001b6,0x000001b7,0x00000089,0x00040063,0x000001b1,0x000001b3,0x000001b8,
- 0x000200f9,0x00000195,0x000200f8,0x00000195,0x000100fd,0x00010038,0x00050036,0x00000009,
- 0x0000000d,0x00000000,0x0000000a,0x00030037,0x00000007,0x0000000b,0x00030037,0x00000008,
- 0x0000000c,0x000200f8,0x0000000e,0x0007004f,0x00000007,0x00000028,0x0000000c,0x0000000c,
- 0x00000000,0x00000001,0x000500ae,0x00000029,0x0000002a,0x0000000b,0x00000028,0x0004009b,
- 0x00000009,0x0000002b,0x0000002a,0x000300f7,0x0000002d,0x00000000,0x000400fa,0x0000002b,
- 0x0000002c,0x0000002d,0x000200f8,0x0000002c,0x0007004f,0x00000007,0x0000002e,0x0000000c,
- 0x0000000c,0x00000002,0x00000003,0x000500b0,0x00000029,0x0000002f,0x0000000b,0x0000002e,
- 0x0004009b,0x00000009,0x00000030,0x0000002f,0x000200f9,0x0000002d,0x000200f8,0x0000002d,
- 0x000700f5,0x00000009,0x00000031,0x0000002b,0x0000000e,0x00000030,0x0000002c,0x000200fe,
- 0x00000031,0x00010038,0x00050036,0x00000006,0x00000013,0x00000000,0x0000000f,0x00030037,
- 0x00000006,0x00000010,0x00030037,0x00000007,0x00000011,0x00030037,0x00000006,0x00000012,
- 0x000200f8,0x00000014,0x0004003b,0x00000034,0x00000035,0x00000007,0x0004003b,0x00000034,
- 0x00000039,0x00000007,0x0004003b,0x00000034,0x0000003d,0x00000007,0x0004003b,0x00000034,
- 0x00000050,0x00000007,0x00050051,0x00000006,0x00000037,0x00000011,0x00000000,0x00050086,
- 0x00000006,0x00000038,0x00000037,0x00000012,0x0003003e,0x00000035,0x00000038,0x0004003d,
- 0x00000006,0x0000003a,0x00000035,0x00050086,0x00000006,0x0000003c,0x0000003a,0x0000003b,
- 0x0003003e,0x00000039,0x0000003c,0x0004003d,0x00000006,0x00000049,0x00000039,0x00050086,
- 0x00000006,0x0000004a,0x00000049,0x0000003b,0x0004003d,0x00000006,0x0000004b,0x00000039,
- 0x00050089,0x00000006,0x0000004c,0x0000004b,0x0000003b,0x00090041,0x0000004d,0x0000004e,
- 0x00000045,0x00000047,0x00000010,0x00000048,0x0000004a,0x0000004c,0x0004003d,0x00000006,
- 0x0000004f,0x0000004e,0x0003003e,0x0000003d,0x0000004f,0x0004003d,0x00000006,0x00000051,
- 0x00000035,0x00050089,0x00000006,0x00000052,0x00000051,0x0000003b,0x00050084,0x00000006,
- 0x00000054,0x00000052,0x00000053,0x0003003e,0x00000050,0x00000054,0x0004003d,0x00000006,
- 0x00000055,0x0000003d,0x0004003d,0x00000006,0x00000056,0x00000050,0x000500c2,0x00000006,
- 0x00000057,0x00000055,0x00000056,0x000500c7,0x00000006,0x00000059,0x00000057,0x00000058,
- 0x000200fe,0x00000059,0x00010038,0x00050036,0x00000015,0x0000001b,0x00000000,0x00000016,
- 0x00030037,0x00000006,0x00000017,0x00030037,0x00000007,0x00000018,0x00030037,0x00000007,
- 0x00000019,0x00030037,0x00000006,0x0000001a,0x000200f8,0x0000001c,0x0004003b,0x0000005c,
- 0x0000005d,0x00000007,0x0004003b,0x0000005c,0x0000005f,0x00000007,0x00050089,0x00000007,
- 0x0000005e,0x00000018,0x00000019,0x0003003e,0x0000005d,0x0000005e,0x00050089,0x00000006,
- 0x00000060,0x00000017,0x00000041,0x00050086,0x00000006,0x00000061,0x00000017,0x00000041,
- 0x00050050,0x00000007,0x00000062,0x00000060,0x00000061,0x00050084,0x00000007,0x00000063,
- 0x00000019,0x00000062,0x0003003e,0x0000005f,0x00000063,0x0004003d,0x00000064,0x00000067,
- 0x00000066,0x0004003d,0x00000007,0x00000068,0x0000005f,0x0004003d,0x00000007,0x00000069,
- 0x0000005d,0x00050080,0x00000007,0x0000006a,0x00000068,0x00000069,0x0004007c,0x0000006b,
- 0x0000006c,0x0000006a,0x0004007c,0x00000046,0x0000006d,0x0000001a,0x00050051,0x00000046,
- 0x0000006f,0x0000006c,0x00000000,0x00050051,0x00000046,0x00000070,0x0000006c,0x00000001,
- 0x00060050,0x0000006e,0x00000071,0x0000006f,0x00000070,0x0000006d,0x0007005f,0x00000022,
- 0x00000072,0x00000067,0x00000071,0x00000002,0x00000047,0x00050051,0x00000015,0x00000073,
- 0x00000072,0x00000000,0x000200fe,0x00000073,0x00010038,0x00050036,0x00000006,0x00000020,
- 0x00000000,0x0000000f,0x00030037,0x00000006,0x0000001d,0x00030037,0x00000007,0x0000001e,
- 0x00030037,0x00000006,0x0000001f,0x000200f8,0x00000021,0x0004003b,0x00000034,0x00000076,
- 0x00000007,0x00050051,0x00000006,0x00000077,0x0000001e,0x00000000,0x00050086,0x00000006,
- 0x00000078,0x00000077,0x0000001f,0x0003003e,0x00000076,0x00000078,0x0004003d,0x00000006,
- 0x0000007f,0x00000076,0x00050086,0x00000006,0x00000080,0x0000007f,0x0000003b,0x0004003d,
- 0x00000006,0x00000081,0x00000076,0x00050089,0x00000006,0x00000082,0x00000081,0x0000003b,
- 0x00090041,0x0000004d,0x00000083,0x0000007e,0x00000047,0x0000001d,0x00000048,0x00000080,
- 0x00000082,0x0004003d,0x00000006,0x00000084,0x00000083,0x000200fe,0x00000084,0x00010038,
- 0x00050036,0x00000022,0x00000026,0x00000000,0x00000023,0x00030037,0x00000022,0x00000024,
- 0x00030037,0x00000022,0x00000025,0x000200f8,0x00000027,0x0008004f,0x00000087,0x00000088,
- 0x00000024,0x00000024,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,0x0000008b,
- 0x00000025,0x00000003,0x00050083,0x00000015,0x0000008c,0x00000089,0x0000008b,0x0005008e,
- 0x00000087,0x0000008d,0x00000088,0x0000008c,0x0008004f,0x00000087,0x0000008e,0x00000025,
- 0x00000025,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,0x0000008f,0x00000025,
- 0x00000003,0x0005008e,0x00000087,0x00000090,0x0000008e,0x0000008f,0x00050081,0x00000087,
- 0x00000091,0x0000008d,0x00000090,0x00050051,0x00000015,0x00000092,0x00000024,0x00000003,
- 0x00050051,0x00000015,0x00000093,0x00000025,0x00000003,0x00050083,0x00000015,0x00000094,
- 0x00000089,0x00000093,0x00050085,0x00000015,0x00000095,0x00000092,0x00000094,0x00050051,
- 0x00000015,0x00000096,0x00000091,0x00000000,0x00050051,0x00000015,0x00000097,0x00000091,
- 0x00000001,0x00050051,0x00000015,0x00000098,0x00000091,0x00000002,0x00070050,0x00000022,
- 0x00000099,0x00000096,0x00000097,0x00000098,0x00000095,0x000200fe,0x00000099,0x00010038
+ 0x00050051,0x00000006,0x000000bf,0x000000bb,0x00000000,0x00050051,0x00000006,0x000000c3,
+ 0x000000bb,0x00000001,0x000200f9,0x000000c4,0x000200f8,0x000000c4,0x000700f5,0x00000022,
+ 0x00000249,0x000000b1,0x000000ac,0x00000265,0x000000c7,0x000700f5,0x00000006,0x00000245,
+ 0x000000c3,0x000000ac,0x000000d4,0x000000c7,0x000500ab,0x00000009,0x000000ca,0x00000245,
+ 0x00000036,0x000400f6,0x000000c6,0x000000c7,0x00000000,0x000400fa,0x000000ca,0x000000c5,
+ 0x000000c6,0x000200f8,0x000000c5,0x0006000c,0x00000046,0x000000cd,0x00000001,0x00000049,
+ 0x00000245,0x0004007c,0x00000006,0x000000ce,0x000000cd,0x000500c4,0x00000046,0x000000d1,
+ 0x000000cf,0x000000ce,0x0004007c,0x00000006,0x000000d2,0x000000d1,0x000500c6,0x00000006,
+ 0x000000d4,0x00000245,0x000000d2,0x00070041,0x000000d8,0x000000d9,0x0000007e,0x00000047,
+ 0x000000ce,0x00000047,0x0004003d,0x00000008,0x000000da,0x000000d9,0x0007004f,0x00000007,
+ 0x000001c1,0x000000da,0x000000da,0x00000000,0x00000001,0x000500ae,0x00000029,0x000001c2,
+ 0x000000a1,0x000001c1,0x0004009b,0x00000009,0x000001c3,0x000001c2,0x000300f7,0x000001c8,
+ 0x00000000,0x000400fa,0x000001c3,0x000001c4,0x000001c8,0x000200f8,0x000001c4,0x0007004f,
+ 0x00000007,0x000001c5,0x000000da,0x000000da,0x00000002,0x00000003,0x000500b0,0x00000029,
+ 0x000001c6,0x000000a1,0x000001c5,0x0004009b,0x00000009,0x000001c7,0x000001c6,0x000200f9,
+ 0x000001c8,0x000200f8,0x000001c8,0x000700f5,0x00000009,0x000001c9,0x000001c3,0x000000c5,
+ 0x000001c7,0x000001c4,0x000400a8,0x00000009,0x000000de,0x000001c9,0x000300f7,0x000000e0,
+ 0x00000000,0x000400fa,0x000000de,0x000000df,0x000000e0,0x000200f8,0x000000df,0x000200f9,
+ 0x000000c7,0x000200f8,0x000000e0,0x00050051,0x00000006,0x000000e3,0x000000a0,0x00000000,
+ 0x00050051,0x00000006,0x000000e5,0x000000da,0x00000000,0x000500aa,0x00000009,0x000000e6,
+ 0x000000e3,0x000000e5,0x000400a8,0x00000009,0x000000e7,0x000000e6,0x000300f7,0x000000e9,
+ 0x00000000,0x000400fa,0x000000e7,0x000000e8,0x000000e9,0x000200f8,0x000000e8,0x00050051,
+ 0x00000006,0x000000eb,0x000000a0,0x00000001,0x00050051,0x00000006,0x000000ed,0x000000da,
+ 0x00000001,0x000500aa,0x00000009,0x000000ee,0x000000eb,0x000000ed,0x000200f9,0x000000e9,
+ 0x000200f8,0x000000e9,0x000700f5,0x00000009,0x000000ef,0x000000e6,0x000000e0,0x000000ee,
+ 0x000000e8,0x000400a8,0x00000009,0x000000f0,0x000000ef,0x000300f7,0x000000f2,0x00000000,
+ 0x000400fa,0x000000f0,0x000000f1,0x000000f2,0x000200f8,0x000000f1,0x00050080,0x00000006,
+ 0x000000f5,0x000000e3,0x000000c1,0x00050051,0x00000006,0x000000f8,0x000000da,0x00000002,
+ 0x000500aa,0x00000009,0x000000f9,0x000000f5,0x000000f8,0x000200f9,0x000000f2,0x000200f8,
+ 0x000000f2,0x000700f5,0x00000009,0x000000fa,0x000000ef,0x000000e9,0x000000f9,0x000000f1,
+ 0x000400a8,0x00000009,0x000000fb,0x000000fa,0x000300f7,0x000000fd,0x00000000,0x000400fa,
+ 0x000000fb,0x000000fc,0x000000fd,0x000200f8,0x000000fc,0x00050051,0x00000006,0x000000ff,
+ 0x000000a0,0x00000001,0x00050080,0x00000006,0x00000100,0x000000ff,0x000000c1,0x00050051,
+ 0x00000006,0x00000102,0x000000da,0x00000003,0x000500aa,0x00000009,0x00000103,0x00000100,
+ 0x00000102,0x000200f9,0x000000fd,0x000200f8,0x000000fd,0x000700f5,0x00000009,0x00000104,
+ 0x000000fa,0x000000f2,0x00000103,0x000000fc,0x000300f7,0x00000106,0x00000000,0x000400fa,
+ 0x00000104,0x00000105,0x00000106,0x000200f8,0x00000105,0x000200f9,0x000000c7,0x000200f8,
+ 0x00000106,0x00050082,0x00000007,0x0000010d,0x000000a1,0x000001c1,0x00080041,0x0000004d,
+ 0x00000111,0x0000007e,0x00000047,0x000000ce,0x00000110,0x00000036,0x0004003d,0x00000006,
+ 0x00000112,0x00000111,0x00050051,0x00000006,0x000001cd,0x0000010d,0x00000000,0x00050086,
+ 0x00000006,0x000001ce,0x000001cd,0x00000112,0x00050086,0x00000006,0x000001d0,0x000001ce,
+ 0x0000003b,0x00050089,0x00000006,0x000001d2,0x000001ce,0x0000003b,0x00090041,0x0000004d,
+ 0x000001d3,0x0000007e,0x00000047,0x000000ce,0x00000048,0x000001d0,0x000001d2,0x0004003d,
+ 0x00000006,0x000001d4,0x000001d3,0x00050051,0x00000006,0x0000011b,0x000000da,0x00000003,
+ 0x00050051,0x00000006,0x0000011d,0x000000da,0x00000001,0x00050082,0x00000006,0x0000011e,
+ 0x0000011b,0x0000011d,0x000500ac,0x00000009,0x00000123,0x000001d4,0x0000011e,0x000300f7,
+ 0x00000125,0x00000000,0x000400fa,0x00000123,0x00000124,0x00000125,0x000200f8,0x00000124,
+ 0x00050051,0x00000006,0x00000127,0x0000010d,0x00000001,0x00050080,0x00000006,0x00000128,
+ 0x00000127,0x0000003b,0x000500ae,0x00000009,0x0000012a,0x00000128,0x0000011e,0x000200f9,
+ 0x00000125,0x000200f8,0x00000125,0x000700f5,0x00000009,0x0000012b,0x00000123,0x00000106,
+ 0x0000012a,0x00000124,0x000300f7,0x0000012d,0x00000000,0x000400fa,0x0000012b,0x0000012c,
+ 0x0000012d,0x000200f8,0x0000012c,0x00050051,0x00000006,0x00000131,0x0000010d,0x00000001,
+ 0x000500c6,0x00000006,0x00000132,0x000001cd,0x00000131,0x000500c7,0x00000006,0x00000133,
+ 0x00000132,0x000000c1,0x000500aa,0x00000009,0x00000134,0x00000133,0x00000036,0x000200f9,
+ 0x0000012d,0x000200f8,0x0000012d,0x000700f5,0x00000009,0x00000135,0x0000012b,0x00000125,
+ 0x00000134,0x0000012c,0x00050051,0x00000006,0x00000138,0x0000010d,0x00000001,0x00050082,
+ 0x00000006,0x00000139,0x0000011e,0x00000138,0x000500b0,0x00000009,0x0000013b,0x00000139,
+ 0x000001d4,0x000400a8,0x00000009,0x0000013d,0x00000135,0x000500a7,0x00000009,0x0000013e,
+ 0x0000013b,0x0000013d,0x000300f7,0x00000140,0x00000000,0x000400fa,0x0000013e,0x0000013f,
+ 0x00000140,0x000200f8,0x0000013f,0x00070041,0x00000142,0x00000143,0x0000007e,0x00000047,
+ 0x000000ce,0x000000cf,0x0004003d,0x00000022,0x00000144,0x00000143,0x0008004f,0x00000087,
+ 0x000001d7,0x00000249,0x00000249,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,
+ 0x000001d8,0x00000144,0x00000003,0x00050083,0x00000015,0x000001d9,0x00000089,0x000001d8,
+ 0x0005008e,0x00000087,0x000001da,0x000001d7,0x000001d9,0x0008004f,0x00000087,0x000001db,
+ 0x00000144,0x00000144,0x00000000,0x00000001,0x00000002,0x0005008e,0x00000087,0x000001dd,
+ 0x000001db,0x000001d8,0x00050081,0x00000087,0x000001de,0x000001da,0x000001dd,0x00050051,
+ 0x00000015,0x000001df,0x00000249,0x00000003,0x00050085,0x00000015,0x000001e2,0x000001df,
+ 0x000001d9,0x00050051,0x00000015,0x000001e3,0x000001de,0x00000000,0x00050051,0x00000015,
+ 0x000001e4,0x000001de,0x00000001,0x00050051,0x00000015,0x000001e5,0x000001de,0x00000002,
+ 0x00070050,0x00000022,0x000001e6,0x000001e3,0x000001e4,0x000001e5,0x000001e2,0x000200f9,
+ 0x00000140,0x000200f8,0x00000140,0x000700f5,0x00000022,0x00000266,0x00000249,0x0000012d,
+ 0x000001e6,0x0000013f,0x000200f9,0x000000c7,0x000200f8,0x000000c7,0x000900f5,0x00000022,
+ 0x00000265,0x00000249,0x000000df,0x00000107,0x00000105,0x00000266,0x00000140,0x000200f9,
+ 0x000000c4,0x000200f8,0x000000c6,0x000200f9,0x00000148,0x000200f8,0x00000148,0x000700f5,
+ 0x00000022,0x00000248,0x00000249,0x000000c6,0x00000267,0x0000014b,0x000700f5,0x00000006,
+ 0x00000246,0x000000bf,0x000000c6,0x00000157,0x0000014b,0x000500ab,0x00000009,0x0000014e,
+ 0x00000246,0x00000036,0x000400f6,0x0000014a,0x0000014b,0x00000000,0x000400fa,0x0000014e,
+ 0x00000149,0x0000014a,0x000200f8,0x00000149,0x0006000c,0x00000046,0x00000151,0x00000001,
+ 0x00000049,0x00000246,0x0004007c,0x00000006,0x00000152,0x00000151,0x000500c4,0x00000046,
+ 0x00000154,0x000000cf,0x00000152,0x0004007c,0x00000006,0x00000155,0x00000154,0x000500c6,
+ 0x00000006,0x00000157,0x00000246,0x00000155,0x00070041,0x000000d8,0x0000015a,0x00000045,
+ 0x00000047,0x00000152,0x00000047,0x0004003d,0x00000008,0x0000015b,0x0000015a,0x0007004f,
+ 0x00000007,0x000001e9,0x0000015b,0x0000015b,0x00000000,0x00000001,0x000500ae,0x00000029,
+ 0x000001ea,0x000000a1,0x000001e9,0x0004009b,0x00000009,0x000001eb,0x000001ea,0x000300f7,
+ 0x000001f0,0x00000000,0x000400fa,0x000001eb,0x000001ec,0x000001f0,0x000200f8,0x000001ec,
+ 0x0007004f,0x00000007,0x000001ed,0x0000015b,0x0000015b,0x00000002,0x00000003,0x000500b0,
+ 0x00000029,0x000001ee,0x000000a1,0x000001ed,0x0004009b,0x00000009,0x000001ef,0x000001ee,
+ 0x000200f9,0x000001f0,0x000200f8,0x000001f0,0x000700f5,0x00000009,0x000001f1,0x000001eb,
+ 0x00000149,0x000001ef,0x000001ec,0x000400a8,0x00000009,0x0000015f,0x000001f1,0x000300f7,
+ 0x00000161,0x00000000,0x000400fa,0x0000015f,0x00000160,0x00000161,0x000200f8,0x00000160,
+ 0x000200f9,0x0000014b,0x000200f8,0x00000161,0x00050082,0x00000007,0x00000167,0x000000a1,
+ 0x000001e9,0x00070041,0x000000d8,0x0000016a,0x00000045,0x00000047,0x00000152,0x00000110,
+ 0x0004003d,0x00000008,0x0000016b,0x0000016a,0x0007004f,0x00000007,0x0000016e,0x0000016b,
+ 0x0000016b,0x00000000,0x00000001,0x00050051,0x00000006,0x00000171,0x0000016b,0x00000002,
+ 0x00050051,0x00000006,0x00000176,0x0000016b,0x00000000,0x00050051,0x00000006,0x000001f8,
+ 0x00000167,0x00000000,0x00050086,0x00000006,0x000001f9,0x000001f8,0x00000176,0x00050086,
+ 0x00000006,0x000001fb,0x000001f9,0x0000003b,0x00050086,0x00000006,0x000001fd,0x000001fb,
+ 0x0000003b,0x00050089,0x00000006,0x000001ff,0x000001fb,0x0000003b,0x00090041,0x0000004d,
+ 0x00000200,0x00000045,0x00000047,0x00000152,0x00000048,0x000001fd,0x000001ff,0x0004003d,
+ 0x00000006,0x00000201,0x00000200,0x00050089,0x00000006,0x00000203,0x000001f9,0x0000003b,
+ 0x00050084,0x00000006,0x00000204,0x00000203,0x00000053,0x000500c2,0x00000006,0x00000207,
+ 0x00000201,0x00000204,0x000500c7,0x00000006,0x00000208,0x00000207,0x00000058,0x000500b0,
+ 0x00000009,0x0000017a,0x00000208,0x00000179,0x000300f7,0x0000017c,0x00000000,0x000400fa,
+ 0x0000017a,0x0000017b,0x0000017c,0x000200f8,0x0000017b,0x00050089,0x00000007,0x0000020d,
+ 0x00000167,0x0000016e,0x00050089,0x00000006,0x0000020e,0x00000208,0x00000041,0x00050086,
+ 0x00000006,0x0000020f,0x00000208,0x00000041,0x00050050,0x00000007,0x00000210,0x0000020e,
+ 0x0000020f,0x00050084,0x00000007,0x00000211,0x0000016e,0x00000210,0x0004003d,0x00000064,
+ 0x00000212,0x00000066,0x00050080,0x00000007,0x00000215,0x00000211,0x0000020d,0x0004007c,
+ 0x0000006b,0x00000216,0x00000215,0x0004007c,0x00000046,0x00000217,0x00000171,0x00050051,
+ 0x00000046,0x00000218,0x00000216,0x00000000,0x00050051,0x00000046,0x00000219,0x00000216,
+ 0x00000001,0x00060050,0x0000006e,0x0000021a,0x00000218,0x00000219,0x00000217,0x0007005f,
+ 0x00000022,0x0000021b,0x00000212,0x0000021a,0x00000002,0x00000047,0x00050051,0x00000015,
+ 0x0000021c,0x0000021b,0x00000000,0x00070041,0x00000142,0x00000189,0x00000045,0x00000047,
+ 0x00000152,0x000000cf,0x0004003d,0x00000022,0x0000018a,0x00000189,0x00070050,0x00000022,
+ 0x0000018c,0x0000021c,0x0000021c,0x0000021c,0x0000021c,0x0008000c,0x00000022,0x0000018d,
+ 0x00000001,0x0000002e,0x00000186,0x0000018a,0x0000018c,0x0008004f,0x00000087,0x0000021f,
+ 0x00000248,0x00000248,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,0x00000220,
+ 0x0000018d,0x00000003,0x00050083,0x00000015,0x00000221,0x00000089,0x00000220,0x0005008e,
+ 0x00000087,0x00000222,0x0000021f,0x00000221,0x0008004f,0x00000087,0x00000223,0x0000018d,
+ 0x0000018d,0x00000000,0x00000001,0x00000002,0x0005008e,0x00000087,0x00000225,0x00000223,
+ 0x00000220,0x00050081,0x00000087,0x00000226,0x00000222,0x00000225,0x00050051,0x00000015,
+ 0x00000227,0x00000248,0x00000003,0x00050085,0x00000015,0x0000022a,0x00000227,0x00000221,
+ 0x00050051,0x00000015,0x0000022b,0x00000226,0x00000000,0x00050051,0x00000015,0x0000022c,
+ 0x00000226,0x00000001,0x00050051,0x00000015,0x0000022d,0x00000226,0x00000002,0x00070050,
+ 0x00000022,0x0000022e,0x0000022b,0x0000022c,0x0000022d,0x0000022a,0x000200f9,0x0000017c,
+ 0x000200f8,0x0000017c,0x000700f5,0x00000022,0x00000268,0x00000248,0x00000161,0x0000022e,
+ 0x0000017b,0x000200f9,0x0000014b,0x000200f8,0x0000014b,0x000700f5,0x00000022,0x00000267,
+ 0x00000248,0x00000160,0x00000268,0x0000017c,0x000200f9,0x00000148,0x000200f8,0x0000014a,
+ 0x00050051,0x00000015,0x00000192,0x00000248,0x00000003,0x000500b8,0x00000009,0x00000193,
+ 0x00000192,0x00000089,0x000300f7,0x00000195,0x00000000,0x000400fa,0x00000193,0x00000194,
+ 0x00000195,0x000200f8,0x00000194,0x0008004f,0x00000087,0x00000199,0x00000248,0x00000248,
+ 0x00000000,0x00000001,0x00000002,0x000500ba,0x00000009,0x0000019c,0x00000192,0x000000b0,
+ 0x000300f7,0x0000019e,0x00000000,0x000400fa,0x0000019c,0x0000019d,0x0000019e,0x000200f8,
+ 0x0000019d,0x0004003d,0x000001a0,0x000001a3,0x000001a2,0x0004007c,0x0000006b,0x000001a5,
+ 0x000000a1,0x00050062,0x00000022,0x000001a6,0x000001a3,0x000001a5,0x0008004f,0x00000087,
+ 0x000001a8,0x000001a6,0x000001a6,0x00000000,0x00000001,0x00000002,0x00050051,0x00000015,
+ 0x000001aa,0x000001a6,0x00000003,0x0005008e,0x00000087,0x000001ab,0x000001a8,0x000001aa,
+ 0x0005008e,0x00000087,0x000001ae,0x000001ab,0x00000192,0x00050081,0x00000087,0x000001b0,
+ 0x00000199,0x000001ae,0x000200f9,0x0000019e,0x000200f8,0x0000019e,0x000700f5,0x00000087,
+ 0x0000024a,0x00000199,0x00000194,0x000001b0,0x0000019d,0x0004003d,0x000001a0,0x000001b1,
+ 0x000001a2,0x0004007c,0x0000006b,0x000001b3,0x000000a1,0x00050051,0x00000015,0x000001b5,
+ 0x0000024a,0x00000000,0x00050051,0x00000015,0x000001b6,0x0000024a,0x00000001,0x00050051,
+ 0x00000015,0x000001b7,0x0000024a,0x00000002,0x00070050,0x00000022,0x000001b8,0x000001b5,
+ 0x000001b6,0x000001b7,0x00000089,0x00040063,0x000001b1,0x000001b3,0x000001b8,0x000200f9,
+ 0x00000195,0x000200f8,0x00000195,0x000200f9,0x000001ba,0x000200f8,0x000001ba,0x000100fd,
+ 0x00010038
};
// Generated from:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag
index b7bdf4bc1f7..d74dc77aa90 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag
@@ -109,6 +109,7 @@ layout(push_constant) uniform PushConstants {
// Flip control.
bool flipX;
bool flipY;
+ bool rotateXY;
} params;
#if IsBlitColor
@@ -181,6 +182,8 @@ void main()
srcImageCoords.x = -srcImageCoords.x;
if (params.flipY)
srcImageCoords.y = -srcImageCoords.y;
+ if (params.rotateXY)
+ srcImageCoords.xy = srcImageCoords.yx;
#if IsBlitColor
#if IsResolve
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp.json b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp.json
index 4c45e9e577e..a134b50552e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp.json
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp.json
@@ -19,4 +19,3 @@
"IsCopy"
]
}
-
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json
index e5f1d368ccd..982b98d3b76 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json
@@ -6,7 +6,6 @@
"",
"ConvertArrayIndirectLineLoop.comp.json: Build parameters for ConvertArrayIndirectLineLoop.comp."
],
- "Flags": [
+ "Flags": [
]
}
-
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp
index eee6406edec..32acfa4b820 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp
@@ -46,55 +46,41 @@
// * UnormToFloat: Similar to UintToFloat, but normalized.
// * FixedToFloat: 16.16 signed fixed-point to floating point.
// * FloatToFloat: float.
-// * A2BGR10SintToSint: covers the signed int type of component when format is only A2BGR10.
-// * A2BGR10UintToUint: covers the unsigned int type of component when format is only A2BGR10.
-// * A2BGR10SintToFloat: Same types as A2BGR10SintToSint for source (including scaled).
-// Converts to float.
-// * A2BGR10UintToFloat: Same types as A2BGR10UintToUint for source (including uscaled).
-// Converts to float.
-// * A2BGR10SnormToFloat: Similar to IntToFloat, but normalized and only for A2BGR10.
-// * RGB10A2SintToFloat: Same types as RGB10A2SintToSint for source (including scaled).
-// Converts to float.
-// * RGB10A2UintToFloat: Same types as RGB10A2UintToUint for source (including uscaled).
-// Converts to float.
-// * RGB10A2SnormToFloat: Similar to IntToFloat, but normalized and only for RGB10A2.
-// * RGB10A2UnormToFloat: Similar to UintToFloat, but normalized and only for RGB10A2.
//
// SintToSint, UintToUint and FloatToFloat correspond to CopyNativeVertexData() and
-// Copy8SintTo16SintVertexData() in renderer/copyvertex.inc, FixedToFloat corresponds to
-// Copy32FixedTo32FVertexData, SintToFloat and UintToFloat correspond to CopyTo32FVertexData with
-// normalized=false and SnormToFloat and UnormToFloat correspond to CopyTo32FVertexData with
-// normalized=true. A2BGR10SintToSint, A2BGR10UintToUint, A2BGR10SintToFloat, A2BGR10UintToFloat
-// and A2BGR10SnormToFloat correspond to CopyXYZ10W2ToXYZW32FVertexData with the proper options.
-// RGB10A2SintToFloat, RGB10A2UintToFloat and RGB10A2SnormToFloat correspond to
-// CopyW2XYZ10ToXYZW32FVertexData. RGB10UintToFloat corresponds to CopyXYZ10ToXYZW32FVertexData
-// with the proper options.
+// Copy8SintTo16SintVertexData() in renderer/copyvertex.inc.
+//
+// FixedToFloat corresponds to Copy32FixedTo32FVertexData.
+//
+// SintToFloat and UintToFloat correspond to CopyTo32FVertexData with normalized=false.
+//
+// SnormToFloat and UnormToFloat correspond to CopyTo32FVertexData with normalized=true.
+//
+// If isSrcHDR, SintToSint, UintToUint, SintToFloat, UintToFloat and SnormToFloat
+// correspond to CopyXYZ10W2ToXYZW32FVertexData (if isSrcA2BGR10) or CopyW2XYZ10ToXYZW32FVertexData
+// (if !isSrcA2BGR10) with the proper options.
#version 450 core
// Source type
-#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat
+#if SintToSint || SintToFloat
#define SrcType int
-#elif UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat || \
- RGB10A2UintToFloat
+#elif UintToUint || UintToFloat
#define SrcType uint
-#elif SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat || A2BGR10SnormToFloat || \
- RGB10A2SnormToFloat || RGB10A2UnormToFloat
+#elif SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat
#define SrcType float
#else
#error "Not all conversions are accounted for"
#endif
// Destination type
-#if SintToSint || A2BGR10SintToSint
+#if SintToSint
#define DestType int
#define IsDestFloat 0
-#elif UintToUint || A2BGR10UintToUint
+#elif UintToUint
#define DestType uint
#define IsDestFloat 0
-#elif SintToFloat || UintToFloat || SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat || \
- A2BGR10SintToFloat || A2BGR10UintToFloat || A2BGR10SnormToFloat || \
- RGB10A2SintToFloat || RGB10A2UintToFloat || RGB10A2SnormToFloat || RGB10A2UnormToFloat
+#elif SintToFloat || UintToFloat || SnormToFloat || UnormToFloat || FixedToFloat || FloatToFloat
#define DestType float
#define IsDestFloat 1
#else
@@ -138,6 +124,9 @@ layout (push_constant) uniform PushConstants
uint Bd; // Destination component byte size
uint Sd; // Precalculated Nd*Bd
uint Ed; // Precalculated 4/Bd
+
+ bool isSrcHDR; // Whether source is either of A2BGR10 or RGB10A2
+ bool isSrcA2BGR10; // Whether source is A2BGR10
} params;
// Define shorthands for more readable formulas:
@@ -221,36 +210,45 @@ SrcType loadSourceComponent(uint cd)
// Load the source component
uint offset = getSourceComponentOffset(vertex, component);
uint block = srcData[offset / 4];
- // A2B10G10R10's components are not byte-aligned, hardcoding values for efficiency.
-#if A2BGR10SintToSint || A2BGR10UintToUint || A2BGR10SnormToFloat || A2BGR10SintToFloat || \
- A2BGR10UintToFloat
- uint valueBits = component == 3 ? 2 : 10;
- uint shiftBits = 10 * component;
- uint valueMask = component == 3 ? 0x03 : 0x3FF;
-#elif RGB10A2SintToFloat || RGB10A2UintToFloat || RGB10A2SnormToFloat || RGB10A2UnormToFloat
- uint valueBits = component == 3 ? 2 : 10;
- // channel order is reversed
- uint shiftBits = component == 3 ? 0 : (valueBits * (2 - component) + 2);
- uint valueMask = component == 3 ? 0x03 : 0x3FF;
-#else
- uint shiftBits = getShiftBits(offset, Bs);
- uint valueBits = Bs * 8;
- uint valueMask = valueBits == 32 ? -1 : (1 << valueBits) - 1;
-#endif
+
+ uint shiftBits;
+ uint valueBits;
+ uint valueMask;
+
+ // A2B10G10R10's components are not byte-aligned, so they are especially handled.
+ if (params.isSrcHDR)
+ {
+ valueBits = component == 3 ? 2 : 10;
+ valueMask = component == 3 ? 0x03 : 0x3FF;
+ if (params.isSrcA2BGR10)
+ {
+ shiftBits = 10 * component;
+ }
+ else
+ {
+ // channel order is reversed
+ shiftBits = component == 3 ? 0 : (valueBits * (2 - component) + 2);
+ }
+ }
+ else
+ {
+ shiftBits = getShiftBits(offset, Bs);
+ valueBits = Bs * 8;
+ valueMask = valueBits == 32 ? -1 : (1 << valueBits) - 1;
+ }
uint valueAsUint;
if (component >= Ns && component == 3)
{
// See GLES3.0 section 2.9.1 Transferring Array Elements
-#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat || \
- UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat || RGB10A2UintToFloat
+#if SintToSint || SintToFloat || UintToUint || UintToFloat
// For integers, alpha should take a value of 1.
valueAsUint = 1;
-#elif SnormToFloat || A2BGR10SnormToFloat || RGB10A2SnormToFloat
+#elif SnormToFloat
// The largest signed number is 0b011...1 which is valueMask >> 1
valueAsUint = valueMask >> 1;
-#elif UnormToFloat || RGB10A2UnormToFloat
+#elif UnormToFloat
// The largest unsigned number is 0b11...1 which is valueMask
valueAsUint = valueMask;
#elif FixedToFloat
@@ -268,7 +266,7 @@ SrcType loadSourceComponent(uint cd)
}
// Convert to SrcType
-#if SintToSint || SintToFloat || A2BGR10SintToSint || A2BGR10SintToFloat || RGB10A2SintToFloat
+#if SintToSint || SintToFloat
if (valueBits < 32)
{
bool isNegative = (valueAsUint & (1 << (valueBits - 1))) != 0;
@@ -279,9 +277,9 @@ SrcType loadSourceComponent(uint cd)
valueAsUint |= signExtension;
}
SrcType value = SrcType(valueAsUint);
-#elif UintToUint || UintToFloat || A2BGR10UintToUint || A2BGR10UintToFloat || RGB10A2UintToFloat
+#elif UintToUint || UintToFloat
SrcType value = valueAsUint;
-#elif SnormToFloat || A2BGR10SnormToFloat || RGB10A2SnormToFloat
+#elif SnormToFloat
if (valueBits < 32)
{
bool isNegative = (valueAsUint & (1 << (valueBits - 1))) != 0;
@@ -291,7 +289,7 @@ SrcType loadSourceComponent(uint cd)
int valueAsInt = int(valueAsUint);
SrcType value = float(valueAsInt) / (valueMask >> 1);
value = max(value, float(-1));
-#elif UnormToFloat || RGB10A2UnormToFloat
+#elif UnormToFloat
float positiveMax = valueMask;
// Scale [0, P] to [0, 1]
SrcType value = valueAsUint / positiveMax;
@@ -319,7 +317,7 @@ uint makeDestinationComponent(uint cd, DestType value)
// Return valueAsUint, shifted to the right spot. Multiple calls to this function should be |ed
// and eventually written to the destination.
-#if SintToSint || UintToUint || A2BGR10SintToSint || A2BGR10UintToUint
+#if SintToSint || UintToUint
uint vertex = cd / Nd;
uint component = cd % Nd;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json
index 13c4b3df854..58aeb1a7814 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json
@@ -4,26 +4,20 @@
"Use of this source code is governed by a BSD-style license that can be",
"found in the LICENSE file.",
"",
- "ConvertVertex.comp.json: Build parameters for ConvertVertex.comp."
+ "ConvertVertex.comp.json: Build parameters for ConvertVertex.comp.",
+ "",
+ "Notes:",
+ " - Optimized ConvertVertex shaders crash old AMD drivers. Optimization is tentatively",
+ " disabled until ANGLE try bots are upgraded. http://anglebug.com/4720"
],
"Conversion": [
- "SintToSint",
- "UintToUint",
- "SintToFloat",
- "UintToFloat",
- "SnormToFloat",
- "UnormToFloat",
- "FixedToFloat",
- "FloatToFloat",
- "A2BGR10SintToSint",
- "A2BGR10UintToUint",
- "A2BGR10SintToFloat",
- "A2BGR10UintToFloat",
- "A2BGR10SnormToFloat",
- "RGB10A2SintToFloat",
- "RGB10A2UintToFloat",
- "RGB10A2SnormToFloat",
- "RGB10A2UnormToFloat"
+ [ "SintToSint", "-Od" ],
+ [ "UintToUint", "-Od" ],
+ [ "SintToFloat", "-Od" ],
+ [ "UintToFloat", "-Od" ],
+ [ "SnormToFloat", "-Od" ],
+ [ "UnormToFloat", "-Od" ],
+ [ "FixedToFloat", "-Od" ],
+ [ "FloatToFloat", "-Od" ]
]
}
-
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag
index 330927822eb..a6599ddee15 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag
@@ -24,10 +24,14 @@
#error "Not all source formats are accounted for"
#endif
-#if SrcIsArray
+#if SrcIs2D
+#define SRC_RESOURCE_NAME texture2D
+#elif SrcIs2DArray
#define SRC_RESOURCE_NAME texture2DArray
+#elif SrcIs3D
+#define SRC_RESOURCE_NAME texture3D
#else
-#define SRC_RESOURCE_NAME texture2D
+#error "Not all source types are accounted for"
#endif
#if DestIsFloat
@@ -57,12 +61,53 @@ layout(push_constant) uniform PushConstants {
// Whether destination is emulated luminance/alpha.
bool destHasLuminance;
bool destIsAlpha;
+ // Whether source or destination are sRGB. They are brought to linear space for alpha
+ // premultiply/unmultiply, as well as to ensure the copy doesn't change values due to sRGB
+ // transformation.
+ bool srcIsSRGB;
+ bool destIsSRGB;
// Bits 0~3 tell whether R,G,B or A exist in destination, but as a result of format emulation.
// Bit 0 is ignored, because R is always present. For B and G, the result is set to 0 and for
// A, the result is set to 1.
int destDefaultChannelsMask;
} params;
+#if SrcIsFloat
+float linearToSRGB(float linear)
+{
+ // sRGB transform: y = sRGB(x) where x is linear and y is the sRGB encoding:
+ //
+ // x <= 0.0031308: y = x * 12.92
+ // o.w. : y = 1.055 * x^(1/2.4) - 0.055
+ if (linear <= 0.0031308)
+ {
+ return linear * 12.92;
+ }
+ else
+ {
+ return pow(linear, (1.0f / 2.4f)) * 1.055f - 0.055f;
+ }
+}
+#endif
+
+#if DestIsFloat
+float sRGBToLinear(float sRGB)
+{
+ // sRGB inverse transform: x = sRGB^(-1)(y) where x is linear and y is the sRGB encoding:
+ //
+ // y <= 0.04045: x = y / 12.92
+ // o.w. : x = ((y + 0.055) / 1.055)^(2.4)
+ if (sRGB <= 0.04045)
+ {
+ return sRGB / 12.92;
+ }
+ else
+ {
+ return pow((sRGB + 0.055f) / 1.055f, 2.4f);
+ }
+}
+#endif
+
void main()
{
ivec2 destSubImageCoords = ivec2(gl_FragCoord.xy) - params.destOffset;
@@ -72,12 +117,31 @@ void main()
// If flipping Y, srcOffset would contain the opposite y coordinate, so we can
// simply reverse the direction in which y grows.
if (params.flipY)
+ {
srcSubImageCoords.y = -srcSubImageCoords.y;
+ }
-#if SrcIsArray
+#if SrcIs2D
+ SrcType srcValue = texelFetch(src, params.srcOffset + srcSubImageCoords, params.srcMip);
+#elif SrcIs2DArray || SrcIs3D
SrcType srcValue = texelFetch(src, ivec3(params.srcOffset + srcSubImageCoords, params.srcLayer), params.srcMip);
#else
- SrcType srcValue = texelFetch(src, params.srcOffset + srcSubImageCoords, params.srcMip);
+#error "Not all source types are accounted for"
+#endif
+
+ // Note: sRGB formats are unorm, so SrcIsFloat must be necessarily set
+#if SrcIsFloat
+ if (params.srcIsSRGB)
+ {
+ // If src is sRGB, then texelFetch has performed an sRGB->linear transformation. We need to
+ // undo that to get back to the original values in the texture. This is done to avoid
+ // creating a non-sRGB view of the texture, which would require recreating it with the
+ // VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag.
+
+ srcValue.r = linearToSRGB(srcValue.r);
+ srcValue.g = linearToSRGB(srcValue.g);
+ srcValue.b = linearToSRGB(srcValue.b);
+ }
#endif
if (params.premultiplyAlpha)
@@ -89,9 +153,32 @@ void main()
srcValue.rgb /= srcValue.a;
}
+#if SrcIsFloat && !DestIsFloat
+ srcValue *= 255.0;
+#endif
+
// Convert value to destination type.
DestType destValue = DestType(srcValue);
+#if !SrcIsFloat && DestIsFloat
+ destValue /= 255.0;
+#endif
+
+ // Note: sRGB formats are unorm, so DestIsFloat must be necessarily set
+#if DestIsFloat
+ if (params.destIsSRGB)
+ {
+ // If dest is sRGB, then export will perform a linear->sRGB transformation. We need to
+ // preemptively undo that so the values will be exported unchanged.This is done to avoid
+ // creating a non-sRGB view of the texture, which would require recreating it with the
+ // VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag.
+
+ destValue.r = sRGBToLinear(destValue.r);
+ destValue.g = sRGBToLinear(destValue.g);
+ destValue.b = sRGBToLinear(destValue.b);
+ }
+#endif
+
// If dest is luminance/alpha, it's implemented with R or RG. Do the appropriate swizzle.
if (params.destHasLuminance)
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json
index 591ab359b31..05f8f7a4309 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json
@@ -4,15 +4,21 @@
"Use of this source code is governed by a BSD-style license that can be",
"found in the LICENSE file.",
"",
- "ImageCopy.frag.json: Build parameters for ImageCopy.frag."
+ "ImageCopy.frag.json: Build parameters for ImageCopy.frag.",
+ "",
+ "Notes:",
+ " - Optimized ImageCopy shaders crash old AMD drivers. Optimization is tentatively",
+ " disabled until ANGLE try bots are upgraded. http://anglebug.com/4720"
],
- "Flags": [
- "SrcIsArray"
+ "SrcType": [
+ "SrcIs2D",
+ "SrcIs2DArray",
+ "SrcIs3D"
],
"SrcFormat": [
- "SrcIsFloat",
- "SrcIsSint",
- "SrcIsUint"
+ [ "SrcIsFloat", "-Od" ],
+ [ "SrcIsSint", "-Od" ],
+ [ "SrcIsUint", "-Od" ]
],
"DestFormat": [
"DestIsFloat",
@@ -20,4 +26,3 @@
"DestIsUint"
]
}
-
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp.json b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp.json
index 25edbf2cf5c..57648564401 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp.json
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp.json
@@ -4,7 +4,10 @@
"Use of this source code is governed by a BSD-style license that can be",
"found in the LICENSE file.",
"",
- "OverlayCull.comp.json: Build parameters for OverlayCull.comp."
+ "OverlayCull.comp.json: Build parameters for OverlayCull.comp.",
+ "",
+ "Notes:",
+ " - Subgroup operations require SPIR-V 1.3, enabled through Vulkan 1.1"
],
"SubgroupSize": [
"Is8x4",
@@ -16,4 +19,3 @@
"SupportsNone"
]
}
-
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json
index 6295a7a8b56..119157af7d4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json
@@ -11,4 +11,3 @@
"Is8x8"
]
}
-
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp
index a75ac2e737b..839fe52f5e5 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp
@@ -11,6 +11,7 @@
#include "libANGLE/renderer/vulkan/vk_cache_utils.h"
#include "common/aligned_memory.h"
+#include "common/vulkan/vk_google_filtering_precision.h"
#include "libANGLE/BlobCache.h"
#include "libANGLE/VertexAttribute.h"
#include "libANGLE/renderer/vulkan/FramebufferVk.h"
@@ -1512,7 +1513,8 @@ bool DescriptorSetLayoutDesc::operator==(const DescriptorSetLayoutDesc &other) c
void DescriptorSetLayoutDesc::update(uint32_t bindingIndex,
VkDescriptorType type,
uint32_t count,
- VkShaderStageFlags stages)
+ VkShaderStageFlags stages,
+ const vk::Sampler *immutableSampler)
{
ASSERT(static_cast<size_t>(type) < std::numeric_limits<uint16_t>::max());
ASSERT(count < std::numeric_limits<uint16_t>::max());
@@ -1522,9 +1524,18 @@ void DescriptorSetLayoutDesc::update(uint32_t bindingIndex,
SetBitField(packedBinding.type, type);
SetBitField(packedBinding.count, count);
SetBitField(packedBinding.stages, stages);
+ packedBinding.immutableSampler = VK_NULL_HANDLE;
+ packedBinding.pad = 0;
+
+ if (immutableSampler)
+ {
+ ASSERT(count == 1);
+ packedBinding.immutableSampler = immutableSampler->getHandle();
+ }
}
-void DescriptorSetLayoutDesc::unpackBindings(DescriptorSetLayoutBindingVector *bindings) const
+void DescriptorSetLayoutDesc::unpackBindings(DescriptorSetLayoutBindingVector *bindings,
+ std::vector<VkSampler> *immutableSamplers) const
{
for (uint32_t bindingIndex = 0; bindingIndex < kMaxDescriptorSetLayoutBindings; ++bindingIndex)
{
@@ -1536,11 +1547,29 @@ void DescriptorSetLayoutDesc::unpackBindings(DescriptorSetLayoutBindingVector *b
binding.binding = bindingIndex;
binding.descriptorCount = packedBinding.count;
binding.descriptorType = static_cast<VkDescriptorType>(packedBinding.type);
- binding.stageFlags = static_cast<VkShaderStageFlags>(packedBinding.stages);
- binding.pImmutableSamplers = nullptr;
+ binding.stageFlags = static_cast<VkShaderStageFlags>(packedBinding.stages);
+ if (packedBinding.immutableSampler != VK_NULL_HANDLE)
+ {
+ ASSERT(packedBinding.count == 1);
+ immutableSamplers->push_back(packedBinding.immutableSampler);
+ binding.pImmutableSamplers = reinterpret_cast<const VkSampler *>(angle::DirtyPointer);
+ }
bindings->push_back(binding);
}
+ if (!immutableSamplers->empty())
+ {
+ // Patch up pImmutableSampler addresses now that the vector is stable
+ int immutableIndex = 0;
+ for (VkDescriptorSetLayoutBinding &binding : *bindings)
+ {
+ if (binding.pImmutableSamplers)
+ {
+ binding.pImmutableSamplers = &(*immutableSamplers)[immutableIndex];
+ immutableIndex++;
+ }
+ }
+ }
}
// PipelineLayoutDesc implementation.
@@ -1666,7 +1695,7 @@ FramebufferDesc::~FramebufferDesc() = default;
FramebufferDesc::FramebufferDesc(const FramebufferDesc &other) = default;
FramebufferDesc &FramebufferDesc::operator=(const FramebufferDesc &other) = default;
-void FramebufferDesc::update(uint32_t index, AttachmentSerial serial)
+void FramebufferDesc::update(uint32_t index, Serial serial)
{
ASSERT(index < kMaxFramebufferAttachments);
mSerials[index] = serial;
@@ -1674,13 +1703,12 @@ void FramebufferDesc::update(uint32_t index, AttachmentSerial serial)
size_t FramebufferDesc::hash() const
{
- return angle::ComputeGenericHash(&mSerials,
- sizeof(AttachmentSerial) * kMaxFramebufferAttachments);
+ return angle::ComputeGenericHash(&mSerials, sizeof(Serial) * kMaxFramebufferAttachments);
}
void FramebufferDesc::reset()
{
- memset(&mSerials, 0, sizeof(AttachmentSerial) * kMaxFramebufferAttachments);
+ memset(&mSerials, 0, sizeof(Serial) * kMaxFramebufferAttachments);
}
bool FramebufferDesc::operator==(const FramebufferDesc &other) const
@@ -1691,9 +1719,9 @@ bool FramebufferDesc::operator==(const FramebufferDesc &other) const
uint32_t FramebufferDesc::attachmentCount() const
{
uint32_t count = 0;
- for (const AttachmentSerial &serial : mSerials)
+ for (const Serial &serial : mSerials)
{
- if (serial.imageSerial != 0)
+ if (serial.valid())
{
count++;
}
@@ -1774,7 +1802,7 @@ void SamplerDesc::update(const gl::SamplerState &samplerState, bool stencilMode)
mReserved = 0;
}
-VkSamplerCreateInfo SamplerDesc::unpack(ContextVk *contextVk) const
+angle::Result SamplerDesc::init(ContextVk *contextVk, vk::Sampler *sampler) const
{
const gl::Extensions &extensions = contextVk->getExtensions();
@@ -1799,7 +1827,23 @@ VkSamplerCreateInfo SamplerDesc::unpack(ContextVk *contextVk) const
createInfo.borderColor = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK;
createInfo.unnormalizedCoordinates = VK_FALSE;
- return createInfo;
+ // Note: because we don't detect changes to this hint (no dirty bit), if a sampler is created
+ // with the hint enabled, and then the hint gets disabled, the next render will do so with the
+ // hint enabled.
+ VkSamplerFilteringPrecisionGOOGLE filteringInfo = {};
+ GLenum hint = contextVk->getState().getTextureFilteringHint();
+ if (hint == GL_NICEST)
+ {
+ ASSERT(extensions.textureFilteringCHROMIUM);
+ filteringInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE;
+ filteringInfo.samplerFilteringPrecisionMode =
+ VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE;
+ vk::AddToPNextChain(&createInfo, &filteringInfo);
+ }
+
+ ANGLE_VK_TRY(contextVk, sampler->init(contextVk->getDevice(), createInfo));
+
+ return angle::Result::Continue;
}
size_t SamplerDesc::hash() const
@@ -2017,14 +2061,15 @@ angle::Result DescriptorSetLayoutCache::getDescriptorSetLayout(
}
// We must unpack the descriptor set layout description.
- vk::DescriptorSetLayoutBindingVector bindings;
- desc.unpackBindings(&bindings);
+ vk::DescriptorSetLayoutBindingVector bindingVector;
+ std::vector<VkSampler> immutableSamplers;
+ desc.unpackBindings(&bindingVector, &immutableSamplers);
VkDescriptorSetLayoutCreateInfo createInfo = {};
createInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
createInfo.flags = 0;
- createInfo.bindingCount = static_cast<uint32_t>(bindings.size());
- createInfo.pBindings = bindings.data();
+ createInfo.bindingCount = static_cast<uint32_t>(bindingVector.size());
+ createInfo.pBindings = bindingVector.data();
vk::DescriptorSetLayout newLayout;
ANGLE_VK_TRY(context, newLayout.init(context->getDevice(), createInfo));
@@ -2158,10 +2203,8 @@ angle::Result SamplerCache::getSampler(ContextVk *contextVk,
return angle::Result::Continue;
}
- VkSamplerCreateInfo createInfo = desc.unpack(contextVk);
-
vk::Sampler sampler;
- ANGLE_VK_TRY(contextVk, sampler.init(contextVk->getDevice(), createInfo));
+ ANGLE_TRY(desc.init(contextVk, &sampler));
auto insertedItem = mPayload.emplace(desc, vk::RefCountedSampler(std::move(sampler)));
vk::RefCountedSampler &insertedSampler = insertedItem.first->second;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.h
index a62ac1667a0..77b075558b6 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.h
@@ -525,19 +525,27 @@ class DescriptorSetLayoutDesc final
void update(uint32_t bindingIndex,
VkDescriptorType type,
uint32_t count,
- VkShaderStageFlags stages);
+ VkShaderStageFlags stages,
+ const vk::Sampler *immutableSampler);
- void unpackBindings(DescriptorSetLayoutBindingVector *bindings) const;
+ void unpackBindings(DescriptorSetLayoutBindingVector *bindings,
+ std::vector<VkSampler> *immutableSamplers) const;
private:
+ // There is a small risk of an issue if the sampler cache is evicted but not the descriptor
+ // cache we would have an invalid handle here. Thus propose follow-up work:
+ // TODO: https://issuetracker.google.com/issues/159156775: Have immutable sampler use serial
struct PackedDescriptorSetBinding
{
uint8_t type; // Stores a packed VkDescriptorType descriptorType.
uint8_t stages; // Stores a packed VkShaderStageFlags.
uint16_t count; // Stores a packed uint32_t descriptorCount.
+ uint32_t pad;
+ VkSampler immutableSampler;
};
- static_assert(sizeof(PackedDescriptorSetBinding) == sizeof(uint32_t), "Unexpected size");
+ // 4x 32bit
+ static_assert(sizeof(PackedDescriptorSetBinding) == 16, "Unexpected size");
// This is a compact representation of a descriptor set layout.
std::array<PackedDescriptorSetBinding, kMaxDescriptorSetLayoutBindings>
@@ -609,7 +617,7 @@ class SamplerDesc final
void update(const gl::SamplerState &samplerState, bool stencilMode);
void reset();
- VkSamplerCreateInfo unpack(ContextVk *contextVk) const;
+ angle::Result init(ContextVk *contextVk, vk::Sampler *sampler) const;
size_t hash() const;
bool operator==(const SamplerDesc &other) const;
@@ -782,15 +790,7 @@ constexpr size_t kMaxFramebufferAttachments = gl::IMPLEMENTATION_MAX_FRAMEBUFFER
// Color serials are at index [0:gl::IMPLEMENTATION_MAX_DRAW_BUFFERS-1]
// Depth/stencil index is at gl::IMPLEMENTATION_MAX_DRAW_BUFFERS
constexpr size_t kFramebufferDescDepthStencilIndex = gl::IMPLEMENTATION_MAX_DRAW_BUFFERS;
-// Struct for AttachmentSerial cache signatures. Includes level/layer for imageView as
-// well as a unique Serial value for the underlying image
-struct AttachmentSerial
-{
- uint16_t level;
- uint16_t layer;
- uint32_t imageSerial;
-};
-constexpr AttachmentSerial kZeroAttachmentSerial = {0, 0, 0};
+
class FramebufferDesc
{
public:
@@ -800,7 +800,7 @@ class FramebufferDesc
FramebufferDesc(const FramebufferDesc &other);
FramebufferDesc &operator=(const FramebufferDesc &other);
- void update(uint32_t index, AttachmentSerial serial);
+ void update(uint32_t index, Serial serial);
size_t hash() const;
void reset();
@@ -809,7 +809,19 @@ class FramebufferDesc
uint32_t attachmentCount() const;
private:
- gl::AttachmentArray<AttachmentSerial> mSerials;
+ gl::AttachmentArray<Serial> mSerials;
+};
+
+// Layer/level pair type used to index into Serial Cache in ImageViewHelper
+struct LayerLevel
+{
+ uint32_t layer;
+ uint32_t level;
+
+ bool operator==(const LayerLevel &other) const
+ {
+ return layer == other.layer && level == other.level;
+ }
};
} // namespace vk
} // namespace rx
@@ -864,6 +876,20 @@ struct hash<rx::vk::SamplerDesc>
{
size_t operator()(const rx::vk::SamplerDesc &key) const { return key.hash(); }
};
+
+template <>
+struct hash<rx::vk::LayerLevel>
+{
+ size_t operator()(const rx::vk::LayerLevel &layerLevel) const
+ {
+ // The left-shift by 11 was found to produce unique hash values
+ // in a [0..1000][0..2048] space for layer/level
+ // Make sure that layer/level hash bits don't overlap or overflow
+ ASSERT((layerLevel.layer & 0x000007FF) == layerLevel.layer);
+ ASSERT((layerLevel.level & 0xFFE00000) == 0);
+ return layerLevel.layer | (layerLevel.level << 11);
+ }
+};
} // namespace std
namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
index d06058081ac..85d2d59c870 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
@@ -84,6 +84,7 @@ void RendererVk::ensureCapsInitialized() const
mNativeExtensions.framebufferBlit = true;
mNativeExtensions.framebufferMultisample = true;
mNativeExtensions.copyTexture = true;
+ mNativeExtensions.copyTexture3d = true;
mNativeExtensions.copyCompressedTexture = true;
mNativeExtensions.debugMarker = true;
mNativeExtensions.robustness =
@@ -181,8 +182,13 @@ void RendererVk::ensureCapsInitialized() const
mNativeExtensions.depthTextureCubeMapOES =
mNativeExtensions.depthTextureOES && mNativeExtensions.packedDepthStencilOES;
+ // Vulkan natively supports format reinterpretation
+ mNativeExtensions.textureSRGBOverride = mNativeExtensions.sRGB;
+
mNativeExtensions.gpuShader5EXT = vk::CanSupportGPUShader5EXT(mPhysicalDeviceFeatures);
+ mNativeExtensions.textureFilteringCHROMIUM = getFeatures().supportsFilteringPrecision.enabled;
+
// https://vulkan.lunarg.com/doc/view/1.0.30.0/linux/vkspec.chunked/ch31s02.html
mNativeCaps.maxElementIndex = std::numeric_limits<GLuint>::max() - 1;
mNativeCaps.max3DTextureSize = LimitToInt(limitsVk.maxImageDimension3D);
@@ -212,11 +218,8 @@ void RendererVk::ensureCapsInitialized() const
limitsVk.sampledImageColorSampleCounts & vk_gl::kSupportedSampleCounts;
mNativeCaps.maxDepthTextureSamples =
limitsVk.sampledImageDepthSampleCounts & vk_gl::kSupportedSampleCounts;
- // TODO (ianelliott): Should mask this with vk_gl::kSupportedSampleCounts, but it causes
- // end2end test failures with SwiftShader because SwiftShader returns a sample count of 1 in
- // sampledImageIntegerSampleCounts.
- // See: http://anglebug.com/4197
- mNativeCaps.maxIntegerSamples = limitsVk.sampledImageIntegerSampleCounts;
+ mNativeCaps.maxIntegerSamples =
+ limitsVk.sampledImageIntegerSampleCounts & vk_gl::kSupportedSampleCounts;
mNativeCaps.maxVertexAttributes = LimitToInt(limitsVk.maxVertexInputAttributes);
mNativeCaps.maxVertexAttribBindings = LimitToInt(limitsVk.maxVertexInputBindings);
@@ -443,8 +446,9 @@ void RendererVk::ensureCapsInitialized() const
// There is no additional limit to the combined number of components. We can have up to a
// maximum number of uniform buffers, each having the maximum number of components. Note that
// this limit includes both components in and out of uniform buffers.
- const uint32_t maxCombinedUniformComponents =
- (maxPerStageUniformBuffers + kReservedPerStageDefaultUniformBindingCount) *
+ const uint64_t maxCombinedUniformComponents =
+ static_cast<uint64_t>(maxPerStageUniformBuffers +
+ kReservedPerStageDefaultUniformBindingCount) *
maxUniformComponents;
for (gl::ShaderType shaderType : gl::AllShaderTypes())
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.h
index 69b7d568b24..c79a0b8c5a4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.h
@@ -10,8 +10,8 @@
#ifndef LIBANGLE_RENDERER_VULKAN_VK_CAPS_UTILS_H_
#define LIBANGLE_RENDERER_VULKAN_VK_CAPS_UTILS_H_
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/Config.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
namespace gl
{
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.cpp
index 5266d94e14f..761b18e1b7b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.cpp
@@ -334,22 +334,22 @@ GLenum GetSwizzleStateComponent(const gl::SwizzleState &swizzleState, GLenum com
}
}
-// Places the swizzle obtained by applying second after first into out.
-void ComposeSwizzleState(const gl::SwizzleState &first,
- const gl::SwizzleState &second,
- gl::SwizzleState *out)
+gl::SwizzleState ApplySwizzle(const gl::SwizzleState &formatSwizzle,
+ const gl::SwizzleState &toApply)
{
- out->swizzleRed = GetSwizzleStateComponent(first, second.swizzleRed);
- out->swizzleGreen = GetSwizzleStateComponent(first, second.swizzleGreen);
- out->swizzleBlue = GetSwizzleStateComponent(first, second.swizzleBlue);
- out->swizzleAlpha = GetSwizzleStateComponent(first, second.swizzleAlpha);
+ gl::SwizzleState result;
+
+ result.swizzleRed = GetSwizzleStateComponent(formatSwizzle, toApply.swizzleRed);
+ result.swizzleGreen = GetSwizzleStateComponent(formatSwizzle, toApply.swizzleGreen);
+ result.swizzleBlue = GetSwizzleStateComponent(formatSwizzle, toApply.swizzleBlue);
+ result.swizzleAlpha = GetSwizzleStateComponent(formatSwizzle, toApply.swizzleAlpha);
+
+ return result;
}
-void MapSwizzleState(const ContextVk *contextVk,
- const vk::Format &format,
- const bool sized,
- const gl::SwizzleState &swizzleState,
- gl::SwizzleState *swizzleStateOut)
+gl::SwizzleState GetFormatSwizzle(const ContextVk *contextVk,
+ const vk::Format &format,
+ const bool sized)
{
const angle::Format &angleFormat = format.intendedFormat();
@@ -401,6 +401,7 @@ void MapSwizzleState(const ContextVk *contextVk,
}
}
}
- ComposeSwizzleState(internalSwizzle, swizzleState, swizzleStateOut);
+
+ return internalSwizzle;
}
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.h
index cf021a231aa..2b3cad4871a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.h
@@ -9,11 +9,11 @@
#ifndef LIBANGLE_RENDERER_VULKAN_VK_FORMAT_UTILS_H_
#define LIBANGLE_RENDERER_VULKAN_VK_FORMAT_UTILS_H_
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/renderer/Format.h"
#include "libANGLE/renderer/copyvertex.h"
#include "libANGLE/renderer/renderer_utils.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "platform/FeaturesVk.h"
#include <array>
@@ -163,11 +163,162 @@ bool HasNonRenderableTextureFormatSupport(RendererVk *renderer, VkFormat vkForma
// calculation is listed in the Vulkan spec at the end of the section 'Vertex Input Description'.
size_t GetVertexInputAlignment(const vk::Format &format);
-void MapSwizzleState(const ContextVk *contextVk,
- const vk::Format &format,
- const bool sized,
- const gl::SwizzleState &swizzleState,
- gl::SwizzleState *swizzleStateOut);
+// Get the swizzle state based on format's requirements and emulations.
+gl::SwizzleState GetFormatSwizzle(const ContextVk *contextVk,
+ const vk::Format &format,
+ const bool sized);
+
+// Apply application's swizzle to the swizzle implied by format as received from GetFormatSwizzle.
+gl::SwizzleState ApplySwizzle(const gl::SwizzleState &formatSwizzle,
+ const gl::SwizzleState &toApply);
+
+namespace vk
+{
+
+ANGLE_INLINE VkFormat ConvertToNonLinear(VkFormat format)
+{
+ switch (format)
+ {
+ case VK_FORMAT_R8_UNORM:
+ return VK_FORMAT_R8_SRGB;
+ case VK_FORMAT_R8G8_UNORM:
+ return VK_FORMAT_R8G8_SRGB;
+ case VK_FORMAT_R8G8B8_UNORM:
+ return VK_FORMAT_R8G8B8_SRGB;
+ case VK_FORMAT_B8G8R8_UNORM:
+ return VK_FORMAT_B8G8R8_SRGB;
+ case VK_FORMAT_R8G8B8A8_UNORM:
+ return VK_FORMAT_R8G8B8A8_SRGB;
+ case VK_FORMAT_B8G8R8A8_UNORM:
+ return VK_FORMAT_B8G8R8A8_SRGB;
+ case VK_FORMAT_BC1_RGB_UNORM_BLOCK:
+ return VK_FORMAT_BC1_RGB_SRGB_BLOCK;
+ case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:
+ return VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
+ case VK_FORMAT_BC2_UNORM_BLOCK:
+ return VK_FORMAT_BC2_SRGB_BLOCK;
+ case VK_FORMAT_BC3_UNORM_BLOCK:
+ return VK_FORMAT_BC3_SRGB_BLOCK;
+ case VK_FORMAT_BC7_UNORM_BLOCK:
+ return VK_FORMAT_BC7_SRGB_BLOCK;
+ case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:
+ return VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK;
+ case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:
+ return VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK;
+ case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
+ return VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_4x4_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_5x4_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_5x5_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_6x5_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_6x6_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_8x5_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_8x6_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_8x8_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_10x5_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_10x6_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_10x8_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_10x10_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_12x10_SRGB_BLOCK;
+ case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
+ return VK_FORMAT_ASTC_12x12_SRGB_BLOCK;
+ default:
+ return VK_FORMAT_UNDEFINED;
+ }
+}
+
+ANGLE_INLINE VkFormat ConvertToLinear(VkFormat format)
+{
+ switch (format)
+ {
+ case VK_FORMAT_R8_SRGB:
+ return VK_FORMAT_R8_UNORM;
+ case VK_FORMAT_R8G8_SRGB:
+ return VK_FORMAT_R8G8_UNORM;
+ case VK_FORMAT_R8G8B8_SRGB:
+ return VK_FORMAT_R8G8B8_UNORM;
+ case VK_FORMAT_B8G8R8_SRGB:
+ return VK_FORMAT_B8G8R8_UNORM;
+ case VK_FORMAT_R8G8B8A8_SRGB:
+ return VK_FORMAT_R8G8B8A8_UNORM;
+ case VK_FORMAT_B8G8R8A8_SRGB:
+ return VK_FORMAT_B8G8R8A8_UNORM;
+ case VK_FORMAT_BC1_RGB_SRGB_BLOCK:
+ return VK_FORMAT_BC1_RGB_UNORM_BLOCK;
+ case VK_FORMAT_BC1_RGBA_SRGB_BLOCK:
+ return VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
+ case VK_FORMAT_BC2_SRGB_BLOCK:
+ return VK_FORMAT_BC2_UNORM_BLOCK;
+ case VK_FORMAT_BC3_SRGB_BLOCK:
+ return VK_FORMAT_BC3_UNORM_BLOCK;
+ case VK_FORMAT_BC7_SRGB_BLOCK:
+ return VK_FORMAT_BC7_UNORM_BLOCK;
+ case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:
+ return VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK;
+ case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:
+ return VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK;
+ case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
+ return VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_4x4_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_5x4_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_5x5_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_6x5_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_6x6_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_8x5_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_8x6_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_8x8_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_10x5_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_10x6_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_10x8_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_10x10_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_12x10_UNORM_BLOCK;
+ case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
+ return VK_FORMAT_ASTC_12x12_UNORM_BLOCK;
+ default:
+ return VK_FORMAT_UNDEFINED;
+ }
+}
+
+ANGLE_INLINE bool IsNonLinearFormat(VkFormat format)
+{
+ return ConvertToLinear(format) != VK_FORMAT_UNDEFINED;
+}
+ANGLE_INLINE bool IsOverridableLinearFormat(VkFormat format)
+{
+ return ConvertToNonLinear(format) != VK_FORMAT_UNDEFINED;
+}
+ANGLE_INLINE bool IsLinearFormat(VkFormat format)
+{
+ return !IsNonLinearFormat(format);
+}
+
+} // namespace vk
} // namespace rx
#endif // LIBANGLE_RENDERER_VULKAN_VK_FORMAT_UTILS_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
index 13417c14157..ae73eef8085 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
@@ -63,6 +63,8 @@ constexpr angle::PackedEnumMap<PipelineStage, VkPipelineStageFlagBits> kPipeline
{PipelineStage::BottomOfPipe, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT},
{PipelineStage::Host, VK_PIPELINE_STAGE_HOST_BIT}};
+constexpr size_t kDefaultPoolAllocatorPageSize = 16 * 1024;
+
struct ImageMemoryBarrierData
{
// The Vk layout corresponding to the ImageLayout key.
@@ -435,7 +437,7 @@ uint32_t GetImageLayerCountForView(const ImageHelper &image)
ImageView *GetLevelImageView(ImageViewVector *imageViews, uint32_t level, uint32_t levelCount)
{
// Lazily allocate the storage for image views. We allocate the full level count because we
- // don't want to trigger any std::vecotr reallocations. Reallocations could invalidate our
+ // don't want to trigger any std::vector reallocations. Reallocations could invalidate our
// view pointers.
if (imageViews->empty())
{
@@ -494,6 +496,15 @@ VkClearValue GetRobustResourceClearValue(const vk::Format &format)
}
return clearValue;
}
+
+#if !defined(ANGLE_PLATFORM_MACOS) && !defined(ANGLE_PLATFORM_ANDROID)
+bool IsExternalQueueFamily(uint32_t queueFamilyIndex)
+{
+ return queueFamilyIndex == VK_QUEUE_FAMILY_EXTERNAL ||
+ queueFamilyIndex == VK_QUEUE_FAMILY_FOREIGN_EXT;
+}
+#endif
+
} // anonymous namespace
VkImageLayout ConvertImageLayoutToVkImageLayout(ImageLayout imageLayout)
@@ -502,7 +513,7 @@ VkImageLayout ConvertImageLayoutToVkImageLayout(ImageLayout imageLayout)
}
// CommandBufferHelper implementation.
-CommandBufferHelper::CommandBufferHelper(bool hasRenderPass)
+CommandBufferHelper::CommandBufferHelper()
: mPipelineBarriers(),
mPipelineBarrierMask(),
mCounter(0),
@@ -511,7 +522,8 @@ CommandBufferHelper::CommandBufferHelper(bool hasRenderPass)
mTransformFeedbackCounterBuffers{},
mValidTransformFeedbackBufferCount(0),
mRebindTransformFeedbackBuffers(false),
- mIsRenderPassCommandBuffer(hasRenderPass)
+ mIsRenderPassCommandBuffer(false),
+ mMergeBarriers(false)
{}
CommandBufferHelper::~CommandBufferHelper()
@@ -519,9 +531,14 @@ CommandBufferHelper::~CommandBufferHelper()
mFramebuffer.setHandle(VK_NULL_HANDLE);
}
-void CommandBufferHelper::initialize(angle::PoolAllocator *poolAllocator)
+void CommandBufferHelper::initialize(bool isRenderPassCommandBuffer, bool mergeBarriers)
{
- mCommandBuffer.initialize(poolAllocator);
+ mAllocator.initialize(kDefaultPoolAllocatorPageSize, 1);
+ // Push a scope into the pool allocator so we can easily free and re-init on reset()
+ mAllocator.push();
+ mCommandBuffer.initialize(&mAllocator);
+ mIsRenderPassCommandBuffer = isRenderPassCommandBuffer;
+ mMergeBarriers = mergeBarriers;
}
void CommandBufferHelper::bufferRead(vk::ResourceUseList *resourceUseList,
@@ -561,8 +578,10 @@ void CommandBufferHelper::imageRead(vk::ResourceUseList *resourceUseList,
PipelineStage barrierIndex = kImageMemoryBarrierData[imageLayout].barrierIndex;
ASSERT(barrierIndex != PipelineStage::InvalidEnum);
PipelineBarrier *barrier = &mPipelineBarriers[barrierIndex];
- image->updateLayoutAndBarrier(aspectFlags, imageLayout, barrier);
- mPipelineBarrierMask.set(barrierIndex);
+ if (image->updateLayoutAndBarrier(aspectFlags, imageLayout, barrier))
+ {
+ mPipelineBarrierMask.set(barrierIndex);
+ }
}
}
@@ -576,21 +595,38 @@ void CommandBufferHelper::imageWrite(vk::ResourceUseList *resourceUseList,
PipelineStage barrierIndex = kImageMemoryBarrierData[imageLayout].barrierIndex;
ASSERT(barrierIndex != PipelineStage::InvalidEnum);
PipelineBarrier *barrier = &mPipelineBarriers[barrierIndex];
- image->updateLayoutAndBarrier(aspectFlags, imageLayout, barrier);
- mPipelineBarrierMask.set(barrierIndex);
+ if (image->updateLayoutAndBarrier(aspectFlags, imageLayout, barrier))
+ {
+ mPipelineBarrierMask.set(barrierIndex);
+ }
}
void CommandBufferHelper::executeBarriers(vk::PrimaryCommandBuffer *primary)
{
- if (!mPipelineBarrierMask.any())
+ // make a local copy for faster access
+ PipelineStagesMask mask = mPipelineBarrierMask;
+ if (mask.none())
{
return;
}
- for (PipelineStage pipelineStage : mPipelineBarrierMask)
+ if (mMergeBarriers)
+ {
+ PipelineStagesMask::Iterator iter = mask.begin();
+ PipelineBarrier &barrier = mPipelineBarriers[*iter];
+ for (++iter; iter != mask.end(); ++iter)
+ {
+ barrier.merge(&mPipelineBarriers[*iter]);
+ }
+ barrier.execute(primary);
+ }
+ else
{
- PipelineBarrier &barrier = mPipelineBarriers[pipelineStage];
- barrier.writeCommand(primary);
+ for (PipelineStage pipelineStage : mask)
+ {
+ PipelineBarrier &barrier = mPipelineBarriers[pipelineStage];
+ barrier.execute(primary);
+ }
}
mPipelineBarrierMask.reset();
}
@@ -619,11 +655,11 @@ void CommandBufferHelper::beginRenderPass(const vk::Framebuffer &framebuffer,
void CommandBufferHelper::beginTransformFeedback(size_t validBufferCount,
const VkBuffer *counterBuffers,
- bool rebindBuffer)
+ bool rebindBuffers)
{
ASSERT(mIsRenderPassCommandBuffer);
mValidTransformFeedbackBufferCount = static_cast<uint32_t>(validBufferCount);
- mRebindTransformFeedbackBuffers = rebindBuffer;
+ mRebindTransformFeedbackBuffers = rebindBuffers;
for (size_t index = 0; index < validBufferCount; index++)
{
@@ -631,11 +667,18 @@ void CommandBufferHelper::beginTransformFeedback(size_t validBufferCount,
}
}
+void CommandBufferHelper::endTransformFeedback()
+{
+ ASSERT(mIsRenderPassCommandBuffer);
+ pauseTransformFeedbackIfStarted();
+ mValidTransformFeedbackBufferCount = 0;
+}
+
angle::Result CommandBufferHelper::flushToPrimary(ContextVk *contextVk,
vk::PrimaryCommandBuffer *primary)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "CommandBufferHelper::flushToPrimary");
ASSERT(!empty());
-
if (kEnableCommandStreamDiagnostics)
{
addCommandDiagnostics(contextVk);
@@ -786,6 +829,8 @@ void CommandBufferHelper::addCommandDiagnostics(ContextVk *contextVk)
void CommandBufferHelper::reset()
{
+ mAllocator.pop();
+ mAllocator.push();
mCommandBuffer.reset();
if (mIsRenderPassCommandBuffer)
{
@@ -799,6 +844,11 @@ void CommandBufferHelper::reset()
ASSERT(mRebindTransformFeedbackBuffers == false);
}
+void CommandBufferHelper::releaseToContextQueue(ContextVk *contextVk)
+{
+ contextVk->recycleCommandBuffer(this);
+}
+
void CommandBufferHelper::resumeTransformFeedbackIfStarted()
{
ASSERT(mIsRenderPassCommandBuffer);
@@ -892,7 +942,7 @@ void DynamicBuffer::initWithFlags(RendererVk *renderer,
mSize = std::min<size_t>(mSize, 0x1000);
}
- updateAlignment(renderer, alignment);
+ requireAlignment(renderer, alignment);
}
DynamicBuffer::~DynamicBuffer()
@@ -1104,31 +1154,39 @@ void DynamicBuffer::destroy(RendererVk *renderer)
}
}
-void DynamicBuffer::updateAlignment(RendererVk *renderer, size_t alignment)
+void DynamicBuffer::requireAlignment(RendererVk *renderer, size_t alignment)
{
ASSERT(alignment > 0);
- size_t atomSize =
- static_cast<size_t>(renderer->getPhysicalDeviceProperties().limits.nonCoherentAtomSize);
+ size_t prevAlignment = mAlignment;
- // We need lcm(alignment, atomSize). Usually, one divides the other so std::max() could be used
- // instead. Only known case where this assumption breaks is for 3-component types with 16- or
- // 32-bit channels, so that's special-cased to avoid a full-fledged lcm implementation.
+ // If alignment was never set, initialize it with the atom size limit.
+ if (prevAlignment == 0)
+ {
+ prevAlignment =
+ static_cast<size_t>(renderer->getPhysicalDeviceProperties().limits.nonCoherentAtomSize);
+ ASSERT(gl::isPow2(prevAlignment));
+ }
- if (gl::isPow2(alignment))
+ // We need lcm(prevAlignment, alignment). Usually, one divides the other so std::max() could be
+ // used instead. Only known case where this assumption breaks is for 3-component types with
+ // 16- or 32-bit channels, so that's special-cased to avoid a full-fledged lcm implementation.
+
+ if (gl::isPow2(prevAlignment * alignment))
{
- ASSERT(alignment % atomSize == 0 || atomSize % alignment == 0);
- ASSERT(gl::isPow2(atomSize));
+ ASSERT(alignment % prevAlignment == 0 || prevAlignment % alignment == 0);
- alignment = std::max(alignment, atomSize);
+ alignment = std::max(prevAlignment, alignment);
}
else
{
- ASSERT(gl::isPow2(atomSize));
- ASSERT(alignment % 3 == 0);
- ASSERT(gl::isPow2(alignment / 3));
+ ASSERT(prevAlignment % 3 != 0 || gl::isPow2(prevAlignment / 3));
+ ASSERT(alignment % 3 != 0 || gl::isPow2(alignment / 3));
+
+ prevAlignment = prevAlignment % 3 == 0 ? prevAlignment / 3 : prevAlignment;
+ alignment = alignment % 3 == 0 ? alignment / 3 : alignment;
- alignment = std::max(alignment / 3, atomSize) * 3;
+ alignment = std::max(prevAlignment, alignment) * 3;
}
// If alignment has changed, make sure the next allocation is done at an aligned offset.
@@ -2083,19 +2141,11 @@ BufferHelper::BufferHelper()
BufferHelper::~BufferHelper() = default;
-angle::Result BufferHelper::init(ContextVk *contextVk,
+angle::Result BufferHelper::init(Context *context,
const VkBufferCreateInfo &requestedCreateInfo,
VkMemoryPropertyFlags memoryPropertyFlags)
{
- RendererVk *renderer = contextVk->getRenderer();
-
- // TODO: Remove with anglebug.com/2162: Vulkan: Implement device memory sub-allocation
- // Check if we have too many resources allocated already and need to free some before allocating
- // more and (possibly) exceeding the device's limits.
- if (contextVk->shouldFlush())
- {
- ANGLE_TRY(contextVk->flushImpl(nullptr));
- }
+ RendererVk *renderer = context->getRenderer();
mSize = requestedCreateInfo.size;
@@ -2116,11 +2166,26 @@ angle::Result BufferHelper::init(ContextVk *contextVk,
VkMemoryPropertyFlags preferredFlags =
(memoryPropertyFlags & (~VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT));
- mAllocation.createBufferAndMemory(
- renderer->getAllocator(), createInfo, requiredFlags, preferredFlags,
- renderer->getFeatures().persistentlyMappedBuffers.enabled, &mBuffer, &mMemoryPropertyFlags);
+ const vk::Allocator &allocator = renderer->getAllocator();
+ bool persistentlyMapped = renderer->getFeatures().persistentlyMappedBuffers.enabled;
+
+ // Check that the allocation is not too large.
+ uint32_t memoryTypeIndex = 0;
+ ANGLE_VK_TRY(context, allocator.findMemoryTypeIndexForBufferInfo(
+ *createInfo, requiredFlags, preferredFlags, persistentlyMapped,
+ &memoryTypeIndex));
+
+ VkDeviceSize heapSize =
+ renderer->getMemoryProperties().getHeapSizeForMemoryType(memoryTypeIndex);
+
+ ANGLE_VK_CHECK(context, createInfo->size <= heapSize, VK_ERROR_OUT_OF_DEVICE_MEMORY);
+
+ ANGLE_VK_TRY(context, allocator.createBuffer(*createInfo, requiredFlags, preferredFlags,
+ persistentlyMapped, &memoryTypeIndex, &mBuffer,
+ &mAllocation));
- mCurrentQueueFamilyIndex = contextVk->getRenderer()->getQueueFamilyIndex();
+ allocator.getMemoryTypeProperties(memoryTypeIndex, &mMemoryPropertyFlags);
+ mCurrentQueueFamilyIndex = renderer->getQueueFamilyIndex();
if (renderer->getFeatures().allocateNonZeroMemory.enabled)
{
@@ -2130,14 +2195,14 @@ angle::Result BufferHelper::init(ContextVk *contextVk,
if ((mMemoryPropertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) == 0 &&
(requestedCreateInfo.usage & VK_BUFFER_USAGE_TRANSFER_DST_BIT) != 0)
{
- ANGLE_TRY(initializeNonZeroMemory(contextVk, createInfo->size));
+ ANGLE_TRY(initializeNonZeroMemory(context, createInfo->size));
}
else if ((mMemoryPropertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) != 0)
{
// Can map the memory.
// Pick an arbitrary value to initialize non-zero memory for sanitization.
constexpr int kNonZeroInitValue = 55;
- ANGLE_TRY(InitMappableAllocation(renderer->getAllocator(), &mAllocation, mSize,
+ ANGLE_TRY(InitMappableAllocation(context, allocator, &mAllocation, mSize,
kNonZeroInitValue, mMemoryPropertyFlags));
}
}
@@ -2168,7 +2233,7 @@ angle::Result BufferHelper::initializeNonZeroMemory(Context *context, VkDeviceSi
Serial serial;
ANGLE_TRY(renderer->queueSubmitOneOff(context, std::move(commandBuffer),
- egl::ContextPriority::Medium, &serial));
+ egl::ContextPriority::Medium, nullptr, &serial));
stagingBuffer.collectGarbage(renderer, serial);
mUse.updateSerialOneOff(serial);
@@ -2199,14 +2264,15 @@ void BufferHelper::release(RendererVk *renderer)
angle::Result BufferHelper::copyFromBuffer(ContextVk *contextVk,
BufferHelper *srcBuffer,
- const VkBufferCopy &copyRegion)
+ uint32_t regionCount,
+ const VkBufferCopy *copyRegions)
{
CommandBuffer *commandBuffer = nullptr;
ANGLE_TRY(contextVk->onBufferTransferRead(srcBuffer));
ANGLE_TRY(contextVk->onBufferTransferWrite(this));
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
- commandBuffer->copyBuffer(srcBuffer->getBuffer(), mBuffer, 1, &copyRegion);
+ commandBuffer->copyBuffer(srcBuffer->getBuffer(), mBuffer, regionCount, copyRegions);
return angle::Result::Continue;
}
@@ -2311,6 +2377,16 @@ void BufferHelper::releaseToExternal(ContextVk *contextVk,
changeQueue(externalQueueFamilyIndex, commandBuffer);
}
+bool BufferHelper::isReleasedToExternal() const
+{
+#if !defined(ANGLE_PLATFORM_MACOS) && !defined(ANGLE_PLATFORM_ANDROID)
+ return IsExternalQueueFamily(mCurrentQueueFamilyIndex);
+#else
+ // TODO(anglebug.com/4635): Implement external memory barriers on Mac/Android.
+ return false;
+#endif
+}
+
bool BufferHelper::canAccumulateRead(ContextVk *contextVk, VkAccessFlags readAccessType)
{
// We only need to start a new command buffer when we need a new barrier.
@@ -2382,12 +2458,15 @@ ImageHelper::ImageHelper(ImageHelper &&other)
: mImage(std::move(other.mImage)),
mDeviceMemory(std::move(other.mDeviceMemory)),
mImageType(other.mImageType),
+ mTilingMode(other.mTilingMode),
mExtents(other.mExtents),
mFormat(other.mFormat),
mSamples(other.mSamples),
mSerial(other.mSerial),
mCurrentLayout(other.mCurrentLayout),
mCurrentQueueFamilyIndex(other.mCurrentQueueFamilyIndex),
+ mLastNonShaderReadOnlyLayout(other.mLastNonShaderReadOnlyLayout),
+ mCurrentShaderReadStageMask(other.mCurrentShaderReadStageMask),
mBaseLevel(other.mBaseLevel),
mMaxLevel(other.mMaxLevel),
mLayerCount(other.mLayerCount),
@@ -2406,26 +2485,28 @@ ImageHelper::~ImageHelper()
void ImageHelper::resetCachedProperties()
{
- mImageType = VK_IMAGE_TYPE_2D;
- mExtents = {};
- mFormat = nullptr;
- mSamples = 1;
- mSerial = rx::kZeroSerial;
- mCurrentLayout = ImageLayout::Undefined;
- mCurrentQueueFamilyIndex = std::numeric_limits<uint32_t>::max();
- mBaseLevel = 0;
- mMaxLevel = 0;
- mLayerCount = 0;
- mLevelCount = 0;
+ mImageType = VK_IMAGE_TYPE_2D;
+ mExtents = {};
+ mFormat = nullptr;
+ mSamples = 1;
+ mSerial = rx::kZeroSerial;
+ mTilingMode = VK_IMAGE_TILING_OPTIMAL;
+ mCurrentLayout = ImageLayout::Undefined;
+ mCurrentQueueFamilyIndex = std::numeric_limits<uint32_t>::max();
+ mLastNonShaderReadOnlyLayout = ImageLayout::Undefined;
+ mCurrentShaderReadStageMask = 0;
+ mBaseLevel = 0;
+ mMaxLevel = 0;
+ mLayerCount = 0;
+ mLevelCount = 0;
}
void ImageHelper::initStagingBuffer(RendererVk *renderer,
- const Format &format,
+ size_t imageCopyBufferAlignment,
VkBufferUsageFlags usageFlags,
size_t initialSize)
{
- mStagingBuffer.init(renderer, usageFlags, format.getImageCopyBufferAlignment(), initialSize,
- true);
+ mStagingBuffer.init(renderer, usageFlags, imageCopyBufferAlignment, initialSize, true);
}
angle::Result ImageHelper::init(Context *context,
@@ -2441,8 +2522,8 @@ angle::Result ImageHelper::init(Context *context,
{
mSerial = rx::kZeroSerial;
return initExternal(context, textureType, extents, format, samples, usage,
- ImageLayout::Undefined, nullptr, baseLevel, maxLevel, mipLevels,
- layerCount);
+ kVkImageCreateFlagsNone, ImageLayout::Undefined, nullptr, baseLevel,
+ maxLevel, mipLevels, layerCount);
}
angle::Result ImageHelper::initExternal(Context *context,
@@ -2451,6 +2532,7 @@ angle::Result ImageHelper::initExternal(Context *context,
const Format &format,
GLint samples,
VkImageUsageFlags usage,
+ VkImageCreateFlags additionalCreateFlags,
ImageLayout initialLayout,
const void *externalImageCreateInfo,
uint32_t baseLevel,
@@ -2479,14 +2561,14 @@ angle::Result ImageHelper::initExternal(Context *context,
VkImageCreateInfo imageInfo = {};
imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
imageInfo.pNext = externalImageCreateInfo;
- imageInfo.flags = GetImageCreateFlags(textureType);
+ imageInfo.flags = GetImageCreateFlags(textureType) | additionalCreateFlags;
imageInfo.imageType = mImageType;
imageInfo.format = format.vkImageFormat;
imageInfo.extent = mExtents;
imageInfo.mipLevels = mipLevels;
imageInfo.arrayLayers = mLayerCount;
imageInfo.samples = gl_vk::GetSamples(samples);
- imageInfo.tiling = VK_IMAGE_TILING_OPTIMAL;
+ imageInfo.tiling = mTilingMode;
imageInfo.usage = usage;
imageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
imageInfo.queueFamilyIndexCount = 0;
@@ -2526,9 +2608,8 @@ void ImageHelper::resetImageWeakReference()
angle::Result ImageHelper::initializeNonZeroMemory(Context *context, VkDeviceSize size)
{
- // The staging buffer memory is non-zero-initialized in 'init'.
- vk::StagingBuffer stagingBuffer;
- ANGLE_TRY(stagingBuffer.init(context, size, vk::StagingUsage::Write));
+ const angle::Format &angleFormat = mFormat->actualImageFormat();
+ bool isCompressedFormat = angleFormat.isBlock;
RendererVk *renderer = context->getRenderer();
@@ -2539,21 +2620,89 @@ angle::Result ImageHelper::initializeNonZeroMemory(Context *context, VkDeviceSiz
forceChangeLayoutAndQueue(getAspectFlags(), ImageLayout::TransferDst, mCurrentQueueFamilyIndex,
&commandBuffer);
- VkBufferImageCopy copyRegion = {};
- copyRegion.imageExtent = mExtents;
- copyRegion.imageSubresource.aspectMask = getAspectFlags();
- copyRegion.imageSubresource.layerCount = 1;
+ vk::StagingBuffer stagingBuffer;
+
+ if (isCompressedFormat)
+ {
+ // If format is compressed, set its contents through buffer copies.
+
+ // The staging buffer memory is non-zero-initialized in 'init'.
+ ANGLE_TRY(stagingBuffer.init(context, size, vk::StagingUsage::Write));
- commandBuffer.copyBufferToImage(stagingBuffer.getBuffer().getHandle(), mImage,
- VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &copyRegion);
+ for (uint32_t level = 0; level < mLevelCount; ++level)
+ {
+ VkBufferImageCopy copyRegion = {};
+
+ gl_vk::GetExtent(getLevelExtents(level), &copyRegion.imageExtent);
+ copyRegion.imageSubresource.aspectMask = getAspectFlags();
+ copyRegion.imageSubresource.layerCount = mLayerCount;
+
+ // If image has depth and stencil, copy to each individually per Vulkan spec.
+ bool hasBothDepthAndStencil = isCombinedDepthStencilFormat();
+ if (hasBothDepthAndStencil)
+ {
+ copyRegion.imageSubresource.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT;
+ }
+
+ commandBuffer.copyBufferToImage(stagingBuffer.getBuffer().getHandle(), mImage,
+ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &copyRegion);
+
+ if (hasBothDepthAndStencil)
+ {
+ copyRegion.imageSubresource.aspectMask = VK_IMAGE_ASPECT_STENCIL_BIT;
+
+ commandBuffer.copyBufferToImage(stagingBuffer.getBuffer().getHandle(), mImage,
+ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1,
+ &copyRegion);
+ }
+ }
+ }
+ else
+ {
+ // Otherwise issue clear commands.
+ VkImageSubresourceRange subresource = {};
+ subresource.aspectMask = getAspectFlags();
+ subresource.baseMipLevel = 0;
+ subresource.levelCount = mLevelCount;
+ subresource.baseArrayLayer = 0;
+ subresource.layerCount = mLayerCount;
+
+ // Arbitrary value to initialize the memory with. Note: the given uint value, reinterpreted
+ // as float is about 0.7.
+ constexpr uint32_t kInitValue = 0x3F345678;
+ constexpr float kInitValueFloat = 0.12345f;
+
+ if ((subresource.aspectMask & VK_IMAGE_ASPECT_COLOR_BIT) != 0)
+ {
+ VkClearColorValue clearValue;
+ clearValue.uint32[0] = kInitValue;
+ clearValue.uint32[1] = kInitValue;
+ clearValue.uint32[2] = kInitValue;
+ clearValue.uint32[3] = kInitValue;
+
+ commandBuffer.clearColorImage(mImage, getCurrentLayout(), clearValue, 1, &subresource);
+ }
+ else
+ {
+ VkClearDepthStencilValue clearValue;
+ clearValue.depth = kInitValueFloat;
+ clearValue.stencil = kInitValue;
+
+ commandBuffer.clearDepthStencilImage(mImage, getCurrentLayout(), clearValue, 1,
+ &subresource);
+ }
+ }
ANGLE_VK_TRY(context, commandBuffer.end());
Serial serial;
ANGLE_TRY(renderer->queueSubmitOneOff(context, std::move(commandBuffer),
- egl::ContextPriority::Medium, &serial));
+ egl::ContextPriority::Medium, nullptr, &serial));
- stagingBuffer.collectGarbage(renderer, serial);
+ if (isCompressedFormat)
+ {
+ stagingBuffer.collectGarbage(renderer, serial);
+ }
mUse.updateSerialOneOff(serial);
return angle::Result::Continue;
@@ -2565,7 +2714,7 @@ angle::Result ImageHelper::initMemory(Context *context,
{
// TODO(jmadill): Memory sub-allocation. http://anglebug.com/2162
VkDeviceSize size;
- ANGLE_TRY(AllocateImageMemory(context, flags, nullptr, &mImage, &mDeviceMemory, &size));
+ ANGLE_TRY(AllocateImageMemory(context, flags, &flags, nullptr, &mImage, &mDeviceMemory, &size));
mCurrentQueueFamilyIndex = context->getRenderer()->getQueueFamilyIndex();
RendererVk *renderer = context->getRenderer();
@@ -2574,16 +2723,7 @@ angle::Result ImageHelper::initMemory(Context *context,
// Can't map the memory. Use a staging resource.
if ((flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) == 0)
{
- // Only currently works with single-sampled color images with one mip/layer.
- if (mLevelCount == 1 && mLayerCount == 1 &&
- getAspectFlags() == VK_IMAGE_ASPECT_COLOR_BIT && mSamples == 1)
- {
- ANGLE_TRY(initializeNonZeroMemory(context, size));
- }
- else
- {
- UNIMPLEMENTED();
- }
+ ANGLE_TRY(initializeNonZeroMemory(context, size));
}
}
@@ -2627,12 +2767,32 @@ angle::Result ImageHelper::initLayerImageView(Context *context,
uint32_t baseArrayLayer,
uint32_t layerCount) const
{
+ return initLayerImageViewImpl(context, textureType, aspectMask, swizzleMap, imageViewOut,
+ baseMipLevel, levelCount, baseArrayLayer, layerCount,
+ mFormat->vkImageFormat, nullptr);
+}
+
+angle::Result ImageHelper::initLayerImageViewImpl(
+ Context *context,
+ gl::TextureType textureType,
+ VkImageAspectFlags aspectMask,
+ const gl::SwizzleState &swizzleMap,
+ ImageView *imageViewOut,
+ uint32_t baseMipLevel,
+ uint32_t levelCount,
+ uint32_t baseArrayLayer,
+ uint32_t layerCount,
+ VkFormat imageFormat,
+ const VkImageViewUsageCreateInfo *imageViewUsageCreateInfo) const
+{
VkImageViewCreateInfo viewInfo = {};
viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
viewInfo.flags = 0;
viewInfo.image = mImage.getHandle();
viewInfo.viewType = gl_vk::GetImageViewType(textureType);
- viewInfo.format = mFormat->vkImageFormat;
+ viewInfo.format = imageFormat;
+ ASSERT(viewInfo.format != VK_FORMAT_UNDEFINED);
+
if (swizzleMap.swizzleRequired())
{
viewInfo.components.r = gl_vk::GetSwizzle(swizzleMap.swizzleRed);
@@ -2653,10 +2813,34 @@ angle::Result ImageHelper::initLayerImageView(Context *context,
viewInfo.subresourceRange.baseArrayLayer = baseArrayLayer;
viewInfo.subresourceRange.layerCount = layerCount;
+ viewInfo.pNext = imageViewUsageCreateInfo;
+
ANGLE_VK_TRY(context, imageViewOut->init(context->getDevice(), viewInfo));
return angle::Result::Continue;
}
+angle::Result ImageHelper::initAliasedLayerImageView(Context *context,
+ gl::TextureType textureType,
+ VkImageAspectFlags aspectMask,
+ const gl::SwizzleState &swizzleMap,
+ ImageView *imageViewOut,
+ uint32_t baseMipLevel,
+ uint32_t levelCount,
+ uint32_t baseArrayLayer,
+ uint32_t layerCount,
+ VkImageUsageFlags imageUsageFlags,
+ VkFormat imageViewFormat) const
+{
+ VkImageViewUsageCreateInfo imageViewUsageCreateInfo = {};
+ imageViewUsageCreateInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
+ imageViewUsageCreateInfo.usage =
+ imageUsageFlags & GetMaximalImageUsageFlags(context->getRenderer(), imageViewFormat);
+
+ return initLayerImageViewImpl(context, textureType, aspectMask, swizzleMap, imageViewOut,
+ baseMipLevel, levelCount, baseArrayLayer, layerCount,
+ imageViewFormat, &imageViewUsageCreateInfo);
+}
+
void ImageHelper::destroy(RendererVk *renderer)
{
VkDevice device = renderer->getDevice();
@@ -2750,12 +2934,22 @@ VkImageLayout ImageHelper::getCurrentLayout() const
return kImageMemoryBarrierData[mCurrentLayout].layout;
}
-gl::Extents ImageHelper::getLevelExtents2D(uint32_t level) const
+gl::Extents ImageHelper::getLevelExtents(uint32_t level) const
{
+ // Level 0 should be the size of the extents, after that every time you increase a level
+ // you shrink the extents by half.
uint32_t width = std::max(mExtents.width >> level, 1u);
uint32_t height = std::max(mExtents.height >> level, 1u);
+ uint32_t depth = std::max(mExtents.depth >> level, 1u);
- return gl::Extents(width, height, 1);
+ return gl::Extents(width, height, depth);
+}
+
+gl::Extents ImageHelper::getLevelExtents2D(uint32_t level) const
+{
+ gl::Extents extents = getLevelExtents(level);
+ extents.depth = 1;
+ return extents;
}
bool ImageHelper::isLayoutChangeNecessary(ImageLayout newLayout) const
@@ -2809,9 +3003,14 @@ void ImageHelper::releaseToExternal(ContextVk *contextVk,
changeLayoutAndQueue(getAspectFlags(), desiredLayout, externalQueueFamilyIndex, commandBuffer);
}
-uint32_t ImageHelper::getBaseLevel()
+bool ImageHelper::isReleasedToExternal() const
{
- return mBaseLevel;
+#if !defined(ANGLE_PLATFORM_MACOS) && !defined(ANGLE_PLATFORM_ANDROID)
+ return IsExternalQueueFamily(mCurrentQueueFamilyIndex);
+#else
+ // TODO(anglebug.com/4635): Implement external memory barriers on Mac/Android.
+ return false;
+#endif
}
void ImageHelper::setBaseAndMaxLevels(uint32_t baseLevel, uint32_t maxLevel)
@@ -2859,16 +3058,25 @@ void ImageHelper::forceChangeLayoutAndQueue(VkImageAspectFlags aspectMask,
VkImageMemoryBarrier imageMemoryBarrier = {};
initImageMemoryBarrierStruct(aspectMask, newLayout, newQueueFamilyIndex, &imageMemoryBarrier);
- commandBuffer->imageBarrier(transitionFrom.srcStageMask, transitionTo.dstStageMask,
- imageMemoryBarrier);
+ // There might be other shaderRead operations there other than the current layout.
+ VkPipelineStageFlags srcStageMask = transitionFrom.srcStageMask;
+ if (mCurrentShaderReadStageMask)
+ {
+ srcStageMask |= mCurrentShaderReadStageMask;
+ mCurrentShaderReadStageMask = 0;
+ mLastNonShaderReadOnlyLayout = ImageLayout::Undefined;
+ }
+ commandBuffer->imageBarrier(srcStageMask, transitionTo.dstStageMask, imageMemoryBarrier);
+
mCurrentLayout = newLayout;
mCurrentQueueFamilyIndex = newQueueFamilyIndex;
}
-void ImageHelper::updateLayoutAndBarrier(VkImageAspectFlags aspectMask,
+bool ImageHelper::updateLayoutAndBarrier(VkImageAspectFlags aspectMask,
ImageLayout newLayout,
PipelineBarrier *barrier)
{
+ bool barrierModified = false;
if (newLayout == mCurrentLayout)
{
const ImageMemoryBarrierData &layoutData = kImageMemoryBarrierData[mCurrentLayout];
@@ -2876,20 +3084,63 @@ void ImageHelper::updateLayoutAndBarrier(VkImageAspectFlags aspectMask,
// No layout change, only memory barrier is required
barrier->mergeMemoryBarrier(layoutData.srcStageMask, layoutData.dstStageMask,
layoutData.srcAccessMask, layoutData.dstAccessMask);
+ barrierModified = true;
}
else
{
const ImageMemoryBarrierData &transitionFrom = kImageMemoryBarrierData[mCurrentLayout];
const ImageMemoryBarrierData &transitionTo = kImageMemoryBarrierData[newLayout];
+ VkPipelineStageFlags srcStageMask = transitionFrom.srcStageMask;
+ VkPipelineStageFlags dstStageMask = transitionTo.dstStageMask;
- VkImageMemoryBarrier imageMemoryBarrier = {};
- initImageMemoryBarrierStruct(aspectMask, newLayout, mCurrentQueueFamilyIndex,
- &imageMemoryBarrier);
+ if (transitionTo.layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL &&
+ transitionFrom.layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)
+ {
+ // If we are switching between different shader stage reads, then there is no actual
+ // layout change or access type change. We only need a barrier if we are making a read
+ // that is from a new stage. Also note that we barrier against previous non-shaderRead
+ // layout. We do not barrier between one shaderRead and another shaderRead.
+ bool isNewReadStage = (mCurrentShaderReadStageMask & dstStageMask) != dstStageMask;
+ if (isNewReadStage)
+ {
+ const ImageMemoryBarrierData &layoutData =
+ kImageMemoryBarrierData[mLastNonShaderReadOnlyLayout];
+ barrier->mergeMemoryBarrier(layoutData.srcStageMask, dstStageMask,
+ layoutData.srcAccessMask, transitionTo.dstAccessMask);
+ barrierModified = true;
+ // Accumulate new read stage.
+ mCurrentShaderReadStageMask |= dstStageMask;
+ }
+ }
+ else
+ {
+ VkImageMemoryBarrier imageMemoryBarrier = {};
+ initImageMemoryBarrierStruct(aspectMask, newLayout, mCurrentQueueFamilyIndex,
+ &imageMemoryBarrier);
+ // if we transition from shaderReadOnly, we must add in stashed shader stage masks since
+ // there might be outstanding shader reads from stages other than current layout. We do
+ // not insert barrier between one shaderRead to another shaderRead
+ if (mCurrentShaderReadStageMask)
+ {
+ srcStageMask |= mCurrentShaderReadStageMask;
+ mCurrentShaderReadStageMask = 0;
+ mLastNonShaderReadOnlyLayout = ImageLayout::Undefined;
+ }
+ barrier->mergeImageBarrier(srcStageMask, dstStageMask, imageMemoryBarrier);
+ barrierModified = true;
- barrier->mergeImageBarrier(transitionFrom.srcStageMask, transitionTo.dstStageMask,
- imageMemoryBarrier);
+ // If we are transition into shaderRead layout, remember the last
+ // non-shaderRead layout here.
+ if (transitionTo.layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)
+ {
+ ASSERT(transitionFrom.layout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL);
+ mLastNonShaderReadOnlyLayout = mCurrentLayout;
+ mCurrentShaderReadStageMask = dstStageMask;
+ }
+ }
mCurrentLayout = newLayout;
}
+ return barrierModified;
}
void ImageHelper::clearColor(const VkClearColorValue &color,
@@ -2959,24 +3210,6 @@ void ImageHelper::clear(VkImageAspectFlags aspectFlags,
}
}
-gl::Extents ImageHelper::getSize(const gl::ImageIndex &index) const
-{
- GLint mipLevel = index.getLevelIndex();
- // Level 0 should be the size of the extents, after that every time you increase a level
- // you shrink the extents by half.
- return gl::Extents(std::max(1u, mExtents.width >> mipLevel),
- std::max(1u, mExtents.height >> mipLevel), mExtents.depth);
-}
-
-Serial ImageHelper::getAssignSerial(ContextVk *contextVk)
-{
- if (mSerial.getValue() == 0)
- {
- mSerial = contextVk->generateAttachmentImageSerial();
- }
- return mSerial;
-}
-
// static
void ImageHelper::Copy(ImageHelper *srcImage,
ImageHelper *dstImage,
@@ -3100,15 +3333,39 @@ void ImageHelper::resolve(ImageHelper *dest,
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &region);
}
-void ImageHelper::removeStagedUpdates(ContextVk *contextVk,
- uint32_t levelIndex,
- uint32_t layerIndex)
+void ImageHelper::removeSingleSubresourceStagedUpdates(ContextVk *contextVk,
+ uint32_t levelIndexGL,
+ uint32_t layerIndex)
{
// Find any staged updates for this index and removes them from the pending list.
for (size_t index = 0; index < mSubresourceUpdates.size();)
{
auto update = mSubresourceUpdates.begin() + index;
- if (update->isUpdateToLayerLevel(layerIndex, levelIndex))
+ if (update->isUpdateToLayerLevel(layerIndex, levelIndexGL))
+ {
+ update->release(contextVk->getRenderer());
+ mSubresourceUpdates.erase(update);
+ }
+ else
+ {
+ index++;
+ }
+ }
+}
+
+void ImageHelper::removeStagedUpdates(ContextVk *contextVk,
+ uint32_t levelGLStart,
+ uint32_t levelGLEnd)
+{
+ // Remove all updates to levels [start, end].
+ for (size_t index = 0; index < mSubresourceUpdates.size();)
+ {
+ auto update = mSubresourceUpdates.begin() + index;
+ uint32_t updateMipLevelGL = update->updateSource == UpdateSource::Clear
+ ? update->clear.levelIndex
+ : update->dstSubresource().mipLevel;
+
+ if (updateMipLevelGL >= levelGLStart && updateMipLevelGL <= levelGLEnd)
{
update->release(contextVk->getRenderer());
mSubresourceUpdates.erase(update);
@@ -3399,7 +3656,7 @@ angle::Result ImageHelper::stageSubresourceUpdateAndGetData(ContextVk *contextVk
copy.imageSubresource.layerCount = imageIndex.getLayerCount();
// Note: Only support color now
- ASSERT(getAspectFlags() == VK_IMAGE_ASPECT_COLOR_BIT);
+ ASSERT((mFormat == nullptr) || (getAspectFlags() == VK_IMAGE_ASPECT_COLOR_BIT));
gl_vk::GetOffset(offset, &copy.imageOffset);
gl_vk::GetExtent(glExtents, &copy.imageExtent);
@@ -3411,7 +3668,7 @@ angle::Result ImageHelper::stageSubresourceUpdateAndGetData(ContextVk *contextVk
angle::Result ImageHelper::stageSubresourceUpdateFromBuffer(ContextVk *contextVk,
size_t allocationSize,
- uint32_t mipLevel,
+ uint32_t mipLevelGL,
uint32_t baseArrayLayer,
uint32_t layerCount,
uint32_t bufferRowLength,
@@ -3429,7 +3686,7 @@ angle::Result ImageHelper::stageSubresourceUpdateFromBuffer(ContextVk *contextVk
copy[0].bufferRowLength = bufferRowLength;
copy[0].bufferImageHeight = bufferImageHeight;
copy[0].imageSubresource.aspectMask = getAspectFlags();
- copy[0].imageSubresource.mipLevel = mipLevel;
+ copy[0].imageSubresource.mipLevel = mipLevelGL;
copy[0].imageSubresource.baseArrayLayer = baseArrayLayer;
copy[0].imageSubresource.layerCount = layerCount;
copy[0].imageOffset = offset;
@@ -3444,7 +3701,7 @@ angle::Result ImageHelper::stageSubresourceUpdateFromBuffer(ContextVk *contextVk
copy[1].bufferRowLength = bufferRowLength;
copy[1].bufferImageHeight = bufferImageHeight;
copy[1].imageSubresource.aspectMask = VK_IMAGE_ASPECT_STENCIL_BIT;
- copy[1].imageSubresource.mipLevel = mipLevel;
+ copy[1].imageSubresource.mipLevel = mipLevelGL;
copy[1].imageSubresource.baseArrayLayer = baseArrayLayer;
copy[1].imageSubresource.layerCount = layerCount;
copy[1].imageOffset = offset;
@@ -3702,7 +3959,7 @@ angle::Result ImageHelper::allocateStagingMemory(ContextVk *contextVk,
}
angle::Result ImageHelper::flushSingleSubresourceStagedUpdates(ContextVk *contextVk,
- uint32_t level,
+ uint32_t levelGL,
uint32_t layer,
CommandBuffer *commandBuffer,
ClearValuesArray *deferredClears,
@@ -3717,7 +3974,7 @@ angle::Result ImageHelper::flushSingleSubresourceStagedUpdates(ContextVk *contex
{
SubresourceUpdate &update = mSubresourceUpdates[updateIndex];
- if (update.isUpdateToLayerLevel(layer, level))
+ if (update.isUpdateToLayerLevel(layer, levelGL))
{
// On any data update, exit out. We'll need to do a full upload.
if (update.updateSource != UpdateSource::Clear ||
@@ -3743,21 +4000,23 @@ angle::Result ImageHelper::flushSingleSubresourceStagedUpdates(ContextVk *contex
deferredClears->store(deferredClearIndex, update.aspectFlags, update.value);
// We process the updates again to erase any clears for this level.
- removeStagedUpdates(contextVk, level, layer);
+ removeSingleSubresourceStagedUpdates(contextVk, levelGL, layer);
return angle::Result::Continue;
}
// Otherwise we proceed with a normal update.
}
- return flushStagedUpdates(contextVk, level, level + 1, layer, layer + 1, commandBuffer);
+ uint32_t levelVK = levelGL - mBaseLevel;
+ return flushStagedUpdates(contextVk, levelVK, levelVK + 1, layer, layer + 1, {}, commandBuffer);
}
angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk,
- uint32_t levelStart,
- uint32_t levelEnd,
+ uint32_t levelVKStart,
+ uint32_t levelVKEnd,
uint32_t layerStart,
uint32_t layerEnd,
+ gl::TexLevelMask skipLevelsMask,
CommandBuffer *commandBuffer)
{
if (mSubresourceUpdates.empty())
@@ -3765,6 +4024,9 @@ angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk,
return angle::Result::Continue;
}
+ const uint32_t levelGLStart = levelVKStart + mBaseLevel;
+ const uint32_t levelGLEnd = levelVKEnd + mBaseLevel;
+
ANGLE_TRY(mStagingBuffer.flush(contextVk));
std::vector<SubresourceUpdate> updatesToKeep;
@@ -3788,12 +4050,12 @@ angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk,
(update.updateSource == UpdateSource::Image && update.image.image != nullptr &&
update.image.image->valid()));
- uint32_t updateMipLevel;
+ uint32_t updateMipLevelGL;
uint32_t updateBaseLayer;
uint32_t updateLayerCount;
if (update.updateSource == UpdateSource::Clear)
{
- updateMipLevel = update.clear.levelIndex;
+ updateMipLevelGL = update.clear.levelIndex;
updateBaseLayer = update.clear.layerIndex;
updateLayerCount = update.clear.layerCount;
if (updateLayerCount == static_cast<uint32_t>(gl::ImageIndex::kEntireLevel))
@@ -3804,22 +4066,28 @@ angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk,
else
{
const VkImageSubresourceLayers &dstSubresource = update.dstSubresource();
- updateMipLevel = dstSubresource.mipLevel;
+ updateMipLevelGL = dstSubresource.mipLevel;
updateBaseLayer = dstSubresource.baseArrayLayer;
updateLayerCount = dstSubresource.layerCount;
ASSERT(updateLayerCount != static_cast<uint32_t>(gl::ImageIndex::kEntireLevel));
}
// If the update level is not within the requested range, skip the update.
- const bool isUpdateLevelOutsideRange =
- updateMipLevel < (levelStart + mBaseLevel) ||
- (updateMipLevel >= (levelEnd + mBaseLevel) || updateMipLevel > mMaxLevel);
+ const bool isUpdateLevelOutsideRange = updateMipLevelGL < levelGLStart ||
+ updateMipLevelGL >= levelGLEnd ||
+ updateMipLevelGL > mMaxLevel;
// If the update layers don't intersect the requested layers, skip the update.
const bool areUpdateLayersOutsideRange =
updateBaseLayer + updateLayerCount <= layerStart || updateBaseLayer >= layerEnd;
- if (isUpdateLevelOutsideRange || areUpdateLayersOutsideRange)
+ uint32_t updateMipLevelVK = updateMipLevelGL - mBaseLevel;
+
+ // Additionally, if updates to this level are specifically asked to be skipped, skip them.
+ // This can happen when recreating an image that has been partially incompatibly redefined,
+ // in which case only updates to the levels that haven't been redefined should be flushed.
+ if (isUpdateLevelOutsideRange || areUpdateLayersOutsideRange ||
+ skipLevelsMask.test(updateMipLevelVK))
{
updatesToKeep.emplace_back(update);
continue;
@@ -3827,7 +4095,7 @@ angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk,
if (mBaseLevel > 0)
{
- // We need to shift the miplevel in the update to fall into the vkiamge
+ // We need to shift the miplevel in the update to fall into the Vulkan image.
if (update.updateSource == UpdateSource::Clear)
{
update.clear.levelIndex -= mBaseLevel;
@@ -3852,7 +4120,7 @@ angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk,
{
const uint64_t subresourceHashRange = angle::Bit<uint64_t>(updateLayerCount) - 1;
const uint32_t subresourceHashOffset =
- (updateMipLevel * mLayerCount + updateBaseLayer) % kMaxParallelSubresourceUpload;
+ (updateMipLevelVK * mLayerCount + updateBaseLayer) % kMaxParallelSubresourceUpload;
const uint64_t subresourceHash =
ANGLE_ROTL64(subresourceHashRange, subresourceHashOffset);
@@ -3867,7 +4135,8 @@ angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk,
if (update.updateSource == UpdateSource::Clear)
{
- clear(update.clear.aspectFlags, update.clear.value, updateMipLevel, updateBaseLayer,
+ ASSERT(updateMipLevelVK == update.clear.levelIndex);
+ clear(update.clear.aspectFlags, update.clear.value, updateMipLevelVK, updateBaseLayer,
updateLayerCount, commandBuffer);
}
else if (update.updateSource == UpdateSource::Buffer)
@@ -3911,10 +4180,10 @@ angle::Result ImageHelper::flushAllStagedUpdates(ContextVk *contextVk)
// Clear the image.
CommandBuffer *commandBuffer = nullptr;
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
- return flushStagedUpdates(contextVk, 0, mLevelCount, 0, mLayerCount, commandBuffer);
+ return flushStagedUpdates(contextVk, 0, mLevelCount, 0, mLayerCount, {}, commandBuffer);
}
-bool ImageHelper::isUpdateStaged(uint32_t level, uint32_t layer)
+bool ImageHelper::isUpdateStaged(uint32_t levelGL, uint32_t layer)
{
// Check to see if any updates are staged for the given level and layer
@@ -3925,25 +4194,25 @@ bool ImageHelper::isUpdateStaged(uint32_t level, uint32_t layer)
for (SubresourceUpdate &update : mSubresourceUpdates)
{
- uint32_t updateMipLevel;
+ uint32_t updateMipLevelGL;
uint32_t updateBaseLayer;
uint32_t updateLayerCount;
if (update.updateSource == UpdateSource::Clear)
{
- updateMipLevel = update.clear.levelIndex;
+ updateMipLevelGL = update.clear.levelIndex;
updateBaseLayer = update.clear.layerIndex;
updateLayerCount = update.clear.layerCount;
}
else
{
const VkImageSubresourceLayers &dstSubresource = update.dstSubresource();
- updateMipLevel = dstSubresource.mipLevel;
+ updateMipLevelGL = dstSubresource.mipLevel;
updateBaseLayer = dstSubresource.baseArrayLayer;
updateLayerCount = dstSubresource.layerCount;
}
- if (updateMipLevel == level)
+ if (updateMipLevelGL == levelGL)
{
if (layer >= updateBaseLayer && layer < (updateBaseLayer + updateLayerCount))
{
@@ -3957,7 +4226,7 @@ bool ImageHelper::isUpdateStaged(uint32_t level, uint32_t layer)
}
angle::Result ImageHelper::copyImageDataToBuffer(ContextVk *contextVk,
- size_t sourceLevel,
+ size_t sourceLevelGL,
uint32_t layerCount,
uint32_t baseLayer,
const gl::Box &sourceArea,
@@ -3998,6 +4267,8 @@ angle::Result ImageHelper::copyImageDataToBuffer(ContextVk *contextVk,
ANGLE_TRY(contextVk->onBufferTransferWrite(*bufferOut));
ANGLE_TRY(contextVk->endRenderPassAndGetCommandBuffer(&commandBuffer));
+ uint32_t sourceLevelVk = static_cast<uint32_t>(sourceLevelGL) - mBaseLevel;
+
VkBufferImageCopy regions[2] = {};
// Default to non-combined DS case
regions[0].bufferOffset = (*bufferOffsetsOut)[0];
@@ -4012,7 +4283,7 @@ angle::Result ImageHelper::copyImageDataToBuffer(ContextVk *contextVk,
regions[0].imageSubresource.aspectMask = aspectFlags;
regions[0].imageSubresource.baseArrayLayer = baseLayer;
regions[0].imageSubresource.layerCount = layerCount;
- regions[0].imageSubresource.mipLevel = static_cast<uint32_t>(sourceLevel);
+ regions[0].imageSubresource.mipLevel = sourceLevelVk;
if (isCombinedDepthStencilFormat())
{
@@ -4043,7 +4314,7 @@ angle::Result ImageHelper::copyImageDataToBuffer(ContextVk *contextVk,
regions[1].imageSubresource.aspectMask = VK_IMAGE_ASPECT_STENCIL_BIT;
regions[1].imageSubresource.baseArrayLayer = baseLayer;
regions[1].imageSubresource.layerCount = layerCount;
- regions[1].imageSubresource.mipLevel = static_cast<uint32_t>(sourceLevel);
+ regions[1].imageSubresource.mipLevel = sourceLevelVk;
commandBuffer->copyImageToBuffer(mImage, getCurrentLayout(),
(*bufferOut)->getBuffer().getHandle(), 1, &regions[1]);
}
@@ -4087,7 +4358,7 @@ angle::Result ImageHelper::GetReadPixelsParams(ContextVk *contextVk,
angle::Result ImageHelper::readPixelsForGetImage(ContextVk *contextVk,
const gl::PixelPackState &packState,
gl::Buffer *packBuffer,
- uint32_t level,
+ uint32_t levelGL,
uint32_t layer,
GLenum format,
GLenum type,
@@ -4105,11 +4376,16 @@ angle::Result ImageHelper::readPixelsForGetImage(ContextVk *contextVk,
{
if (angleFormat.depthBits > 0)
{
+ if (angleFormat.stencilBits != 0)
+ {
+ // TODO (anglebug.com/4688) Support combined depth stencil for GetTexImage
+ WARN() << "Unable to pull combined depth/stencil for GetTexImage";
+ return angle::Result::Continue;
+ }
aspectFlags = VK_IMAGE_ASPECT_DEPTH_BIT;
}
if (angleFormat.stencilBits > 0)
{
- ASSERT(angleFormat.depthBits == 0);
aspectFlags = VK_IMAGE_ASPECT_STENCIL_BIT;
}
}
@@ -4119,9 +4395,10 @@ angle::Result ImageHelper::readPixelsForGetImage(ContextVk *contextVk,
PackPixelsParams params;
GLuint outputSkipBytes = 0;
- uint32_t width = std::max(1u, mExtents.width >> level);
- uint32_t height = std::max(1u, mExtents.height >> level);
- uint32_t depth = std::max(1u, mExtents.depth >> level);
+ const uint32_t levelVK = levelGL - mBaseLevel;
+ const uint32_t width = std::max(1u, mExtents.width >> levelVK);
+ const uint32_t height = std::max(1u, mExtents.height >> levelVK);
+ const uint32_t depth = std::max(1u, mExtents.depth >> levelVK);
gl::Rectangle area(0, 0, width, height);
ANGLE_TRY(GetReadPixelsParams(contextVk, packState, packBuffer, format, type, area, area,
@@ -4137,7 +4414,7 @@ angle::Result ImageHelper::readPixelsForGetImage(ContextVk *contextVk,
// Depth > 1 means this is a 3D texture and we need to copy all layers
for (layer = 0; layer < depth; layer++)
{
- ANGLE_TRY(readPixels(contextVk, area, params, aspectFlags, level, layer,
+ ANGLE_TRY(readPixels(contextVk, area, params, aspectFlags, levelGL, layer,
static_cast<uint8_t *>(pixels) + outputSkipBytes,
&stagingBuffer.get()));
@@ -4146,7 +4423,7 @@ angle::Result ImageHelper::readPixelsForGetImage(ContextVk *contextVk,
}
else
{
- ANGLE_TRY(readPixels(contextVk, area, params, aspectFlags, level, layer,
+ ANGLE_TRY(readPixels(contextVk, area, params, aspectFlags, levelGL, layer,
static_cast<uint8_t *>(pixels) + outputSkipBytes,
&stagingBuffer.get()));
}
@@ -4158,7 +4435,7 @@ angle::Result ImageHelper::readPixels(ContextVk *contextVk,
const gl::Rectangle &area,
const PackPixelsParams &packPixelsParams,
VkImageAspectFlagBits copyAspectFlags,
- uint32_t level,
+ uint32_t levelGL,
uint32_t layer,
void *pixels,
DynamicBuffer *stagingBuffer)
@@ -4174,7 +4451,7 @@ angle::Result ImageHelper::readPixels(ContextVk *contextVk,
ImageHelper *src = this;
- ASSERT(!isUpdateStaged(level, layer));
+ ASSERT(!isUpdateStaged(levelGL, layer));
if (isMultisampled)
{
@@ -4207,7 +4484,7 @@ angle::Result ImageHelper::readPixels(ContextVk *contextVk,
VkImageSubresourceLayers srcSubresource = {};
srcSubresource.aspectMask = copyAspectFlags;
- srcSubresource.mipLevel = level;
+ srcSubresource.mipLevel = levelGL - mBaseLevel;
srcSubresource.baseArrayLayer = layer;
srcSubresource.layerCount = 1;
@@ -4246,8 +4523,6 @@ angle::Result ImageHelper::readPixels(ContextVk *contextVk,
// Make the resolved image the target of buffer copy.
src = &resolvedImage.get();
- level = 0;
- layer = 0;
srcOffset = {0, 0, 0};
srcSubresource.baseArrayLayer = 0;
srcSubresource.layerCount = 1;
@@ -4356,15 +4631,15 @@ void ImageHelper::SubresourceUpdate::release(RendererVk *renderer)
}
bool ImageHelper::SubresourceUpdate::isUpdateToLayerLevel(uint32_t layerIndex,
- uint32_t levelIndex) const
+ uint32_t levelIndexGL) const
{
if (updateSource == UpdateSource::Clear)
{
- return clear.levelIndex == levelIndex && clear.layerIndex == layerIndex;
+ return clear.levelIndex == levelIndexGL && clear.layerIndex == layerIndex;
}
const VkImageSubresourceLayers &dst = dstSubresource();
- return dst.baseArrayLayer == layerIndex && dst.mipLevel == levelIndex;
+ return dst.baseArrayLayer == layerIndex && dst.mipLevel == levelIndexGL;
}
void ImageHelper::appendSubresourceUpdate(SubresourceUpdate &&update)
@@ -4408,18 +4683,25 @@ void FramebufferHelper::release(ContextVk *contextVk)
}
// ImageViewHelper implementation.
-ImageViewHelper::ImageViewHelper()
+ImageViewHelper::ImageViewHelper() : mLinearColorspace(true)
{
mUse.init();
}
ImageViewHelper::ImageViewHelper(ImageViewHelper &&other)
{
- std::swap(mReadImageView, other.mReadImageView);
- std::swap(mFetchImageView, other.mFetchImageView);
+ std::swap(mLinearReadImageView, other.mLinearReadImageView);
+ std::swap(mNonLinearReadImageView, other.mNonLinearReadImageView);
+ std::swap(mLinearFetchImageView, other.mLinearFetchImageView);
+ std::swap(mNonLinearFetchImageView, other.mNonLinearFetchImageView);
+ std::swap(mLinearCopyImageView, other.mLinearCopyImageView);
+ std::swap(mNonLinearCopyImageView, other.mNonLinearCopyImageView);
+ std::swap(mLinearColorspace, other.mLinearColorspace);
+
std::swap(mStencilReadImageView, other.mStencilReadImageView);
std::swap(mLevelDrawImageViews, other.mLevelDrawImageViews);
std::swap(mLayerLevelDrawImageViews, other.mLayerLevelDrawImageViews);
+ std::swap(mSerialCache, other.mSerialCache);
}
ImageViewHelper::~ImageViewHelper()
@@ -4431,13 +4713,29 @@ void ImageViewHelper::release(RendererVk *renderer)
{
std::vector<GarbageObject> garbage;
- if (mReadImageView.valid())
+ if (mLinearReadImageView.valid())
+ {
+ garbage.emplace_back(GetGarbage(&mLinearReadImageView));
+ }
+ if (mNonLinearReadImageView.valid())
{
- garbage.emplace_back(GetGarbage(&mReadImageView));
+ garbage.emplace_back(GetGarbage(&mNonLinearReadImageView));
}
- if (mFetchImageView.valid())
+ if (mLinearFetchImageView.valid())
{
- garbage.emplace_back(GetGarbage(&mFetchImageView));
+ garbage.emplace_back(GetGarbage(&mLinearFetchImageView));
+ }
+ if (mNonLinearFetchImageView.valid())
+ {
+ garbage.emplace_back(GetGarbage(&mNonLinearFetchImageView));
+ }
+ if (mLinearCopyImageView.valid())
+ {
+ garbage.emplace_back(GetGarbage(&mLinearCopyImageView));
+ }
+ if (mNonLinearCopyImageView.valid())
+ {
+ garbage.emplace_back(GetGarbage(&mNonLinearCopyImageView));
}
if (mStencilReadImageView.valid())
{
@@ -4472,12 +4770,18 @@ void ImageViewHelper::release(RendererVk *renderer)
// Ensure the resource use is always valid.
mUse.init();
}
+
+ mSerialCache.clear();
}
void ImageViewHelper::destroy(VkDevice device)
{
- mReadImageView.destroy(device);
- mFetchImageView.destroy(device);
+ mLinearReadImageView.destroy(device);
+ mNonLinearReadImageView.destroy(device);
+ mLinearFetchImageView.destroy(device);
+ mNonLinearFetchImageView.destroy(device);
+ mLinearCopyImageView.destroy(device);
+ mNonLinearCopyImageView.destroy(device);
mStencilReadImageView.destroy(device);
for (ImageView &imageView : mLevelDrawImageViews)
@@ -4494,46 +4798,128 @@ void ImageViewHelper::destroy(VkDevice device)
}
}
mLayerLevelDrawImageViews.clear();
+
+ mSerialCache.clear();
}
angle::Result ImageViewHelper::initReadViews(ContextVk *contextVk,
gl::TextureType viewType,
const ImageHelper &image,
const Format &format,
- const gl::SwizzleState &swizzleState,
+ const gl::SwizzleState &formatSwizzle,
+ const gl::SwizzleState &readSwizzle,
uint32_t baseLevel,
uint32_t levelCount,
uint32_t baseLayer,
uint32_t layerCount)
{
const VkImageAspectFlags aspectFlags = GetFormatAspectFlags(format.intendedFormat());
+ mLinearColorspace = IsLinearFormat(format.vkImageFormat);
+
if (HasBothDepthAndStencilAspects(aspectFlags))
{
ANGLE_TRY(image.initLayerImageView(contextVk, viewType, VK_IMAGE_ASPECT_DEPTH_BIT,
- swizzleState, &mReadImageView, baseLevel, levelCount,
+ readSwizzle, &getReadImageView(), baseLevel, levelCount,
baseLayer, layerCount));
ANGLE_TRY(image.initLayerImageView(contextVk, viewType, VK_IMAGE_ASPECT_STENCIL_BIT,
- swizzleState, &mStencilReadImageView, baseLevel,
+ readSwizzle, &mStencilReadImageView, baseLevel,
levelCount, baseLayer, layerCount));
}
else
{
- ANGLE_TRY(image.initLayerImageView(contextVk, viewType, aspectFlags, swizzleState,
- &mReadImageView, baseLevel, levelCount, baseLayer,
+ ANGLE_TRY(image.initLayerImageView(contextVk, viewType, aspectFlags, readSwizzle,
+ &getReadImageView(), baseLevel, levelCount, baseLayer,
layerCount));
}
+ gl::TextureType fetchType = viewType;
+
if (viewType == gl::TextureType::CubeMap || viewType == gl::TextureType::_2DArray ||
viewType == gl::TextureType::_2DMultisampleArray)
{
- gl::TextureType arrayType = Get2DTextureType(layerCount, image.getSamples());
+ fetchType = Get2DTextureType(layerCount, image.getSamples());
- // TODO(http://anglebug.com/4004): SwizzleState incorrect for CopyTextureCHROMIUM.
- ANGLE_TRY(image.initLayerImageView(contextVk, arrayType, aspectFlags, swizzleState,
- &mFetchImageView, baseLevel, levelCount, baseLayer,
+ ANGLE_TRY(image.initLayerImageView(contextVk, fetchType, aspectFlags, readSwizzle,
+ &getFetchImageView(), baseLevel, levelCount, baseLayer,
layerCount));
}
+ ANGLE_TRY(image.initLayerImageView(contextVk, fetchType, aspectFlags, formatSwizzle,
+ &getCopyImageView(), baseLevel, levelCount, baseLayer,
+ layerCount));
+
+ return angle::Result::Continue;
+}
+
+angle::Result ImageViewHelper::initSRGBReadViews(ContextVk *contextVk,
+ gl::TextureType viewType,
+ const ImageHelper &image,
+ const Format &format,
+ const gl::SwizzleState &formatSwizzle,
+ const gl::SwizzleState &readSwizzle,
+ uint32_t baseLevel,
+ uint32_t levelCount,
+ uint32_t baseLayer,
+ uint32_t layerCount,
+ VkImageUsageFlags imageUsageFlags)
+{
+ VkFormat nonLinearOverrideFormat = ConvertToNonLinear(image.getFormat().vkImageFormat);
+ VkFormat linearOverrideFormat = ConvertToLinear(image.getFormat().vkImageFormat);
+ VkFormat linearFormat =
+ (linearOverrideFormat != VK_FORMAT_UNDEFINED) ? linearOverrideFormat : format.vkImageFormat;
+ ASSERT(linearFormat != VK_FORMAT_UNDEFINED);
+
+ const VkImageAspectFlags aspectFlags = GetFormatAspectFlags(format.intendedFormat());
+
+ if (!mLinearReadImageView.valid())
+ {
+ ANGLE_TRY(image.initAliasedLayerImageView(
+ contextVk, viewType, aspectFlags, readSwizzle, &mLinearReadImageView, baseLevel,
+ levelCount, baseLayer, layerCount, imageUsageFlags, linearFormat));
+ }
+ if (nonLinearOverrideFormat != VK_FORMAT_UNDEFINED && !mNonLinearReadImageView.valid())
+ {
+ ANGLE_TRY(image.initAliasedLayerImageView(
+ contextVk, viewType, aspectFlags, readSwizzle, &mNonLinearReadImageView, baseLevel,
+ levelCount, baseLayer, layerCount, imageUsageFlags, nonLinearOverrideFormat));
+ }
+
+ gl::TextureType fetchType = viewType;
+
+ if (viewType == gl::TextureType::CubeMap || viewType == gl::TextureType::_2DArray ||
+ viewType == gl::TextureType::_2DMultisampleArray)
+ {
+ fetchType = Get2DTextureType(layerCount, image.getSamples());
+
+ if (!mLinearFetchImageView.valid())
+ {
+
+ ANGLE_TRY(image.initAliasedLayerImageView(
+ contextVk, fetchType, aspectFlags, readSwizzle, &mLinearFetchImageView, baseLevel,
+ levelCount, baseLayer, layerCount, imageUsageFlags, linearFormat));
+ }
+ if (nonLinearOverrideFormat != VK_FORMAT_UNDEFINED && !mNonLinearFetchImageView.valid())
+ {
+ ANGLE_TRY(image.initAliasedLayerImageView(contextVk, fetchType, aspectFlags,
+ readSwizzle, &mNonLinearFetchImageView,
+ baseLevel, levelCount, baseLayer, layerCount,
+ imageUsageFlags, nonLinearOverrideFormat));
+ }
+ }
+
+ if (!mLinearCopyImageView.valid())
+ {
+ ANGLE_TRY(image.initAliasedLayerImageView(
+ contextVk, fetchType, aspectFlags, formatSwizzle, &mLinearCopyImageView, baseLevel,
+ levelCount, baseLayer, layerCount, imageUsageFlags, linearFormat));
+ }
+ if (nonLinearOverrideFormat != VK_FORMAT_UNDEFINED && !mNonLinearCopyImageView.valid())
+ {
+ ANGLE_TRY(image.initAliasedLayerImageView(
+ contextVk, fetchType, aspectFlags, formatSwizzle, &mNonLinearCopyImageView, baseLevel,
+ levelCount, baseLayer, layerCount, imageUsageFlags, nonLinearOverrideFormat));
+ }
+
return angle::Result::Continue;
}
@@ -4542,6 +4928,8 @@ angle::Result ImageViewHelper::getLevelDrawImageView(ContextVk *contextVk,
const ImageHelper &image,
uint32_t level,
uint32_t layer,
+ VkImageUsageFlags imageUsageFlags,
+ VkFormat vkImageFormat,
const ImageView **imageViewOut)
{
retain(&contextVk->getResourceUseList());
@@ -4555,8 +4943,9 @@ angle::Result ImageViewHelper::getLevelDrawImageView(ContextVk *contextVk,
}
// Create the view. Note that storage images are not affected by swizzle parameters.
- return image.initLayerImageView(contextVk, viewType, image.getAspectFlags(), gl::SwizzleState(),
- imageView, level, 1, layer, image.getLayerCount());
+ return image.initAliasedLayerImageView(contextVk, viewType, image.getAspectFlags(),
+ gl::SwizzleState(), imageView, level, 1, layer,
+ image.getLayerCount(), imageUsageFlags, vkImageFormat);
}
angle::Result ImageViewHelper::getLevelLayerDrawImageView(ContextVk *contextVk,
@@ -4596,6 +4985,16 @@ angle::Result ImageViewHelper::getLevelLayerDrawImageView(ContextVk *contextVk,
imageView, level, 1, layer, 1);
}
+Serial ImageViewHelper::getAssignSerial(ContextVk *contextVk, uint32_t level, uint32_t layer)
+{
+ LayerLevel layerLevelPair = {layer, level};
+ if (mSerialCache.find(layerLevelPair) == mSerialCache.end())
+ {
+ mSerialCache[layerLevelPair] = contextVk->generateAttachmentImageViewSerial();
+ }
+ return mSerialCache[layerLevelPair];
+}
+
// SamplerHelper implementation.
SamplerHelper::SamplerHelper()
{
@@ -4620,11 +5019,6 @@ angle::Result SamplerHelper::init(Context *context, const VkSamplerCreateInfo &c
return angle::Result::Continue;
}
-// DispatchHelper implementation.
-DispatchHelper::DispatchHelper() = default;
-
-DispatchHelper::~DispatchHelper() = default;
-
// ShaderProgramHelper implementation.
ShaderProgramHelper::ShaderProgramHelper() = default;
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.h
index a25e29773cf..49346382e43 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.h
@@ -36,6 +36,8 @@ constexpr VkBufferUsageFlags kStagingBufferFlags =
VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT;
constexpr size_t kStagingBufferSize = 1024 * 16;
+constexpr VkImageCreateFlags kVkImageCreateFlagsNone = 0;
+
using StagingBufferOffsetArray = std::array<VkDeviceSize, 2>;
struct TextureUnit final
@@ -105,7 +107,11 @@ class DynamicBuffer : angle::NonCopyable
BufferHelper *getCurrentBuffer() { return mBuffer; }
- void updateAlignment(RendererVk *renderer, size_t alignment);
+ // **Accumulate** an alignment requirement. A dynamic buffer is used as the staging buffer for
+ // image uploads, which can contain updates to unrelated mips, possibly with different formats.
+ // The staging buffer should have an alignment that can satisfy all those formats, i.e. it's the
+ // lcm of all alignments set in its lifetime.
+ void requireAlignment(RendererVk *renderer, size_t alignment);
// For testing only!
void setMinimumSizeForTesting(size_t minSize);
@@ -598,7 +604,7 @@ class PipelineBarrier : angle::NonCopyable
bool isEmpty() const { return mImageMemoryBarriers.empty() && mMemoryBarrierSrcAccess == 0; }
- void writeCommand(PrimaryCommandBuffer *primary)
+ void execute(PrimaryCommandBuffer *primary)
{
if (isEmpty())
{
@@ -683,7 +689,7 @@ class BufferHelper final : public Resource
BufferHelper();
~BufferHelper() override;
- angle::Result init(ContextVk *contextVk,
+ angle::Result init(Context *context,
const VkBufferCreateInfo &createInfo,
VkMemoryPropertyFlags memoryPropertyFlags);
void destroy(RendererVk *renderer);
@@ -714,7 +720,8 @@ class BufferHelper final : public Resource
// Also implicitly sets up the correct barriers.
angle::Result copyFromBuffer(ContextVk *contextVk,
BufferHelper *srcBuffer,
- const VkBufferCopy &copyRegion);
+ uint32_t regionCount,
+ const VkBufferCopy *copyRegions);
// Note: currently only one view is allowed. If needs be, multiple views can be created
// based on format.
@@ -772,6 +779,9 @@ class BufferHelper final : public Resource
uint32_t externalQueueFamilyIndex,
CommandBuffer *commandBuffer);
+ // Returns true if the image is owned by an external API or instance.
+ bool isReleasedToExternal() const;
+
// Currently always returns false. Should be smarter about accumulation.
bool canAccumulateRead(ContextVk *contextVk, VkAccessFlags readAccessType);
bool canAccumulateWrite(ContextVk *contextVk, VkAccessFlags writeAccessType);
@@ -818,11 +828,11 @@ class BufferHelper final : public Resource
struct CommandBufferHelper : angle::NonCopyable
{
public:
- CommandBufferHelper(bool canHaveRenderPass);
+ CommandBufferHelper();
~CommandBufferHelper();
// General Functions (non-renderPass specific)
- void initialize(angle::PoolAllocator *poolAllocator);
+ void initialize(bool isRenderPassCommandBuffer, bool mergeBarriers);
void bufferRead(vk::ResourceUseList *resourceUseList,
VkAccessFlags readAccessType,
@@ -850,8 +860,9 @@ struct CommandBufferHelper : angle::NonCopyable
void executeBarriers(vk::PrimaryCommandBuffer *primary);
bool empty() const { return (!mCommandBuffer.empty() || mRenderPassStarted) ? false : true; }
-
+ void setHasRenderPass(bool hasRenderPass) { mIsRenderPassCommandBuffer = hasRenderPass; }
void reset();
+ void releaseToContextQueue(ContextVk *contextVk);
// RenderPass related functions
bool started() const
@@ -869,7 +880,9 @@ struct CommandBufferHelper : angle::NonCopyable
void beginTransformFeedback(size_t validBufferCount,
const VkBuffer *counterBuffers,
- bool rebindBuffer);
+ bool rebindBuffers);
+
+ void endTransformFeedback();
void invalidateRenderPassColorAttachment(size_t attachmentIndex)
{
@@ -924,6 +937,9 @@ struct CommandBufferHelper : angle::NonCopyable
private:
void addCommandDiagnostics(ContextVk *contextVk);
+ // Allocator used by this class. Using a pool allocator per CBH to avoid threading issues
+ // that occur w/ shared allocator between multiple CBHs.
+ angle::PoolAllocator mAllocator;
// General state (non-renderPass related)
PipelineBarrierArray mPipelineBarriers;
@@ -944,7 +960,8 @@ struct CommandBufferHelper : angle::NonCopyable
uint32_t mValidTransformFeedbackBufferCount;
bool mRebindTransformFeedbackBuffers;
- const bool mIsRenderPassCommandBuffer;
+ bool mIsRenderPassCommandBuffer;
+ bool mMergeBarriers;
};
// Imagine an image going through a few layout transitions:
@@ -1013,7 +1030,7 @@ class ImageHelper final : public Resource, public angle::Subject
~ImageHelper() override;
void initStagingBuffer(RendererVk *renderer,
- const Format &format,
+ size_t imageCopyBufferAlignment,
VkBufferUsageFlags usageFlags,
size_t initialSize);
@@ -1033,6 +1050,7 @@ class ImageHelper final : public Resource, public angle::Subject
const Format &format,
GLint samples,
VkImageUsageFlags usage,
+ VkImageCreateFlags additionalCreateFlags,
ImageLayout initialLayout,
const void *externalImageCreateInfo,
uint32_t baseLevel,
@@ -1057,6 +1075,17 @@ class ImageHelper final : public Resource, public angle::Subject
uint32_t levelCount,
uint32_t baseArrayLayer,
uint32_t layerCount) const;
+ angle::Result initAliasedLayerImageView(Context *context,
+ gl::TextureType textureType,
+ VkImageAspectFlags aspectMask,
+ const gl::SwizzleState &swizzleMap,
+ ImageView *imageViewOut,
+ uint32_t baseMipLevel,
+ uint32_t levelCount,
+ uint32_t baseArrayLayer,
+ uint32_t layerCount,
+ VkImageUsageFlags imageUsageFlags,
+ VkFormat imageViewFormat) const;
angle::Result initImageView(Context *context,
gl::TextureType textureType,
VkImageAspectFlags aspectMask,
@@ -1097,6 +1126,8 @@ class ImageHelper final : public Resource, public angle::Subject
const Image &getImage() const { return mImage; }
const DeviceMemory &getDeviceMemory() const { return mDeviceMemory; }
+ void setTilingMode(VkImageTiling tilingMode) { mTilingMode = tilingMode; }
+ VkImageTiling getTilingMode() { return mTilingMode; }
VkImageType getType() const { return mImageType; }
const VkExtent3D &getExtents() const { return mExtents; }
uint32_t getLayerCount() const { return mLayerCount; }
@@ -1108,6 +1139,7 @@ class ImageHelper final : public Resource, public angle::Subject
ImageLayout getCurrentImageLayout() const { return mCurrentLayout; }
VkImageLayout getCurrentLayout() const;
+ gl::Extents getLevelExtents(uint32_t level) const;
// Helper function to calculate the extents of a render target created for a certain mip of the
// image.
gl::Extents getLevelExtents2D(uint32_t level) const;
@@ -1120,10 +1152,6 @@ class ImageHelper final : public Resource, public angle::Subject
uint32_t layerCount,
CommandBuffer *commandBuffer);
- gl::Extents getSize(const gl::ImageIndex &index) const;
-
- // Return unique Serial for underlying image, first assigning it if it hasn't been set yet
- Serial getAssignSerial(ContextVk *contextVk);
void resetSerial() { mSerial = rx::kZeroSerial; }
static void Copy(ImageHelper *srcImage,
@@ -1142,7 +1170,10 @@ class ImageHelper final : public Resource, public angle::Subject
void resolve(ImageHelper *dest, const VkImageResolve &region, CommandBuffer *commandBuffer);
// Data staging
- void removeStagedUpdates(ContextVk *contextVk, uint32_t levelIndex, uint32_t layerIndex);
+ void removeSingleSubresourceStagedUpdates(ContextVk *contextVk,
+ uint32_t levelIndexGL,
+ uint32_t layerIndex);
+ void removeStagedUpdates(ContextVk *contextVk, uint32_t levelGLStart, uint32_t levelGLEnd);
angle::Result stageSubresourceUpdateImpl(ContextVk *contextVk,
const gl::ImageIndex &index,
@@ -1176,7 +1207,7 @@ class ImageHelper final : public Resource, public angle::Subject
angle::Result stageSubresourceUpdateFromBuffer(ContextVk *contextVk,
size_t allocationSize,
- uint32_t mipLevel,
+ uint32_t mipLevelGL,
uint32_t baseArrayLayer,
uint32_t layerCount,
uint32_t bufferRowLength,
@@ -1224,7 +1255,7 @@ class ImageHelper final : public Resource, public angle::Subject
// Flush staged updates for a single subresource. Can optionally take a parameter to defer
// clears to a subsequent RenderPass load op.
angle::Result flushSingleSubresourceStagedUpdates(ContextVk *contextVk,
- uint32_t level,
+ uint32_t levelGL,
uint32_t layer,
CommandBuffer *commandBuffer,
ClearValuesArray *deferredClears,
@@ -1238,6 +1269,7 @@ class ImageHelper final : public Resource, public angle::Subject
uint32_t levelEnd,
uint32_t layerStart,
uint32_t layerEnd,
+ gl::TexLevelMask skipLevelsMask,
CommandBuffer *commandBuffer);
// Creates a command buffer and flushes all staged updates. This is used for one-time
@@ -1245,7 +1277,7 @@ class ImageHelper final : public Resource, public angle::Subject
// as with renderbuffers or surface images.
angle::Result flushAllStagedUpdates(ContextVk *contextVk);
- bool isUpdateStaged(uint32_t level, uint32_t layer);
+ bool isUpdateStaged(uint32_t levelGL, uint32_t layer);
bool hasStagedUpdates() const { return !mSubresourceUpdates.empty(); }
// changeLayout automatically skips the layout change if it's unnecessary. This function can be
@@ -1276,7 +1308,8 @@ class ImageHelper final : public Resource, public angle::Subject
uint32_t newQueueFamilyIndex,
CommandBuffer *commandBuffer);
- void updateLayoutAndBarrier(VkImageAspectFlags aspectMask,
+ // Returns true if barrier has been generated
+ bool updateLayoutAndBarrier(VkImageAspectFlags aspectMask,
ImageLayout newLayout,
PipelineBarrier *barrier);
@@ -1294,15 +1327,14 @@ class ImageHelper final : public Resource, public angle::Subject
ImageLayout desiredLayout,
CommandBuffer *commandBuffer);
- // If the image is used externally to GL, its layout could be different from ANGLE's internal
- // state. This function is used to inform ImageHelper of an external layout change.
- void onExternalLayoutChange(ImageLayout newLayout);
+ // Returns true if the image is owned by an external API or instance.
+ bool isReleasedToExternal() const;
- uint32_t getBaseLevel();
+ uint32_t getBaseLevel() const { return mBaseLevel; }
void setBaseAndMaxLevels(uint32_t baseLevel, uint32_t maxLevel);
angle::Result copyImageDataToBuffer(ContextVk *contextVk,
- size_t sourceLevel,
+ size_t sourceLevelGL,
uint32_t layerCount,
uint32_t baseLayer,
const gl::Box &sourceArea,
@@ -1324,7 +1356,7 @@ class ImageHelper final : public Resource, public angle::Subject
angle::Result readPixelsForGetImage(ContextVk *contextVk,
const gl::PixelPackState &packState,
gl::Buffer *packBuffer,
- uint32_t level,
+ uint32_t levelGL,
uint32_t layer,
GLenum format,
GLenum type,
@@ -1334,7 +1366,7 @@ class ImageHelper final : public Resource, public angle::Subject
const gl::Rectangle &area,
const PackPixelsParams &packPixelsParams,
VkImageAspectFlagBits copyAspectFlags,
- uint32_t level,
+ uint32_t levelGL,
uint32_t layer,
void *pixels,
DynamicBuffer *stagingBuffer);
@@ -1389,11 +1421,12 @@ class ImageHelper final : public Resource, public angle::Subject
const VkImageSubresourceLayers &dstSubresource() const
{
+ // Note: destination mip level includes base level.
ASSERT(updateSource == UpdateSource::Buffer || updateSource == UpdateSource::Image);
return updateSource == UpdateSource::Buffer ? buffer.copyRegion.imageSubresource
: image.copyRegion.dstSubresource;
}
- bool isUpdateToLayerLevel(uint32_t layerIndex, uint32_t levelIndex) const;
+ bool isUpdateToLayerLevel(uint32_t layerIndex, uint32_t levelIndexGL) const;
UpdateSource updateSource;
union
@@ -1441,12 +1474,26 @@ class ImageHelper final : public Resource, public angle::Subject
void prependSubresourceUpdate(SubresourceUpdate &&update);
void resetCachedProperties();
+ angle::Result initLayerImageViewImpl(
+ Context *context,
+ gl::TextureType textureType,
+ VkImageAspectFlags aspectMask,
+ const gl::SwizzleState &swizzleMap,
+ ImageView *imageViewOut,
+ uint32_t baseMipLevel,
+ uint32_t levelCount,
+ uint32_t baseArrayLayer,
+ uint32_t layerCount,
+ VkFormat imageFormat,
+ const VkImageViewUsageCreateInfo *imageViewUsageCreateInfo) const;
+
// Vulkan objects.
Image mImage;
DeviceMemory mDeviceMemory;
// Image properties.
VkImageType mImageType;
+ VkImageTiling mTilingMode;
VkExtent3D mExtents;
const Format *mFormat;
GLint mSamples;
@@ -1455,6 +1502,9 @@ class ImageHelper final : public Resource, public angle::Subject
// Current state.
ImageLayout mCurrentLayout;
uint32_t mCurrentQueueFamilyIndex;
+ // For optimizing transition between different shader readonly layouts
+ ImageLayout mLastNonShaderReadOnlyLayout;
+ VkPipelineStageFlags mCurrentShaderReadStageMask;
// Cached properties.
uint32_t mBaseLevel;
@@ -1483,14 +1533,33 @@ class ImageViewHelper : angle::NonCopyable
void release(RendererVk *renderer);
void destroy(VkDevice device);
- const ImageView &getReadImageView() const { return mReadImageView; }
- const ImageView &getFetchImageView() const { return mFetchImageView; }
+ const ImageView &getLinearReadImageView() const { return mLinearReadImageView; }
+ const ImageView &getNonLinearReadImageView() const { return mNonLinearReadImageView; }
+ const ImageView &getLinearFetchImageView() const { return mLinearFetchImageView; }
+ const ImageView &getNonLinearFetchImageView() const { return mNonLinearFetchImageView; }
+ const ImageView &getLinearCopyImageView() const { return mLinearCopyImageView; }
+ const ImageView &getNonLinearCopyImageView() const { return mNonLinearCopyImageView; }
const ImageView &getStencilReadImageView() const { return mStencilReadImageView; }
+ const ImageView &getReadImageView() const
+ {
+ return mLinearColorspace ? mLinearReadImageView : mNonLinearReadImageView;
+ }
+
+ const ImageView &getFetchImageView() const
+ {
+ return mLinearColorspace ? mLinearFetchImageView : mNonLinearFetchImageView;
+ }
+
+ const ImageView &getCopyImageView() const
+ {
+ return mLinearColorspace ? mLinearCopyImageView : mNonLinearCopyImageView;
+ }
+
// Used when initialized RenderTargets.
bool hasStencilReadImageView() const { return mStencilReadImageView.valid(); }
- bool hasFetchImageView() const { return mFetchImageView.valid(); }
+ bool hasFetchImageView() const { return getFetchImageView().valid(); }
// Store reference to usage in graph.
void retain(ResourceUseList *resourceUseList) const { resourceUseList->add(mUse); }
@@ -1500,18 +1569,34 @@ class ImageViewHelper : angle::NonCopyable
gl::TextureType viewType,
const ImageHelper &image,
const Format &format,
- const gl::SwizzleState &swizzleState,
+ const gl::SwizzleState &formatSwizzle,
+ const gl::SwizzleState &readSwizzle,
uint32_t baseLevel,
uint32_t levelCount,
uint32_t baseLayer,
uint32_t layerCount);
+ // Create SRGB-reinterpreted read views
+ angle::Result initSRGBReadViews(ContextVk *contextVk,
+ gl::TextureType viewType,
+ const ImageHelper &image,
+ const Format &format,
+ const gl::SwizzleState &formatSwizzle,
+ const gl::SwizzleState &readSwizzle,
+ uint32_t baseLevel,
+ uint32_t levelCount,
+ uint32_t baseLayer,
+ uint32_t layerCount,
+ VkImageUsageFlags imageUsageFlags);
+
// Creates a view with all layers of the level.
angle::Result getLevelDrawImageView(ContextVk *contextVk,
gl::TextureType viewType,
const ImageHelper &image,
uint32_t level,
uint32_t layer,
+ VkImageUsageFlags imageUsageFlags,
+ VkFormat vkImageFormat,
const ImageView **imageViewOut);
// Creates a view with a single layer of the level.
@@ -1521,18 +1606,43 @@ class ImageViewHelper : angle::NonCopyable
uint32_t layer,
const ImageView **imageViewOut);
+ // Return unique Serial for this imageView, first assigning it if it hasn't yet been set
+ Serial getAssignSerial(ContextVk *contextVk, uint32_t level, uint32_t layer);
+
private:
+ ImageView &getReadImageView()
+ {
+ return mLinearColorspace ? mLinearReadImageView : mNonLinearReadImageView;
+ }
+ ImageView &getFetchImageView()
+ {
+ return mLinearColorspace ? mLinearFetchImageView : mNonLinearFetchImageView;
+ }
+ ImageView &getCopyImageView()
+ {
+ return mLinearColorspace ? mLinearCopyImageView : mNonLinearCopyImageView;
+ }
+
// Lifetime.
SharedResourceUse mUse;
- // Read views.
- ImageView mReadImageView;
- ImageView mFetchImageView;
+ // Read views
+ ImageView mLinearReadImageView;
+ ImageView mNonLinearReadImageView;
+ ImageView mLinearFetchImageView;
+ ImageView mNonLinearFetchImageView;
+ ImageView mLinearCopyImageView;
+ ImageView mNonLinearCopyImageView;
ImageView mStencilReadImageView;
+ bool mLinearColorspace;
+
// Draw views.
ImageViewVector mLevelDrawImageViews;
LayerLevelImageViewVector mLayerLevelDrawImageViews;
+
+ // Store Serials per layer/level of imageView
+ std::unordered_map<LayerLevel, Serial> mSerialCache;
};
// The SamplerHelper allows a Sampler to be coupled with a resource lifetime.
@@ -1586,15 +1696,6 @@ class FramebufferHelper : public Resource
Framebuffer mFramebuffer;
};
-// A special command graph resource to hold resource dependencies for dispatch calls. It's the
-// equivalent of FramebufferHelper, though it doesn't contain a Vulkan object.
-class DispatchHelper : public Resource
-{
- public:
- DispatchHelper();
- ~DispatchHelper() override;
-};
-
class ShaderProgramHelper : angle::NonCopyable
{
public:
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp
index e8d48b8af8c..6f87d6f034a 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp
@@ -72,15 +72,6 @@ namespace
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000010.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc"
@@ -109,21 +100,30 @@ namespace
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000C.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000D.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc"
-#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000016.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000019.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000025.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000026.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc"
+#include "libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000000.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000001.inc"
#include "libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000002.inc"
@@ -212,15 +212,6 @@ constexpr ShaderBlob kConvertVertex_comp_shaders[] = {
{kConvertVertex_comp_00000005, sizeof(kConvertVertex_comp_00000005)},
{kConvertVertex_comp_00000006, sizeof(kConvertVertex_comp_00000006)},
{kConvertVertex_comp_00000007, sizeof(kConvertVertex_comp_00000007)},
- {kConvertVertex_comp_00000008, sizeof(kConvertVertex_comp_00000008)},
- {kConvertVertex_comp_00000009, sizeof(kConvertVertex_comp_00000009)},
- {kConvertVertex_comp_0000000A, sizeof(kConvertVertex_comp_0000000A)},
- {kConvertVertex_comp_0000000B, sizeof(kConvertVertex_comp_0000000B)},
- {kConvertVertex_comp_0000000C, sizeof(kConvertVertex_comp_0000000C)},
- {kConvertVertex_comp_0000000D, sizeof(kConvertVertex_comp_0000000D)},
- {kConvertVertex_comp_0000000E, sizeof(kConvertVertex_comp_0000000E)},
- {kConvertVertex_comp_0000000F, sizeof(kConvertVertex_comp_0000000F)},
- {kConvertVertex_comp_00000010, sizeof(kConvertVertex_comp_00000010)},
};
constexpr ShaderBlob kFullScreenQuad_vert_shaders[] = {
{kFullScreenQuad_vert_00000000, sizeof(kFullScreenQuad_vert_00000000)},
@@ -255,25 +246,46 @@ constexpr ShaderBlob kImageCopy_frag_shaders[] = {
{kImageCopy_frag_00000000, sizeof(kImageCopy_frag_00000000)},
{kImageCopy_frag_00000001, sizeof(kImageCopy_frag_00000001)},
{kImageCopy_frag_00000002, sizeof(kImageCopy_frag_00000002)},
- {kImageCopy_frag_00000003, sizeof(kImageCopy_frag_00000003)},
+ {nullptr, 0}, // 0x00000003
{kImageCopy_frag_00000004, sizeof(kImageCopy_frag_00000004)},
{kImageCopy_frag_00000005, sizeof(kImageCopy_frag_00000005)},
- {nullptr, 0}, // 0x00000006
+ {kImageCopy_frag_00000006, sizeof(kImageCopy_frag_00000006)},
{nullptr, 0}, // 0x00000007
{kImageCopy_frag_00000008, sizeof(kImageCopy_frag_00000008)},
{kImageCopy_frag_00000009, sizeof(kImageCopy_frag_00000009)},
{kImageCopy_frag_0000000A, sizeof(kImageCopy_frag_0000000A)},
- {kImageCopy_frag_0000000B, sizeof(kImageCopy_frag_0000000B)},
- {kImageCopy_frag_0000000C, sizeof(kImageCopy_frag_0000000C)},
- {kImageCopy_frag_0000000D, sizeof(kImageCopy_frag_0000000D)},
+ {nullptr, 0}, // 0x0000000B
+ {nullptr, 0}, // 0x0000000C
+ {nullptr, 0}, // 0x0000000D
{nullptr, 0}, // 0x0000000E
{nullptr, 0}, // 0x0000000F
{kImageCopy_frag_00000010, sizeof(kImageCopy_frag_00000010)},
{kImageCopy_frag_00000011, sizeof(kImageCopy_frag_00000011)},
{kImageCopy_frag_00000012, sizeof(kImageCopy_frag_00000012)},
- {kImageCopy_frag_00000013, sizeof(kImageCopy_frag_00000013)},
+ {nullptr, 0}, // 0x00000013
{kImageCopy_frag_00000014, sizeof(kImageCopy_frag_00000014)},
{kImageCopy_frag_00000015, sizeof(kImageCopy_frag_00000015)},
+ {kImageCopy_frag_00000016, sizeof(kImageCopy_frag_00000016)},
+ {nullptr, 0}, // 0x00000017
+ {kImageCopy_frag_00000018, sizeof(kImageCopy_frag_00000018)},
+ {kImageCopy_frag_00000019, sizeof(kImageCopy_frag_00000019)},
+ {kImageCopy_frag_0000001A, sizeof(kImageCopy_frag_0000001A)},
+ {nullptr, 0}, // 0x0000001B
+ {nullptr, 0}, // 0x0000001C
+ {nullptr, 0}, // 0x0000001D
+ {nullptr, 0}, // 0x0000001E
+ {nullptr, 0}, // 0x0000001F
+ {kImageCopy_frag_00000020, sizeof(kImageCopy_frag_00000020)},
+ {kImageCopy_frag_00000021, sizeof(kImageCopy_frag_00000021)},
+ {kImageCopy_frag_00000022, sizeof(kImageCopy_frag_00000022)},
+ {nullptr, 0}, // 0x00000023
+ {kImageCopy_frag_00000024, sizeof(kImageCopy_frag_00000024)},
+ {kImageCopy_frag_00000025, sizeof(kImageCopy_frag_00000025)},
+ {kImageCopy_frag_00000026, sizeof(kImageCopy_frag_00000026)},
+ {nullptr, 0}, // 0x00000027
+ {kImageCopy_frag_00000028, sizeof(kImageCopy_frag_00000028)},
+ {kImageCopy_frag_00000029, sizeof(kImageCopy_frag_00000029)},
+ {kImageCopy_frag_0000002A, sizeof(kImageCopy_frag_0000002A)},
};
constexpr ShaderBlob kOverlayCull_comp_shaders[] = {
{kOverlayCull_comp_00000000, sizeof(kOverlayCull_comp_00000000)},
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni
index 24d03d4d70c..4f70628c1d7 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni
@@ -65,15 +65,6 @@ angle_vulkan_internal_shaders = [
"shaders/gen/ConvertVertex.comp.00000005.inc",
"shaders/gen/ConvertVertex.comp.00000006.inc",
"shaders/gen/ConvertVertex.comp.00000007.inc",
- "shaders/gen/ConvertVertex.comp.00000008.inc",
- "shaders/gen/ConvertVertex.comp.00000009.inc",
- "shaders/gen/ConvertVertex.comp.0000000A.inc",
- "shaders/gen/ConvertVertex.comp.0000000B.inc",
- "shaders/gen/ConvertVertex.comp.0000000C.inc",
- "shaders/gen/ConvertVertex.comp.0000000D.inc",
- "shaders/gen/ConvertVertex.comp.0000000E.inc",
- "shaders/gen/ConvertVertex.comp.0000000F.inc",
- "shaders/gen/ConvertVertex.comp.00000010.inc",
"shaders/gen/FullScreenQuad.vert.00000000.inc",
"shaders/gen/ImageClear.frag.00000000.inc",
"shaders/gen/ImageClear.frag.00000001.inc",
@@ -102,21 +93,30 @@ angle_vulkan_internal_shaders = [
"shaders/gen/ImageCopy.frag.00000000.inc",
"shaders/gen/ImageCopy.frag.00000001.inc",
"shaders/gen/ImageCopy.frag.00000002.inc",
- "shaders/gen/ImageCopy.frag.00000003.inc",
"shaders/gen/ImageCopy.frag.00000004.inc",
"shaders/gen/ImageCopy.frag.00000005.inc",
+ "shaders/gen/ImageCopy.frag.00000006.inc",
"shaders/gen/ImageCopy.frag.00000008.inc",
"shaders/gen/ImageCopy.frag.00000009.inc",
"shaders/gen/ImageCopy.frag.0000000A.inc",
- "shaders/gen/ImageCopy.frag.0000000B.inc",
- "shaders/gen/ImageCopy.frag.0000000C.inc",
- "shaders/gen/ImageCopy.frag.0000000D.inc",
"shaders/gen/ImageCopy.frag.00000010.inc",
"shaders/gen/ImageCopy.frag.00000011.inc",
"shaders/gen/ImageCopy.frag.00000012.inc",
- "shaders/gen/ImageCopy.frag.00000013.inc",
"shaders/gen/ImageCopy.frag.00000014.inc",
"shaders/gen/ImageCopy.frag.00000015.inc",
+ "shaders/gen/ImageCopy.frag.00000016.inc",
+ "shaders/gen/ImageCopy.frag.00000018.inc",
+ "shaders/gen/ImageCopy.frag.00000019.inc",
+ "shaders/gen/ImageCopy.frag.0000001A.inc",
+ "shaders/gen/ImageCopy.frag.00000020.inc",
+ "shaders/gen/ImageCopy.frag.00000021.inc",
+ "shaders/gen/ImageCopy.frag.00000022.inc",
+ "shaders/gen/ImageCopy.frag.00000024.inc",
+ "shaders/gen/ImageCopy.frag.00000025.inc",
+ "shaders/gen/ImageCopy.frag.00000026.inc",
+ "shaders/gen/ImageCopy.frag.00000028.inc",
+ "shaders/gen/ImageCopy.frag.00000029.inc",
+ "shaders/gen/ImageCopy.frag.0000002A.inc",
"shaders/gen/OverlayCull.comp.00000000.inc",
"shaders/gen/OverlayCull.comp.00000001.inc",
"shaders/gen/OverlayCull.comp.00000002.inc",
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h
index 567814a4f22..0306ec8033e 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h
@@ -98,25 +98,16 @@ namespace ConvertVertex_comp
{
enum Conversion
{
- kSintToSint = 0x00000000,
- kUintToUint = 0x00000001,
- kSintToFloat = 0x00000002,
- kUintToFloat = 0x00000003,
- kSnormToFloat = 0x00000004,
- kUnormToFloat = 0x00000005,
- kFixedToFloat = 0x00000006,
- kFloatToFloat = 0x00000007,
- kA2BGR10SintToSint = 0x00000008,
- kA2BGR10UintToUint = 0x00000009,
- kA2BGR10SintToFloat = 0x0000000A,
- kA2BGR10UintToFloat = 0x0000000B,
- kA2BGR10SnormToFloat = 0x0000000C,
- kRGB10A2SintToFloat = 0x0000000D,
- kRGB10A2UintToFloat = 0x0000000E,
- kRGB10A2SnormToFloat = 0x0000000F,
- kRGB10A2UnormToFloat = 0x00000010,
+ kSintToSint = 0x00000000,
+ kUintToUint = 0x00000001,
+ kSintToFloat = 0x00000002,
+ kUintToFloat = 0x00000003,
+ kSnormToFloat = 0x00000004,
+ kUnormToFloat = 0x00000005,
+ kFixedToFloat = 0x00000006,
+ kFloatToFloat = 0x00000007,
};
-constexpr size_t kArrayLen = 0x00000011;
+constexpr size_t kArrayLen = 0x00000008;
} // namespace ConvertVertex_comp
namespace FullScreenQuad_vert
@@ -148,23 +139,25 @@ constexpr size_t kArrayLen = 0x00000018;
namespace ImageCopy_frag
{
-enum flags
+enum DestFormat
{
- kSrcIsArray = 0x00000001,
+ kDestIsFloat = 0x00000000,
+ kDestIsSint = 0x00000001,
+ kDestIsUint = 0x00000002,
};
enum SrcFormat
{
kSrcIsFloat = 0x00000000,
- kSrcIsSint = 0x00000002,
- kSrcIsUint = 0x00000004,
+ kSrcIsSint = 0x00000004,
+ kSrcIsUint = 0x00000008,
};
-enum DestFormat
+enum SrcType
{
- kDestIsFloat = 0x00000000,
- kDestIsSint = 0x00000008,
- kDestIsUint = 0x00000010,
+ kSrcIs2D = 0x00000000,
+ kSrcIs2DArray = 0x00000010,
+ kSrcIs3D = 0x00000020,
};
-constexpr size_t kArrayLen = 0x00000016;
+constexpr size_t kArrayLen = 0x0000002B;
} // namespace ImageCopy_frag
namespace OverlayCull_comp
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp
index 87c7dc35d4d..1e866a2da82 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp
@@ -16,6 +16,7 @@ namespace vma
VkResult InitAllocator(VkPhysicalDevice physicalDevice,
VkDevice device,
VkInstance instance,
+ uint32_t apiVersion,
VmaAllocator *pAllocator)
{
VmaVulkanFunctions funcs = {};
@@ -53,6 +54,7 @@ VkResult InitAllocator(VkPhysicalDevice physicalDevice,
allocatorInfo.device = device;
allocatorInfo.instance = instance;
allocatorInfo.pVulkanFunctions = &funcs;
+ allocatorInfo.vulkanApiVersion = apiVersion;
return vmaCreateAllocator(&allocatorInfo, pAllocator);
}
@@ -90,6 +92,22 @@ VkResult CreateBuffer(VmaAllocator allocator,
return result;
}
+VkResult FindMemoryTypeIndexForBufferInfo(VmaAllocator allocator,
+ const VkBufferCreateInfo *pBufferCreateInfo,
+ VkMemoryPropertyFlags requiredFlags,
+ VkMemoryPropertyFlags preferredFlags,
+ bool persistentlyMappedBuffers,
+ uint32_t *pMemoryTypeIndexOut)
+{
+ VmaAllocationCreateInfo allocationCreateInfo = {};
+ allocationCreateInfo.requiredFlags = requiredFlags;
+ allocationCreateInfo.preferredFlags = preferredFlags;
+ allocationCreateInfo.flags = (persistentlyMappedBuffers) ? VMA_ALLOCATION_CREATE_MAPPED_BIT : 0;
+
+ return vmaFindMemoryTypeIndexForBufferInfo(allocator, pBufferCreateInfo, &allocationCreateInfo,
+ pMemoryTypeIndexOut);
+}
+
void GetMemoryTypeProperties(VmaAllocator allocator,
uint32_t memoryTypeIndex,
VkMemoryPropertyFlags *pFlags)
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h
index 9c7d7d5bdf6..4dc1c8a3c72 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h
@@ -10,7 +10,7 @@
#ifndef LIBANGLE_RENDERER_VULKAN_VK_MEM_ALLOC_WRAPPER_H_
#define LIBANGLE_RENDERER_VULKAN_VK_MEM_ALLOC_WRAPPER_H_
-#include "libANGLE/renderer/vulkan/vk_headers.h"
+#include "common/vulkan/vk_headers.h"
VK_DEFINE_HANDLE(VmaAllocator)
VK_DEFINE_HANDLE(VmaAllocation)
@@ -20,6 +20,7 @@ namespace vma
VkResult InitAllocator(VkPhysicalDevice physicalDevice,
VkDevice device,
VkInstance instance,
+ uint32_t apiVersion,
VmaAllocator *pAllocator);
void DestroyAllocator(VmaAllocator allocator);
@@ -35,6 +36,13 @@ VkResult CreateBuffer(VmaAllocator allocator,
VkBuffer *pBuffer,
VmaAllocation *pAllocation);
+VkResult FindMemoryTypeIndexForBufferInfo(VmaAllocator allocator,
+ const VkBufferCreateInfo *pBufferCreateInfo,
+ VkMemoryPropertyFlags requiredFlags,
+ VkMemoryPropertyFlags preferredFlags,
+ bool persistentlyMappedBuffers,
+ uint32_t *pMemoryTypeIndexOut);
+
void GetMemoryTypeProperties(VmaAllocator allocator,
uint32_t memoryTypeIndex,
VkMemoryPropertyFlags *pFlags);
@@ -55,4 +63,4 @@ void InvalidateAllocation(VmaAllocator allocator,
} // namespace vma
-#endif // LIBANGLE_RENDERER_VULKAN_VK_MEM_ALLOC_WRAPPER_H_ \ No newline at end of file
+#endif // LIBANGLE_RENDERER_VULKAN_VK_MEM_ALLOC_WRAPPER_H_
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.cpp
index 78a61bc4db7..72e17590c4f 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.cpp
@@ -36,6 +36,10 @@ namespace rx
{
namespace
{
+// Pick an arbitrary value to initialize non-zero memory for sanitization. Note that 0x3F3F3F3F
+// as float is about 0.75.
+constexpr int kNonZeroInitValue = 0x3F;
+
VkImageUsageFlags GetStagingBufferUsageFlags(vk::StagingUsage usage)
{
switch (usage)
@@ -60,9 +64,6 @@ angle::Result FindAndAllocateCompatibleMemory(vk::Context *context,
const void *extraAllocationInfo,
vk::DeviceMemory *deviceMemoryOut)
{
- // Pick an arbitrary value to initialize non-zero memory for sanitization.
- constexpr int kNonZeroInitValue = 55;
-
VkDevice device = context->getDevice();
uint32_t memoryTypeIndex = 0;
@@ -409,17 +410,28 @@ angle::Result StagingBuffer::init(Context *context, VkDeviceSize size, StagingUs
createInfo.queueFamilyIndexCount = 0;
createInfo.pQueueFamilyIndices = nullptr;
- VkMemoryPropertyFlags memoryPropertyOutFlags;
VkMemoryPropertyFlags preferredFlags = 0;
VkMemoryPropertyFlags requiredFlags =
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
- mAllocation.createBufferAndMemory(
- context->getRenderer()->getAllocator(), &createInfo, requiredFlags, preferredFlags,
- context->getRenderer()->getFeatures().persistentlyMappedBuffers.enabled, &mBuffer,
- &memoryPropertyOutFlags);
+ RendererVk *renderer = context->getRenderer();
+ const vk::Allocator &allocator = renderer->getAllocator();
+ uint32_t memoryTypeIndex = 0;
+ ANGLE_VK_TRY(context,
+ allocator.createBuffer(createInfo, requiredFlags, preferredFlags,
+ renderer->getFeatures().persistentlyMappedBuffers.enabled,
+ &memoryTypeIndex, &mBuffer, &mAllocation));
mSize = static_cast<size_t>(size);
+
+ // Wipe memory to an invalid value when the 'allocateNonZeroMemory' feature is enabled. The
+ // invalid values ensures our testing doesn't assume zero-initialized memory.
+ if (renderer->getFeatures().allocateNonZeroMemory.enabled)
+ {
+ ANGLE_TRY(vk::InitMappableAllocation(context, allocator, &mAllocation, size,
+ kNonZeroInitValue, requiredFlags));
+ }
+
return angle::Result::Continue;
}
@@ -441,14 +453,15 @@ void StagingBuffer::collectGarbage(RendererVk *renderer, Serial serial)
renderer->collectGarbage(std::move(sharedUse), std::move(garbageList));
}
-angle::Result InitMappableAllocation(VmaAllocator allocator,
+angle::Result InitMappableAllocation(Context *context,
+ const vk::Allocator &allocator,
Allocation *allocation,
VkDeviceSize size,
int value,
VkMemoryPropertyFlags memoryPropertyFlags)
{
uint8_t *mapPointer;
- allocation->map(allocator, &mapPointer);
+ ANGLE_VK_TRY(context, allocation->map(allocator, &mapPointer));
memset(mapPointer, value, static_cast<size_t>(size));
if ((memoryPropertyFlags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT) == 0)
@@ -503,13 +516,13 @@ angle::Result AllocateBufferMemory(vk::Context *context,
angle::Result AllocateImageMemory(vk::Context *context,
VkMemoryPropertyFlags memoryPropertyFlags,
+ VkMemoryPropertyFlags *memoryPropertyFlagsOut,
const void *extraAllocationInfo,
Image *image,
DeviceMemory *deviceMemoryOut,
VkDeviceSize *sizeOut)
{
- VkMemoryPropertyFlags memoryPropertyFlagsOut = 0;
- return AllocateBufferOrImageMemory(context, memoryPropertyFlags, &memoryPropertyFlagsOut,
+ return AllocateBufferOrImageMemory(context, memoryPropertyFlags, memoryPropertyFlagsOut,
extraAllocationInfo, image, deviceMemoryOut, sizeOut);
}
@@ -591,6 +604,7 @@ GarbageObject &GarbageObject::operator=(GarbageObject &&rhs)
// which fails to compile with reinterpret_cast, requiring static_cast.
void GarbageObject::destroy(RendererVk *renderer)
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "GarbageObject::destroy");
VkDevice device = renderer->getDevice();
switch (mHandleType)
{
@@ -653,7 +667,7 @@ void GarbageObject::destroy(RendererVk *renderer)
vkDestroyQueryPool(device, (VkQueryPool)mHandle, nullptr);
break;
case HandleType::Allocation:
- vma::FreeMemory(renderer->getAllocator(), (VmaAllocation)mHandle);
+ vma::FreeMemory(renderer->getAllocator().getHandle(), (VmaAllocation)mHandle);
break;
default:
UNREACHABLE();
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.h
index 2af62d85528..e62a8432c68 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.h
@@ -292,6 +292,12 @@ class MemoryProperties final : angle::NonCopyable
uint32_t *indexOut) const;
void destroy();
+ VkDeviceSize getHeapSizeForMemoryType(uint32_t memoryType) const
+ {
+ uint32_t heapIndex = mMemoryProperties.memoryTypes[memoryType].heapIndex;
+ return mMemoryProperties.memoryHeaps[heapIndex].size;
+ }
+
private:
VkPhysicalDeviceMemoryProperties mMemoryProperties;
};
@@ -317,13 +323,14 @@ class StagingBuffer final : angle::NonCopyable
size_t mSize;
};
-angle::Result InitMappableAllocation(VmaAllocator allocator,
- Allocation *allcation,
+angle::Result InitMappableAllocation(Context *context,
+ const vk::Allocator &allocator,
+ Allocation *allocation,
VkDeviceSize size,
int value,
VkMemoryPropertyFlags memoryPropertyFlags);
-angle::Result InitMappableDeviceMemory(vk::Context *context,
+angle::Result InitMappableDeviceMemory(Context *context,
vk::DeviceMemory *deviceMemory,
VkDeviceSize size,
int value,
@@ -339,6 +346,7 @@ angle::Result AllocateBufferMemory(Context *context,
angle::Result AllocateImageMemory(Context *context,
VkMemoryPropertyFlags memoryPropertyFlags,
+ VkMemoryPropertyFlags *memoryPropertyFlagsOut,
const void *extraAllocationInfo,
Image *image,
DeviceMemory *deviceMemoryOut,
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_wrapper.h b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_wrapper.h
index 925c28d7aa0..ec2c5c34eb4 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_wrapper.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_wrapper.h
@@ -11,9 +11,10 @@
#ifndef LIBANGLE_RENDERER_VULKAN_VK_WRAPPER_H_
#define LIBANGLE_RENDERER_VULKAN_VK_WRAPPER_H_
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/renderer/renderer_utils.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h"
+#include "libANGLE/trace.h"
namespace rx
{
@@ -28,6 +29,8 @@ namespace vk
// DescriptorSet
#define ANGLE_HANDLE_TYPES_X(FUNC) \
+ FUNC(Allocation) \
+ FUNC(Allocator) \
FUNC(Buffer) \
FUNC(BufferView) \
FUNC(CommandPool) \
@@ -46,8 +49,7 @@ namespace vk
FUNC(RenderPass) \
FUNC(Sampler) \
FUNC(Semaphore) \
- FUNC(ShaderModule) \
- FUNC(Allocation)
+ FUNC(ShaderModule)
#define ANGLE_COMMA_SEP_FUNC(TYPE) TYPE,
@@ -457,23 +459,47 @@ class DeviceMemory final : public WrappedObject<DeviceMemory, VkDeviceMemory>
void unmap(VkDevice device) const;
};
+class Allocator : public WrappedObject<Allocator, VmaAllocator>
+{
+ public:
+ Allocator() = default;
+ void destroy();
+
+ VkResult init(VkPhysicalDevice physicalDevice,
+ VkDevice device,
+ VkInstance instance,
+ uint32_t apiVersion);
+
+ // Initializes the buffer handle and memory allocation.
+ VkResult createBuffer(const VkBufferCreateInfo &bufferCreateInfo,
+ VkMemoryPropertyFlags requiredFlags,
+ VkMemoryPropertyFlags preferredFlags,
+ bool persistentlyMappedBuffers,
+ uint32_t *memoryTypeIndexOut,
+ Buffer *bufferOut,
+ Allocation *allocationOut) const;
+
+ void getMemoryTypeProperties(uint32_t memoryTypeIndex, VkMemoryPropertyFlags *flagsOut) const;
+ VkResult findMemoryTypeIndexForBufferInfo(const VkBufferCreateInfo &bufferCreateInfo,
+ VkMemoryPropertyFlags requiredFlags,
+ VkMemoryPropertyFlags preferredFlags,
+ bool persistentlyMappedBuffers,
+ uint32_t *memoryTypeIndexOut) const;
+};
+
class Allocation final : public WrappedObject<Allocation, VmaAllocation>
{
public:
Allocation() = default;
- void destroy(VmaAllocator allocator);
-
- VkResult createBufferAndMemory(VmaAllocator allocator,
- const VkBufferCreateInfo *pBufferCreateInfo,
- VkMemoryPropertyFlags requiredFlags,
- VkMemoryPropertyFlags preferredFlags,
- bool persistentlyMappedBuffers,
- Buffer *buffer,
- VkMemoryPropertyFlags *pMemPropertyOut);
- VkResult map(VmaAllocator allocator, uint8_t **mapPointer) const;
- void unmap(VmaAllocator allocator) const;
- void flush(VmaAllocator allocator, VkDeviceSize offset, VkDeviceSize size);
- void invalidate(VmaAllocator allocator, VkDeviceSize offset, VkDeviceSize size);
+ void destroy(const Allocator &allocator);
+
+ VkResult map(const Allocator &allocator, uint8_t **mapPointer) const;
+ void unmap(const Allocator &allocator) const;
+ void flush(const Allocator &allocator, VkDeviceSize offset, VkDeviceSize size);
+ void invalidate(const Allocator &allocator, VkDeviceSize offset, VkDeviceSize size);
+
+ private:
+ friend class Allocator;
};
class RenderPass final : public WrappedObject<RenderPass, VkRenderPass>
@@ -501,6 +527,9 @@ class Buffer final : public WrappedObject<Buffer, VkBuffer>
VkResult init(VkDevice device, const VkBufferCreateInfo &createInfo);
VkResult bindMemory(VkDevice device, const DeviceMemory &deviceMemory);
void getMemoryRequirements(VkDevice device, VkMemoryRequirements *memoryRequirementsOut);
+
+ private:
+ friend class Allocator;
};
class BufferView final : public WrappedObject<BufferView, VkBufferView>
@@ -691,6 +720,7 @@ ANGLE_INLINE VkResult CommandBuffer::begin(const VkCommandBufferBeginInfo &info)
ANGLE_INLINE VkResult CommandBuffer::end()
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "CommandBuffer::end");
ASSERT(valid());
return vkEndCommandBuffer(mHandle);
}
@@ -1330,6 +1360,7 @@ ANGLE_INLINE VkResult DeviceMemory::map(VkDevice device,
VkMemoryMapFlags flags,
uint8_t **mapPointer) const
{
+ ANGLE_TRACE_EVENT0("gpu.angle", "DeviceMemory::map");
ASSERT(valid());
return vkMapMemory(device, mHandle, offset, size, flags, reinterpret_cast<void **>(mapPointer));
}
@@ -1340,61 +1371,97 @@ ANGLE_INLINE void DeviceMemory::unmap(VkDevice device) const
vkUnmapMemory(device, mHandle);
}
-// Allocation implementation.
-ANGLE_INLINE void Allocation::destroy(VmaAllocator allocator)
+// Allocator implementation.
+ANGLE_INLINE void Allocator::destroy()
{
if (valid())
{
- vma::FreeMemory(allocator, mHandle);
+ vma::DestroyAllocator(mHandle);
mHandle = VK_NULL_HANDLE;
}
}
-ANGLE_INLINE VkResult Allocation::createBufferAndMemory(VmaAllocator allocator,
- const VkBufferCreateInfo *pBufferCreateInfo,
- VkMemoryPropertyFlags requiredFlags,
- VkMemoryPropertyFlags preferredFlags,
- bool persistentlyMappedBuffers,
- Buffer *buffer,
- VkMemoryPropertyFlags *pMemPropertyOut)
+ANGLE_INLINE VkResult Allocator::init(VkPhysicalDevice physicalDevice,
+ VkDevice device,
+ VkInstance instance,
+ uint32_t apiVersion)
{
ASSERT(!valid());
- VkResult result;
- uint32_t memoryTypeIndex;
- VkBuffer bufferHandle;
- result =
- vma::CreateBuffer(allocator, pBufferCreateInfo, requiredFlags, preferredFlags,
- persistentlyMappedBuffers, &memoryTypeIndex, &bufferHandle, &mHandle);
- vma::GetMemoryTypeProperties(allocator, memoryTypeIndex, pMemPropertyOut);
- buffer->setHandle(bufferHandle);
+ return vma::InitAllocator(physicalDevice, device, instance, apiVersion, &mHandle);
+}
+
+ANGLE_INLINE VkResult Allocator::createBuffer(const VkBufferCreateInfo &bufferCreateInfo,
+ VkMemoryPropertyFlags requiredFlags,
+ VkMemoryPropertyFlags preferredFlags,
+ bool persistentlyMappedBuffers,
+ uint32_t *memoryTypeIndexOut,
+ Buffer *bufferOut,
+ Allocation *allocationOut) const
+{
+ ASSERT(valid());
+ ASSERT(bufferOut && !bufferOut->valid());
+ ASSERT(allocationOut && !allocationOut->valid());
+ return vma::CreateBuffer(mHandle, &bufferCreateInfo, requiredFlags, preferredFlags,
+ persistentlyMappedBuffers, memoryTypeIndexOut, &bufferOut->mHandle,
+ &allocationOut->mHandle);
+}
+
+ANGLE_INLINE void Allocator::getMemoryTypeProperties(uint32_t memoryTypeIndex,
+ VkMemoryPropertyFlags *flagsOut) const
+{
+ ASSERT(valid());
+ vma::GetMemoryTypeProperties(mHandle, memoryTypeIndex, flagsOut);
+}
+
+ANGLE_INLINE VkResult
+Allocator::findMemoryTypeIndexForBufferInfo(const VkBufferCreateInfo &bufferCreateInfo,
+ VkMemoryPropertyFlags requiredFlags,
+ VkMemoryPropertyFlags preferredFlags,
+ bool persistentlyMappedBuffers,
+ uint32_t *memoryTypeIndexOut) const
+{
+ ASSERT(valid());
+ return vma::FindMemoryTypeIndexForBufferInfo(mHandle, &bufferCreateInfo, requiredFlags,
+ preferredFlags, persistentlyMappedBuffers,
+ memoryTypeIndexOut);
+}
- return result;
+// Allocation implementation.
+ANGLE_INLINE void Allocation::destroy(const Allocator &allocator)
+{
+ if (valid())
+ {
+ vma::FreeMemory(allocator.getHandle(), mHandle);
+ mHandle = VK_NULL_HANDLE;
+ }
}
-ANGLE_INLINE VkResult Allocation::map(VmaAllocator allocator, uint8_t **mapPointer) const
+ANGLE_INLINE VkResult Allocation::map(const Allocator &allocator, uint8_t **mapPointer) const
{
ASSERT(valid());
- return vma::MapMemory(allocator, mHandle, (void **)mapPointer);
+ return vma::MapMemory(allocator.getHandle(), mHandle, (void **)mapPointer);
}
-ANGLE_INLINE void Allocation::unmap(VmaAllocator allocator) const
+ANGLE_INLINE void Allocation::unmap(const Allocator &allocator) const
{
ASSERT(valid());
- vma::UnmapMemory(allocator, mHandle);
+ vma::UnmapMemory(allocator.getHandle(), mHandle);
}
-ANGLE_INLINE void Allocation::flush(VmaAllocator allocator, VkDeviceSize offset, VkDeviceSize size)
+ANGLE_INLINE void Allocation::flush(const Allocator &allocator,
+ VkDeviceSize offset,
+ VkDeviceSize size)
{
ASSERT(valid());
- vma::FlushAllocation(allocator, mHandle, offset, size);
+ vma::FlushAllocation(allocator.getHandle(), mHandle, offset, size);
}
-ANGLE_INLINE void Allocation::invalidate(VmaAllocator allocator,
+ANGLE_INLINE void Allocation::invalidate(const Allocator &allocator,
VkDeviceSize offset,
VkDeviceSize size)
{
ASSERT(valid());
- vma::InvalidateAllocation(allocator, mHandle, offset, size);
+ vma::InvalidateAllocation(allocator.getHandle(), mHandle, offset, size);
}
// RenderPass implementation.
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp
index e7ad08c7d20..9f373c46fd8 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp
@@ -13,8 +13,8 @@
#include <windows.h>
+#include "common/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/vk_caps_utils.h"
-#include "libANGLE/renderer/vulkan/vk_headers.h"
#include "libANGLE/renderer/vulkan/win32/WindowSurfaceVkWin32.h"
namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/DisplayVkXcb.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/DisplayVkXcb.cpp
index 2d8b399d20c..3c22ebd8cd0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/DisplayVkXcb.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/DisplayVkXcb.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/vulkan/xcb/DisplayVkXcb.h"
+#include <X11/Xutil.h>
#include <xcb/xcb.h>
#include "libANGLE/Display.h"
@@ -85,7 +86,7 @@ SurfaceImpl *DisplayVkXcb::createWindowSurfaceVk(const egl::SurfaceState &state,
egl::ConfigSet DisplayVkXcb::generateConfigs()
{
- constexpr GLenum kColorFormats[] = {GL_BGRA8_EXT, GL_BGRX8_ANGLEX};
+ constexpr GLenum kColorFormats[] = {GL_BGRA8_EXT};
return egl_vk::GenerateConfigs(kColorFormats, egl_vk::kConfigDepthStencilFormats, this);
}
@@ -125,7 +126,7 @@ DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state)
angle::Result DisplayVkXcb::waitNativeImpl()
{
- XSync(mState.displayId, False);
+ XSync(reinterpret_cast<Display *>(mState.displayId), False);
return angle::Result::Continue;
}
} // namespace rx
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/WindowSurfaceVkXcb.cpp b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/WindowSurfaceVkXcb.cpp
index 4e481925331..d098c3875c0 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/WindowSurfaceVkXcb.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/vulkan/xcb/WindowSurfaceVkXcb.cpp
@@ -39,7 +39,13 @@ angle::Result WindowSurfaceVkXcb::getCurrentWindowSize(vk::Context *context,
{
xcb_get_geometry_cookie_t cookie =
xcb_get_geometry(mXcbConnection, static_cast<xcb_drawable_t>(mNativeWindowType));
- xcb_get_geometry_reply_t *reply = xcb_get_geometry_reply(mXcbConnection, cookie, nullptr);
+ xcb_generic_error_t *error = nullptr;
+ xcb_get_geometry_reply_t *reply = xcb_get_geometry_reply(mXcbConnection, cookie, &error);
+ if (error)
+ {
+ free(error);
+ ANGLE_VK_CHECK(context, false, VK_ERROR_INITIALIZATION_FAILED);
+ }
ASSERT(reply);
*extentsOut = gl::Extents(reply->width, reply->height, 1);
free(reply);
diff --git a/chromium/third_party/angle/src/libANGLE/trace.h b/chromium/third_party/angle/src/libANGLE/trace.h
index 831fef6ab36..9a9f5352952 100644
--- a/chromium/third_party/angle/src/libANGLE/trace.h
+++ b/chromium/third_party/angle/src/libANGLE/trace.h
@@ -20,5 +20,7 @@
#define ANGLE_TRACE_EVENT_INSTANT0(CATEGORY, EVENT) \
TRACE_EVENT_INSTANT0(ANGLEPlatformCurrent(), CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT0(CATEGORY, EVENT) TRACE_EVENT0(ANGLEPlatformCurrent(), CATEGORY, EVENT)
+#define ANGLE_TRACE_EVENT1(CATEGORY, EVENT, NAME, PARAM) \
+ TRACE_EVENT1(ANGLEPlatformCurrent(), CATEGORY, EVENT, NAME, PARAM)
#endif // LIBANGLE_TRACE_H_
diff --git a/chromium/third_party/angle/src/libANGLE/validationEGL.cpp b/chromium/third_party/angle/src/libANGLE/validationEGL.cpp
index d0ad48451d6..b566cf0fd15 100644
--- a/chromium/third_party/angle/src/libANGLE/validationEGL.cpp
+++ b/chromium/third_party/angle/src/libANGLE/validationEGL.cpp
@@ -232,6 +232,13 @@ Error ValidateConfigAttribute(const Display *display, EGLAttrib attribute)
}
break;
+ case EGL_Y_INVERTED_NOK:
+ if (!display->getExtensions().textureFromPixmapNOK)
+ {
+ return EglBadAttribute() << "EGL_NOK_texture_from_pixmap is not enabled.";
+ }
+ break;
+
default:
return EglBadAttribute() << "Unknown attribute.";
}
@@ -1953,6 +1960,85 @@ Error ValidateCreatePbufferFromClientBuffer(Display *display,
return NoError();
}
+Error ValidateCreatePixmapSurface(Display *display,
+ Config *config,
+ EGLNativePixmapType pixmap,
+ const AttributeMap &attributes)
+{
+ ANGLE_TRY(ValidateConfig(display, config));
+
+ const DisplayExtensions &displayExtensions = display->getExtensions();
+
+ for (AttributeMap::const_iterator attributeIter = attributes.begin();
+ attributeIter != attributes.end(); attributeIter++)
+ {
+ EGLAttrib attribute = attributeIter->first;
+ EGLAttrib value = attributeIter->second;
+
+ switch (attribute)
+ {
+ case EGL_GL_COLORSPACE:
+ ANGLE_TRY(ValidateColorspaceAttribute(displayExtensions, value));
+ break;
+
+ case EGL_VG_COLORSPACE:
+ break;
+ case EGL_VG_ALPHA_FORMAT:
+ break;
+
+ case EGL_TEXTURE_FORMAT:
+ if (!displayExtensions.textureFromPixmapNOK)
+ {
+ return EglBadAttribute() << "EGL_NOK_texture_from_pixmap is not enabled.";
+ }
+ switch (value)
+ {
+ case EGL_NO_TEXTURE:
+ case EGL_TEXTURE_RGB:
+ case EGL_TEXTURE_RGBA:
+ break;
+ default:
+ return EglBadAttribute();
+ }
+ break;
+
+ case EGL_TEXTURE_TARGET:
+ if (!displayExtensions.textureFromPixmapNOK)
+ {
+ return EglBadAttribute() << "EGL_NOK_texture_from_pixmap is not enabled.";
+ }
+ switch (value)
+ {
+ case EGL_NO_TEXTURE:
+ case EGL_TEXTURE_2D:
+ break;
+ default:
+ return EglBadAttribute();
+ }
+ break;
+
+ case EGL_MIPMAP_TEXTURE:
+ if (!displayExtensions.textureFromPixmapNOK)
+ {
+ return EglBadAttribute() << "EGL_NOK_texture_from_pixmap is not enabled.";
+ }
+ break;
+
+ default:
+ return EglBadAttribute() << "Unknown attribute";
+ }
+ }
+
+ if (!(config->surfaceType & EGL_PIXMAP_BIT))
+ {
+ return EglBadMatch() << "Congfig does not suport pixmaps.";
+ }
+
+ ANGLE_TRY(display->valdiatePixmap(config, pixmap, attributes));
+
+ return NoError();
+}
+
Error ValidateMakeCurrent(Display *display, Surface *draw, Surface *read, gl::Context *context)
{
if (context == EGL_NO_CONTEXT && (draw != EGL_NO_SURFACE || read != EGL_NO_SURFACE))
diff --git a/chromium/third_party/angle/src/libANGLE/validationEGL.h b/chromium/third_party/angle/src/libANGLE/validationEGL.h
index df5523a40d2..00d8a0c5041 100644
--- a/chromium/third_party/angle/src/libANGLE/validationEGL.h
+++ b/chromium/third_party/angle/src/libANGLE/validationEGL.h
@@ -83,6 +83,11 @@ Error ValidateCreatePbufferFromClientBuffer(Display *display,
Config *config,
const AttributeMap &attributes);
+Error ValidateCreatePixmapSurface(Display *display,
+ Config *config,
+ EGLNativePixmapType pixmap,
+ const AttributeMap &attributes);
+
Error ValidateMakeCurrent(Display *display, Surface *draw, Surface *read, gl::Context *context);
Error ValidateCreateImage(const Display *display,
diff --git a/chromium/third_party/angle/src/libANGLE/validationES.cpp b/chromium/third_party/angle/src/libANGLE/validationES.cpp
index 7b6013cc82e..ad330743b6f 100644
--- a/chromium/third_party/angle/src/libANGLE/validationES.cpp
+++ b/chromium/third_party/angle/src/libANGLE/validationES.cpp
@@ -167,19 +167,12 @@ bool ValidReadPixelsUnsignedNormalizedDepthType(const Context *context,
{
bool supportsReadDepthNV = (context->getExtensions().readDepthNV && (info->depthBits > 0) &&
(info->componentCount == 1));
- bool isGLES31 = (context->getClientVersion() >= ES_3_1);
switch (type)
{
case GL_UNSIGNED_SHORT:
- return supportsReadDepthNV ||
- (isGLES31 && (info->sizedInternalFormat == GL_DEPTH_COMPONENT16));
case GL_UNSIGNED_INT:
- return supportsReadDepthNV ||
- (isGLES31 && ((info->sizedInternalFormat == GL_DEPTH_COMPONENT16) ||
- (info->internalFormat == GL_DEPTH_COMPONENT24)));
case GL_UNSIGNED_INT_24_8:
- return supportsReadDepthNV ||
- (isGLES31 && (info->sizedInternalFormat == GL_DEPTH24_STENCIL8));
+ return supportsReadDepthNV;
default:
return false;
}
@@ -394,6 +387,29 @@ bool ValidateTextureSRGBDecodeValue(const Context *context, const ParamType *par
return true;
}
+template <typename ParamType>
+bool ValidateTextureSRGBOverrideValue(const Context *context, const ParamType *params)
+{
+ if (!context->getExtensions().textureSRGBOverride)
+ {
+ context->validationError(GL_INVALID_ENUM, kExtensionNotEnabled);
+ return false;
+ }
+
+ switch (ConvertToGLenum(params[0]))
+ {
+ case GL_SRGB:
+ case GL_NONE:
+ break;
+
+ default:
+ context->validationError(GL_INVALID_ENUM, kUnknownParameter);
+ return false;
+ }
+
+ return true;
+}
+
bool ValidateTextureMaxAnisotropyExtensionEnabled(const Context *context)
{
if (!context->getExtensions().textureFilterAnisotropic)
@@ -553,6 +569,10 @@ bool ValidTextureTarget(const Context *context, TextureType type)
case TextureType::_2DMultisampleArray:
return context->getExtensions().textureStorageMultisample2DArrayOES;
+ case TextureType::CubeMapArray:
+ return (context->getClientVersion() >= Version(3, 2) ||
+ context->getExtensions().textureCubeMapArrayAny());
+
case TextureType::VideoImage:
return context->getExtensions().webglVideoTexture;
@@ -585,6 +605,10 @@ bool ValidTexture3DTarget(const Context *context, TextureType target)
case TextureType::_2DArray:
return (context->getClientMajorVersion() >= 3);
+ case TextureType::CubeMapArray:
+ return (context->getClientVersion() >= Version(3, 2) ||
+ context->getExtensions().textureCubeMapArrayAny());
+
default:
return false;
}
@@ -734,6 +758,16 @@ bool ValidateDrawInstancedANGLE(const Context *context)
const State &state = context->getState();
const ProgramExecutable *executable = state.getProgramExecutable();
+ if (!executable)
+ {
+ // No executable means there is no Program/PPO bound, which is undefined behavior, but isn't
+ // an error.
+ context->getState().getDebug().insertMessage(
+ GL_DEBUG_SOURCE_API, GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR, 0, GL_DEBUG_SEVERITY_HIGH,
+ std::string("Attempting to draw without a program"), gl::LOG_WARN);
+ return true;
+ }
+
const auto &attribs = state.getVertexArray()->getVertexAttributes();
const auto &bindings = state.getVertexArray()->getVertexBindings();
for (size_t attributeIndex = 0; attributeIndex < MAX_VERTEX_ATTRIBS; attributeIndex++)
@@ -756,6 +790,7 @@ bool ValidTexture3DDestinationTarget(const Context *context, TextureTarget targe
{
case TextureTarget::_3D:
case TextureTarget::_2DArray:
+ case TextureTarget::CubeMapArray:
return true;
default:
return false;
@@ -772,6 +807,9 @@ bool ValidTexLevelDestinationTarget(const Context *context, TextureType type)
case TextureType::CubeMap:
case TextureType::_3D:
return true;
+ case TextureType::CubeMapArray:
+ return (context->getClientVersion() >= Version(3, 2) ||
+ context->getExtensions().textureCubeMapArrayAny());
case TextureType::Rectangle:
return context->getExtensions().textureRectangle;
case TextureType::_2DMultisampleArray:
@@ -818,6 +856,7 @@ bool ValidMipLevel(const Context *context, TextureType type, GLint level)
break;
case TextureType::CubeMap:
+ case TextureType::CubeMapArray:
maxDimension = caps.maxCubeMapTextureSize;
break;
@@ -2603,6 +2642,7 @@ bool ValidateCopyTexImageParametersBase(const Context *context,
break;
case TextureType::CubeMap:
+ case TextureType::CubeMapArray:
maxDimension = caps.maxCubeMapTextureSize;
break;
@@ -2658,7 +2698,8 @@ bool ValidateCopyTexImageParametersBase(const Context *context,
}
else
{
- if (texType == TextureType::CubeMap && width != height)
+ if ((texType == TextureType::CubeMap || texType == TextureType::CubeMapArray) &&
+ width != height)
{
context->validationError(GL_INVALID_VALUE, kCubemapIncomplete);
return false;
@@ -6152,6 +6193,13 @@ bool ValidateTexParameterBase(const Context *context,
}
break;
+ case GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT:
+ if (!ValidateTextureSRGBOverrideValue(context, params))
+ {
+ return false;
+ }
+ break;
+
case GL_GENERATE_MIPMAP:
if (context->getClientMajorVersion() > 1)
{
diff --git a/chromium/third_party/angle/src/libANGLE/validationES2.cpp b/chromium/third_party/angle/src/libANGLE/validationES2.cpp
index 7bed1e8f612..b3badb52837 100644
--- a/chromium/third_party/angle/src/libANGLE/validationES2.cpp
+++ b/chromium/third_party/angle/src/libANGLE/validationES2.cpp
@@ -5059,6 +5059,14 @@ bool ValidateHint(const Context *context, GLenum target, GLenum mode)
case GL_GENERATE_MIPMAP_HINT:
break;
+ case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
+ if (!context->getExtensions().textureFilteringCHROMIUM)
+ {
+ context->validationError(GL_INVALID_ENUM, kEnumNotSupported);
+ return false;
+ }
+ break;
+
case GL_FRAGMENT_SHADER_DERIVATIVE_HINT:
if (context->getClientVersion() < ES_3_0 &&
!context->getExtensions().standardDerivativesOES)
diff --git a/chromium/third_party/angle/src/libANGLE/validationES3.cpp b/chromium/third_party/angle/src/libANGLE/validationES3.cpp
index 0f3fc41067b..23eaae09701 100644
--- a/chromium/third_party/angle/src/libANGLE/validationES3.cpp
+++ b/chromium/third_party/angle/src/libANGLE/validationES3.cpp
@@ -492,6 +492,34 @@ bool ValidateES3TexImageParametersBase(const Context *context,
}
break;
+ case TextureType::CubeMapArray:
+ if (!isSubImage && width != height)
+ {
+ context->validationError(GL_INVALID_VALUE, kCubemapFacesEqualDimensions);
+ return false;
+ }
+
+ if (width > (caps.maxCubeMapTextureSize >> level))
+ {
+ context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize);
+ return false;
+ }
+
+ if (width > (caps.max3DTextureSize >> level) ||
+ height > (caps.max3DTextureSize >> level) ||
+ depth > (caps.max3DTextureSize >> level))
+ {
+ context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize);
+ return false;
+ }
+
+ if (!isSubImage && depth % 6 != 0)
+ {
+ context->validationError(GL_INVALID_VALUE, kCubemapInvalidDepth);
+ return false;
+ }
+ break;
+
default:
context->validationError(GL_INVALID_ENUM, kEnumNotSupported);
return false;
@@ -1207,6 +1235,35 @@ bool ValidateES3TexStorageParametersBase(const Context *context,
}
break;
+ case TextureType::CubeMapArray:
+ {
+ if (width != height)
+ {
+ context->validationError(GL_INVALID_VALUE, kCubemapFacesEqualDimensions);
+ return false;
+ }
+
+ if (width > caps.maxCubeMapTextureSize)
+ {
+ context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize);
+ return false;
+ }
+
+ if (width > caps.max3DTextureSize || height > caps.max3DTextureSize ||
+ depth > caps.max3DTextureSize)
+ {
+ context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize);
+ return false;
+ }
+
+ if (depth % 6 != 0)
+ {
+ context->validationError(GL_INVALID_VALUE, kCubemapInvalidDepth);
+ return false;
+ }
+ }
+ break;
+
default:
UNREACHABLE();
return false;
@@ -1419,6 +1476,22 @@ bool ValidateFramebufferTextureLayer(const Context *context,
}
break;
+ case TextureType::CubeMapArray:
+ {
+ if (level > log2(caps.max3DTextureSize))
+ {
+ context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidMipLevel);
+ return false;
+ }
+
+ if (layer >= caps.max3DTextureSize)
+ {
+ context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidLayer);
+ return false;
+ }
+ }
+ break;
+
default:
context->validationError(GL_INVALID_OPERATION,
kFramebufferTextureLayerIncorrectTextureType);
@@ -1588,9 +1661,9 @@ bool ValidateReadBuffer(const Context *context, GLenum src)
{
GLuint drawBuffer = static_cast<GLuint>(src - GL_COLOR_ATTACHMENT0);
- if (drawBuffer >= static_cast<GLuint>(context->getCaps().maxDrawBuffers))
+ if (drawBuffer >= static_cast<GLuint>(context->getCaps().maxColorAttachments))
{
- context->validationError(GL_INVALID_OPERATION, kExceedsMaxDrawBuffers);
+ context->validationError(GL_INVALID_OPERATION, kExceedsMaxColorAttachments);
return false;
}
}
@@ -2690,6 +2763,11 @@ bool ValidateIndexedStateQuery(const Context *context, GLenum pname, GLuint inde
case GL_BLEND_EQUATION_RGB:
case GL_BLEND_EQUATION_ALPHA:
case GL_COLOR_WRITEMASK:
+ if (!context->getExtensions().drawBuffersIndexedAny())
+ {
+ context->validationError(GL_INVALID_ENUM, kDrawBuffersIndexedExtensionNotAvailable);
+ return false;
+ }
if (index >= static_cast<GLuint>(caps.maxDrawBuffers))
{
context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxDrawBuffer);
diff --git a/chromium/third_party/angle/src/libANGLE/validationESEXT_autogen.h b/chromium/third_party/angle/src/libANGLE/validationESEXT_autogen.h
index 9b9da088fec..44ad9f7ac6c 100644
--- a/chromium/third_party/angle/src/libANGLE/validationESEXT_autogen.h
+++ b/chromium/third_party/angle/src/libANGLE/validationESEXT_autogen.h
@@ -1009,6 +1009,8 @@ bool ValidateImportSemaphoreFdEXT(const Context *context,
// GL_EXT_texture_compression_s3tc_srgb
+// GL_EXT_texture_cube_map_array
+
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_format_BGRA8888
@@ -1406,6 +1408,8 @@ bool ValidateTexGenivOES(const Context *context, GLenum coord, GLenum pname, con
bool ValidateTexGenxOES(const Context *context, GLenum coord, GLenum pname, GLfixed param);
bool ValidateTexGenxvOES(const Context *context, GLenum coord, GLenum pname, const GLfixed *params);
+// GL_OES_texture_cube_map_array
+
// GL_OES_texture_half_float
// GL_OES_texture_storage_multisample_2d_array
diff --git a/chromium/third_party/angle/src/libEGL/egl_loader_autogen.cpp b/chromium/third_party/angle/src/libEGL/egl_loader_autogen.cpp
index cb04d524798..6113ee0508f 100644
--- a/chromium/third_party/angle/src/libEGL/egl_loader_autogen.cpp
+++ b/chromium/third_party/angle/src/libEGL/egl_loader_autogen.cpp
@@ -67,6 +67,9 @@ PFNEGLCREATEDEVICEANGLEPROC l_EGL_CreateDeviceANGLE;
PFNEGLRELEASEDEVICEANGLEPROC l_EGL_ReleaseDeviceANGLE;
PFNEGLQUERYDISPLAYATTRIBANGLEPROC l_EGL_QueryDisplayAttribANGLE;
PFNEGLQUERYSTRINGIANGLEPROC l_EGL_QueryStringiANGLE;
+PFNEGLHANDLEGPUSWITCHANGLEPROC l_EGL_HandleGPUSwitchANGLE;
+PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC l_EGL_ReacquireHighPowerGPUANGLE;
+PFNEGLRELEASEHIGHPOWERGPUANGLEPROC l_EGL_ReleaseHighPowerGPUANGLE;
PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC l_EGL_ProgramCacheGetAttribANGLE;
PFNEGLPROGRAMCACHEPOPULATEANGLEPROC l_EGL_ProgramCachePopulateANGLE;
PFNEGLPROGRAMCACHEQUERYANGLEPROC l_EGL_ProgramCacheQueryANGLE;
@@ -197,6 +200,12 @@ void LoadEGL_EGL(LoadProc loadProc)
loadProc("EGL_QueryDisplayAttribANGLE"));
l_EGL_QueryStringiANGLE =
reinterpret_cast<PFNEGLQUERYSTRINGIANGLEPROC>(loadProc("EGL_QueryStringiANGLE"));
+ l_EGL_HandleGPUSwitchANGLE =
+ reinterpret_cast<PFNEGLHANDLEGPUSWITCHANGLEPROC>(loadProc("EGL_HandleGPUSwitchANGLE"));
+ l_EGL_ReacquireHighPowerGPUANGLE = reinterpret_cast<PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC>(
+ loadProc("EGL_ReacquireHighPowerGPUANGLE"));
+ l_EGL_ReleaseHighPowerGPUANGLE = reinterpret_cast<PFNEGLRELEASEHIGHPOWERGPUANGLEPROC>(
+ loadProc("EGL_ReleaseHighPowerGPUANGLE"));
l_EGL_ProgramCacheGetAttribANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC>(
loadProc("EGL_ProgramCacheGetAttribANGLE"));
l_EGL_ProgramCachePopulateANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEPOPULATEANGLEPROC>(
diff --git a/chromium/third_party/angle/src/libEGL/egl_loader_autogen.h b/chromium/third_party/angle/src/libEGL/egl_loader_autogen.h
index f5914908360..373ae069fed 100644
--- a/chromium/third_party/angle/src/libEGL/egl_loader_autogen.h
+++ b/chromium/third_party/angle/src/libEGL/egl_loader_autogen.h
@@ -72,6 +72,9 @@
#define EGL_ReleaseDeviceANGLE l_EGL_ReleaseDeviceANGLE
#define EGL_QueryDisplayAttribANGLE l_EGL_QueryDisplayAttribANGLE
#define EGL_QueryStringiANGLE l_EGL_QueryStringiANGLE
+#define EGL_HandleGPUSwitchANGLE l_EGL_HandleGPUSwitchANGLE
+#define EGL_ReacquireHighPowerGPUANGLE l_EGL_ReacquireHighPowerGPUANGLE
+#define EGL_ReleaseHighPowerGPUANGLE l_EGL_ReleaseHighPowerGPUANGLE
#define EGL_ProgramCacheGetAttribANGLE l_EGL_ProgramCacheGetAttribANGLE
#define EGL_ProgramCachePopulateANGLE l_EGL_ProgramCachePopulateANGLE
#define EGL_ProgramCacheQueryANGLE l_EGL_ProgramCacheQueryANGLE
@@ -168,6 +171,9 @@ ANGLE_NO_EXPORT extern PFNEGLCREATEDEVICEANGLEPROC l_EGL_CreateDeviceANGLE;
ANGLE_NO_EXPORT extern PFNEGLRELEASEDEVICEANGLEPROC l_EGL_ReleaseDeviceANGLE;
ANGLE_NO_EXPORT extern PFNEGLQUERYDISPLAYATTRIBANGLEPROC l_EGL_QueryDisplayAttribANGLE;
ANGLE_NO_EXPORT extern PFNEGLQUERYSTRINGIANGLEPROC l_EGL_QueryStringiANGLE;
+ANGLE_NO_EXPORT extern PFNEGLHANDLEGPUSWITCHANGLEPROC l_EGL_HandleGPUSwitchANGLE;
+ANGLE_NO_EXPORT extern PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC l_EGL_ReacquireHighPowerGPUANGLE;
+ANGLE_NO_EXPORT extern PFNEGLRELEASEHIGHPOWERGPUANGLEPROC l_EGL_ReleaseHighPowerGPUANGLE;
ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC l_EGL_ProgramCacheGetAttribANGLE;
ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEPOPULATEANGLEPROC l_EGL_ProgramCachePopulateANGLE;
ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEQUERYANGLEPROC l_EGL_ProgramCacheQueryANGLE;
diff --git a/chromium/third_party/angle/src/libEGL/libEGL.cpp b/chromium/third_party/angle/src/libEGL/libEGL.cpp
index 7b834dba611..7f73b891781 100644
--- a/chromium/third_party/angle/src/libEGL/libEGL.cpp
+++ b/chromium/third_party/angle/src/libEGL/libEGL.cpp
@@ -728,4 +728,38 @@ EGLBoolean EGLAPIENTRY eglSwapBuffersWithFrameTokenANGLE(EGLDisplay dpy,
EnsureEGLLoaded();
return EGL_SwapBuffersWithFrameTokenANGLE(dpy, surface, frametoken);
}
+
+EGLSync EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateSyncKHR(dpy, type, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSync sync)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroySyncKHR(dpy, sync);
+}
+
+EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
+{
+ EnsureEGLLoaded();
+ return EGL_ClientWaitSyncKHR(dpy, sync, flags, timeout);
+}
+
+EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy,
+ EGLSync sync,
+ EGLint attribute,
+ EGLint *value)
+{
+ EnsureEGLLoaded();
+ return EGL_GetSyncAttribKHR(dpy, sync, attribute, value);
+}
+
+EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSync sync, EGLint flags)
+{
+ EnsureEGLLoaded();
+ return EGL_WaitSyncKHR(dpy, sync, flags);
+}
+
} // extern "C"
diff --git a/chromium/third_party/angle/src/libEGL/libEGL.def b/chromium/third_party/angle/src/libEGL/libEGL.def
index 3f8f5db1c6b..b4ae915f4a2 100644
--- a/chromium/third_party/angle/src/libEGL/libEGL.def
+++ b/chromium/third_party/angle/src/libEGL/libEGL.def
@@ -75,6 +75,11 @@ EXPORTS
eglGetNativeClientBufferANDROID @81
eglDupNativeFenceFDANDROID @82
eglGetMscRateANGLE @83
+ eglCreateSyncKHR @84
+ eglDestroySyncKHR @85
+ eglClientWaitSyncKHR @86
+ eglGetSyncAttribKHR @87
+ eglWaitSyncKHR @88
; 1.5 entry points
eglCreateSync @38
diff --git a/chromium/third_party/angle/src/libGL/entry_points_wgl.cpp b/chromium/third_party/angle/src/libGL/entry_points_wgl.cpp
index 65c597554a3..8bbf16e7d8e 100644
--- a/chromium/third_party/angle/src/libGL/entry_points_wgl.cpp
+++ b/chromium/third_party/angle/src/libGL/entry_points_wgl.cpp
@@ -225,7 +225,7 @@ PROC GL_APIENTRY wglGetProcAddress(LPCSTR lpszProc)
FUNC_EVENT("const char *procname = \"%s\"", lpszProc);
egl::Thread *thread = egl::GetCurrentThread();
- ProcEntry *entry =
+ const ProcEntry *entry =
std::lower_bound(&g_procTable[0], &g_procTable[g_numProcs], lpszProc, CompareProc);
thread->setSuccess();
diff --git a/chromium/third_party/angle/src/libGL/proc_table_wgl.h b/chromium/third_party/angle/src/libGL/proc_table_wgl.h
index 89abcb3645b..adcbf820e9a 100644
--- a/chromium/third_party/angle/src/libGL/proc_table_wgl.h
+++ b/chromium/third_party/angle/src/libGL/proc_table_wgl.h
@@ -30,8 +30,8 @@ namespace wgl
{
using ProcEntry = std::pair<const char *, PROC>;
-extern wgl::ProcEntry g_procTable[];
-extern size_t g_numProcs;
+extern const wgl::ProcEntry g_procTable[];
+extern const size_t g_numProcs;
} // namespace wgl
#endif // LIBGL_PROC_TABLE_H_
diff --git a/chromium/third_party/angle/src/libGL/proc_table_wgl_autogen.cpp b/chromium/third_party/angle/src/libGL/proc_table_wgl_autogen.cpp
index 513ff41093a..7437020357e 100644
--- a/chromium/third_party/angle/src/libGL/proc_table_wgl_autogen.cpp
+++ b/chromium/third_party/angle/src/libGL/proc_table_wgl_autogen.cpp
@@ -31,13 +31,13 @@
#include "libGL/entry_points_gl_4_5_autogen.h"
#include "libGL/entry_points_gl_4_6_autogen.h"
#include "libGL/entry_points_wgl.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
#define P(FUNC) reinterpret_cast<PROC>(FUNC)
namespace wgl
{
-ProcEntry g_procTable[] = {
+const ProcEntry g_procTable[] = {
{"glAccum", P(gl::Accum)},
{"glActiveShaderProgram", P(gl::ActiveShaderProgram)},
{"glActiveTexture", P(gl::ActiveTexture)},
@@ -1114,5 +1114,5 @@ ProcEntry g_procTable[] = {
{"wglUseFontOutlinesA", P(wglUseFontOutlinesA)},
{"wglUseFontOutlinesW", P(wglUseFontOutlinesW)}};
-size_t g_numProcs = 1074;
+const size_t g_numProcs = 1074;
} // namespace wgl
diff --git a/chromium/third_party/angle/src/libGLESv2.gni b/chromium/third_party/angle/src/libGLESv2.gni
index 6c7085e52eb..38d33ac2084 100644
--- a/chromium/third_party/angle/src/libGLESv2.gni
+++ b/chromium/third_party/angle/src/libGLESv2.gni
@@ -176,6 +176,7 @@ libangle_includes = [
"include/platform/FeaturesVk.h",
"include/platform/FrontendFeatures.h",
"include/platform/Platform.h",
+ "include/platform/PlatformMethods.h",
"include/vulkan/vulkan_fuchsia_ext.h",
]
@@ -806,12 +807,16 @@ libangle_gl_glx_sources = [
"src/libANGLE/renderer/gl/glx/FunctionsGLX.h",
"src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.cpp",
"src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.h",
+ "src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp",
+ "src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h",
"src/libANGLE/renderer/gl/glx/RendererGLX.cpp",
"src/libANGLE/renderer/gl/glx/RendererGLX.h",
"src/libANGLE/renderer/gl/glx/SurfaceGLX.h",
"src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp",
"src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h",
"src/libANGLE/renderer/gl/glx/functionsglx_typedefs.h",
+ "src/libANGLE/renderer/gl/glx/glx_utils.cpp",
+ "src/libANGLE/renderer/gl/glx/glx_utils.h",
"src/libANGLE/renderer/gl/glx/platform_glx.h",
]
@@ -846,11 +851,11 @@ libangle_gl_egl_dl_sources = [
"src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h",
]
-libangle_gl_ozone_sources = [
- "src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp",
- "src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.h",
- "src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.cpp",
- "src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.h",
+libangle_gl_gbm_sources = [
+ "src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.cpp",
+ "src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.h",
+ "src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.cpp",
+ "src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.h",
]
libangle_gl_egl_android_sources = [
diff --git a/chromium/third_party/angle/src/libGLESv2/entry_points_egl.cpp b/chromium/third_party/angle/src/libGLESv2/entry_points_egl.cpp
index 8165d5212b7..fd0ff8687cf 100644
--- a/chromium/third_party/angle/src/libGLESv2/entry_points_egl.cpp
+++ b/chromium/third_party/angle/src/libGLESv2/entry_points_egl.cpp
@@ -303,16 +303,21 @@ EGLSurface EGLAPIENTRY EGL_CreatePixmapSurface(EGLDisplay dpy,
(uintptr_t)dpy, (uintptr_t)config, (uintptr_t)pixmap, (uintptr_t)attrib_list);
Thread *thread = egl::GetCurrentThread();
- egl::Display *display = static_cast<egl::Display *>(dpy);
- Config *configuration = static_cast<Config *>(config);
+ egl::Display *display = static_cast<egl::Display *>(dpy);
+ Config *configuration = static_cast<Config *>(config);
+ AttributeMap attributes = AttributeMap::CreateFromIntArray(attrib_list);
- ANGLE_EGL_TRY_RETURN(thread, ValidateConfig(display, configuration), "eglCreatePixmapSurface",
- GetDisplayIfValid(display), EGL_NO_SURFACE);
+ ANGLE_EGL_TRY_RETURN(thread,
+ ValidateCreatePixmapSurface(display, configuration, pixmap, attributes),
+ "eglCreatePixmapSurface", GetDisplayIfValid(display), EGL_NO_SURFACE);
- UNIMPLEMENTED(); // FIXME
+ egl::Surface *surface = nullptr;
+ ANGLE_EGL_TRY_RETURN(thread,
+ display->createPixmapSurface(configuration, pixmap, attributes, &surface),
+ "eglCreatePixmapSurface", GetDisplayIfValid(display), EGL_NO_SURFACE);
thread->setSuccess();
- return EGL_NO_SURFACE;
+ return static_cast<EGLSurface>(surface);
}
EGLBoolean EGLAPIENTRY EGL_DestroySurface(EGLDisplay dpy, EGLSurface surface)
@@ -842,7 +847,7 @@ EGLSync EGLAPIENTRY EGL_CreateSync(EGLDisplay dpy, EGLenum type, const EGLAttrib
egl::Display *currentDisplay = currentContext ? currentContext->getDisplay() : nullptr;
ANGLE_EGL_TRY_RETURN(
- thread, ValidateCreateSyncKHR(display, type, attributes, currentDisplay, currentContext),
+ thread, ValidateCreateSync(display, type, attributes, currentDisplay, currentContext),
"eglCreateSync", GetDisplayIfValid(display), EGL_NO_SYNC);
egl::Sync *syncObject = nullptr;
@@ -1027,13 +1032,25 @@ EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurface(EGLDisplay dpy,
", "
"const EGLint* attrib_list = 0x%016" PRIxPTR,
(uintptr_t)dpy, (uintptr_t)config, (uintptr_t)native_window, (uintptr_t)attrib_list);
+
Thread *thread = egl::GetCurrentThread();
egl::Display *display = static_cast<egl::Display *>(dpy);
- UNIMPLEMENTED();
- thread->setError(EglBadDisplay() << "eglCreatePlatformWindowSurface unimplemented.", GetDebug(),
- "eglCreatePlatformWindowSurface", GetDisplayIfValid(display));
- return EGL_NO_SURFACE;
+ Config *configuration = static_cast<Config *>(config);
+ // Use reinterpret_cast since native_window could be a pointer or an actual value.
+ EGLNativeWindowType win = reinterpret_cast<EGLNativeWindowType>(native_window);
+ AttributeMap attributes = AttributeMap::CreateFromAttribArray(attrib_list);
+
+ ANGLE_EGL_TRY_RETURN(thread,
+ ValidateCreateWindowSurface(display, configuration, win, attributes),
+ "eglCreateWindowSurface", GetDisplayIfValid(display), EGL_NO_SURFACE);
+
+ egl::Surface *surface = nullptr;
+ ANGLE_EGL_TRY_RETURN(thread,
+ display->createWindowSurface(configuration, win, attributes, &surface),
+ "eglCreateWindowSurface", GetDisplayIfValid(display), EGL_NO_SURFACE);
+
+ return static_cast<EGLSurface>(surface);
}
EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurface(EGLDisplay dpy,
@@ -1047,13 +1064,25 @@ EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurface(EGLDisplay dpy,
", "
"const EGLint* attrib_list = 0x%016" PRIxPTR,
(uintptr_t)dpy, (uintptr_t)config, (uintptr_t)native_pixmap, (uintptr_t)attrib_list);
- Thread *thread = egl::GetCurrentThread();
+ Thread *thread = egl::GetCurrentThread();
+
egl::Display *display = static_cast<egl::Display *>(dpy);
+ Config *configuration = static_cast<Config *>(config);
+ // Use reinterpret_cast since native_window could be a pointer or an actual value.
+ EGLNativePixmapType pixmap = reinterpret_cast<EGLNativePixmapType>(native_pixmap);
+ AttributeMap attributes = AttributeMap::CreateFromAttribArray(attrib_list);
+
+ ANGLE_EGL_TRY_RETURN(
+ thread, ValidateCreatePixmapSurface(display, configuration, pixmap, attributes),
+ "eglCreatePlatformPixmapSurface", GetDisplayIfValid(display), EGL_NO_SURFACE);
+
+ egl::Surface *surface = nullptr;
+ ANGLE_EGL_TRY_RETURN(
+ thread, display->createPixmapSurface(configuration, pixmap, attributes, &surface),
+ "eglCreatePlatformPixmapSurface", GetDisplayIfValid(display), EGL_NO_SURFACE);
- UNIMPLEMENTED();
- thread->setError(EglBadDisplay() << "eglCreatePlatformPixmapSurface unimplemented.", GetDebug(),
- "eglCreatePlatformPixmapSurface", GetDisplayIfValid(display));
- return EGL_NO_SURFACE;
+ thread->setSuccess();
+ return static_cast<EGLSurface>(surface);
}
EGLBoolean EGLAPIENTRY EGL_WaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags)
@@ -1085,7 +1114,7 @@ __eglMustCastToProperFunctionPointerType EGLAPIENTRY EGL_GetProcAddress(const ch
FUNC_EVENT("const char *procname = \"%s\"", procname);
Thread *thread = egl::GetCurrentThread();
- ProcEntry *entry =
+ const ProcEntry *entry =
std::lower_bound(&g_procTable[0], &g_procTable[g_numProcs], procname, CompareProc);
thread->setSuccess();
diff --git a/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.cpp b/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.cpp
index 5e44300a6bd..9de60335354 100644
--- a/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.cpp
+++ b/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.cpp
@@ -1560,4 +1560,57 @@ EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithFrameTokenANGLE(EGLDisplay dpy,
thread->setSuccess();
return EGL_TRUE;
}
+
+void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx)
+{
+ ANGLE_SCOPED_GLOBAL_LOCK();
+ FUNC_EVENT("EGLDisplay dpy = 0x%016" PRIxPTR ", EGLContext ctx = 0x%016" PRIxPTR,
+ (uintptr_t)dpy, (uintptr_t)ctx);
+ Thread *thread = egl::GetCurrentThread();
+
+ egl::Display *display = static_cast<egl::Display *>(dpy);
+ gl::Context *context = static_cast<gl::Context *>(ctx);
+
+ ANGLE_EGL_TRY(thread, ValidateContext(display, context), "eglReleaseHighPowerGPUANGLE",
+ GetDisplayIfValid(display));
+ ANGLE_EGL_TRY(thread, context->releaseHighPowerGPU(), "eglReleaseHighPowerGPUANGLE",
+ GetDisplayIfValid(display));
+
+ thread->setSuccess();
+}
+
+void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx)
+{
+ ANGLE_SCOPED_GLOBAL_LOCK();
+ FUNC_EVENT("EGLDisplay dpy = 0x%016" PRIxPTR ", EGLContext ctx = 0x%016" PRIxPTR,
+ (uintptr_t)dpy, (uintptr_t)ctx);
+ Thread *thread = egl::GetCurrentThread();
+
+ egl::Display *display = static_cast<egl::Display *>(dpy);
+ gl::Context *context = static_cast<gl::Context *>(ctx);
+
+ ANGLE_EGL_TRY(thread, ValidateContext(display, context), "eglReacquireHighPowerGPUANGLE",
+ GetDisplayIfValid(display));
+ ANGLE_EGL_TRY(thread, context->reacquireHighPowerGPU(), "eglReacquireHighPowerGPUANGLE",
+ GetDisplayIfValid(display));
+
+ thread->setSuccess();
+}
+
+void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy)
+{
+ ANGLE_SCOPED_GLOBAL_LOCK();
+ FUNC_EVENT("EGLDisplay dpy = 0x%016" PRIxPTR, (uintptr_t)dpy);
+ Thread *thread = egl::GetCurrentThread();
+
+ egl::Display *display = static_cast<egl::Display *>(dpy);
+
+ ANGLE_EGL_TRY(thread, ValidateDisplay(display), "eglHandleGPUSwitchANGLE",
+ GetDisplayIfValid(display));
+ ANGLE_EGL_TRY(thread, display->handleGPUSwitch(), "eglHandleGPUSwitchANGLE",
+ GetDisplayIfValid(display));
+
+ thread->setSuccess();
+}
+
} // extern "C"
diff --git a/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.h b/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.h
index 6bfbc5aca6f..89230de9497 100644
--- a/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.h
+++ b/chromium/third_party/angle/src/libGLESv2/entry_points_egl_ext.h
@@ -229,6 +229,13 @@ EGL_SwapBuffersWithFrameTokenANGLE(EGLDisplay dpy,
EGLSurface surface,
EGLFrameTokenANGLE frametoken);
+// EGL_ANGLE_power_preference
+ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
+
+ANGLE_EXPORT void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
+
+ANGLE_EXPORT void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy);
+
} // extern "C"
#endif // LIBGLESV2_ENTRYPOINTSEGLEXT_H_
diff --git a/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp b/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp
index e8f6d6b1356..87c1dfeb6dd 100644
--- a/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp
+++ b/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp
@@ -4826,6 +4826,8 @@ void GL_APIENTRY ImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLint
// GL_EXT_texture_compression_s3tc_srgb
+// GL_EXT_texture_cube_map_array
+
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_format_BGRA8888
@@ -7110,6 +7112,8 @@ void GL_APIENTRY TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params)
}
}
+// GL_OES_texture_cube_map_array
+
// GL_OES_texture_half_float
// GL_OES_texture_storage_multisample_2d_array
diff --git a/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h b/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h
index 9a204540e9b..cbf58602ef9 100644
--- a/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h
+++ b/chromium/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h
@@ -843,6 +843,8 @@ ANGLE_EXPORT void GL_APIENTRY ImportSemaphoreFdEXT(GLuint semaphore, GLenum hand
// GL_EXT_texture_compression_s3tc_srgb
+// GL_EXT_texture_cube_map_array
+
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_format_BGRA8888
@@ -1132,6 +1134,8 @@ ANGLE_EXPORT void GL_APIENTRY TexGenivOES(GLenum coord, GLenum pname, const GLin
ANGLE_EXPORT void GL_APIENTRY TexGenxOES(GLenum coord, GLenum pname, GLfixed param);
ANGLE_EXPORT void GL_APIENTRY TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params);
+// GL_OES_texture_cube_map_array
+
// GL_OES_texture_half_float
// GL_OES_texture_storage_multisample_2d_array
diff --git a/chromium/third_party/angle/src/libGLESv2/global_state.cpp b/chromium/third_party/angle/src/libGLESv2/global_state.cpp
index f40fb77e7e8..331cf0dbdec 100644
--- a/chromium/third_party/angle/src/libGLESv2/global_state.cpp
+++ b/chromium/third_party/angle/src/libGLESv2/global_state.cpp
@@ -11,7 +11,6 @@
#include "common/debug.h"
#include "common/platform.h"
#include "common/system_utils.h"
-#include "common/tls.h"
#include "libGLESv2/resource.h"
#include <atomic>
@@ -59,6 +58,9 @@ Thread *AllocateCurrentThread()
return nullptr;
}
+ // Initialize fast TLS slot
+ SetContextToAndroidOpenGLTLSSlot(nullptr);
+
return thread;
}
@@ -133,6 +135,8 @@ void SetContextCurrent(Thread *thread, gl::Context *context)
}
}
thread->setCurrent(context);
+
+ SetContextToAndroidOpenGLTLSSlot(context);
}
} // namespace egl
diff --git a/chromium/third_party/angle/src/libGLESv2/global_state.h b/chromium/third_party/angle/src/libGLESv2/global_state.h
index 5877b7be1b4..0cc54af8eb8 100644
--- a/chromium/third_party/angle/src/libGLESv2/global_state.h
+++ b/chromium/third_party/angle/src/libGLESv2/global_state.h
@@ -9,6 +9,7 @@
#ifndef LIBGLESV2_GLOBALSTATE_H_
#define LIBGLESV2_GLOBALSTATE_H_
+#include "common/tls.h"
#include "libANGLE/Context.h"
#include "libANGLE/Debug.h"
#include "libANGLE/Thread.h"
@@ -41,6 +42,14 @@ extern Context *gSingleThreadedContext;
ANGLE_INLINE Context *GetGlobalContext()
{
+#if defined(ANGLE_PLATFORM_ANDROID)
+ // TODO: Replace this branch with a compile time flag (http://anglebug.com/4764)
+ if (gUseAndroidOpenGLTlsSlot)
+ {
+ return static_cast<gl::Context *>(ANGLE_ANDROID_GET_GL_TLS()[kAndroidOpenGLTlsSlot]);
+ }
+#endif
+
if (gSingleThreadedContext)
{
return gSingleThreadedContext;
@@ -52,6 +61,19 @@ ANGLE_INLINE Context *GetGlobalContext()
ANGLE_INLINE Context *GetValidGlobalContext()
{
+#if defined(ANGLE_PLATFORM_ANDROID)
+ // TODO: Replace this branch with a compile time flag (http://anglebug.com/4764)
+ if (gUseAndroidOpenGLTlsSlot)
+ {
+ Context *context =
+ static_cast<gl::Context *>(ANGLE_ANDROID_GET_GL_TLS()[kAndroidOpenGLTlsSlot]);
+ if (context && !context->isContextLost())
+ {
+ return context;
+ }
+ }
+#endif
+
if (gSingleThreadedContext && !gSingleThreadedContext->isContextLost())
{
return gSingleThreadedContext;
diff --git a/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp b/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp
index ccedaa1e493..b5ef234a9da 100644
--- a/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp
+++ b/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp
@@ -4183,6 +4183,8 @@ void GL_APIENTRY glImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLi
// GL_EXT_texture_compression_s3tc_srgb
+// GL_EXT_texture_cube_map_array
+
// GL_EXT_texture_filter_anisotropic
// GL_EXT_texture_format_BGRA8888
@@ -4804,6 +4806,8 @@ void GL_APIENTRY glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params
return gl::TexGenxvOES(coord, pname, params);
}
+// GL_OES_texture_cube_map_array
+
// GL_OES_texture_half_float
// GL_OES_texture_storage_multisample_2d_array
diff --git a/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.def b/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.def
index 5625d2b3fcc..8734ef00754 100644
--- a/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.def
+++ b/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.def
@@ -718,6 +718,8 @@ EXPORTS
; GL_EXT_texture_compression_s3tc_srgb
+ ; GL_EXT_texture_cube_map_array
+
; GL_EXT_texture_filter_anisotropic
; GL_EXT_texture_format_BGRA8888
@@ -854,6 +856,8 @@ EXPORTS
glTexGenxOES
glTexGenxvOES
+ ; GL_OES_texture_cube_map_array
+
; GL_OES_texture_half_float
; GL_OES_texture_storage_multisample_2d_array
@@ -1660,6 +1664,11 @@ EXPORTS
EGL_QueryDisplayAttribANGLE
EGL_QueryStringiANGLE
+ ; EGL_ANGLE_power_preference
+ EGL_HandleGPUSwitchANGLE
+ EGL_ReacquireHighPowerGPUANGLE
+ EGL_ReleaseHighPowerGPUANGLE
+
; EGL_ANGLE_program_cache_control
EGL_ProgramCacheGetAttribANGLE
EGL_ProgramCachePopulateANGLE
diff --git a/chromium/third_party/angle/src/libGLESv2/libGLESv2_no_capture_autogen.def b/chromium/third_party/angle/src/libGLESv2/libGLESv2_no_capture_autogen.def
index 3acee5b6265..eb604d7abb3 100644
--- a/chromium/third_party/angle/src/libGLESv2/libGLESv2_no_capture_autogen.def
+++ b/chromium/third_party/angle/src/libGLESv2/libGLESv2_no_capture_autogen.def
@@ -718,6 +718,8 @@ EXPORTS
; GL_EXT_texture_compression_s3tc_srgb
+ ; GL_EXT_texture_cube_map_array
+
; GL_EXT_texture_filter_anisotropic
; GL_EXT_texture_format_BGRA8888
@@ -854,6 +856,8 @@ EXPORTS
glTexGenxOES
glTexGenxvOES
+ ; GL_OES_texture_cube_map_array
+
; GL_OES_texture_half_float
; GL_OES_texture_storage_multisample_2d_array
@@ -1660,6 +1664,11 @@ EXPORTS
EGL_QueryDisplayAttribANGLE
EGL_QueryStringiANGLE
+ ; EGL_ANGLE_power_preference
+ EGL_HandleGPUSwitchANGLE
+ EGL_ReacquireHighPowerGPUANGLE
+ EGL_ReleaseHighPowerGPUANGLE
+
; EGL_ANGLE_program_cache_control
EGL_ProgramCacheGetAttribANGLE
EGL_ProgramCachePopulateANGLE
diff --git a/chromium/third_party/angle/src/libGLESv2/libGLESv2_with_capture_autogen.def b/chromium/third_party/angle/src/libGLESv2/libGLESv2_with_capture_autogen.def
index e8cc0d90f8f..84b8623c98f 100644
--- a/chromium/third_party/angle/src/libGLESv2/libGLESv2_with_capture_autogen.def
+++ b/chromium/third_party/angle/src/libGLESv2/libGLESv2_with_capture_autogen.def
@@ -718,6 +718,8 @@ EXPORTS
; GL_EXT_texture_compression_s3tc_srgb
+ ; GL_EXT_texture_cube_map_array
+
; GL_EXT_texture_filter_anisotropic
; GL_EXT_texture_format_BGRA8888
@@ -854,6 +856,8 @@ EXPORTS
glTexGenxOES
glTexGenxvOES
+ ; GL_OES_texture_cube_map_array
+
; GL_OES_texture_half_float
; GL_OES_texture_storage_multisample_2d_array
@@ -1660,6 +1664,11 @@ EXPORTS
EGL_QueryDisplayAttribANGLE
EGL_QueryStringiANGLE
+ ; EGL_ANGLE_power_preference
+ EGL_HandleGPUSwitchANGLE
+ EGL_ReacquireHighPowerGPUANGLE
+ EGL_ReleaseHighPowerGPUANGLE
+
; EGL_ANGLE_program_cache_control
EGL_ProgramCacheGetAttribANGLE
EGL_ProgramCachePopulateANGLE
diff --git a/chromium/third_party/angle/src/libGLESv2/proc_table_egl.h b/chromium/third_party/angle/src/libGLESv2/proc_table_egl.h
index 38506e7c4c4..d4960b7728e 100644
--- a/chromium/third_party/angle/src/libGLESv2/proc_table_egl.h
+++ b/chromium/third_party/angle/src/libGLESv2/proc_table_egl.h
@@ -18,8 +18,8 @@ namespace egl
{
using ProcEntry = std::pair<const char *, __eglMustCastToProperFunctionPointerType>;
-extern ProcEntry g_procTable[];
-extern size_t g_numProcs;
+extern const ProcEntry g_procTable[];
+extern const size_t g_numProcs;
} // namespace egl
#endif // LIBGLESV2_PROC_TABLE_H_
diff --git a/chromium/third_party/angle/src/libGLESv2/proc_table_egl_autogen.cpp b/chromium/third_party/angle/src/libGLESv2/proc_table_egl_autogen.cpp
index 5c104622263..eef2e3be4e7 100644
--- a/chromium/third_party/angle/src/libGLESv2/proc_table_egl_autogen.cpp
+++ b/chromium/third_party/angle/src/libGLESv2/proc_table_egl_autogen.cpp
@@ -20,13 +20,13 @@
#include "libGLESv2/entry_points_gles_3_1_autogen.h"
#include "libGLESv2/entry_points_gles_3_2_autogen.h"
#include "libGLESv2/entry_points_gles_ext_autogen.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
#define P(FUNC) reinterpret_cast<__eglMustCastToProperFunctionPointerType>(FUNC)
namespace egl
{
-ProcEntry g_procTable[] = {
+const ProcEntry g_procTable[] = {
{"ANGLEGetDisplayPlatform", P(ANGLEGetDisplayPlatform)},
{"ANGLEResetDisplayPlatform", P(ANGLEResetDisplayPlatform)},
{"eglBindAPI", P(EGL_BindAPI)},
@@ -80,6 +80,7 @@ ProcEntry g_procTable[] = {
{"eglGetSyncAttrib", P(EGL_GetSyncAttrib)},
{"eglGetSyncAttribKHR", P(EGL_GetSyncAttribKHR)},
{"eglGetSyncValuesCHROMIUM", P(EGL_GetSyncValuesCHROMIUM)},
+ {"eglHandleGPUSwitchANGLE", P(EGL_HandleGPUSwitchANGLE)},
{"eglInitialize", P(EGL_Initialize)},
{"eglLabelObjectKHR", P(EGL_LabelObjectKHR)},
{"eglMakeCurrent", P(EGL_MakeCurrent)},
@@ -102,7 +103,9 @@ ProcEntry g_procTable[] = {
{"eglQueryStringiANGLE", P(EGL_QueryStringiANGLE)},
{"eglQuerySurface", P(EGL_QuerySurface)},
{"eglQuerySurfacePointerANGLE", P(EGL_QuerySurfacePointerANGLE)},
+ {"eglReacquireHighPowerGPUANGLE", P(EGL_ReacquireHighPowerGPUANGLE)},
{"eglReleaseDeviceANGLE", P(EGL_ReleaseDeviceANGLE)},
+ {"eglReleaseHighPowerGPUANGLE", P(EGL_ReleaseHighPowerGPUANGLE)},
{"eglReleaseTexImage", P(EGL_ReleaseTexImage)},
{"eglReleaseThread", P(EGL_ReleaseThread)},
{"eglSetBlobCacheFuncsANDROID", P(EGL_SetBlobCacheFuncsANDROID)},
@@ -1518,5 +1521,5 @@ ProcEntry g_procTable[] = {
{"glWeightPointerOES", P(gl::WeightPointerOES)},
{"glWeightPointerOESContextANGLE", P(gl::WeightPointerOESContextANGLE)}};
-size_t g_numProcs = 1424;
+const size_t g_numProcs = 1427;
} // namespace egl
diff --git a/chromium/third_party/angle/src/tests/BUILD.gn b/chromium/third_party/angle/src/tests/BUILD.gn
index 47107846da7..e5c3879bcd7 100644
--- a/chromium/third_party/angle/src/tests/BUILD.gn
+++ b/chromium/third_party/angle/src/tests/BUILD.gn
@@ -93,6 +93,10 @@ template("angle_common_test_utils") {
"test_utils/angle_test_instantiate_apple.mm",
]
}
+ data_deps = []
+ if (angle_enable_vulkan) {
+ data_deps += [ "$angle_root/src/common/vulkan:vulkan_validation_layers" ]
+ }
}
}
@@ -174,10 +178,7 @@ if (is_win || is_linux || is_mac || is_android || is_fuchsia) {
"test_utils/VulkanExternalHelper.cpp",
"test_utils/VulkanExternalHelper.h",
]
- deps += [
- "$angle_root/src/common/vulkan",
- "$angle_root/src/libANGLE/renderer/vulkan:angle_vulkan_entry_points",
- ]
+ deps += [ "$angle_root/src/common/vulkan" ]
}
if (is_fuchsia) {
@@ -213,9 +214,7 @@ if (is_win || is_linux || is_mac || is_android) {
if (angle_enable_vulkan) {
sources += angle_white_box_tests_vulkan_sources
- deps += [
- "$angle_root/src/libANGLE/renderer/vulkan:angle_vulkan_entry_points",
- ]
+ deps += [ "$angle_root/src/common/vulkan:angle_vulkan_entry_points" ]
}
}
}
@@ -274,7 +273,7 @@ if (is_win || is_linux || is_android || is_mac) {
sources += angle_white_box_perf_tests_vulkan_sources
deps += [
"$angle_glslang_dir:glslang_sources",
- "$angle_root/src/libANGLE/renderer/vulkan:angle_vulkan_entry_points",
+ "$angle_root/src/common/vulkan:angle_vulkan_entry_points",
]
}
}
@@ -399,7 +398,6 @@ if (build_angle_gles1_conform_tests) {
"$gles1_conform_root/conform/conformshell",
"$gles1_conform_root/ctk",
"$gles1_conform_root/fixed",
- "$gles1_conform_root/include",
"$gles1_conform_root/platform",
]
@@ -748,10 +746,7 @@ if (build_angle_gles1_conform_tests) {
":angle_gles1_primtest_no_gtest",
]
- include_dirs = [
- ".",
- "$gles1_conform_root/conform",
- ]
+ include_dirs = [ "$gles1_conform_root/conform" ]
sources = [
"gles1_conformance_tests/PrimtestTests.cpp",
@@ -1348,6 +1343,7 @@ group("angle_tests") {
":angle_end2end_tests",
":angle_perftests",
":angle_unittests",
+ "capture_replay_tests",
]
if (!is_fuchsia) {
deps += [
diff --git a/chromium/third_party/angle/src/tests/angle_end2end_tests.gni b/chromium/third_party/angle/src/tests/angle_end2end_tests.gni
index 8e9e4b387af..d693a96b4a7 100644
--- a/chromium/third_party/angle/src/tests/angle_end2end_tests.gni
+++ b/chromium/third_party/angle/src/tests/angle_end2end_tests.gni
@@ -12,6 +12,7 @@ angle_end2end_tests_sources = [
"egl_tests/EGLCreateContextAttribsTest.cpp",
"egl_tests/EGLDebugTest.cpp",
"egl_tests/EGLNoConfigContextTest.cpp",
+ "egl_tests/EGLPreRotationTest.cpp",
"egl_tests/EGLPrintEGLinfoTest.cpp",
"egl_tests/EGLProgramCacheControlTest.cpp",
"egl_tests/EGLQueryContextTest.cpp",
@@ -93,6 +94,7 @@ angle_end2end_tests_sources = [
"gl_tests/PackUnpackTest.cpp",
"gl_tests/ParallelShaderCompileTest.cpp",
"gl_tests/PbufferTest.cpp",
+ "gl_tests/PixmapTest.cpp",
"gl_tests/PointSpritesTest.cpp",
"gl_tests/ProgramBinaryTest.cpp",
"gl_tests/ProgramInterfaceTest.cpp",
@@ -119,6 +121,7 @@ angle_end2end_tests_sources = [
"gl_tests/SwizzleTest.cpp",
"gl_tests/SyncQueriesTest.cpp",
"gl_tests/TextureExternalUpdateTest.cpp",
+ "gl_tests/TextureFilteringHintTest.cpp",
"gl_tests/TextureMultisampleTest.cpp",
"gl_tests/TextureRectangleTest.cpp",
"gl_tests/TextureTest.cpp",
diff --git a/chromium/third_party/angle/src/tests/angle_perftests.gni b/chromium/third_party/angle/src/tests/angle_perftests.gni
index 665f6d7c465..e64a7f9e186 100644
--- a/chromium/third_party/angle/src/tests/angle_perftests.gni
+++ b/chromium/third_party/angle/src/tests/angle_perftests.gni
@@ -12,6 +12,7 @@ angle_perf_tests_sources = [
"perf_tests/DrawElementsPerf.cpp",
"perf_tests/DynamicPromotionPerfTest.cpp",
"perf_tests/EGLMakeCurrentPerf.cpp",
+ "perf_tests/GenerateMipmapPerf.cpp",
"perf_tests/IndexConversionPerf.cpp",
"perf_tests/InstancingPerf.cpp",
"perf_tests/InterleavedAttributeData.cpp",
diff --git a/chromium/third_party/angle/src/tests/angle_unittests.gni b/chromium/third_party/angle/src/tests/angle_unittests.gni
index a1465ccf673..021f620c2be 100644
--- a/chromium/third_party/angle/src/tests/angle_unittests.gni
+++ b/chromium/third_party/angle/src/tests/angle_unittests.gni
@@ -80,6 +80,7 @@ angle_unittests_sources = [
"compiler_tests/IntermNode_test.cpp",
"compiler_tests/NV_draw_buffers_test.cpp",
"compiler_tests/OES_standard_derivatives_test.cpp",
+ "compiler_tests/OES_texture_cube_map_array_test.cpp",
"compiler_tests/OVR_multiview2_test.cpp",
"compiler_tests/OVR_multiview_test.cpp",
"compiler_tests/Pack_Unpack_test.cpp",
diff --git a/chromium/third_party/angle/src/tests/angle_white_box_tests.gni b/chromium/third_party/angle/src/tests/angle_white_box_tests.gni
index 6d1208ec6f7..88a7c05242c 100644
--- a/chromium/third_party/angle/src/tests/angle_white_box_tests.gni
+++ b/chromium/third_party/angle/src/tests/angle_white_box_tests.gni
@@ -19,5 +19,6 @@ angle_white_box_tests_win_sources = [
]
angle_white_box_tests_vulkan_sources = [
"gl_tests/VulkanFormatTablesTest.cpp",
+ "gl_tests/VulkanFramebufferTest.cpp",
"gl_tests/VulkanUniformUpdatesTest.cpp",
]
diff --git a/chromium/third_party/angle/src/tests/capture_replay_tests/BUILD.gn b/chromium/third_party/angle/src/tests/capture_replay_tests/BUILD.gn
new file mode 100644
index 00000000000..f88a3d3e10e
--- /dev/null
+++ b/chromium/third_party/angle/src/tests/capture_replay_tests/BUILD.gn
@@ -0,0 +1,54 @@
+# Copyright 2020 The ANGLE Project Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("../../../gni/angle.gni")
+declare_args() {
+ # Determines if we build the capture_replay_tests. Off by default.
+ angle_build_capture_replay_tests = false
+
+ # Decide which context to replay, starting with desktop default
+ angle_capture_replay_test_context_id = 1
+}
+
+if (angle_build_capture_replay_tests) {
+ # TODO (nguyenmh): http://anglebug.com/4758:
+ # turn angle_executable into angle_test when adding android support
+ angle_executable("capture_replay_tests") {
+ testonly = true
+ _contextid = angle_capture_replay_test_context_id
+ _trace_sources =
+ read_file("traces/angle_capture_context${_contextid}_files.txt",
+ "list lines") +
+ [
+ "angle_capture_context${_contextid}.cpp",
+ "angle_capture_context${_contextid}.h",
+ ]
+ sources =
+ rebase_path(_trace_sources, ".", "traces") + [ "CaptureReplayTest.cpp" ]
+ deps = [
+ "$angle_root:angle_compression",
+ "../../../:angle_common",
+ "../../../util:angle_util",
+ "../../../util:angle_util_loader_headers",
+ ]
+ configs += [ "../../../:library_name_config" ]
+
+ suppressed_configs += [ "$angle_root:constructor_and_destructor_warnings" ]
+
+ # Disable optimization to avoid optimizing huge files.
+ if (!is_debug) {
+ suppressed_configs += [ "//build/config/compiler:default_optimization" ]
+ configs += [ "//build/config/compiler:no_optimize" ]
+ }
+ _data_path = rebase_path("traces", root_out_dir)
+ defines = [
+ "ANGLE_CAPTURE_REPLAY_TEST_DATA_DIR=\"${_data_path}\"",
+ "ANGLE_CAPTURE_REPLAY_TEST_CONTEXT_ID=${_contextid}",
+ "ANGLE_CAPTURE_REPLAY_TEST_HEADER=traces/angle_capture_context${_contextid}.h",
+ ]
+ }
+} else {
+ group("capture_replay_tests") {
+ }
+}
diff --git a/chromium/third_party/angle/src/tests/deqp_support/deqp.gni b/chromium/third_party/angle/src/tests/deqp_support/deqp.gni
index cac232f5dfe..253ffb0dc8d 100644
--- a/chromium/third_party/angle/src/tests/deqp_support/deqp.gni
+++ b/chromium/third_party/angle/src/tests/deqp_support/deqp.gni
@@ -904,6 +904,8 @@ deqp_khr_common_sources = [
"$deqp_path/external/openglcts/modules/common/glcPackedPixelsTests.hpp",
"$deqp_path/external/openglcts/modules/common/glcParallelShaderCompileTests.cpp",
"$deqp_path/external/openglcts/modules/common/glcParallelShaderCompileTests.hpp",
+ "$deqp_path/external/openglcts/modules/common/glcPixelStorageModesTests.cpp",
+ "$deqp_path/external/openglcts/modules/common/glcPixelStorageModesTests.hpp",
"$deqp_path/external/openglcts/modules/common/glcPolygonOffsetClampTests.cpp",
"$deqp_path/external/openglcts/modules/common/glcPolygonOffsetClampTests.hpp",
"$deqp_path/external/openglcts/modules/common/glcRobustBufferAccessBehaviorTests.cpp",
diff --git a/chromium/third_party/angle/src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni b/chromium/third_party/angle/src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni
index fa4e3ae6f5b..c81fabd0d41 100644
--- a/chromium/third_party/angle/src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni
+++ b/chromium/third_party/angle/src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni
@@ -9,7 +9,11 @@
# Can be consumed by tests/BUILD.gn.
angle_restricted_traces = [
+ "angry_birds_2_1500 3",
+ "candy_crush_500 2",
+ "egypt_1500 1",
"manhattan_10 1",
+ "subway_surfer_500 4",
"temple_run_300 3",
"trex_200 1",
]
diff --git a/chromium/third_party/angle/src/third_party/trace_event/trace_event.h b/chromium/third_party/angle/src/third_party/trace_event/trace_event.h
index b10aa6812db..53b52771452 100644
--- a/chromium/third_party/angle/src/third_party/trace_event/trace_event.h
+++ b/chromium/third_party/angle/src/third_party/trace_event/trace_event.h
@@ -454,10 +454,9 @@
#define INTERNALTRACEEVENTUID(name_prefix) INTERNAL_TRACE_EVENT_UID2(name_prefix, __LINE__)
// Implementation detail: internal macro to create static category.
-#define INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(platform, category) \
- static const unsigned char *INTERNALTRACEEVENTUID(catstatic) = 0; \
- if (!INTERNALTRACEEVENTUID(catstatic)) \
- INTERNALTRACEEVENTUID(catstatic) = TRACE_EVENT_API_GET_CATEGORY_ENABLED(platform, category);
+#define INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(platform, category) \
+ static const unsigned char *INTERNALTRACEEVENTUID(catstatic) = \
+ TRACE_EVENT_API_GET_CATEGORY_ENABLED(platform, category);
// Implementation detail: internal macro to create static category and add
// event if the category is enabled.
diff --git a/chromium/third_party/angle/tools/glslang/glslang_validator.exe.sha1 b/chromium/third_party/angle/tools/glslang/glslang_validator.exe.sha1
index f11c6bdfddb..f2d437d66ad 100644
--- a/chromium/third_party/angle/tools/glslang/glslang_validator.exe.sha1
+++ b/chromium/third_party/angle/tools/glslang/glslang_validator.exe.sha1
@@ -1 +1 @@
-86280a63f5e84a9103c14d1a9fd1f15a981f7b8a \ No newline at end of file
+c9b2cb084d89f12e41fafc2f75125e1810cec962 \ No newline at end of file
diff --git a/chromium/third_party/angle/tools/glslang/glslang_validator.sha1 b/chromium/third_party/angle/tools/glslang/glslang_validator.sha1
index 66df6d151da..b72c4efc497 100644
--- a/chromium/third_party/angle/tools/glslang/glslang_validator.sha1
+++ b/chromium/third_party/angle/tools/glslang/glslang_validator.sha1
@@ -1 +1 @@
-eefd7279b4895e10514c9c147c6b5651647cb093 \ No newline at end of file
+de8679c3e2f15291ba4f5c32eebc954ce78bf39c \ No newline at end of file
diff --git a/chromium/third_party/angle/util/BUILD.gn b/chromium/third_party/angle/util/BUILD.gn
index a4ac0cd3601..73681e39296 100644
--- a/chromium/third_party/angle/util/BUILD.gn
+++ b/chromium/third_party/angle/util/BUILD.gn
@@ -51,6 +51,8 @@ if (angle_use_x11) {
if (is_fuchsia) {
_util_sources += [
+ "fuchsia/FuchsiaPixmap.cpp",
+ "fuchsia/FuchsiaPixmap.h",
"fuchsia/ScenicWindow.cpp",
"fuchsia/ScenicWindow.h",
]
diff --git a/chromium/third_party/angle/util/EGLPlatformParameters.h b/chromium/third_party/angle/util/EGLPlatformParameters.h
index 9122367ca7d..94aa6d171d2 100644
--- a/chromium/third_party/angle/util/EGLPlatformParameters.h
+++ b/chromium/third_party/angle/util/EGLPlatformParameters.h
@@ -60,20 +60,22 @@ struct EGLPlatformParameters
{
return std::tie(renderer, majorVersion, minorVersion, deviceType, presentPath,
debugLayersEnabled, contextVirtualization, transformFeedbackFeature,
- allocateNonZeroMemoryFeature, platformMethods, robustness);
+ allocateNonZeroMemoryFeature, emulateCopyTexImage2DFromRenderbuffers,
+ platformMethods, robustness);
}
- EGLint renderer = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE;
- EGLint majorVersion = EGL_DONT_CARE;
- EGLint minorVersion = EGL_DONT_CARE;
- EGLint deviceType = EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE;
- EGLint presentPath = EGL_DONT_CARE;
- EGLint debugLayersEnabled = EGL_DONT_CARE;
- EGLint contextVirtualization = EGL_DONT_CARE;
- EGLint robustness = EGL_DONT_CARE;
- EGLint transformFeedbackFeature = EGL_DONT_CARE;
- EGLint allocateNonZeroMemoryFeature = EGL_DONT_CARE;
- angle::PlatformMethods *platformMethods = nullptr;
+ EGLint renderer = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE;
+ EGLint majorVersion = EGL_DONT_CARE;
+ EGLint minorVersion = EGL_DONT_CARE;
+ EGLint deviceType = EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE;
+ EGLint presentPath = EGL_DONT_CARE;
+ EGLint debugLayersEnabled = EGL_DONT_CARE;
+ EGLint contextVirtualization = EGL_DONT_CARE;
+ EGLint robustness = EGL_DONT_CARE;
+ EGLint transformFeedbackFeature = EGL_DONT_CARE;
+ EGLint allocateNonZeroMemoryFeature = EGL_DONT_CARE;
+ EGLint emulateCopyTexImage2DFromRenderbuffers = EGL_DONT_CARE;
+ angle::PlatformMethods *platformMethods = nullptr;
};
inline bool operator<(const EGLPlatformParameters &a, const EGLPlatformParameters &b)
diff --git a/chromium/third_party/angle/util/EGLWindow.cpp b/chromium/third_party/angle/util/EGLWindow.cpp
index c257290dfc4..d3495423dc4 100644
--- a/chromium/third_party/angle/util/EGLWindow.cpp
+++ b/chromium/third_party/angle/util/EGLWindow.cpp
@@ -13,7 +13,7 @@
#include <string.h>
#include "common/system_utils.h"
-#include "platform/Platform.h"
+#include "platform/PlatformMethods.h"
#include "util/OSWindow.h"
// ConfigParameters implementation.
@@ -191,6 +191,11 @@ bool EGLWindow::initializeDisplay(OSWindow *osWindow,
disabledFeatureOverrides.push_back("allocate_non_zero_memory");
}
+ if (params.emulateCopyTexImage2DFromRenderbuffers == EGL_TRUE)
+ {
+ enabledFeatureOverrides.push_back("emulate_copyteximage2d_from_renderbuffers");
+ }
+
if (!disabledFeatureOverrides.empty())
{
if (strstr(extensionString, "EGL_ANGLE_feature_control") == nullptr)
diff --git a/chromium/third_party/angle/util/OSPixmap.h b/chromium/third_party/angle/util/OSPixmap.h
index 6f1400e4e79..9beec2d0e3b 100644
--- a/chromium/third_party/angle/util/OSPixmap.h
+++ b/chromium/third_party/angle/util/OSPixmap.h
@@ -26,7 +26,7 @@ class ANGLE_UTIL_EXPORT OSPixmap
virtual bool initialize(EGLNativeDisplayType display,
size_t width,
size_t height,
- int depth) = 0;
+ int nativeVisual) = 0;
virtual EGLNativePixmapType getNativePixmap() const = 0;
};
diff --git a/chromium/third_party/angle/util/egl_loader_autogen.cpp b/chromium/third_party/angle/util/egl_loader_autogen.cpp
index 77d1012ebc4..06e18f76df2 100644
--- a/chromium/third_party/angle/util/egl_loader_autogen.cpp
+++ b/chromium/third_party/angle/util/egl_loader_autogen.cpp
@@ -69,6 +69,9 @@ ANGLE_UTIL_EXPORT PFNEGLCREATEDEVICEANGLEPROC l_eglCreateDeviceANGLE;
ANGLE_UTIL_EXPORT PFNEGLRELEASEDEVICEANGLEPROC l_eglReleaseDeviceANGLE;
ANGLE_UTIL_EXPORT PFNEGLQUERYDISPLAYATTRIBANGLEPROC l_eglQueryDisplayAttribANGLE;
ANGLE_UTIL_EXPORT PFNEGLQUERYSTRINGIANGLEPROC l_eglQueryStringiANGLE;
+ANGLE_UTIL_EXPORT PFNEGLHANDLEGPUSWITCHANGLEPROC l_eglHandleGPUSwitchANGLE;
+ANGLE_UTIL_EXPORT PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC l_eglReacquireHighPowerGPUANGLE;
+ANGLE_UTIL_EXPORT PFNEGLRELEASEHIGHPOWERGPUANGLEPROC l_eglReleaseHighPowerGPUANGLE;
ANGLE_UTIL_EXPORT PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC l_eglProgramCacheGetAttribANGLE;
ANGLE_UTIL_EXPORT PFNEGLPROGRAMCACHEPOPULATEANGLEPROC l_eglProgramCachePopulateANGLE;
ANGLE_UTIL_EXPORT PFNEGLPROGRAMCACHEQUERYANGLEPROC l_eglProgramCacheQueryANGLE;
@@ -198,6 +201,12 @@ void LoadEGL(LoadProc loadProc)
reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBANGLEPROC>(loadProc("eglQueryDisplayAttribANGLE"));
l_eglQueryStringiANGLE =
reinterpret_cast<PFNEGLQUERYSTRINGIANGLEPROC>(loadProc("eglQueryStringiANGLE"));
+ l_eglHandleGPUSwitchANGLE =
+ reinterpret_cast<PFNEGLHANDLEGPUSWITCHANGLEPROC>(loadProc("eglHandleGPUSwitchANGLE"));
+ l_eglReacquireHighPowerGPUANGLE = reinterpret_cast<PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC>(
+ loadProc("eglReacquireHighPowerGPUANGLE"));
+ l_eglReleaseHighPowerGPUANGLE = reinterpret_cast<PFNEGLRELEASEHIGHPOWERGPUANGLEPROC>(
+ loadProc("eglReleaseHighPowerGPUANGLE"));
l_eglProgramCacheGetAttribANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC>(
loadProc("eglProgramCacheGetAttribANGLE"));
l_eglProgramCachePopulateANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEPOPULATEANGLEPROC>(
diff --git a/chromium/third_party/angle/util/egl_loader_autogen.h b/chromium/third_party/angle/util/egl_loader_autogen.h
index ee7162de287..1dfaec274c3 100644
--- a/chromium/third_party/angle/util/egl_loader_autogen.h
+++ b/chromium/third_party/angle/util/egl_loader_autogen.h
@@ -73,6 +73,9 @@
#define eglReleaseDeviceANGLE l_eglReleaseDeviceANGLE
#define eglQueryDisplayAttribANGLE l_eglQueryDisplayAttribANGLE
#define eglQueryStringiANGLE l_eglQueryStringiANGLE
+#define eglHandleGPUSwitchANGLE l_eglHandleGPUSwitchANGLE
+#define eglReacquireHighPowerGPUANGLE l_eglReacquireHighPowerGPUANGLE
+#define eglReleaseHighPowerGPUANGLE l_eglReleaseHighPowerGPUANGLE
#define eglProgramCacheGetAttribANGLE l_eglProgramCacheGetAttribANGLE
#define eglProgramCachePopulateANGLE l_eglProgramCachePopulateANGLE
#define eglProgramCacheQueryANGLE l_eglProgramCacheQueryANGLE
@@ -169,6 +172,9 @@ ANGLE_UTIL_EXPORT extern PFNEGLCREATEDEVICEANGLEPROC l_eglCreateDeviceANGLE;
ANGLE_UTIL_EXPORT extern PFNEGLRELEASEDEVICEANGLEPROC l_eglReleaseDeviceANGLE;
ANGLE_UTIL_EXPORT extern PFNEGLQUERYDISPLAYATTRIBANGLEPROC l_eglQueryDisplayAttribANGLE;
ANGLE_UTIL_EXPORT extern PFNEGLQUERYSTRINGIANGLEPROC l_eglQueryStringiANGLE;
+ANGLE_UTIL_EXPORT extern PFNEGLHANDLEGPUSWITCHANGLEPROC l_eglHandleGPUSwitchANGLE;
+ANGLE_UTIL_EXPORT extern PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC l_eglReacquireHighPowerGPUANGLE;
+ANGLE_UTIL_EXPORT extern PFNEGLRELEASEHIGHPOWERGPUANGLEPROC l_eglReleaseHighPowerGPUANGLE;
ANGLE_UTIL_EXPORT extern PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC l_eglProgramCacheGetAttribANGLE;
ANGLE_UTIL_EXPORT extern PFNEGLPROGRAMCACHEPOPULATEANGLEPROC l_eglProgramCachePopulateANGLE;
ANGLE_UTIL_EXPORT extern PFNEGLPROGRAMCACHEQUERYANGLEPROC l_eglProgramCacheQueryANGLE;
diff --git a/chromium/third_party/angle/util/frame_capture_utils.h b/chromium/third_party/angle/util/frame_capture_utils.h
index 11ae2564bf2..1cd2d7c2bfc 100644
--- a/chromium/third_party/angle/util/frame_capture_utils.h
+++ b/chromium/third_party/angle/util/frame_capture_utils.h
@@ -19,6 +19,11 @@
#define USE_SYSTEM_ZLIB
#include "compression_utils_portable.h"
+#define ANGLE_MACRO_STRINGIZE_AUX(a) #a
+#define ANGLE_MACRO_STRINGIZE(a) ANGLE_MACRO_STRINGIZE_AUX(a)
+#define ANGLE_MACRO_CONCAT_AUX(a, b) a##b
+#define ANGLE_MACRO_CONCAT(a, b) ANGLE_MACRO_CONCAT_AUX(a, b)
+
namespace angle
{
diff --git a/chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.cpp b/chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.cpp
new file mode 100644
index 00000000000..552e13d2c6d
--- /dev/null
+++ b/chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.cpp
@@ -0,0 +1,14 @@
+//
+// Copyright The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// FuchsiaPixmap.cpp: Implementation of OSPixmap for Fuchsia
+
+#include "util/fuchsia/FuchsiaPixmap.h"
+
+OSPixmap *CreateOSPixmap()
+{
+ return nullptr;
+}
diff --git a/chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.h b/chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.h
new file mode 100644
index 00000000000..51abcb434e2
--- /dev/null
+++ b/chromium/third_party/angle/util/fuchsia/FuchsiaPixmap.h
@@ -0,0 +1,14 @@
+//
+// Copyright The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// FuchsiaPixmap.h: Definition of the implementation of OSPixmap for Fuchsia
+
+#ifndef UTIL_FUCHSIA_FUCHSIAPIXMAP_H_
+#define UTIL_FUCHSIA_FUCHSIAPIXMAP_H_
+
+#include "util/OSPixmap.h"
+
+#endif // UTIL_FUCHSIA_FUCHSIAPIXMAP_H_
diff --git a/chromium/third_party/angle/util/posix/test_utils_posix.cpp b/chromium/third_party/angle/util/posix/test_utils_posix.cpp
index b1ec61ce9b5..2c2afafd193 100644
--- a/chromium/third_party/angle/util/posix/test_utils_posix.cpp
+++ b/chromium/third_party/angle/util/posix/test_utils_posix.cpp
@@ -433,4 +433,15 @@ int NumberOfProcessors()
return static_cast<int>(res);
}
+
+const char *GetNativeEGLLibraryNameWithExtension()
+{
+#if defined(ANGLE_PLATFORM_ANDROID)
+ return "libEGL.so";
+#elif defined(ANGLE_PLATFORM_LINUX)
+ return "libEGL.so.1";
+#else
+ return "unknown_libegl";
+#endif
+}
} // namespace angle
diff --git a/chromium/third_party/angle/util/shader_utils.cpp b/chromium/third_party/angle/util/shader_utils.cpp
index 6d94734a7df..c09b0dca19f 100644
--- a/chromium/third_party/angle/util/shader_utils.cpp
+++ b/chromium/third_party/angle/util/shader_utils.cpp
@@ -447,6 +447,14 @@ const char *PositionAttrib()
{
return "a_position";
}
+const char *Texture2DUniform()
+{
+ return "u_tex2D";
+}
+const char *LodUniform()
+{
+ return "u_lod";
+}
namespace vs
{
@@ -486,6 +494,21 @@ void main()
})";
}
+// A shader that simply passes through attribute a_position, setting it to gl_Position and varying
+// texcoord.
+const char *Texture2DLod()
+{
+ return R"(#version 300 es
+in vec4 a_position;
+out vec2 v_texCoord;
+
+void main()
+{
+ gl_Position = vec4(a_position.xy, 0.0, 1.0);
+ v_texCoord = a_position.xy * 0.5 + vec2(0.5);
+})";
+}
+
} // namespace vs
namespace fs
@@ -527,6 +550,22 @@ void main()
})";
}
+// A shader that samples the texture at a given lod.
+const char *Texture2DLod()
+{
+ return R"(#version 300 es
+precision mediump float;
+uniform sampler2D u_tex2D;
+uniform float u_lod;
+in vec2 v_texCoord;
+out vec4 my_FragColor;
+
+void main()
+{
+ my_FragColor = textureLod(u_tex2D, v_texCoord, u_lod);
+})";
+}
+
} // namespace fs
} // namespace essl3_shaders
diff --git a/chromium/third_party/angle/util/shader_utils.h b/chromium/third_party/angle/util/shader_utils.h
index 98233888773..aaadd6428c8 100644
--- a/chromium/third_party/angle/util/shader_utils.h
+++ b/chromium/third_party/angle/util/shader_utils.h
@@ -103,6 +103,8 @@ namespace essl3_shaders
{
ANGLE_UTIL_EXPORT const char *PositionAttrib();
+ANGLE_UTIL_EXPORT const char *Texture2DUniform();
+ANGLE_UTIL_EXPORT const char *LodUniform();
namespace vs
{
@@ -117,6 +119,10 @@ ANGLE_UTIL_EXPORT const char *Simple();
// v_position.
ANGLE_UTIL_EXPORT const char *Passthrough();
+// A shader that simply passes through attribute a_position, setting it to gl_Position and varying
+// texcoord.
+ANGLE_UTIL_EXPORT const char *Texture2DLod();
+
} // namespace vs
namespace fs
@@ -131,6 +137,9 @@ ANGLE_UTIL_EXPORT const char *Green();
// A shader that fills with 100% opaque blue.
ANGLE_UTIL_EXPORT const char *Blue();
+// A shader that samples the texture at a given lod.
+ANGLE_UTIL_EXPORT const char *Texture2DLod();
+
} // namespace fs
} // namespace essl3_shaders
diff --git a/chromium/third_party/angle/util/test_utils.h b/chromium/third_party/angle/util/test_utils.h
index 43e996f21b6..6b821916d46 100644
--- a/chromium/third_party/angle/util/test_utils.h
+++ b/chromium/third_party/angle/util/test_utils.h
@@ -120,6 +120,7 @@ Process *LaunchProcess(const std::vector<const char *> &args,
int NumberOfProcessors();
+const char *GetNativeEGLLibraryNameWithExtension();
} // namespace angle
#endif // UTIL_TEST_UTILS_H_
diff --git a/chromium/third_party/angle/util/windows/WGLWindow.cpp b/chromium/third_party/angle/util/windows/WGLWindow.cpp
index 68edea5e335..afb970011cb 100644
--- a/chromium/third_party/angle/util/windows/WGLWindow.cpp
+++ b/chromium/third_party/angle/util/windows/WGLWindow.cpp
@@ -77,6 +77,7 @@ bool WGLWindow::initializeGL(OSWindow *osWindow,
{
if (driverType != angle::GLESDriverType::SystemWGL)
{
+ std::cerr << "WGLWindow requires angle::GLESDriverType::SystemWGL.\n";
return false;
}
diff --git a/chromium/third_party/angle/util/windows/test_utils_win.cpp b/chromium/third_party/angle/util/windows/test_utils_win.cpp
index bdaf7e8eac3..d7f5ef45da5 100644
--- a/chromium/third_party/angle/util/windows/test_utils_win.cpp
+++ b/chromium/third_party/angle/util/windows/test_utils_win.cpp
@@ -444,4 +444,9 @@ bool DeleteFile(const char *path)
return !!::DeleteFileA(path) ? true : ReturnSuccessOnNotFound();
}
+
+const char *GetNativeEGLLibraryNameWithExtension()
+{
+ return "libEGL.dll";
+}
} // namespace angle
diff --git a/chromium/third_party/angle/util/x11/X11Pixmap.cpp b/chromium/third_party/angle/util/x11/X11Pixmap.cpp
index 2d81e0e433d..74a71f7585b 100644
--- a/chromium/third_party/angle/util/x11/X11Pixmap.cpp
+++ b/chromium/third_party/angle/util/x11/X11Pixmap.cpp
@@ -18,12 +18,27 @@ X11Pixmap::~X11Pixmap()
}
}
-bool X11Pixmap::initialize(EGLNativeDisplayType display, size_t width, size_t height, int depth)
+bool X11Pixmap::initialize(EGLNativeDisplayType display,
+ size_t width,
+ size_t height,
+ int nativeVisual)
{
mDisplay = display;
int screen = DefaultScreen(mDisplay);
Window root = RootWindow(mDisplay, screen);
+ int depth = 0;
+
+ XVisualInfo visualTemplate;
+ visualTemplate.visualid = nativeVisual;
+
+ int numVisuals = 0;
+ XVisualInfo *info = XGetVisualInfo(mDisplay, VisualIDMask, &visualTemplate, &numVisuals);
+ if (numVisuals == 1)
+ {
+ depth = info->depth;
+ }
+ XFree(info);
mPixmap = XCreatePixmap(mDisplay, root, static_cast<unsigned int>(width),
static_cast<unsigned int>(height), depth);
diff --git a/chromium/third_party/angle/util/x11/X11Pixmap.h b/chromium/third_party/angle/util/x11/X11Pixmap.h
index f338891cb30..c7b6c96c9f9 100644
--- a/chromium/third_party/angle/util/x11/X11Pixmap.h
+++ b/chromium/third_party/angle/util/x11/X11Pixmap.h
@@ -20,7 +20,10 @@ class X11Pixmap : public OSPixmap
X11Pixmap();
~X11Pixmap() override;
- bool initialize(EGLNativeDisplayType display, size_t width, size_t height, int depth) override;
+ bool initialize(EGLNativeDisplayType display,
+ size_t width,
+ size_t height,
+ int nativeVisual) override;
EGLNativePixmapType getNativePixmap() const override;