Commit Graph

51 Commits

Author SHA1 Message Date
Triang3l
bd5f77bc3b [GPU] Common resolve code based on compute shaders, swap MSAA samples 1 and 2, change ROV write rounding, random refactoring 2020-08-09 21:33:10 +03:00
Triang3l
4bb0ca0e09 [GPU] Move all xenos.h to gpu::xenos, disambiguate Dimension/TextureDimension 2020-07-11 15:54:22 +03:00
Triang3l
a9ed73bdd1 [GPU] Remove most hardcoded register/instruction layouts from common and D3D12 code 2019-10-20 19:40:37 +03:00
Triang3l
54b211ed18 [GPU] Rename 2_10_10_10 AS_16 RT format to AS_10 2018-12-29 14:54:01 +03:00
Triang3l
2b03a9e095 [GPU] Synchronize GPU frontend with the D3D12 branch 2018-10-22 23:28:52 +03:00
Triang3l
d75a372780 [GPU] Add info about unknown texture formats 2018-08-05 14:02:58 +03:00
gibbed
1409b9c565 [GPU/Vulkan] Add support for 2D image stacks. 2018-06-05 07:51:51 -05:00
gibbed
2c7043bd98 [GPU/Vulkan] Maybe fix minimum mip level. Probably breaks everything. 2018-06-04 10:13:28 -05:00
gibbed
b5a88d1a7d [GPU] Track unaligned (visible) block width in texture info.
[Vulkan] Don't use power of two for mip width/height calculation for host textures.
[Vulkan] Add more Vulkan error logging.
[Vulkan/GPU] Rudimentary texture dumping.
2018-06-04 06:08:29 -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
7df45bf590 [Vulkan] Fix DXT3A conversion. 2018-05-26 08:25:25 -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
cddfa26bae [GPU] Add IsSRGBCapable default case. 2018-05-20 12:18:31 -05:00
gibbed
c233eabeda [GPU] Remove extraneous breaks from GetTexelSize. 2018-05-20 02:10:16 -05:00
gibbed
3f901311af [GPU] Add SRGB helper function. 2018-05-20 02:08:49 -05:00
gibbed
981590bc98 [Vulkan] Don't break k_2_10_10_10. 2018-05-19 16:37:05 -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
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
88729e2ac4 [GPU] Initial (and possibly incorrect) texture size calculation for 1D and 3D 2018-05-04 12:10:26 -05:00
Dr. Chat
f45cd398ef [Vulkan] Handle MIPs with non-power-of-two dimensions 2018-05-03 17:54:09 -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
1eac03a11c GPU: The base format of *_EXPAND textures is *_FLOAT 2017-08-19 21:10:53 -05:00
DrChat
57ffee0d8c GPU: Add name strings for all texture formats 2017-08-19 20:55:29 -05:00
gibbed
b14dc3351c GPU: Make 1D textures into 2D ones. 2017-08-08 17:58:11 -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
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
4a815e62cb TextureInfo: PrepareResolve, Reorganize source, add better documentation 2017-03-14 22:46:47 -05:00
gibbed
8dbf3d240b Make the previous commit slightly more performant. 2017-03-12 01:15:43 -06:00
gibbed
69b92c6c31 Maybe fix texture uploads where mipmaps are packed in linear textures. 2017-03-12 01:12:02 -06:00
gibbed
a95de67b8c 1D textures. Maybe. 2017-01-10 00:04:41 -06:00
Dr. Chat
79f1193130 Vulkan CP: Fix calculating an invalid copy destination base address when sizeof(texel) != 4 2016-05-06 00:12:47 -05:00
Ben Vanik
ec113275dc Making texture swizzles dynamic. Seems to fix some color swap issues.
And probably exposes many more ;)
2015-12-07 22:39:33 -08:00
Ben Vanik
bea8870700 Shuffling old-style ucode.h under gl4. 2015-11-28 16:10:27 -08:00
Ben Vanik
8b0d4fb51c Linux tweaks. 2015-08-18 14:18:00 -07:00
Ben Vanik
e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik
30f7effa73 Code cleanup: removing common.h 2015-05-02 01:25:59 -07:00
Ben Vanik
b392afbfae Basic cubemap support, though the sampling code is wrong. 2015-03-22 19:15:22 -07:00
Ben Vanik
8cfcea2309 32_32_F render target format. 2015-03-22 15:30:18 -07:00
Ben Vanik
84fa131f12 Hacking on render targets. Kind of work in simple cases, upside down :/ 2015-03-06 20:36:10 -08:00
Ben Vanik
b19c98fd9a Fixing small textures. This was painful.
Fixes #173.
2015-03-05 22:22:34 -08:00
Ben Vanik
78451a4e9e Cleaning up texture info/uploading. Edge cases still likely. 2015-02-09 14:10:24 -08:00
Ben Vanik
00e4a4fe1b Fix #include format. 2015-01-31 22:49:47 -08:00
Ben Vanik
718762746a A texture cache that never invalidates. 2015-01-03 01:05:56 -08:00