quakeforge/tools/qfcc/include
Bill Currie 99b1859aac [qfcc] Parse the spirv grammar json files
I really don't like the way they're included (I'm really looking forward
to #embed, but gotta wait for gcc 15), and I'm a tad grumpy that the
documentation for them
(https://registry.khronos.org/SPIR-V/specs/unified1/MachineReadableGrammar.html)
is wrong (missing fields), but I think I like the result.

The grammars (core and glsl.std.450) are parsed into structs that should
be fairly easy to interpret: the instructions, kinds, and enumerant
values are sorted by name for search with bsearch. Having the data
parsed in means source code can refer to the items by name rather than
magic numbers, which will be very nice for intrinsics and image types
(and probably a few other things).
2025-01-07 03:26:12 +09:00
..
algebra.h [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
attribute.h [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
class.h [qfcc] Propagate rua_ctx_t to more functions 2024-12-23 22:03:47 +09:00
codespace.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
cpp.h [qfcc] Use a stack for cpp_quote_start 2024-08-31 13:01:26 +09:00
dags.h [qfcc] Don't split basic blocks on function calls 2024-02-21 22:41:08 +09:00
debug.h [qfcc] Use rua_loc_t for most location information 2023-11-06 14:25:20 +09:00
def.h [qfcc] Clean up the local_expr global 2024-11-04 16:38:07 +09:00
defspace.h [qfcc] Separate out backend function building 2024-11-03 16:58:10 +09:00
diagnostic.h [qfcc] Clean up warning and notice return types 2024-02-21 22:41:08 +09:00
dot.h [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
emit.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
evaluate.h [qfcc] Add a code generator for type expressions 2024-09-06 01:04:38 +09:00
evaluate_type.h [qfcc] Add a code generator for type expressions 2024-09-06 01:04:38 +09:00
expr.h [qfcc] Update generic handling for the new type scheme 2025-01-03 21:27:28 +09:00
expr_names.h [qfcc] Implement inline function calls 2024-12-11 03:16:15 +09:00
flow.h [qfcc] Remove special treatment for flow/func statements 2024-02-21 22:41:08 +09:00
function.h [qfcc] Propagate rua_ctx_t to more functions 2024-12-23 22:03:47 +09:00
glsl-lang.h [qfcc] Use a context object to hold current language 2024-12-07 23:55:48 +09:00
grab.h Merge branch 'qfcc-cse' 2012-12-13 20:17:28 +09:00
idstuff.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
linker.h [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
Makemodule.am [qfcc] Create a parser file for GLSL 2024-04-17 16:25:43 +09:00
mat_types.h [qfcc] Chain matrix and bool types 2024-04-25 11:22:35 +09:00
method.h [qfcc] Propagate rua_ctx_t to more functions 2024-12-23 22:03:47 +09:00
obj_file.h [qfcc] Give qfo spaces support for names 2024-09-12 13:50:33 +09:00
obj_type.h [qfcc] Make type_t mostly const-correct 2024-02-20 16:47:04 +09:00
opcodes.h [qfcc] Dump emitted statements when verbosity >= 2 2022-01-20 13:08:05 +09:00
options.h [qfcc] Make max_params a code option 2024-10-11 10:01:45 +09:00
pragma.h Allow pragmas to have arguments 2020-02-15 23:49:12 +09:00
qfcc.h [qfcc] Move ctor creation out of class_finish_module 2024-10-01 16:51:49 +09:00
qfprogs.h Fix qfo strings dumping 2020-02-23 15:08:31 +09:00
reloc.h [qfcc] Support alignment in qfo spaces 2022-07-31 17:15:47 +09:00
rua-lang.h [qfcc] Allow languages to hook number parsing 2025-01-04 12:51:30 +09:00
shared.h [qfcc] Defer Ruamoko semantics processing 2024-12-07 02:38:00 +09:00
specifier.h [qfcc] Resurrect is_function 2025-01-03 17:52:19 +09:00
spirv.h [qfcc] Parse the spirv grammar json files 2025-01-07 03:26:12 +09:00
spirv_grammar.h [qfcc] Parse the spirv grammar json files 2025-01-07 03:26:12 +09:00
statements.h [qfcc] Use columns for selecting instructions 2024-11-26 10:45:20 +09:00
strpool.h [qfcc] Implement macro recording and defined() 2023-10-23 19:00:30 +09:00
struct.h [qfcc] Extend handles to support image types 2024-11-21 19:18:13 +09:00
switch.h [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
sy_type_names.h [qfcc] Add xvalue expressions and symbols 2024-12-08 18:59:40 +09:00
symtab.h [qfcc] Rework function/pointer/array declarations 2025-01-03 13:22:29 +09:00
target.h [qfcc] Use a context object to hold current language 2024-12-07 23:55:48 +09:00
type.h [qfcc] Support matrices in spirv output 2024-12-05 00:26:07 +09:00
value.h [qfcc] Implement specialization constants 2024-10-02 02:11:53 +09:00
vec_types.h [qfcc] Implement some basics for the vector types 2022-02-04 00:25:31 +09:00