kd-11
5f0467b084
rsx: Remove framebuffer_status_valid flag and move to state
2023-01-26 11:42:39 +03:00
kd-11
6adcabda29
rsx: Fix graphics state foot-gun
2023-01-26 11:42:39 +03:00
kd-11
a05e3f02b8
rsx: Avoid expensive protection scan by sharing some data between surface and texture cache
2022-12-17 20:16:58 +03:00
kd-11
533f960854
rsx: Handle some more corner cases
2022-10-03 12:57:16 +03:00
kd-11
765208a181
rsx: Avoid clobbering CELL memory when splitting fbos
2022-10-03 12:57:16 +03:00
kd-11
4417701ea7
rsx: Track orphaned surfaces' parent addresses
2022-10-03 12:57:16 +03:00
kd-11
9fc6382909
gl: Finalize BGRA storage format internals
...
- Performance is terrible but it works properly now
2022-07-13 02:09:58 +03:00
kd-11
599f1dd157
gl: Properly match BGRA RTT formats
2022-07-13 02:09:58 +03:00
kd-11
f948ce399e
gl: Implement CopyBufferToImage in software
...
- Overrides the drivers CopyBufferToImage handling where possible
2022-07-13 02:09:58 +03:00
kd-11
09824a718f
gl: Separate BGRA8 storage from RGBA8
2022-07-13 02:09:58 +03:00
kd-11
74696d2e44
gl: Commit to a consistent global state
2022-05-31 23:34:14 +03:00
kd-11
0df903090d
rsx: Optimize metrics a bit
...
- For some reason this has a massive impact on performance above some arbitrary threshold of calls
Shows up under surface_cache::get_merged_memory_region when doing gathers.
2022-03-08 22:06:26 +03:00
kd-11
f382d54e9a
gl: Remove pointless assert
2022-02-13 15:31:39 +03:00
kd-11
ffe00e8619
gl: Clean up format bitcast checks and register D32F type for FORMAT_CLASS16F
...
- Also hides a dangerous export for vulkan, same as GL
2022-01-26 12:08:36 +03:00
Ani
a49446c9e9
Replace gsl::span for std::span (c++20) ( #7531 )
...
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte
Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
kd-11
1a73b0a0da
rsx: Fix transfer barriers not triggering resolve target initialization
2021-05-12 12:32:24 +03:00
kd-11
e3944bc67f
rsx: Handle transfer_read differently from transfer_write
...
- Transfer writes are expected to clobber surface cache contents. Do NOT reload from CPU memory for writes.
- TODO: During transfer write to surface cache objects, lock memory if it was unlocked to avoid silly problems.
2021-05-09 13:07:47 +03:00
Megamouse
37425d6fcd
GL: Remove unused copy functions
2021-04-30 08:23:16 +02:00
Megamouse
a50be7a912
GL: resharper findings (too lazy for const functions)
2021-04-30 08:23:16 +02:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
Nekotekina
8e6e57de86
Enable -Wunused-function warning
2021-02-15 14:39:53 +03:00
kd-11
f83c2f0b6b
rsx: Restructure and simplify some header include chains
2020-12-13 15:38:35 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina
e055d16b2c
Replace verify() with ensure() with auto src location.
...
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
RipleyTom
af8c661a64
Remove BOM markers
2020-12-06 15:30:12 +03:00
kd-11
a50ea09053
rsx: Properly pass format_class information during RTV/DSV resource barrier
...
- Also takes the opportunity to remove repeating code in a minor refactor.
2020-09-22 12:19:54 +03:00
kd-11
6d2cb94e3e
gl/vk: Support swizzled data for RCB/RDB
2020-09-07 22:31:57 +03:00
kd-11
85e5b077f7
gl: Overhaul upload and download routines for textures to go through shared image_to_buffer and buffer_to_image routines.
...
- This automatically adds support for depth float textures as well
2020-09-07 18:25:54 +03:00
kd-11
65ead08880
rsx: Refactor and improve image memory manipulation routines
2020-08-27 12:52:28 +03:00
kd-11
a5ac5a9861
rsx: Separate uint depth formats from float depth formats
2020-08-27 12:52:28 +03:00
kd-11
4df933275b
rsx: Propagate raster type of fbo sourced data throughout the pipeline.
...
- Tracks which kind of raster was done (Z-ordered vs linear) throughout the application.
- This allows to identify if data is in the expected format or not.
2020-08-02 16:14:11 +03:00
kd-11
42a9ac9e6c
rsx: Brute-force removal of superseded surfaces
2020-07-16 19:11:26 +03:00
kd-11
e1183f6919
gl: Fix depth buffer byteswap hint
...
- uint24_8 is not actually swapped, it is decoded in a special way
2020-06-12 20:49:47 +03:00
kd-11
8214425a3c
rsx: Fix framebuffer native layout for X32_FLOAT
...
- It was not matching the order laid out for normal textures uploaded from CPU.
2020-03-08 11:43:49 +03:00
Megamouse
fe75311be2
move config structs to own files and clean up some headers
2020-02-17 15:08:17 +03:00
kd-11
43dae6c14d
gl: Implement RCB/RDB
2020-02-06 17:54:05 +03:00
kd-11
2b5c24b304
gl: Fix memory barrier implementation and stub for RCB/RDB
...
- It's a miracle it even compiled
2020-02-06 17:54:05 +03:00
Nekotekina
c0f80cfe7a
Use attributes for LIKELY/UNLIKELY
...
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Nekotekina
377e7d2a73
C-style cast cleanup VI
2019-12-04 17:56:22 +03:00
kd-11
4a0e1c79ed
rsx: Improve format validation for blit engine
...
- Check all possible cases where format mismatch is possible.
- Warn if a slow path is going to be taken. Should help with future
optimizations.
2019-11-18 13:17:00 +03:00
Emmanuel Gil Peyrot
ef368c5171
rsx: Replace gsl::byte with C++17’s std::byte
2019-11-09 19:30:05 +01:00
kd-11
2962e05f26
rsx: Implement per-RTT color masks
...
- Also refactors and simplifies some common code in surface store and rsx core
2019-08-27 21:59:02 +03:00
kd-11
27aeaf66bc
gl: Restructure buffer objects to give more control over usage
...
- This allows creating buffers with no MAP bits set which should ensure they are created for VRAM usage only
- TODO: Implement compute kernels to avoid software fallback mode for pack/unpack operations
2019-08-27 21:59:02 +03:00
kd-11
f9aea076ae
rsx: Implement depth_buffer_float support.
...
- Since this is transparent to the application at all time, it only becomes a problem when doing memory transfer or DEPTH->RGBA conversion in shaders.
2019-08-26 20:03:31 +03:00
kd-11
7c5bde4aeb
rsx: Update tag timestamp to match newest inherited data
...
- Avoids memory appearing older when used for depth test without depth write
The write_barrier before the call will inherit new data but the tag will not update as no new information is added.
2019-08-21 21:17:15 +03:00
kd-11
5d1b7eb945
rsx: Fix reference leaks in texture_cache<->surface_cache communication
...
- Properly commit orphaned blocks not invalidating existing cache structures
- Do not ignore overwritten objects when commiting as unprotected fbo. Avoids stale references to invalidated surface objects.
2019-08-21 21:17:15 +03:00
kd-11
35e61c77e0
gl: Fixup for D24S8 readback
2019-08-21 21:17:15 +03:00
kd-11
a0f0c418d7
gl:Implement proper support for packed 16-bit rendertargets
...
- Also some minor refactoring
2019-08-15 14:00:17 +03:00
kd-11
9a7c2784f0
rsx: Do not clip scissor to viewport when doing buffer clear
2019-07-20 16:39:32 +03:00
kd-11
ea2f4d57fa
rsx: Fixups
2019-07-17 13:29:42 +03:00