Commit Graph
156 Commits
Author SHA1 Message Date
zllangty 9fab650555 Add LoongArch64 support
With addition macros project able to build and run on LoongArch64 machine
2025-05-13 12:18:06 +01:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
baldurk b813fb2436 Allow glslang global lock to be used during process teardown
* During capture we may have to shutdown glslang from inside a global
  destructor, we need to ensure the lock is still valid.
2025-03-05 09:50:48 +00:00
baldurk c6cf956d50 Add macro helper to glslang for new C++ attributes 2025-03-04 18:48:14 +00:00
baldurk c98f50f9b7 Compile fix for glslang PCH not being used
* Weirdly building on upstream even without using PCH, <limits> ends up
  included. For some reason in RenderDoc it is not and needs the explicit
  include (which generally should be there)
2025-03-04 18:12:22 +00:00
baldurk 67df0f92e0 Warning fixes in glslang
* These could likely be upstreamed but are extremely minor (just silencing
  warnings, not fixing issues) and we will have local changes either way.
2025-03-04 16:35:03 +00:00
baldurk be2a35f5a6 Make downstream changes to glslang 15.1.0 to support compiling
* Remove use of newer STL classes like std::filesystem, std::variant and
  std::optional.
* Do not use inline variables - the only instance is also static constexpr
* Explicitly initialise std::array variables with type and size (also add extra
  {}s to appease an old clang warning)
* Work around old libstdc++ bug with move assignment and non-assignable
  allocators
* Remove redundant constexpr that warns on older compilers
* Remove use of declaration-inside-if statements
2025-03-04 16:34:24 +00:00
baldurk f377df2fed Update glslang to 15.1.0
* THIS COMMIT IS NOT EXPECTED TO COMPILE.
* Local changes will follow with downstream compile fixes.
2025-03-04 16:05:33 +00:00
baldurk 1a6f62cecf Workaround new windows SDK not compiling on VS2015 2025-02-19 13:35:51 +00:00
baldurk ada407ca56 Fix breakpad compilation on recent VS2022 2025-01-07 11:49:18 +00:00
baldurk 8b3ae8fd4d Move stdio.h include outside of namespace, avoids some compilers choking 2024-11-05 10:12:16 +00:00
Aras Pranckevicius bb3b571c90 EXR: multi-threaded exr image loading
EXR files internally are split into independent "parts", which can
be decoded separately. Tinyexr already supports that via
TINYEXR_USE_THREAD.

Time taken to load 4K video resolution EXR files, on Ryzen 5950X/VS2022:
- FP16 file (27MB): 536ms -> 77ms
- FP32 file (69MB): 793ms -> 118ms
2024-10-31 17:48:45 +00:00
Aras Pranckevicius 897d36ee03 Update tinyexr to current (1.0.9, from 2024 Jul)
Disable some warnings that happen on vs2015/2019
while building it, since whole build uses
warnings as errors.
2024-10-31 11:58:30 +00:00
Thomas Johnstone ab6f27dfea Update miniz to 3.0.2
This fixes the size returned from mz_zip_reader_extract_to_heap for large resource buffers
More details can be found here: https://github.com/richgel999/miniz/pull/220
2024-07-12 14:50:54 +01:00
baldurk dc8c758a55 Dynamically allocate BC7 data only when needed 2024-04-30 18:28:33 +01:00
baldurk 9f4f0e6aa1 Update copyright years to 2024 2024-02-12 11:04:52 +00:00
jathoma98 bcb7dfd3ae Update stb_image version 2.12 -> 2.28
stb_image v2.12 has a memory corruption bug, updated to v2.28 to fix.

The only real API change is stb_image_resize.h is now stb_image_resize2.h, and stbir_resize_uint8_srgb() doesnt take alpha channels or flags as params.
2023-11-11 13:07:25 +00:00
Er2 dcbbcee6a8 Add some fixes. 2023-11-06 14:42:45 +00:00
Er2 86cb3ebf80 Add FreeBSD operating system support. 2023-11-06 14:42:45 +00:00
Eric Long f36d8a3b23 RISC-V support
With some addition to macros the project is able to build on riscv64
machine.

plthook has added RISC-V support upstream [1]. However upstream has
changed their code quite a bit, so I just modified the current vendored
version.

[1]: https://github.com/kubo/plthook/commit/a564738a4707fc5eb4d388b9e97eeab51b8c9d56
2023-09-29 17:26:11 +01:00
Eveline Jarosz 7f92b0241e fix copyrights 2023-09-28 13:52:23 +01:00
baldurk c80e5a40ef Remove problematic annotation when building glslang in C++11 2023-08-22 16:09:35 +01:00
baldurk 02933fb6a6 Update glslang to 12.3.1 2023-08-22 13:37:53 +01:00
baldurk d47e79ae07 Update copyright years to 2023 2023-02-01 12:23:32 +00:00
baldurk 52b5a8954e Update superluminal API header to most recent version 2022-11-01 16:33:37 +00:00
baldurk 9a22b2cf46 Remove old android prototyping code 2022-10-14 12:00:54 +01:00
baldurk d6c7bbb90d Remove appveyor integration from catch 2022-05-20 14:15:30 +01:00
baldurk fcdea67879 Update copyright years to 2022 2022-02-17 17:38:32 +00:00
baldurk c8e7037ed1 Make some custom changes to Catch2 for a better experience
* Add CATCH_CONFIG_FORCE_FALLBACK_STRINGIFIER to force use of ToStr in
  all cases. We can handle ints, etc, we don't need ostringstream, and
  this allows us to handle enums that would otherwise just be printed as
  their integer value.
* Add CATCH_CONFIG_INLINE_DEBUG_BREAK which restores the Catch 1.0
  behaviour of debugbreaks happening in macros and so in-line at the
  actual site failure. So the debugger stops on the CHECK() or REQUIRE()
  call instead of inside AssertionHandler::complete()

  Cherry pick from https://github.com/baldurk/renderdoc/commit/4232736fc21fc6a13a4de6997a5ae106598b225f
2021-09-27 10:03:39 +01:00
baldurk d3c6818f4a Update Catch to version 2.13.7 2021-09-27 10:03:39 +01:00
baldurk 81b4d3d804 Add public domain md5 library and implement modified DXBC container hash
* This allows us to disabled any requirement for "experimental shaders".
2021-07-07 19:18:32 +01:00
baldurk bc68f381bc Update tinyexr to 1.0 2021-03-23 12:50:01 +00:00
baldurk 8b4e25b421 Fix CATCH_BREAK_INTO_DEBUGGER that by default surrounds in a lambda
* This is a lambda in upstream catch to avoid some warning, but that means that
  when the debugbreak happens it's in the wrong stack frame (though at least on
  the right line). Fortunately we can override it with a useful definition.
2021-03-06 13:26:03 +00:00
baldurk fb0c92669a Make some custom changes to Catch2 for a better experience
* Add CATCH_CONFIG_FORCE_FALLBACK_STRINGIFIER to force use of ToStr in
  all cases. We can handle ints, etc, we don't need ostringstream, and
  this allows us to handle enums that would otherwise just be printed as
  their integer value.
* Add CATCH_CONFIG_INLINE_DEBUG_BREAK which restores the Catch 1.0
  behaviour of debugbreaks happening in macros and so in-line at the
  actual site failure. So the debugger stops on the CHECK() or REQUIRE()
  call instead of inside AssertionHandler::complete()

  Cherry pick from https://github.com/baldurk/renderdoc/commit/4232736fc21fc6a13a4de6997a5ae106598b225f
2021-02-18 15:41:40 +00:00
Jake Turner 28941a4f07 Update Catch to version 2.13.4
Fixes compile error on Apple Silicon in CATCH_TRAP
Does not include RenderDoc custom changes to Catch2 ie. https://github.com/baldurk/renderdoc/commit/4232736fc21fc6a13a4de6997a5ae106598b225f
2021-02-18 15:41:40 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00
TheGreatMcPain bb45e67e30 Fix compile errors when the '-mf16c' CFLAG is enabled.
Fixes an issue where 'half.hpp' skips the 'immintrin.h' include
statement if '-mf16c' is used.
(which can happen when using '-march=native')
2021-01-07 00:14:14 +00:00
baldurk e5f4ca7bb8 Remove use of const char * in public API and OS specific where possible
* This prevents unnecessary conversions back and forth between rdcstr and const
  char * when going through interfaces. In the OS specific layer this is rarely
  an issue because most of the implementations don't convert to rdcstr, but it
  is convenient to be able to pass in an rdcstr directly. The few cases where
  there's an unecessary construction of an rdcstr is acceptable.
* A couple of places in the public API need to return a string from a global
  function, so can't return an rdcstr due to C ABI, so they still return a const
  char *.
* Similarly const char * is kept for logging, to avoid a dependency on rdcstr
  and because that's one place where unnecessary conversions/constructions may
  be impactful.
2020-12-07 17:44:50 +00:00
baldurk 23e66418d9 Compile fixes on linux 2020-11-19 16:51:20 +00:00
baldurk d0bf0f6eab Add Superluminal PerformanceAPI annotation support 2020-11-19 14:47:10 +00:00
baldurk 8ca89b9c2d Further compile fixes for half library 2020-11-10 10:06:12 +00:00
baldurk 944070fdd7 Fix warnings with clang build of half library
* Comma operator problems when doing math functions that return two parameters
  (e.g quotient).
* Passing bool tag type through varargs - the varargs aren't actually used and
  there's an overload for true_type, so we can instead accept false_type.
* gcc seems to declare numeric_limits as a struct, so friend'ing it as a class
  throws a warning. Since we only care about C++11 we can omit the tag from the
  friend declaration.
2020-11-09 17:59:53 +00:00
baldurk d9121a7f90 Add half.hpp 2.1.0 from http://half.sourceforge.net/ 2020-11-09 12:25:21 +00:00
baldurk 985ce847e4 Remove unused SSE vector from compressonator 2020-10-26 10:19:53 +00:00
baldurk eabfb9b074 Remove isnan call that's seemingly impossible to call portably 2020-07-13 21:04:38 +01:00
baldurk cf867816ab Experimental compressonator compile fix 2020-07-13 20:54:48 +01:00
baldurk bd484d85de Fix bug in Compressonator BC6 options setting 2020-07-12 10:52:10 +01:00
baldurk 6e899b894d Disable warning in tinyexr with latest VS2019 compiler 2020-06-11 22:38:38 +01:00
baldurk d1f4a47cd5 Add a load of MSBuild nonsense to *avoid* targeting a specific Win SDK
* Even though we don't care about the windows SDK version at all, we actively
  need to avoid the default which actively sabotages us.
2020-06-11 20:05:03 +01:00
baldurk 55e1f462ca Disable defines of memset/memcpy that confuse visual assist
* These are only for the opencl build, which we don't care about.
2020-05-28 15:54:36 +01:00