Commit Graph

73 Commits

Author SHA1 Message Date
Triang3l
086a070fa9 [GPU] Explicitly cast bit field values in std::min/max
According to the integral promotion rules https://eel.is/c++draft/conv.prom#5.sentence-1 bit fields can be promoted to `int` if it's wide enough to store their value, and then otherwise, to `unsigned int`. Hopefully fixes Clang building (the `width_div_8` case).
2022-06-26 16:54:11 +03:00
Joel Linn
6dfa36d1b8 [GPU] Misc GCC build fixes 2021-06-02 22:28:43 -05:00
Triang3l
36a0bcec8b [GPU] XXH3 hash instead of XXH64 2020-12-08 22:31:09 +03:00
Triang3l
4bb0ca0e09 [GPU] Move all xenos.h to gpu::xenos, disambiguate Dimension/TextureDimension 2020-07-11 15:54:22 +03:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
Triang3l
47eee5e1c3 [GPU] Unified function for mip level bounds, BaseMap mip filter, small refactoring 2020-02-18 23:31:48 +03:00
Triang3l
a9ed73bdd1 [GPU] Remove most hardcoded register/instruction layouts from common and D3D12 code 2019-10-20 19:40:37 +03:00
Margen67
896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed
1409b9c565 [GPU/Vulkan] Add support for 2D image stacks. 2018-06-05 07:51:51 -05:00
gibbed
486172770d [GPU] Ignore min mip level when one is specified and there is no mip address. 2018-06-04 22:54:41 -05:00
gibbed
2c7043bd98 [GPU/Vulkan] Maybe fix minimum mip level. Probably breaks everything. 2018-06-04 10:13:28 -05:00
gibbed
b35fe935f9 [GPU] Ignore mipmap level count when mip data address is invalid. 2018-06-01 22:04:31 -05:00
gibbed
79f8fe9f37 [GPU] Fixes to problems caused by previous commit (bad handling of memory addressing, watches, etc). 2018-05-31 21:50:22 -05:00
gibbed
e89a31006f - [GPU] Rename TextureMemoryUsage to TextureExtent (and relevant functions/etc).
- [GPU] Precalculate memory byte usage for base mip (and any additional mip levels).
- [GPU] Change TextureCache::WatchCallback so that if it's fired multiple times for the same texture it does not assert.
- [GPU] Add write watches for texture memory associated with additional mipmap levels.
2018-05-31 19:41:33 -05:00
gibbed
bbebfd49c8 [Vulkan] Add logging to certain error conditions.
[Vulkan] Track both texture block height and texture block vertical pitch.
[Vulkan] Only convert the necessary visible height on texture uploads.
[Vulkan] Fix write watch on texture data so it properly only covers mip 0 data.
2018-05-30 19:38:36 -05:00
gibbed
cc130e1b07 [GPU] Remove unused code. 2018-05-26 07:06:56 -05:00
gibbed
7116b5fc82 [Vulkan] Reimplemented texture conversions. Here be dragons! Probably breaks everything. Also bonus DXT3A support. 2018-05-26 06:57:16 -05:00
gibbed
73d75c56e1 [GPU] Fix TextureInfo::Prepare for 3D textures. 2018-05-24 23:45:38 -05:00
gibbed
6411674f0f [GPU] Use pitch for block width calculation. 2018-05-24 08:45:12 -05:00
Dr. Chat
191dc30bee [GPU] Use the pitch field in tfetch constants 2018-05-18 13:48:28 -05:00
gibbed
170ab85049 [Vulkan] Reworking packed mip offset calculation. Probably breaks everything. 2018-05-14 03:47:58 -05:00
Dr. Chat
996ea9e273 [GPU] Ditto for GetMipLinearSize 2018-05-13 13:59:48 -05:00
Dr. Chat
1953cea64e [GPU] Unconditionally multiply in src.depth in GetMipByteSize (always valid) 2018-05-13 13:58:34 -05:00
gibbed
ef924a8423 [Vulkan] Cube textures, now with mipmaps. 2018-05-13 08:31:33 -05:00
gibbed
9b64e67e14 [Vulkan] Fix following mips for compressed textures. 2018-05-12 20:19:58 -05:00
gibbed
7a1167fd66 [Vulkan] Align ALL texture block sizes to tile dimensions. Probably breaks everything. 2018-05-12 19:40:54 -05:00
gibbed
c6ee689159 [Vulkan] Rework GetMipByteSize to properly handle linear textures. Probably breaks everything. 2018-05-12 02:30:58 -05:00
gibbed
9926bf1cf6 [Vulkan] Don't try to get mip 0's offset when there is only one mip. 2018-05-12 00:52:02 -05:00
Dr. Chat
da62e0e044 [GPU] Rename TextureInfo::size_xx -> TextureInfo::size 2018-05-08 10:29:36 -05:00
Dr. Chat
77d1d7342e [GPU] Remove TextureInfo::has_packed_mips 2018-05-05 18:23:30 -05:00
Dr. Chat
30f8fe7bb0 [GPU] Use log2 when calculating mip offset 2018-05-05 10:45:39 -05:00
Dr. Chat
88729e2ac4 [GPU] Initial (and possibly incorrect) texture size calculation for 1D and 3D 2018-05-04 12:10:26 -05:00
Dr. Chat
8ecadd49d2 [GPU] Further fix mip address calculations with really skewed aspect ratios 2018-05-04 00:18:22 -05:00
Dr. Chat
911588e9dc [GPU] Fix mip size calculation for compressed textures 2018-05-03 18:34:23 -05:00
Dr. Chat
f45cd398ef [Vulkan] Handle MIPs with non-power-of-two dimensions 2018-05-03 17:54:09 -05:00
Dr. Chat
04748b4a0d [GPU] TextureInfo::GetMipLocation - calculate packed mip offset 2018-05-03 16:04:11 -05:00
Dr. Chat
f885b89a03 [Vulkan] Make image views cover all mips
Align texture dimensions to 1 block minimum (for uploading mips)
2018-05-03 14:15:36 -05:00
Dr. Chat
c9d4cfe6d0 [GPU] MIPs > 16 pixels are stored in their own individual tiles 2018-05-03 12:01:50 -05:00
DrChat
1f157f35f4 [Vulkan] Initial support for mipmaps 2018-05-03 10:02:07 -05:00
DrChat
f7c7cc54ed [GPU] TextureInfo::GetMaxMipLevels 2018-04-30 11:01:46 -05:00
DrChat
ecfaaa6c95 [GPU] Log attempts to fetch unsupported texture formats 2017-12-20 21:26:52 -06:00
gibbed
b14dc3351c GPU: Make 1D textures into 2D ones. 2017-08-08 17:58:11 -05:00
gibbed
4a95862023 GPU: Ensure texture resolves are at least 1x1. 2017-08-08 01:39:42 -05:00
gibbed
6d9a56a269 GPU: Fixed texel pitch calculation for linear textures. 2017-08-07 20:50:42 -05:00
gibbed
b4ae5b9a01 - GPU: Removal of deprecated TextureInfo fields.
- GPU: Replicated removed deprecated fields into local struct for GL.
- GPU: Improved texture copies for Vulkan, no more pitch changes.
- GPU: Stubbed code for CTX1 conversion in Vulkan.
2017-08-07 19:30:06 -05:00
gibbed
bd58191239 Moved format info table to its own file to maintain formatting. 2017-08-06 14:13:19 -05:00
gibbed
5ce29dbe1c Format info table was off by one this whole time. Who knew? 2017-08-06 13:58:37 -05:00
gibbed
791f81c484 Prettify format info table. 2017-08-06 13:57:13 -05:00
Dr. Chat
b40d75aa3d TextureInfo: Store the texture format, not a pointer to texture format info. 2017-04-07 15:16:09 -05:00
Dr. Chat
92a4b90ed0 TextureInfo: Use round_up rather than floating point math for calculating tile width. 2017-03-19 20:20:43 -05:00