commit | 92cdeaaf810bee05e4b23e99fc2bededbdfa59d4 | [log] [tgz] |
---|---|---|
author | Ryan Harrison <rharrison@chromium.org> | Tue Jun 18 20:32:47 2019 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Tue Jun 18 20:32:47 2019 +0000 |
tree | 4c0e5aad1671ff3cd86985ae8efee41fa2e0fff0 | |
parent | 872c1d7fe98a41359364e96609231f9700160d7a [diff] |
Rolling 4 dependencies Roll third_party/SPIRV-Tools/ 0125b28ed..001e823b6 (24 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/0125b28ed421..001e823b6534 $ git log 0125b28ed..001e823b6 --date=short --no-merges --format='%ad %ae %s' 2019-06-18 afdx Add fuzzer pass to obfuscate constants. (#2671) 2019-06-17 33432579+alan-baker Handle volatile memory semantics in upgrade (#2674) 2019-06-17 33432579+alan-baker Validate Volatile memory semantics bit (#2672) 2019-06-17 33432579+alan-baker Disallow stores to UBOs (#2651) 2019-06-17 dneto Another fix uint -> uint32_t (#2676) 2019-06-15 33432579+alan-baker Validate variable initializer type (#2668) 2019-06-14 dneto Fix uint -> uint32_t in fuzz.cpp (#2675) 2019-06-13 afdx Add replayer tool for spirv-fuzz. (#2664) 2019-06-13 33432579+alan-baker Add validation for Subgroup builtins (#2637) 2019-06-11 afdx Add constant == uniform facts. (#2660) 2019-06-07 stevenperron Cast __LINE__ to size_t (#2661) 2019-06-06 afdx Add transformation to replace a boolean constant with a numeric comparison (#2659) 2019-06-06 dgkoch Add builtin validation for SPV_NV_shader_sm_builtins (#2656) 2019-06-06 greg Instrument: Fix code for version 2 output format. (#2655) 2019-06-05 afdx Fix bug in 'split blocks', and add tests for fuzzer. (#2658) 2019-06-05 dneto Optimizer: Handle array type with OpSpecConstantOp length (#2652) 2019-06-05 afdx Add fuzzer pass to add dead breaks. (#2654) 2019-06-04 afdx Add fuzzer pass that adds useful constructs to a module (#2647) 2019-06-03 jbolz Add validation for SPV_EXT_fragment_shader_interlock (#2650) 2019-05-31 zoddicus Remove asserts from GetUnderlyingType (#2646) 2019-05-31 dsinclair Close opened file handles. (#2644) 2019-05-31 kevin.petit Validate OpenCL rules for ImageRead and OpImageSampleExplicitLod (#2643) 2019-05-31 afdx Add spirv-fuzz pass to permute blocks. (#2642) 2019-05-29 pierremoreau Linker: Better type comparison for OpTypeArray and OpTypeForwardPointer (#2580) Roll third_party/glslang/ f88e5824d..f9d08a25f (44 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f88e5824d2cf..f9d08a25fbe1 $ git log f88e5824d..f9d08a25f --date=short --no-merges --format='%ad %ae %s' 2019-06-18 cepheus Bump revision. 2019-06-17 cepheus AST/SPV: Fix #930: translate uvec4 <-> uint64 for SubgroupGeMask et. al. 2019-06-18 cepheus Bump revision. 2019-06-17 cepheus SPV: Add a switch for favoring non-NaN operands in min, max, and clamp. 2019-06-17 cepheus Bump revision. 2019-06-17 siglesias Delete duplicated gl_SubGroupSizeARB builtin treatment 2019-06-12 siglesias Add missing GL_ARB_shader_ballot builtins to Geometry and Tessellation shaders 2019-06-14 jbolz Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics, and make volatile-qualified atomics generate MemorySemanticsVolatile when using the Vulkan memory model 2019-06-13 alanbaker Update test expectations for new SPIRV-Tools 2019-06-13 alanbaker Update known good SPIRV-Tools 2019-06-04 dkoch Add support for GL_NV_shader_sm_builtins 2019-06-08 cepheus GLSL: Revert f6873f7 to fix #1764. 2019-06-07 jbolz Use spvValidatorOptionsSetBeforeHlslLegalization for pre-legalized HLSL 2019-06-06 greg Uppdate spirv-tools known-good 2019-06-05 dsinclair Remove unused parameter 2019-06-04 jbolz Add missing NV_EXTENSIONS ifdef 2019-06-03 jbolz Support GL_ARB_fragment_shader_interlock 2019-05-27 dkoch Fix subgroup support for ray tracing 2019-05-30 dkoch Add AST tests for ray tracing shaders 2019-05-30 dkoch Add AST tests for mesh and task shaders 2019-05-30 dkoch Add more subgroup testing 2019-05-30 jbolz Allow runtime-sized arrays of acceleration structures 2019-05-28 dkoch Fix include guard for GL_EXT_multiview 2019-05-28 dkoch Return consistent names from CapabilityString 2019-05-23 mattparks5855 Fixed .dll install on MSVC. 2019-05-17 thomasanderson Remove non-source sources from binary targets 2019-05-16 syoussefi Build.gn: allow optimization in glslang lib and standalone 2019-05-16 dneto Update SPIRV-Tools, SPIRV-Headers 2019-05-10 cepheus Build: Fix 3 warnings. 2019-05-10 cepheus Bump version and revision. 2019-05-09 cepheus SPV 1.4: Move to 1.4 validation, removing all 1.4 validation failures. 2019-03-31 cepheus SPV 1.4: Emit SignExtend and ZeroExtend for integer image reads/writes. 2019-02-07 cepheus SPV 1.4: Lookup tables: Use variable initializer and NonWritable... 2019-01-15 cepheus SPV 1.4: Add support for OpCopyLogical, careful of Boolean differences. 2019-01-12 cepheus SPV 1.4: Implement the 5 new loop controls. 2019-01-10 cepheus SPV 1.4: Use OpSelect for trivial typed non-scalar/vector expressions. 2019-01-04 cepheus SPV 1.4: Add testing infrastructure for SPV 1.4 tests. 2019-01-04 cepheus SPV 1.4: Generate all globals on OpEntryPoint interface list. 2019-05-09 cepheus SPV: Move to the SPIR-V 1.4 header. 2019-05-09 cepheus Latest known-good SPIRV-Tools: WARNING: Needs python 3.x. 2019-05-09 cepheus Bump revision. 2019-05-08 jbolz For nonuniformEXT constructor, make a copy of the node to decorate 2019-03-08 jbolz Add support for GL_EXT_buffer_reference2 2019-02-17 jbolz Add Float16/Int8/Int16 capabilities for private variables and function parameters Roll third_party/spirv-cross/ fce83b7e8..05ea05509 (46 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross/+log/fce83b7e8b0f..05ea055096df $ git log fce83b7e8..05ea05509 --date=short --no-merges --format='%ad %ae %s' 2019-06-18 post Make sure args.msl22 is set in test_shaders.py. 2019-06-18 post MSL: Fix path check in test_shaders.py. 2019-06-17 post MSL: Conditionally validate MSL 2.2 shaders. 2019-06-14 post MSL: New SDK errors out on cull distance. 2019-06-13 post MSL: Fix regression with Private parameter declaration. 2019-06-12 post MSL: Support stencil export. 2019-06-12 post GLSL: Support GL_ARB_shader_stencil_export. 2019-06-11 post MSL: Support Invariant qualifier on position. 2019-06-12 post Add MSL 2.2 path in test_shaders.py. 2019-06-10 post Expand constexpr sampler sanity check. 2019-06-10 post MSL: Support remapping constexpr samplers by set/binding. 2019-06-10 post Employ heuristics to figure out how to emit SSBO/UAV reflection names. 2019-06-06 post Deal with nested loops. 2019-06-06 post Use the existing loop dominator when doing loop variable preservation. 2019-06-06 post Rewrite how loop dominators are propagated. 2019-06-06 post Deal with case where a variable is dominated by inner part of a loop. 2019-06-05 pmours Fix storage packing qualifiers missing on "shaderRecordNV" buffers 2019-06-05 pmours Add test for callable data 2019-06-05 pmours Fix callable data variables 2019-06-03 pmours Add support for "shaderRecordNV" qualifier 2019-06-05 post Deal with case where a block is somehow emitted in a duplicated fashion. 2019-06-02 post Fix erronous default for emit_line_directives. 2019-05-31 post MSL: Fix declaration of unused input variables. 2019-05-28 post Fixup OpLine parsing comments. 2019-05-28 post Support emitting OpLine directive. 2019-05-28 post GLSL: Support std430 in UBOs with scalar layout. 2019-05-27 post Run format_all.sh. 2019-05-27 post MSL: Use correct address space when passing array-of-buffers. 2019-05-27 post OpArrayLength must trigger active variables. 2019-05-27 post MSL: Implement OpArrayLength. 2019-05-24 post Add Git/timestamp --revision support. 2019-05-23 post MSL: Add test case for complex type alias. 2019-05-23 post MSL: Fix struct declaration order with complex type aliases. 2019-05-18 post Fix formatting, update C ABI version. 2019-05-09 post MSL: Support argument buffers and image swizzling. 2019-05-08 stuart.carnie Add get_member_name and active_buffer_ranges to C APIs 2019-05-17 amerkoleci Fix spvc_type_get_vector_size C function. 2019-05-16 cdavis Remove fallback for OpGroupNonUniformElect. 2019-05-15 cdavis MSL: Add support for subgroup operations. 2019-05-14 post Only deploy on new tags. 2019-05-14 post Add setup for Github releases via Travis. 2019-05-14 post Validate that C ABI in CMakeLists.txt matches code. 2019-05-14 post Run format_all.sh. 2019-05-11 laszlo.agocs GLSL: Add option to disable buffer blocks regardless of version 2019-05-13 post Fix nonuniform test for MSL. 2019-05-13 post HLSL/MSL: Deal correctly with nonuniformEXT qualifier. Roll third_party/spirv-headers/ c4f8f6579..de99d4d83 (17 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/c4f8f65792d4..de99d4d834ae $ git log c4f8f6579..de99d4d83 --date=short --no-merges --format='%ad %ae %s' 2019-06-12 dneto Add Volatile to Memory Semantics, for SPV_KHR_vulkan_memory_model 2019-06-10 ehsannas Add grammar and symbols for UserTypeGOOGLE extension to unified1. 2019-06-07 cepheus Add missing "version" : "None" to a bunch of reserved enumerants. 2019-06-07 cepheus Add more detail about reserving tokens to the README. 2019-06-07 cepheus Restore numerical order in enumerants. 2019-06-02 jbolz Add SPV_EXT_fragment_shader_interlock 2019-05-17 dkoch Add support for SPV_NV_sm_shader_builtins 2019-05-31 cepheus OpenCL ext. inst. header: Support C in addition to C++. 2019-05-27 michael.kinsner Proposed LoopControl bitfield allocation mechanism in spir-v.xml 2019-05-23 victor Reserve token range for Codeplay 2019-05-18 mchiasson Update CMakeLists.txt 2019-05-16 jbolz Update HasResultAndType code generation to skip duplicate enum values. There weren't any until SPIR-V 1.4 release, now there are two. 2019-05-16 mchiasson updated as per code review 2019-05-12 alan Compare enum names rather than values to determine last element 2019-05-11 mchiasson cmake development configuration package Fixes #104 2019-05-09 rex.xu Enable Groups capability by the extension SPV_AMD_shader_ballot 2019-04-30 ian.d.romanick Add INTEL_shader_integer_functions2 Created with: roll-dep third_party/SPIRV-Tools third_party/glslang third_party/spirv-cross third_party/spirv-headers Change-Id: Ie30848dc4e2d6932dc86d42c632537a19828329a Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/8181 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Dawn (formerly NXT) is an open-source and cross-platform implementation of the work-in-progress WebGPU standard. It exposes a C/C++ API that maps almost one-to-one to the WebGPU IDL and can be managed as part of a larger system such as a Web browser.
Dawn provides several WebGPU building blocks:
dawn.json
: description of the API used to drive code generators.examples
: examples showing how Dawn is used.generator
: code generator for files produces from dawn.json
templates
: Jinja2 templates for the generatorscripts
: scripts to support things like continuous testing, build files, etc.src
:common
: helper code shared between core Dawn libraries and tests/samplesdawn_native
: native implementation of WebGPU, one subfolder per backenddawn_wire
: client-server implementation of WebGPUinclude
: public headers for Dawntests
: internal Dawn testsend2end
: WebGPU tests performing GPU operationsunittests
: unittests and by extension tests not using the GPUvalidation
: WebGPU validation tests not using the GPU (frontend tests)utils
: helper code to use Dawn used by tests and samplesthird_party
: directory where dependencies live as well as their buildfiles.Dawn uses the Chromium build system and dependency management so you need to install depot_tools and add it to the PATH.
On Linux you need to have the pkg-config
command:
# Install pkg-config on Ubuntu sudo apt-get install pkg-config
Then get the source as follows:
# Clone the repo as "dawn" git clone https://dawn.googlesource.com/dawn dawn && cd dawn # Bootstrap the gclient configuration cp scripts/standalone.gclient .gclient # Fetch external dependencies and toolchains with gclient gclient sync
Then generate build files using gn args out/Debug
or gn args out/Release
. A text editor will appear asking build options, the most common option is is_debug=true/false
; otherwise gn args out/Release --list
shows all the possible options.
Then use ninja -C out/Release
to build dawn and for example ./out/Release/dawn_end2end_tests
to run the tests.
Please read and follow CONTRIBUTING.md. Dawn doesn‘t have a formal coding style yet, except what’s defined by our clang format style. Overall try to use the same style and convention as code around your change.
If you find issues with Dawn, please feel free to report them on the bug tracker. For other discussions, please post to Dawn's mailing list.
Please see LICENSE.
This is not an officially supported Google product.