Commit Graph
16 Commits
Author SHA1 Message Date
Alibek Omarov 75d476f9df engine: fix -Wmissing-prototypes 2024-01-28 09:55:18 +03:00
Ivan AvdeevandGitHub a251600c8a engine: common: imagelib: add KTX2 support (#1455)
* engine: common: imagelib: add KTX2 support

Adds basic KTX2 support for a few compressed formats. KTX2 essentially
is a Vulkan-centric texture format that supports literally hundreds of
pixel formats.
For now only support for these is added:
- `VK_FORMAT_BC4_UNORM_BLOCK`
- `VK_FORMAT_BC4_SNORM_BLOCK`
- `VK_FORMAT_BC5_UNORM_BLOCK`
- `VK_FORMAT_BC5_SNORM_BLOCK`
- `VK_FORMAT_BC6H_UFLOAT_BLOCK`
- `VK_FORMAT_BC6H_SFLOAT_BLOCK`
- `VK_FORMAT_BC7_UNORM_BLOCK`
- `VK_FORMAT_BC7_SRGB_BLOCK`

Adding more formats is relatively straightforward:
- Copy format definition from `VkFormat` enum in `vulkan_core.h`
- Add a new definition into `pixformat_t` enum.
- Add format size calculation into `Image_ComputeSize()`

While we're at it, also adds a few new formats to DDS:
- BC4_UNORM -- PF_BC4_UNSIGNED
- BC4_SNORM -- PF_BC4_SIGNED
- BC5_UNORM -- PF_BC5_UNSIGNED
- BC5_SNORM -- PF_BC5_SIGNED
- BC7 is expanded into BC7_UNORM and BC7_SRGB

ref_gl and ref_soft code is updated where it made sense. But not tested
really. Support for these formats has been tested with ref_vk.

* address spaces-vs-parentheses formatting where noticed

* parenthesize sizeofs

* move ktx2.h to imagelib as img_ktx2.h; massage it a bit

* use SetBits() instead of |=

* remove stale TODO comments
2023-10-18 10:31:40 +03:00
SNMetamorphanda1batross 6473efa995 engine: added support for BC7 and BC6H compression formats of DDS textures 2022-03-07 02:03:40 +03:00
Gleb MazovetskiyandAlibek Omarov 5e0a0765ce Trim all trailing whitespace
The `.editorconfig` file in this repo is configured to trim all trailing
whitespace regardless of whether the line is modified.

Trims all trailing whitespace in the repository to make the codebase easier
to work with in editors that respect `.editorconfig`.

`git blame` becomes less useful on these lines but it already isn't very useful.

Commands:

```
find . -type f -name '*.h' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
find . -type f -name '*.c' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
```
2021-01-04 20:55:10 +03:00
Alibek Omarov 3c8ce640c4 Merge neko/mathlib into master 2020-03-04 05:38:30 +03:00
Andrey Akhmichin 248c8a745c engine: common: imagelib: split imagelib.h. 2020-03-03 05:03:15 +05:00
Andrey Akhmichin e3b547c8a9 public: rename mathlib to xash3d_mathlib. 2020-02-12 14:32:26 +05:00
Alibek Omarov e11a08064d engine: fix implicit-fallthrough, uninitialized, enum-conversation compiler diagnostics 2019-12-23 06:48:17 +03:00
iZarifandAlibek Omarov bf8b87c29d engine: client/common: fix a few more format warnings 2019-10-22 17:56:08 +03:00
Alibek Omarov b797e0af1a Merge 4483 update 2019-05-25 02:44:24 +03:00
Alibek Omarov c215b89923 Apply 4483 update 2019-05-19 15:01:23 +03:00
Alibek Omarov fe14a360b4 engine: fix fs_offset_t/size_t conversion, const qualifiers 2019-05-02 19:12:23 +03:00
Alibek Omarov aae3510763 Apply 4281 update 2018-10-27 23:32:09 +03:00
mittorn 5c738b3402 Apply 4253 update 2018-10-04 13:08:48 +07:00
Alibek Omarov 814b7eda07 Apply 4140 update 2018-06-09 01:28:35 +03:00
Alibek Omarov 8d6e3b7f79 Pure engine source code(LF line endings, UTF8 encoded) 2018-04-13 19:23:45 +03:00