86a617f110
Bug: none Change-Id: I4b4f2a4abfea7adcea406f458bc4e4a13b0e8c43 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91000 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: dan sinclair <dsinclair@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> |
||
---|---|---|
.. | ||
README.md | ||
construct.cc | ||
construct.h | ||
entry_point_info.cc | ||
entry_point_info.h | ||
enum_converter.cc | ||
enum_converter.h | ||
enum_converter_test.cc | ||
fail_stream.h | ||
fail_stream_test.cc | ||
function.cc | ||
function.h | ||
function_arithmetic_test.cc | ||
function_bit_test.cc | ||
function_call_test.cc | ||
function_cfg_test.cc | ||
function_composite_test.cc | ||
function_conversion_test.cc | ||
function_decl_test.cc | ||
function_glsl_std_450_test.cc | ||
function_logical_test.cc | ||
function_memory_test.cc | ||
function_misc_test.cc | ||
function_var_test.cc | ||
namer.cc | ||
namer.h | ||
namer_test.cc | ||
parser.cc | ||
parser.h | ||
parser_impl.cc | ||
parser_impl.h | ||
parser_impl_barrier_test.cc | ||
parser_impl_convert_member_decoration_test.cc | ||
parser_impl_convert_type_test.cc | ||
parser_impl_function_decl_test.cc | ||
parser_impl_get_decorations_test.cc | ||
parser_impl_handle_test.cc | ||
parser_impl_import_test.cc | ||
parser_impl_module_var_test.cc | ||
parser_impl_named_types_test.cc | ||
parser_impl_test.cc | ||
parser_impl_test_helper.cc | ||
parser_impl_test_helper.h | ||
parser_impl_user_name_test.cc | ||
parser_test.cc | ||
parser_type.cc | ||
parser_type.h | ||
parser_type_test.cc | ||
spirv_tools_helpers_test.cc | ||
spirv_tools_helpers_test.h | ||
usage.cc | ||
usage.h | ||
usage_test.cc |
README.md
SPIR-V Reader
This component translates SPIR-V written for Vulkan into the Tint AST.
The SPIR-V reader entry point is tint::reader::spirv::Parser
, which
implements the Reader interface in tint::reader::Reader
.
It's usable from the Tint command line:
# Translate SPIR-V into WGSL.
tint --format wgsl a.spv
Supported dialects
The SPIR-V module must pass validation for the Vulkan 1.1 environment in SPIRV-Tools. In particular, SPIR-V 1.4 and later are not supported.
For example, the equivalent of the following must pass:
spirv-val --target-env vulkan1.1 a.spv
Additionally, the reader imposes additional constraints based on:
- The features supported by WGSL. Some Vulkan features might not be supportable because WebGPU must be portable to other graphics APIs.
- Limitations of the reader itself. These might be relaxed in the future with extra engineering work.
Feedback
Please file issues at https://crbug.com/tint, and apply label SpirvReader
.
Outstanding issues can be found by using the SpirvReader
label in the Chromium project's
bug tracker: https://bugs.chromium.org/p/tint/issues/list?q=label:SpirvReader