* 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
Use the cached Texture Description for all other Textures which matches the behaviour of GetTextureData()
When saving a texture when a custom visualisation shader is in use:
- fixes a crash when saving as HDR or EXT
- fixes incorrect image saved to DDS
The Vulkan specification allows to have uninitialized fields in
VkDescriptorImageInfo based on descriptor type. Such fields should not
be touched by the implementation (which includes drivers, validation
layers and tools).
FillInputVariable : can be called from any thread but the input variable data must be marked as read only
Made the input variable data containers private with a writable accessor
Mark the input variable data as read only just before calling BeginDebug
* It's impossible to distinguish a separate TEXCOORD0 and TEXCOORD1 from an
array at TEXCOORD0. However making this an array by that same logic is fine.
We can't make an array though if there is another element in between they must
be contiguous.
* If immutable samplers are used the sampler parameter of a descriptor update
could be garbage. Checked for elsewhere but not handled in descriptor update
template unwrap.
On ppc64le (PowerPC 64-bit little-endian), the register struct is
pt_regs (from asm/ptrace.h) rather than user_regs_struct, and the
instruction pointer register is 'nip'. Without this, the code falls
through to the x86 #else branch which fails to compile because
user_regs_struct does not exist on ppc64le.
Define the appropriate macros:
- Map user_regs_struct to pt_regs
- Set INST_PTR_REG to nip
- Set BREAK_INST to 0x7fe00008 (ppc64 trap instruction)
- Set BREAK_INST_BYTES_SIZE to 4
- Set BREAK_INST_INST_PTR_ADJUST to 0