kd-11
e04b6cd7c0
rsx: Copypasta fix
...
- r1 is always float4 never half4. Its a full-width register unlike the
other outputs which are optionally half-width.
2019-10-23 00:50:24 +03:00
kd-11
00bc3fe658
Drop d3d12 backend
2019-10-22 21:45:14 +03:00
Emmanuel Gil Peyrot
14c63ec014
Fix misleading indent.
2019-10-22 16:11:43 +03:00
Eladash
586fe11e22
Fix cellGcm HLE regression
...
Also correct flags.
2019-10-22 13:45:09 +03:00
Eladash
945abcc6cd
rsx: Align down index array offset
...
* Also use improved to_be_t<> template (recetly ignoring one byte long types) for vm gsl::byte referencing, remove redundent narrow<> cast (same type)
2019-10-22 13:45:09 +03:00
kd-11
3bb70e837a
vk: Silly copypasta
2019-10-22 13:44:49 +03:00
kd-11
0b2f9f0f17
rsx: Add support for delayed shader discard.
...
- Noticed a glitch on AMD hw and windows drivers where discard seems to affect entire 4x4 cells.
- Dead fragments (outside the primitive boundary) could have their discards trigger as they do not have proper access to variables.
- This introduces dead fragments along triangle edges, causing a diagonal line pattern across the screen that is very annoying.
2019-10-22 13:44:49 +03:00
kd-11
901942f24a
rsx: Replace pointless f32[4] restriction on texture parameters.
...
- Use a struct instead to improve readability and remove pointless OpBitCast
2019-10-22 13:44:49 +03:00
kd-11
f7842b765f
rsx: Implement packed format renormalization
...
- Renormalizes arbitrary N-bit values as 8-bit normalized.
- NV hardware performs integer normalization at 8 bits if the size is less than 8.
- This can cause significant arithmetic drift because the error is multiplied by a huge number when sampling.
2019-10-22 13:44:49 +03:00
Eladash
29cddc30f0
rsx: Fix vblank signals flood after Emu.Resume()
2019-10-21 15:31:45 +03:00
Eladash
5de0005f5a
rsx: Report full method range on invalid methods
...
Also report full command on fifo desync event for the first time
2019-10-21 15:31:45 +03:00
eladash
730e9cde84
sys_rsx: Improve allocations and error checks
...
* allow sys_rsx_device_map to be called twice: in this case the DEVICE address retrived from the previous call returned
* Add ENOMEM checks for sys_rsx_memory_allocate and sys_rsx_context_allocate
* add EINVAL check for sys_rsx_context_allocate if memory handle is not found
* Separate sys_rsx_device_map allocation from sys_rsx_context_allocate's
* Implement sys_rsx_memory_free; used by cellGcmInit upon failure
* Added context_id checks
* Throw if sys_rsx_context_allocate was called twice.
2019-10-21 15:31:45 +03:00
kd-11
3c44065684
gl: Fix copypasta
...
- MSAA is still unimplemented in OGL
2019-10-20 21:38:40 +03:00
kd-11
f40f2c6215
vk: Fix minification filter description for NEAREST_MIPMAP_NEAREST. Just a typo.
...
- Also remove mipmap filter for CONVOLUTION
2019-10-20 21:38:40 +03:00
kd-11
09de3b7974
rsx: Tweak behaviour of the "Use GPU texture scaling" option
...
- If either source data or dest is a render target, do image operations on the GPU same as before
- If swizzle is desired, use CPU fallback
- If no scaling and no format conversion is required, use CPU fallback
- If scaling is desired and the transfer target is in local memory, use the GPU
- When doing trivial copies, use the routine in rsx_methods instead of
duplicating code. Also has the benefit of better range checking.
2019-10-20 21:38:40 +03:00
kd-11
868547aec8
rsx: Minor improvement to fbo region invalidation
...
- When commiting a block as fbo, keep blit_dst data as well.
- Avoids removing (and losing data from) blit targets that just happen to share a page with a framebuffer.
2019-10-20 21:38:40 +03:00
kd-11
996534c559
rsx: Fixup for aspect mismatch
2019-10-20 15:25:07 +03:00
Eladash
d4ba7f37b6
rsx util: Implement decode_fxp<>
2019-10-18 15:41:39 +03:00
kd-11
299b98b30a
vk: Disable mipmap sampling if sampling mode is does not have a mipmap filtering mode.
...
- GL_LINEAR and GL_NEAREST always sample LOD0 so make vulkan behave the same way
2019-10-18 14:46:37 +03:00
kd-11
404073c74a
rsx: Force-align compressed formats to 4x4 texel blocks and disable 1D compressed textures.
...
- The PS3 allows defining 1D compressed images but this obviously doesn't work well on desktop.
2019-10-18 14:46:37 +03:00
kd-11
eff4e95c99
rsx: Minor cache fixup for cyclic references.
...
- Logic was broken by mipmaps PR. Do not issue a texture barrier if a temp copy is being done.
2019-10-18 14:46:37 +03:00
kd-11
bd1bcc6be7
vk: Remove a redundant memory barrier
2019-10-18 14:46:37 +03:00
kd-11
70642484cd
vk: Check for cyclic references if sampler is marked as do-not-cache.
...
- Usually an indication of surface/texture cache interaction.
2019-10-18 14:46:37 +03:00
kd-11
eee2237e19
rsx: Track uncached cache resources
...
- Uncacheable resources can be reused as soon as they're made visible to the draw call.
- Since they're likely to be reused every draw call until the shader changes, it is important to reuse as much as possible
2019-10-18 14:46:37 +03:00
kd-11
decf9cfcf6
rsx: Notify the backend to release or delete temporary surfaces after we're done with them.
2019-10-18 14:46:37 +03:00
kd-11
97ed95d21b
vk: Add video memory manager to monitor VRAM usage
2019-10-18 14:46:37 +03:00
kd-11
1046184dd0
rsx: Fix some uninitialized variables flagged by valgrind
2019-10-18 00:32:38 +03:00
kd-11
5af8a9fbbc
rsx: Fix decoding of some fixed point texture parameters
...
- Checked envydocs and found the correct format as fixed-point 4.8 with optional sign bit
2019-10-17 18:18:00 +03:00
kd-11
a936e43ff6
rsx: Fixup for slice gathering for structures with multiple mipmap levels
...
- TODO: Proper multi-level assembly for non-2D structures
2019-10-17 18:18:00 +03:00
kd-11
e47b4ffb8f
rsx: Fix rsx capture crash.
...
- Pixel coordinates are top-left not bottom-right
- Solves out of bounds access
2019-10-17 18:18:00 +03:00
kd-11
e166dbccc8
rsx: Fix visibility of blit destination targets
2019-10-17 18:18:00 +03:00
kd-11
0c35595ce2
rsx: Remove the alpha-to-coverage hack that was added to hide the missing mipmaps in games
...
- Moves to a purely stochastic function using dithering to simlulate coverage
2019-10-17 18:18:00 +03:00
kd-11
f0ed0285f3
rsx: Implement range-based subresource descriptor cache
...
- The previous address-based approach was pretty awful when it comes to invalidating
2019-10-17 18:18:00 +03:00
kd-11
fbb9ed4e25
rsx: Add explicit range to cached subresource descriptors
2019-10-17 18:18:00 +03:00
kd-11
c9e3a321b2
rsx: Fixup for surface cache scanning
...
- Fix regression when gathering cubemaps
2019-10-17 18:18:00 +03:00
kd-11
1ac976771c
rsx: Add some texture search options for the cache
...
- Potentially optimizes texture cache searching using explicit options
2019-10-17 18:18:00 +03:00
kd-11
840b52fe80
rsx: Implement mipmap gathering from texture cache
2019-10-17 18:18:00 +03:00
kd-11
d6d8766f8d
rsx: Refactoring
...
- Move some helper routines out of the cache core
- Prep for multi-layered image search
2019-10-17 18:18:00 +03:00
kd-11
cb362b4085
rsx: Runtime check on RTT cast
2019-10-17 02:30:03 +03:00
kd-11
5c7bbb3354
vk: Fixup
...
- Removes incorrect line writing stencil flags to a regular texture.
2019-10-17 02:30:03 +03:00
kd-11
d29b6cdb59
vk: Proper workaround for VEGA float16_t bugs
2019-10-16 22:40:50 +03:00
kd-11
a6e143254a
vk: Add workaround for broken format conversion in older GeForce cards
2019-10-16 22:40:50 +03:00
kd-11
4f088a102c
vk: Add kepler and maxwell tables
2019-10-16 22:40:50 +03:00
plappermaul
2171ffdab2
minor optimization for FIFO_control::read_put() ( #6768 )
2019-10-14 21:26:31 +03:00
kd-11
42aa4c5000
gl: Vendor-specific tuning
2019-10-13 19:00:05 +03:00
kd-11
776fa54d22
gl: Fix missing case
2019-10-13 19:00:05 +03:00
kd-11
27f48fbc06
gl: Rewrite image transfer operations to support image subregions
...
- Working exclusively with full sized images is very expensive
2019-10-13 19:00:05 +03:00
kd-11
d9a9766e41
gl: Refactoring and fallback support for compute acceleration
2019-10-13 19:00:05 +03:00
kd-11
b39bfa02a6
gl: Windows bringup
2019-10-13 19:00:05 +03:00
kd-11
105d4b51e6
gl: Use compute shaders for typeless texture decode
2019-10-13 19:00:05 +03:00