kd-11
412c620b9d
rsx: Allow sampling from shader_read resources for blit engine
...
- With harmonization between all texture types implemented, there is no difference between blit_engine_src and shader_read for supported formats
- Adds extra format filtering to ensure no conflicts when copying data
2019-09-10 16:54:02 +03:00
kd-11
75fcfac00e
rsx: Modify find_cached_texture to respect gcm_format. Can pass 0 for "dont care"
2019-09-10 16:54:02 +03:00
kd-11
d1603fbb0b
vk: Crop malformed image descriptors
...
- Some image descriptors (lle vdec?) are malformed with pitch being smaller than width
- Crop these for now pending hardware tests
2019-09-08 18:22:27 +03:00
kd-11
f53361b966
rsx: Fix fast texture copy when src_pitch != width * block_size
...
- Happens on mipmapped linear images
2019-09-08 18:22:27 +03:00
kd-11
0af9685381
rsx: Deprecate surface_transform::argb_to_bgra which is no longer required.
...
- vulkan now uses native swizzle mapping for both surface and texture
2019-09-08 13:56:41 +03:00
kd-11
312bf6840e
vk: Fix surface_transform::argb_to_bgra transfers when no scaling is requested
2019-09-08 13:56:41 +03:00
kd-11
cbce309199
vk: Fix depth_stencil scaling
2019-09-08 13:56:41 +03:00
kd-11
48a5cd545f
gl: Do not byteswap uint24_8 as it needs a custom 8_24 decoder
2019-09-08 13:56:41 +03:00
kd-11
440d58f2ff
vk: Batch compute jobs when doing texture upload
...
- Reduces overall number of invocations
2019-09-07 16:23:20 +03:00
kd-11
6aa0b49dbc
vk: Prefer using native alignment when uploading.
...
- Allows using fast copy paths and reduces memory and compute footprint
2019-09-07 16:23:20 +03:00
kd-11
a3a0cb8c17
rsx: Minor texture optimizations
2019-09-07 16:23:20 +03:00
kd-11
efa501dac6
rsx/vp: Set default inputs to (0, 0, 0, 1)
...
- From some hw tests, it seems this is the default.
2019-09-06 17:08:28 +03:00
kd-11
f8dbe281a5
glsl: Explicitly declare const inputs as such
...
- Avoids copying the values to temp variables before invoking function calls
- Generates shorter, cleaner AST and SPV bytecode
2019-09-06 17:08:28 +03:00
kd-11
14aa3b3360
vk: Remember to allocate enough vertex layout storage objects!
...
- vertex_layout_storage descriptors were added but the descriptor count was not updated
2019-09-05 19:43:39 +03:00
kd-11
360c0e9af6
vk: Restructure commandbuffer scoping to allow faults in vertex upload
...
- Defer renderpass open to allow recovery after fault in the middle of vertex upload
2019-09-05 19:43:39 +03:00
kd-11
9dc06cef7f
rsx: Do not include ro data when attempting to do section merge
...
- Avoids crazy situations like trying to merge from a 3d or cubemap in memory
2019-09-02 16:49:04 +03:00
kd-11
e99e8460fe
rsx/texture_cache_utils: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
27fabd7607
rsx/ring_buffer: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
33609717f8
rsx/cache: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
f8617500b5
rsx/methods: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
7f7b499303
rsx/util: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
0158a88c88
rsx/textures: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
401bd9112a
rsx/prog: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
652f18ebaa
rsx/buffers: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
6504daa713
overlays: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
94656ac1e3
rsx/vp: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
0ee9d7b46d
rsx/fp: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
756fdedbf6
vk: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
a7b9ff33d8
gl: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
7f99de36c1
rsx: Fixup for surface_target_a flag being broken
...
- While the mask for surface_a is at index 0, the surface cache expects the order to be maintained correctly!
Set the correct mask since surface store now checks each RTT individually
2019-08-30 21:46:19 +03:00
kd-11
61af2b7dfc
vk: Workgroup tuning for different vendors
2019-08-30 21:46:19 +03:00
kd-11
99fb6d6a5d
rsx: Allow GPU-accelerated stream manipulation when doing texture uploads
2019-08-30 21:46:19 +03:00
kd-11
e0a7912d7c
rsx: Check for stencil writes when determining zeta_write flag
2019-08-30 21:45:41 +03:00
kd-11
04c808b8ab
rsx: Fixup for MRT color write lookup and surface_target_a
2019-08-28 16:12:10 +03:00
kd-11
e55d216619
rsx: Workarounds for some buggy games
...
- Replace assert with log message until hardware testing confirms findings
2019-08-28 14:54:51 +03:00
kd-11
e334a43169
rsx: Fix surface cache hit tests
...
- Avoid silly broken tests due to queue_tag being called before pitch is initialized.
- Return actual memory range covered and exclude trailing padding.
- Coordinates in src are to be calculated with src_pitch, not required_pitch.
2019-08-28 14:54:51 +03:00
JohnHolmesII
cca6a19cdd
Fix improper string concatenation in rsx_decode.
2019-08-28 01:26:14 +03: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
Nekotekina
dd79a5efb7
Remove fxm::make_always
2019-08-27 03:50:15 +03:00
Nekotekina
d2eba2387b
Use g_fxo for display_manager
2019-08-27 03:50:15 +03:00
Nekotekina
928719b658
Use g_fxo for rsx::avconf
2019-08-27 03:50:15 +03:00
Nekotekina
38a06c4b14
Use g_fxo for SysRsxConfig
...
Rename to lv2_rsx_config
2019-08-27 03:50:15 +03:00
kd-11
3317e13b64
rsx: Hotfix for semaphore timeout bug
...
- Add pending flip requests as a reason to invoke the RSX local task handler and release the vblank semaphore
2019-08-26 22:33:29 +03:00
Megamouse
32b5b11a83
cellSaveData/overlays: prevent possible array out of bounds in list view
2019-08-26 21:09:20 +02:00
kd-11
eed32cf3a4
rsx: Decompiler fixups and improvements
...
- Fix 2D coordinate sampling of W coordinate.
W is actually HPOS.w and not 1. Z is however always 0.
- Optimize register usage a bit
Disassembling compiled SPV shows that global declaration results in less ops than using inout modifiers. Modifiers generate extra mov instructions.
2019-08-26 20:03:31 +03:00
kd-11
3e28e4b1e0
rsx/decompiler: Restructure program register behavior
...
- Fix reading of varying registers in FP
Different registers have different behavior
- Always write to varying registers. If a register is not written to, it is initialized to (0, 0, 0, 1)
- Reimplements two-sided lighting correctly without hacks
- Also bumps shader cache version
2019-08-26 20:03:31 +03:00
kd-11
fe6ff8622a
rsx: Decompiler fixups for conditional execution
...
- Cond actually obeys vector mask
2019-08-26 20:03:31 +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
9d981de96d
rsx: Fix offloader deadlock
...
- Do not allow offloader to handle its own faults. Serialize them on RSX instead.
This approach introduces a GPU race condition that should be avoided with improved synchronization.
- TODO: Use proper GPU-side synchronization to avoid this situation
2019-08-25 22:09:20 +03:00