Commit graph

138 commits

Author SHA1 Message Date
kd-11 463b1b220d rsx: Improve accuracy of shadow compare Ops when non-integer depth formats are used
- The fixed-point D24S8 format does special Z clamping during compare which matches PS3 behaviour
- D32S8 is a floating point format and comparison with Dref > 1 always fails causing black edges/borders
2019-04-25 16:23:05 +03:00
kd-11 3249000511 rsx: Improvements to texture scanning
- Removes CPU-only transforms that broke GPU-side code.
 -- Channels in GPU compute are laid out in cell-order, but CPU was uploading in favorable order and compensating with swizzles.
 -- This leads to 2 different layouts depending on the location of the data (CPU vs GPU)
- Implement R8G8_R8B8 interleaved format decode
- General improvements
2019-04-09 13:40:54 +03:00
pauls-gh fd8d2ecbf4 Remove Volume Texture Compression (VTC) tiling for Vulkan, DX12 and ATI (OpenGL). 2018-03-23 12:01:30 +03:00
raven02 a168aa2df3 DX12: fix DRGB8 texture format (#2480)
* DX12: set native sampler format to BGRA8

* DX12: fix DRGB8 texture format
2017-03-07 19:34:09 +08:00
kd-11 1e71285de8 gl/vk/dx12: Implement forced channel remapping
gcc fix
2017-03-06 14:34:29 +03:00
raven02 77f8ce503d RSX texture refactor (#2144) 2016-09-19 09:25:49 +08:00
raven02 03a5b5be1a DX12: Align to multiple of 4 block for DXTC format (#2125) 2016-09-05 08:47:45 +08:00
raven02 51bdf1e3ed DX12: fix invalid dimension (#2086)
DX12: workaround invalid texture dimension
2016-08-23 11:06:01 +08:00
Nekotekina a7e808b35b EXCEPTION macro removed
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
raven02 e1ff3f4674 rsx: use fragment_textures_count (#1948)
* rsx:  use fragment_textures_count

* Typo: unknow -> unknown
2016-07-19 22:50:40 +08:00
raven02 7ac9d3b679 D3D12/Vulkan : swizzle texture format G8B8 (#1931)
* D3D12: swizzle texture format G8B8

* Vulkan: swizzle texture format G8B8
2016-07-18 20:16:11 +08:00
Vincent Lejeune 772706ca4c Factorize rsx state 2016-07-07 21:38:57 +02:00
raven02 079411eee8 Texture format W16_Z16_Y16_X16_FLOAT fix (#1777) 2016-06-17 09:32:07 +03:00
raven02 9710044134 Remap color component depends on RTT or RSX memory (#1744) 2016-06-05 11:11:58 +03:00
Nekotekina 266db1336d The rest 2016-05-23 16:22:25 +03:00
Vincent Lejeune 2e17ea1490 rsx/common/d3d12/vulkan: Factorise data_heap between vulkan and d3d12. 2016-04-07 22:17:28 +02:00
Raul Tambre 5ad060f150 Vulkan/DX12: Texture format fixes
DX12 also had a couple fixes
2016-04-07 21:34:32 +03:00
Raul Tambre 3ee56627eb DX12 texture format fixes and improvements 2016-04-07 21:34:32 +03:00
Vincent Lejeune ce072f25e2 d3d12: Move sampler DescriptorHeap selection in D3D12GSRender
Avoid sampler descriptor being stored on 2 heaps inside a single draw
call. Fix somes crashes.
2016-03-31 17:56:30 +02:00
Vincent Lejeune 91d0229bc5 rsx/common: Use an help texture_dimension_extended to handle cubemap more cleanly. 2016-03-30 22:19:29 +02:00
Vincent Lejeune f2c82d3cf4 rsx/common: Use a typed class for texture dimension. 2016-03-30 20:03:50 +02:00
Vincent Lejeune 08b47616b6 d3d12: Fix updated texture state 2016-03-30 18:01:54 +02:00
Vincent Lejeune 9485fe2693 rsx/common/gl/d3d12/vulkan: Use exact mimap counts.
Fix invalid textures in gl backend.
2016-03-25 21:37:53 +01:00
Vincent Lejeune 5de70628d7 rsx/common/d3d12/gl/vulkan: Unify texture upload code. 2016-03-14 19:10:51 +01:00
Vincent Lejeune 263e5beb26 d3d12: Copy descriptors when reused instead of recreating them.
Thanks Matías N. Goldberg for the tip !
2016-02-25 23:29:43 +01:00
Vincent Lejeune 9ef24509cb d3d12: Use a shared root signature and add more slots
This allows for finer grained rebinding later.
2016-02-21 17:55:34 +01:00
Vincent Lejeune 1675a82efd rsx/common/d3d12/gl: Use gsl::span in TextureUtils.cpp
* get_placed_texture_storage_size returns more accurate result (fix crash in Outrun)
* Factors lot of code and use integer type more carrefully
* Treat warning as error in TextureUtils.cpp
2016-02-16 18:08:22 +01:00
Vincent Lejeune 4efa2266e6 rsx/common/d3d12: Use m_texture_dirty[i] to signal texture state change and avoid unecessary bind operation. 2016-02-08 17:35:50 +01:00
Vincent Lejeune 5f35f2ac7d rsx/common/d3d12: Support for texture 1d too.
They are used in after burner climax
2016-01-30 01:13:15 +01:00
Vincent Lejeune 6d70f3c237 d3d12: Compare mipmap/depth count when checking texture compatibility.
d3d12: Check for depth in texture cache.

Fix Resogun crash when loading a level.
2016-01-26 23:13:30 +01:00
Vincent Lejeune 3c3f92f29b rsx/common/d3d12: Support 3d textures 2016-01-26 17:56:02 +01:00
DHrpcs3 7523d01e0f Code style fixes #2 2016-01-20 16:39:06 +03:00
Vincent Lejeune e6bd681227 d3d12: factorize render_target code in a template class to be shared with others backends. 2016-01-11 20:47:01 +01:00
Vincent Lejeune 0c5cfdddba d3d12: Gather constant and vtx/idx heap and turn readback heap to buffer 2016-01-11 20:46:58 +01:00
Vincent Lejeune 8417e21e8d d3d12: Set command heap only when necessary. 2016-01-03 21:51:31 +01:00
Vincent Lejeune c4b3b967d9 d3d12: Fix warnings andnable warnings as errors. 2015-12-23 22:26:23 +01:00
Vincent Lejeune b41fcf3734 d3d12: name rtts/ds/texture for debugging purpose 2015-12-23 22:26:22 +01:00
Vincent Lejeune 9c6539ea2d rsx/common/d3d12: Force depth to be at least 1. 2015-12-23 22:26:18 +01:00
Nekotekina f2df9b469a ThrowIfFailed replaced with CHECK_HRESULT macro 2015-12-20 15:41:11 +03:00
Nekotekina aa811b6eef Cleanup (noexcept, unreachable)
%x formatting fixes
2015-12-20 15:41:07 +03:00
Vincent Lejeune 27807f3a61 d3d12: D8R8G8B8 and A8R8G8B8 are essentially the same. 2015-12-16 20:36:39 +01:00
Vincent Lejeune fcf7751008 d3d12: Fix handling of disabled texture
Fix After Burner Climax textures.
2015-12-16 20:36:38 +01:00
Vincent Lejeune 6221fecf3b common/d3d12/gl: Start implementing cubemap sampling 2015-12-16 20:36:34 +01:00
Nekotekina 3465106456 Shared PCH (experimental)
"Rebuild" is broken though.
2015-12-04 23:37:44 +03:00
Vincent Lejeune 432bca26ae d3d12: Add support for reading depth texture 2015-11-16 23:32:34 +01:00
Nekotekina 5f6caf33f0 MINGW64: Compilation fix 2015-11-16 19:12:51 +03:00
Vincent Lejeune 570ca1c87f d3d12: Use a_b_c style for D3D12GSRender.h members 2015-11-15 20:21:44 +01:00
Vincent Lejeune e76abf875f d3d12: Clean rtt related code 2015-11-07 22:52:12 +01:00
Vincent Lejeune 124d0de325 d3d12: Move storage helpers to their dedicated files. 2015-10-29 18:48:52 +01:00
Vincent Lejeune fdae12c52e d3d12: Move empty texture slot filling code to D3D12Texture. 2015-10-29 18:48:52 +01:00