Commit Graph

468 Commits

Author SHA1 Message Date
Jack Andersen 4a7b47200a Include alpha component in opaque shaders 2017-01-29 18:15:35 -10:00
Phillip Stephens c840625080 Add Char16ToWide helper function 2017-01-23 23:55:26 -08:00
Jack Andersen b8abd466dd char16_t formatting support 2017-01-23 21:40:09 -10:00
Phillip Stephens d505f2d30a Fix FRME cook crash when path contains spaces 2017-01-21 20:25:49 -08:00
Jack Andersen 7326f01b5b Update boo 2017-01-18 23:01:54 -10:00
Jack Andersen 2147abfbaa Work on Gui Frame exporter 2017-01-16 21:12:49 -10:00
Jack Andersen aecaab27a4 Create directory chains at a late point during extract 2017-01-16 15:21:13 -10:00
Phillip Stephens c4ee610169 Fix stack related crash in getGlobResults 2017-01-01 15:19:03 -08:00
Phillip Stephens 279b4b1d68 Update Collision cook process 2016-12-28 11:41:03 -08:00
Phillip Stephens 7bc98872a6 Fix linux build 2016-12-25 21:54:23 -08:00
Jack Andersen ecb722ae43 Make console API errors non-fatal 2016-12-25 12:50:11 -10:00
Jack Andersen 77c3d1e184 BlenderConnection stability improvements for Windows 2016-12-25 12:15:31 -10:00
Jack Andersen d7c5dff1f0 Windows fixes 2016-12-24 21:02:34 -10:00
Jack Andersen 75847c67d3 Better thread contention handling for BlenderConnection 2016-12-24 15:35:30 -10:00
Jack Andersen 46b04925c3 More graceful handling of non-installed blender 2016-12-12 10:09:53 -10:00
Jack Andersen b12b858f3d Integrate llvm BitVector and MathExtras 2016-12-09 16:32:20 -10:00
Jack Andersen aa408ccfec Move LTO-problematic definitions out of header 2016-10-10 15:21:15 -10:00
Jack Andersen 7f5ba744da Additional BlenderConnection World capabilities 2016-10-07 17:40:08 -10:00
Jack Andersen d307e645b1 Remove unnecessary and RVO-detrimental moves 2016-10-02 18:39:10 -10:00
Jack Andersen e65fe14c53 BlenderConnection tweaks 2016-10-02 12:34:10 -10:00
Jack Andersen 4f53d886ce Implement world cooker 2016-10-01 13:18:52 -10:00
Jack Andersen 45794700f8 Merge branch 'master' of https://github.com/AxioDL/hecl 2016-09-30 12:41:28 -10:00
Jack Andersen 835976be56 BlenderConnection::compileWorld() stub 2016-09-30 12:41:01 -10:00
Jack Andersen ae348f111b use of reliable constant rather then iffy macro 2016-09-29 17:32:24 -10:00
Jack Andersen c0f060d6ad Remove unnecessary glob regex 2016-09-24 15:57:43 -10:00
Jack Andersen f6428c9407 Glob path fixes 2016-09-20 19:41:06 -10:00
Jack Andersen 6de25c1d1d Refinements to avoid bad level linkages 2016-09-18 13:46:49 -10:00
Jack Andersen 5303b9bda1 Dramatic shader cache performance improvement 2016-09-11 18:52:55 -10:00
Jack Andersen f0b1837300 Add handy StringUtils begin/end compare functions 2016-08-30 15:13:00 -10:00
Jack Andersen 07c21ec489 ProjectPath hashing fix 2016-08-28 14:28:24 -10:00
Jack Andersen 4795565dd9 OpenGL enum change 2016-08-23 18:34:26 -10:00
Jack Andersen f65e3d23b4 Athena YAML refactor 2016-08-21 17:46:45 -10:00
Jack Andersen 719c62f09f Add ResourceLock for detecting parallel resource collisions 2016-08-11 16:33:03 -10:00
Jack Andersen daeef99f83 More reliable Metal shader cache 2016-08-08 09:06:51 -10:00
Jack Andersen 6740d6d00d More reliable HLSL shader cache 2016-08-08 08:53:31 -10:00
Jack Andersen ca4d50c62b More reliable shader cache; update submodules 2016-08-08 08:22:32 -10:00
Jack Andersen 07fcc2db92 Metal extended shader fixes 2016-08-03 13:46:25 -10:00
Jack Andersen 5f60a33cce Windows build fixes 2016-08-03 13:15:59 -10:00
Jack Andersen e17d5c0b83 GLSL generation fixes 2016-08-01 19:54:40 -10:00
Jack Andersen b7143c7dca Default colorRegs when lighting uniform not available 2016-07-31 20:35:35 -10:00
Jack Andersen 7e42581cf0 HLSL extended shader support 2016-07-31 18:34:08 -10:00
Jack Andersen b0b955f83f Remove redundant line of GLSL 2016-07-31 14:21:02 -10:00
Jack Andersen dc2c636f33 Early fragment tests and alpha compare to emulate GX use 2016-07-31 14:12:10 -10:00
Jack Andersen 9806a34ef6 Vulkan build fix 2016-07-31 13:47:41 -10:00
Jack Andersen f9cae24c5d Add alpha-test functionality for applicable blend modes 2016-07-31 13:35:46 -10:00
Jack Andersen ec859598e9 Metal platform conformance 2016-07-31 10:26:08 -10:00
Jack Andersen 9531d2bb02 Fixes for extended shaders 2016-07-30 18:45:28 -10:00
Jack Andersen 0acf4865ca Initial extended shader refactor 2016-07-30 16:06:13 -10:00
Jack Andersen 30dabe5267 Cache decompression error handling 2016-07-26 17:38:25 -10:00
Jack Andersen 9c48e5e8b6 Metal backend fixes 2016-07-19 10:33:04 -10:00
Jack Andersen d73c12c61f Normalize must occur on 3-components 2016-07-19 10:12:04 -10:00
Jack Andersen 0decdce86d Update shaders for normalize TCG flag 2016-07-18 20:12:00 -10:00
Jack Andersen 23f52a1ead Add support for normalizing TCG configs 2016-07-18 17:41:55 -10:00
Jack Andersen d03f00938a Minor adjustments to silence MSVC warnings 2016-07-14 11:30:32 -10:00
Phillip Stephens bb62f84fe1 Add postMtx to uniform, update athena 2016-07-12 01:54:42 -07:00
Phillip Stephens bc91e4597d Fix Vulkan shader errors by not using nested definitions 2016-07-10 11:44:33 -07:00
Phillip Stephens bc170f1dc0 Fix TexMtx uniform for GLSL 2016-07-09 14:58:34 -07:00
Phillip Stephens e2523d1268 Add post transform matrix 2016-07-08 12:55:33 -07:00
Jack Andersen c544d99f98 Shader variable emit fixes 2016-07-07 14:05:45 -10:00
Jack Andersen 907ed3d674 Add interface method for entering cook thread transactions 2016-07-06 18:22:54 -10:00
Jack Andersen 66774da1be Update boo and GLSL backend for Vulkan 2016-06-30 16:31:23 -10:00
Jack Andersen e6cf759477 Use shared_ptr to maintain strong references to ClientProcess transactions 2016-04-18 14:15:41 -10:00
Jack Andersen 88276db37f ClientProcess fix 2016-04-15 10:42:19 -10:00
Jack Andersen 037404c5ff Function-scope statics aren't as efficient as file-scope ones 2016-04-14 17:24:51 -10:00
Jack Andersen 4da14b5d9b Safer pop location 2016-04-10 23:35:43 -10:00
Jack Andersen 6945ec94b8 Another race condition fix 2016-04-09 13:18:12 -10:00
Jack Andersen 5fc5442286 Fix ClientProcess start race condition 2016-04-08 16:47:58 -10:00
Jack Andersen 761be432be Updates for new ANIM extract 2016-04-06 17:38:37 -10:00
Jack Andersen 2fbc21cc18 Remove unneeded fprintf 2016-04-04 16:44:47 -10:00
Jack Andersen 41dbd30970 Aux info functionality for ProjectPath 2016-04-04 15:49:42 -10:00
Jack Andersen 635193c2fe HLSL backend update 2016-04-04 09:34:22 -10:00
Jack Andersen 6abde07598 Metal extension shaders 2016-04-03 20:15:07 -10:00
Jack Andersen 80284ad816 Update GLSL backend for proper block bindings 2016-04-03 19:00:40 -10:00
Jack Andersen 4388cf64e5 Update GLSL backend for memory testing 2016-04-03 16:27:16 -10:00
Jack Andersen 54ca41f2ed Update boo and Metal backend 2016-04-02 20:19:03 -10:00
Jack Andersen 8534af8b4d Windows fixes 2016-04-02 17:31:50 -10:00
Jack Andersen 831ad0af8e Add primitive type to shader tag 2016-04-01 17:34:03 -10:00
Jack Andersen 9d72601f9a LambdaTransaction added to ClientProcess 2016-03-31 18:24:28 -10:00
Jack Andersen 6638463198 Cook path directory creation 2016-03-31 08:56:19 -10:00
Jack Andersen 4fba325b0f Link-order fixes 2016-03-30 16:44:12 -10:00
Jack Andersen 968139022e Client process worker loop tweak 2016-03-30 11:27:21 -10:00
Jack Andersen f254b34cca boo lambda D3D sync 2016-03-30 10:43:09 -10:00
Jack Andersen 72fc1e5754 boo lambda-factory API refactor 2016-03-30 09:15:08 -10:00
Jack Andersen c06cc88441 Decided against child cook process 2016-03-28 12:39:18 -10:00
Jack Andersen 3822f001a8 ClientProcess updates 2016-03-28 11:38:31 -10:00
Jack Andersen be0184bbe9 Ensure Windows ProjectPath hash will match POSIX 2016-03-27 18:40:27 -10:00
Jack Andersen 8b07c385f6 ClientProcess updates 2016-03-27 18:36:32 -10:00
Jack Andersen bbf8639a6a Initial ClientProcess class, require Blender 2.77 2016-03-27 10:41:29 -10:00
Jack Andersen 3015372883 D3D sync 2016-03-23 22:35:04 -10:00
Jack Andersen bb0ca46194 Vulkan sync 2016-03-23 22:15:55 -10:00
Jack Andersen a09d042a3d Update shader pipeline calls 2016-03-23 22:06:24 -10:00
Jack Andersen 31fa668e78 Humungous refactor 2016-03-04 13:02:44 -10:00
Jack Andersen e6aeff08a3 Link removal (complexity not worth it) 2016-02-29 17:05:42 -10:00
Jack Andersen 9a35417f42 Update boo 2016-02-24 10:52:53 -10:00
Jack Andersen c424e37fba Update boo and GLSL macros 2016-02-23 17:18:19 -10:00
Jack Andersen d76fcf0f5b Vulkan Updates 2016-02-22 16:33:29 -10:00
Jack Andersen 41ecea7a37 Merge branch 'master' of https://github.com/AxioDL/hecl 2016-02-18 10:53:01 -10:00
Jack Andersen f1cb3bdb58 Update boo 2016-02-18 10:52:36 -10:00
Phillip Stephens 1d18d8080f Fix crash when encountering invalid identifier 2016-02-18 08:33:34 -08:00
Phillip Stephens 43befa6fd2 Fix crash when attempting to initialize cache 2016-02-18 04:55:39 -08:00
Jack Andersen 52d840a49b Windows string fixes 2016-02-16 17:36:06 -10:00
Jack Andersen 195c58cd8b ProjectPath DirectoryEnumerator integration 2016-02-15 19:48:57 -10:00
Phillip Stephens 3e966d73af Use SystemStringView rather than raw std::{w}string for simplicity 2016-01-15 19:35:59 -08:00
Jack Andersen 8590ae9f01 SPIR-V ShaderCache backend 2016-01-14 12:47:31 -10:00
Jack Andersen 99ea94de39 Integrate glslang AST compilation 2016-01-14 11:12:29 -10:00
Jack Andersen cd6ae55c07 Use std::multimap to sort files by size 2016-01-07 14:05:50 -10:00
Jack Andersen 68fd386e50 Added home and desktop to OS X system location 2016-01-06 19:26:55 -10:00
Jack Andersen 5c1551bf08 CVar initialization order fix 2016-01-03 19:25:00 -10:00
Jack Andersen 7d91a6408e Update boo 2016-01-02 13:11:11 -10:00
Jack Andersen 0d25d01e41 Relocate Win32 volume path hack 2016-01-02 10:39:14 -10:00
Jack Andersen 0c8d49a80a Win32 DirectoryEnumerator fixes 2016-01-01 18:16:20 -10:00
Jack Andersen 29fd504475 Initial system location finder (unix only) 2016-01-01 16:27:17 -10:00
Jack Andersen 4ca3cb8081 DirectoryEnumerator sorting options 2015-12-31 14:16:20 -10:00
Jack Andersen 9c5d8ea262 Add HumanizeNumber and DirectoryEnumerator utilities 2015-12-30 12:03:37 -10:00
Jack Andersen 05eda24a81 std::string allocating getcwd 2015-12-15 11:55:50 -10:00
Phillip Stephens c543bf9834 Fix GCC derp 2015-12-04 20:10:40 -08:00
Phillip Stephens e458d97a2a Make CVarManager a singleton 2015-12-03 17:43:29 -08:00
Phillip Stephens 88c442514a Only deserialize CVar value when they differ 2015-12-02 20:08:14 -08:00
Phillip Stephens 17405aadb8 Set modified flag when deserializing CVars to propogate changes 2015-12-02 20:06:09 -08:00
Jack Andersen 47fb36def6 Moved CVars to HECL 2015-12-02 11:11:10 -10:00
Jack Andersen fff3100f17 OS X now using POSIX-style file store 2015-12-01 17:06:39 -10:00
Jack Andersen 8bf39efcd8 Update boo 2015-11-27 18:08:28 -10:00
Jack Andersen f7e195a140 Updated libBoo 2015-11-25 14:22:55 -10:00
Jack Andersen a19bc6827c Athena error handling tweak 2015-11-22 17:09:46 -10:00
Jack Andersen 18f708753d windows enum refactor fixes 2015-11-20 16:59:43 -10:00
Jack Andersen c4f8743bf6 OS X enum refactor fixes 2015-11-20 16:16:54 -10:00
Jack Andersen 0a457d854a Major scoped-enum refactor 2015-11-20 15:13:06 -10:00
Jack Andersen daa446588b Metal shader generation 2015-11-18 13:56:45 -10:00
Jack Andersen e5c4008cfb git add of HLSL sources.. derp 2015-11-17 21:29:54 -10:00
Jack Andersen 6387b420ae Working HECL shader generation on D3D11/12 2015-11-17 20:16:08 -10:00
Jack Andersen 6804a12641 Updated boo 2015-11-16 12:04:13 -10:00
Jack Andersen 6b6617303b Cache bug fix 2015-11-15 18:42:32 -10:00
Jack Andersen 6ae4f6ed11 Additions to test 2015-11-15 18:30:06 -10:00
Jack Andersen 77c5f8c089 Updated Athena, squelched some warnings 2015-11-14 13:59:38 -10:00
Jack Andersen a37a300be0 Merge branch 'master' of https://github.com/AxioDL/hecl 2015-11-14 13:41:06 -10:00
Jack Andersen ad1a47e8b4 HMDL outputting fixes 2015-11-14 13:40:32 -10:00
Phillip 013046ad65 Fix magics (needs proper fix)
Implement windows profile directory retrieval
2015-11-14 00:48:31 -08:00
Phillip e0cff83a41 Squash MSVC warnings 2015-11-13 22:39:27 -08:00
Jack Andersen db335e5d98 Added HMDL outputting from blender intermediate 2015-11-13 16:26:06 -10:00
Jack Andersen 7c0206bd39 Initial ShaderCache implementation 2015-11-12 16:12:09 -10:00
Phillip Stephens 676a82a8dd Fix possible false positive 2015-11-11 00:57:09 -08:00
Jack Andersen faccdbc55a backslash-escaping predicate 2015-11-10 18:01:36 -10:00
Jack Andersen 1f3ac3805e Win32 unicode-escape fix (all paths now sanitized with '/') 2015-11-10 17:40:13 -10:00
Jack Andersen cbb0951c09 Initial HECL-IR to GLSL implementation 2015-11-10 13:17:53 -10:00
Jack Andersen b4725c7d2e libBoo update and windows fixes 2015-11-10 10:11:38 -10:00
Jack Andersen c0d89d3e1e Transplant of libBoo to hecl's extern 2015-11-09 16:06:27 -10:00
Jack Andersen bcee8aa897 Added fast mode for mesh cooking 2015-10-21 16:01:08 -10:00
Jack Andersen 3a4647e4c3 Optimization refinements in mesh cooker 2015-10-18 17:27:58 -10:00
Jack Andersen 5b88fa6af4 GX backend updates 2015-10-16 16:06:27 -10:00
Jack Andersen f2c77a62fc Silenced windows warnings 2015-10-16 11:52:18 -10:00
Jack Andersen 978c6b1334 GX backend fixes 2015-10-15 22:02:59 -10:00
Jack Andersen d5cc16b79a Updated Athena 2015-10-15 17:08:01 -10:00
Jack Andersen edf368b1b1 Merge branch 'master' of https://github.com/AxioDL/hecl 2015-10-15 14:35:22 -10:00
Jack Andersen 2034a83576 Various updates and fixes 2015-10-15 14:34:47 -10:00
Jack Andersen 93eefac765 Windows fix 2015-10-15 12:24:34 -10:00
Jack Andersen a86b5f8c1d HECL Compiler bug fixes 2015-10-14 13:06:47 -10:00
Jack Andersen 2148bc2459 GX Backend work 2015-10-13 16:16:21 -10:00
Jack Andersen 9a47c3dd6d OS X fixes 2015-10-11 19:19:04 -10:00
Jack Andersen 66d07ff82d Memory leak fix 2015-10-11 18:40:35 -10:00
Jack Andersen bcd025f375 Windows fixes 2015-10-11 18:38:49 -10:00
Jack Andersen 60374a472a GX backend work 2015-10-10 19:55:53 -10:00
Jack Andersen 45b1d2edf3 Initial GX Backend 2015-10-09 20:59:40 -10:00
Jack Andersen 96b8c4c8d8 Work on Frontend 2015-10-09 13:55:13 -10:00
Jack Andersen 32bd32b9dd Initial HECL language frontend 2015-10-08 16:08:10 -10:00
Jack Andersen 135a7ced5d Mesh cooker updates 2015-10-06 15:16:54 -10:00
Jack Andersen f0325f7946 Added link resolution to ProjectPath 2015-10-05 15:49:23 -10:00
Jack Andersen f78aa15980 More mesh cooking bug fixes 2015-10-03 19:08:24 -10:00
Jack Andersen 051e16fdee mesh cook bug fixes 2015-10-03 18:35:18 -10:00
Jack Andersen 391ee13816 Features to support cooking 2015-09-30 14:40:06 -10:00
Jack Andersen 63a432090c Initial integration on cook tool 2015-09-29 20:23:07 -10:00
Jack Andersen a3586c9b5a Reduced ProjectPath memory footprint 2015-09-29 11:50:07 -10:00
Jack Andersen af2f2158bb windows bug fixes and performance improvements 2015-08-31 14:26:35 -10:00
Jack Andersen b6c1563272 utf8 fix 2015-08-31 11:23:45 -10:00
Jack Andersen e4f53eaa7c Windows refactors 2015-08-30 17:36:24 -10:00
Jack Andersen 199b8e7c32 Removed codecvt 2015-08-24 21:02:10 -10:00
Jack Andersen 2f3145974c Blender interface tweaks; submodule updates 2015-08-08 13:33:55 -10:00
Jack Andersen 669c598f4b blendershell.py updates 2015-08-06 09:10:12 -10:00
Phillip Stephens 3cc0382a26 Fix path sanitization 2015-08-04 19:43:43 -07:00
Phillip Stephens 5d75ee63b6 Sanitize ProjectPath 2015-08-04 18:54:35 -07:00
Jack Andersen 1268781e39 Bug fixes 2015-07-28 13:54:54 -10:00
Jack Andersen 1c358b74a1 Removed exceptions 2015-07-25 16:52:02 -10:00
Jack Andersen 9e27a9d07b MSVC build fixes 2015-07-22 09:14:50 -10:00
Jack Andersen 7a5fc8236a cleanup and fixes 2015-07-19 10:52:22 -10:00
Jack Andersen 662c2bc689 extract behavior tweaks 2015-07-17 18:35:01 -10:00
Jack Andersen 050085cc6d AngelScript UniqueModule type 2015-07-16 14:02:19 -10:00
Jack Andersen 4252bd6e39 added AngelScript; work on extractor 2015-07-15 16:03:38 -10:00
Jack Andersen cc340518f1 extract tool work 2015-07-12 20:30:20 -10:00
Jack Andersen e1a37b53eb restored standalone FourCC class 2015-07-11 12:42:40 -10:00
Jack Andersen 45c593b596 work on extract tool 2015-07-09 19:28:33 -10:00
Jack Andersen 81d8329f74 removed qt files 2015-07-08 21:16:56 -10:00
Jack Andersen b6216b049c proper link order for DataSpec registration 2015-07-06 18:45:29 -10:00
Jack Andersen b22c5e69b6 Added CMakeLists.txt 2015-07-06 17:24:09 -10:00
Jack Andersen 14a368553d LogVisor report additions; Updated RetroCommon 2015-07-05 15:35:08 -10:00
Jack Andersen cd0b2f0926 codebase cleanups 2015-07-04 20:27:24 -10:00
Jack Andersen 0b492c6e15 header renames and initial LogVisor integration 2015-07-03 20:03:59 -10:00
Jack Andersen a8fbfcb361 moved retro-specific stuff out of hecl 2015-07-01 13:53:05 -10:00
Jack Andersen 76056b37e7 Update Project.cpp 2015-06-13 10:12:55 -10:00
Jack Andersen a3bde58262 Update Project.cpp 2015-06-13 10:10:37 -10:00
Jack Andersen 4b13e9da9d added extract tool 2015-06-11 23:08:49 -10:00
Jack Andersen 8de863fcba tool tweaks 2015-06-11 18:02:23 -10:00
Jack Andersen 270468fb1f additional tool work 2015-06-10 23:41:10 -10:00
Jack Andersen 6dda293cb9 lots of dataspec implementation 2015-06-10 18:55:06 -10:00
Jack Andersen a6d28c2b2b added index and config file management 2015-06-10 13:34:14 -10:00
Jack Andersen 5d2d2b010d refactoring for wchar strings 2015-06-09 16:40:03 -10:00
Jack Andersen a4ab583a93 Refactored for 'spec' tool 2015-06-09 13:21:45 -10:00
Jack Andersen 9de4d3fbe7 more Athena integration 2015-06-09 12:57:21 -10:00
Jack Andersen 84f8c62d28 Much refactoring 2015-06-09 12:19:59 -10:00
Jack Andersen 851221f861 project path representation 2015-05-26 23:09:05 -10:00
Jack Andersen 461893d7a1 database refinements; blender shell 2015-05-23 18:51:16 -10:00
Jack Andersen b941440418 initial port of original blender addon to HECL 2015-05-23 11:59:40 -10:00
Jack Andersen db0ce36b90 implemented lba VFS 2015-05-21 22:21:44 -10:00
Jack Andersen f02aa1ca8f tons of database interface work 2015-05-20 16:33:05 -10:00
Jack Andersen 880c9f6c95 gcc compile fix 2015-05-19 19:45:19 -10:00
Jack Andersen 93a602be9a driver frontend in place 2015-05-19 19:22:32 -10:00
Jack Andersen d10c3a831d integrated zlib and libpng; initial driver work 2015-05-18 21:01:18 -10:00
Jack Andersen e07ed779d6 additional database implementation; integrated blowfish 2015-05-17 23:29:23 -10:00
Jack Andersen 3cf64ed8da initial database interface 2015-05-16 18:55:29 -10:00
Jack Andersen 230913d401 initial project stubs 2015-05-15 12:39:43 -10:00