spirv_extensions: add list of extensions and to_string method
authorAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 13 Oct 2017 14:17:51 +0000 (16:17 +0200)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Wed, 17 Jul 2019 08:44:33 +0000 (10:44 +0200)
commit06e5daf5758ffdc06a5a96ab0fe58552732e35d1
tree34df1a5bd0bed4a2050fc7ce28ace2a5ea72f469
parenta622aad869abe0413cb034a39b464a3c76b332d1
spirv_extensions: add list of extensions and to_string method

Ideally this should be generated somehow. One option would be gather
all the extension dependencies listed on the core grammar, but there
would be the possibility of not including some of the extensions.

Note that spirv-tools is doing it just slightly better, as it has a
hardcoded list of extensions manually took from the registry, that
they parse to get the enum and the to_string method (see
generate_grammar_tables.py).

v2:
  * Use a macro to improve readability. (Tapani Pälli)
  * Add unreachable on the switch, no default (Eric Engestrom)
  * No typedef enum (Ian Romanick)
  * Sort extensions names (Ian Romanick)
  * Don't add extensions unlikely to be supported by Mesa at any point
    (Ian Romanick)

v3: rebase update

v4: Include AMD_gcn_shader

v5: move spirv_extensions_to_string to src/mesa/main/spirv_extensions.c

Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Arcady Goldmints-Orlov <agoldmints@igalia.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/mesa/main/spirv_extensions.c
src/mesa/main/spirv_extensions.h