quakeforge/tools/qfcc/source
Bill Currie 81aa77b142 [qfcc] Optimize matrix construction from vectors
When the number of supplied vectors matches the number of columns in the
matrix and all vectors have the same width as the number of rows in the
matrix, there's no need to expand the vectors into components only to be
gathered again.
2024-12-05 10:31:32 +09:00
..
.indent.pro indent whitespace cleanup. not perfect, but a bit more consistent now 2001-12-06 19:49:40 +00:00
algebra.c [qfcc] Apply suspenders and a belt to the dimension check 2024-09-24 11:17:01 +09:00
attribute.c [qfcc] Allow single-constant attribute values 2024-09-20 12:28:02 +09:00
class.c [qfcc] Use count for number of array elements 2024-11-17 15:27:10 +09:00
codespace.c [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
constfold.c [qfcc] Parse vector literals correctly 2024-09-03 20:50:31 +09:00
cpp.c [win] Fix some bitrot for building 2024-09-24 19:49:41 +09:00
dags.c [qfcc] Improve support for matrix types 2024-09-05 14:06:30 +09:00
debug.c [qfcc] Fix some glsl parsing issues 2024-09-01 17:02:42 +09:00
def.c [qfcc] Move ruamoko attribute parsing out of the parser 2024-11-22 14:15:08 +09:00
defspace.c [qfcc] Separate out backend function building 2024-11-03 16:58:10 +09:00
diagnostic.c Merge branch 'master' into wip-ruaspirv 2024-04-18 09:46:10 +09:00
disassemble.c [qfprogs] Create a stack for disassembly of locals 2023-09-12 22:21:55 +09:00
dot.c [qfcc] Make expressions const-correct 2023-09-29 10:15:59 +09:00
dot_dag.c [qfcc] Avoid (null) labels for dot graphs 2024-10-01 14:30:09 +09:00
dot_expr.c [qfcc] Fix some more unsupported expressions in dot 2024-12-05 00:19:48 +09:00
dot_flow.c [qfcc] Avoid (null) labels for dot graphs 2024-10-01 14:30:09 +09:00
dot_sblock.c [qfcc] Avoid (null) labels for dot graphs 2024-10-01 14:30:09 +09:00
dot_type.c [qfcc] Use count for number of array elements 2024-11-17 15:27:10 +09:00
dump_globals.c [qfcc] Use count for number of array elements 2024-11-17 15:27:10 +09:00
dump_lines.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_modules.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_strings.c [qfprogs] Dump hex for non-ascii chars 2022-12-10 21:53:00 +09:00
emit.c [qfcc] Make the type union anonymous 2024-08-16 17:23:29 +09:00
evaluate.c [qfcc] Clear current function for constexpr evaluation 2024-12-05 00:10:15 +09:00
evaluate_type.c [qfcc] Move type encoding defs into an array 2024-09-15 12:05:57 +09:00
expr.c [qfcc] Support matrices in spirv output 2024-12-05 00:26:07 +09:00
expr_algebra.c [qfcc] Optimize negating anti-commutative operations 2024-09-30 19:23:37 +09:00
expr_assign.c [qfcc] Add an intrinsic expression type 2024-11-22 23:44:37 +09:00
expr_binary.c [qfcc] Rework binary_expr to be support matrices 2024-12-05 00:18:47 +09:00
expr_bool.c [qfcc] Implement bool and lbool types 2024-11-15 12:36:08 +09:00
expr_call.c [qfcc] Implement intrinsic functions in spir-v 2024-11-25 01:39:27 +09:00
expr_cast.c [qfcc] Implement bool and lbool types 2024-11-15 12:36:08 +09:00
expr_compound.c [qfcc] Implement compound initializers for spir-v 2024-11-17 22:45:18 +09:00
expr_construct.c [qfcc] Optimize matrix construction from vectors 2024-12-05 10:31:32 +09:00
expr_dag.c [qfcc] Add an intrinsic expression type 2024-11-22 23:44:37 +09:00
expr_obj.c [qfcc] Clean up the local_expr global 2024-11-04 16:38:07 +09:00
expr_optimize.c [qfcc] Respect parentheses when scattering sums 2024-09-30 13:51:52 +09:00
expr_process.c [qfcc] Support matrices in spirv output 2024-12-05 00:26:07 +09:00
expr_type.c [qfcc] Clean up some more bools 2024-12-05 00:10:15 +09:00
expr_unary.c [qfcc] Clean up logical not and bool expressions 2024-12-05 02:02:14 +09:00
expr_vector.c [qfcc] Implement matrix construction for constants 2024-11-25 12:39:14 +09:00
flow.c [qfcc] Use the called function for ruamoko progs 2024-11-18 03:42:26 +09:00
function.c [qfcc] Implement intrinsic functions in spir-v 2024-11-25 01:39:27 +09:00
glsl-attribute.c [qfcc] Do basic error checking on layout qualifiers 2024-09-10 19:03:13 +09:00
glsl-block.c [qfcc] Assign indices to glsl block members 2024-11-21 19:18:13 +09:00
glsl-builtins.c [qfcc] Define the glsl normalize functions 2024-12-05 00:30:17 +09:00
glsl-declaration.c [qfcc] Fix some crashes when parsing bsp_turb.frag 2024-11-19 17:15:42 +09:00
glsl-layout.c [qfcc] Clean up the errors for some layout qualifiers 2024-11-21 19:18:13 +09:00
glsl-parse.y [qfcc] Clean up logical not and bool expressions 2024-12-05 02:02:14 +09:00
glsl-sub_comp.c [qfcc] Implement many glsl qualifiers as attributes 2024-09-09 20:01:06 +09:00
glsl-sub_frag.c [qfcc] Implement many glsl qualifiers as attributes 2024-09-09 20:01:06 +09:00
glsl-sub_geom.c [qfcc] Implement many glsl qualifiers as attributes 2024-09-09 20:01:06 +09:00
glsl-sub_tesc.c [qfcc] Implement many glsl qualifiers as attributes 2024-09-09 20:01:06 +09:00
glsl-sub_tese.c [qfcc] Implement many glsl qualifiers as attributes 2024-09-09 20:01:06 +09:00
glsl-sub_vert.c [qfcc] Implement many glsl qualifiers as attributes 2024-09-09 20:01:06 +09:00
grab.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
idstuff.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
linker.c Merge branch 'master' into wip-ruaspirv 2024-04-18 09:46:10 +09:00
Makemodule.am [qfcc] Split out the call related expression code 2024-11-04 20:28:30 +09:00
method.c [qfcc] Split out the call related expression code 2024-11-04 20:28:30 +09:00
obj_file.c [qfcc] Use count for number of array elements 2024-11-17 15:27:10 +09:00
obj_type.c [qfcc] Use count for number of array elements 2024-11-17 15:27:10 +09:00
opcodes.c [qfcc] Correct a typo in a comment 2024-11-28 21:05:34 +09:00
options.c [qfcc] Start properly separating target code 2024-10-06 14:29:02 +09:00
pragma.c [qfcc] Separate out backend function building 2024-11-03 16:58:10 +09:00
pre-parse.y [qfcc] Fix some inconsistent tokens 2024-12-05 00:10:15 +09:00
qc-lex.l [qfcc] Rework binary_expr to be support matrices 2024-12-05 00:18:47 +09:00
qc-parse.y [qfcc] Clean up logical not and bool expressions 2024-12-05 02:02:14 +09:00
qfcc.c [qfcc] Move ctor creation out of class_finish_module 2024-10-01 16:51:49 +09:00
qfpreqcc Better handling of progs.dat and line numbers. 2012-11-15 15:04:51 +09:00
qfprogs.c [qfprogs] Create a stack for disassembly of locals 2023-09-12 22:21:55 +09:00
qp-lex.l [qfcc] Parse vector literals correctly 2024-09-03 20:50:31 +09:00
qp-parse.y [qfcc] Implement bool and lbool types 2024-11-15 12:36:08 +09:00
reloc.c [qfcc] Use rua_loc_t for most location information 2023-11-06 14:25:20 +09:00
shared.c [qfcc] Use a separate enum for glsl interfaces 2024-09-09 11:40:57 +09:00
statements.c [qfcc] Rework binary_expr to be support matrices 2024-12-05 00:18:47 +09:00
strpool.c [qfcc] Make save_string null-safe 2024-07-07 15:18:51 +09:00
struct.c [qfcc] Enable color/texture vector component names 2024-11-21 19:18:13 +09:00
stub.c [qfcc] Clean up some overzealous const correctness 2024-11-21 08:30:47 +09:00
switch.c [qfcc] Implement bool and lbool types 2024-11-15 12:36:08 +09:00
symtab.c [qfcc] Use count for number of array elements 2024-11-17 15:27:10 +09:00
target.c [qfcc] Make max_params a code option 2024-10-11 10:01:45 +09:00
target_rua.c [qfcc] Implement vector expressions for spir-v 2024-11-18 14:55:32 +09:00
target_spirv.c [qfcc] Implement matrix ops in spirv 2024-12-05 02:00:35 +09:00
target_v6.c [qfcc] Implement vector expressions for spir-v 2024-11-18 14:55:32 +09:00
type.c [qfcc] Support matrices in spirv output 2024-12-05 00:26:07 +09:00
value.c [qfcc] Fix an overflow for matrix values 2024-12-05 00:22:38 +09:00