kd-11
8dfea032f2
rsx: Remove deprecated do_method path that has been superceded by c++ inheritance for many years
2019-12-29 13:49:46 +03:00
Megamouse
ef6f565dbd
silence some annoying warnings
2019-12-28 15:40:57 +01:00
Emmanuel Gil Peyrot
e30173a835
rsx: Make X11 optional on Linux
...
This makes it possible to build rpcs3 on a pure Wayland system, without
the Xlib installed.
2019-12-20 10:48:03 +00:00
Nekotekina
377e7d2a73
C-style cast cleanup VI
2019-12-04 17:56:22 +03:00
kd-11
fd751e3e7b
rsx: Improve blit format mismatch detection
2019-11-19 13:18:15 +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
f76720ceb0
Remove extraneous ::narrow<int>() calls
...
GSL’s gsl::span didn’t use the correct type for its index_type, which is
why they were needed.
2019-11-09 19:30:06 +01: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
9cd3530c98
rsx: Set up framework for hw deswizzle
2019-11-05 22:07:22 +03:00
kd-11
63bbf11a76
vk: Add video out calibration pass
...
- Adds gamma correction and RGB range filters to output to match PS3
2019-10-31 14:43:24 +03:00
kd-11
78aefe5b5e
rsx/overlays: Add support for other primitive types other than triangle_strips
2019-10-31 14:43:24 +03:00
kd-11
35794dc3f2
vk: Add checks for alphaToOne support
...
- This feature is very rarely used, as alphaToCoverage is commonly used as a replacement for blending, not in addition to it.
2019-10-30 01:06:28 +03:00
kd-11
d04241ad25
rsx: Allow compressed textures to be unaligned in size
...
- Align based on row length but let the texture itself be of arbitrary dimensions
2019-10-28 15:20:45 +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
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
kd-11
3c44065684
gl: Fix copypasta
...
- MSAA is still unimplemented in OGL
2019-10-20 21:38:40 +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
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
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
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
kd-11
7a6e2e716f
gl: Add a framework for compute shaders
2019-10-13 19:00:05 +03:00
kd-11
4a19a2dd24
rsx: Explicity describe transfer regions for both source and destination blocks
2019-10-04 18:10:46 +03:00
kd-11
7aed9c3f13
gl: Add missing input declarations for 2-sided lighting
2019-09-30 21:52:43 +03:00
kd-11
88229f4716
gl: Remember to unbind attachments from active framebuffer after clear
...
- If a stale reference is left lying around (e.g the texture bound to
depth has been deleted and we attach a color image) no operations
actually take place. glCheckFramebufferStatus also does not catch this
problem.
2019-09-30 21:52:43 +03:00
kd-11
bcf8799079
rsx: Fix missing point size export
...
- Sometimes program-point-size is enabled, but the vs does not actually
write to the point size register. In this case, pass the incoming point
size along instead of the default register init.
2019-09-30 01:40:04 +03:00
kd-11
2275259bf5
rsx: Properly scale overlay passes to match drawable area
2019-09-28 13:24:14 +03:00
kd-11
28534e8833
gl: Remove a debug print
2019-09-28 13:24:14 +03:00
Jan Beich
5ec35c7daa
rsx: unbreak build with Clang 9
...
ld: error: rpcs3/CMakeFiles/rpcs3.dir/main_application.cpp.o: unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLGSRender.cpp.o): unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLRenderTargets.cpp.o): unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLVertexBuffers.cpp.o): unable to find library from dependent library specifier: opengl32.lib
2019-09-24 01:00:45 +03:00
kd-11
e0005ec347
rsx: Refactoring and improvement
...
- Separate displayed statistics from actual backend statistics.
Allows asynchronous flipping to work correctly as it just uses display stats.
The real stats are used by the frame scope marker to determine behavior like engaging the FIFO optimizer or skipping draw calls correctly.
2019-09-19 23:10:09 +03:00
kd-11
858014b718
rsx: Experiments with nul sink
2019-09-12 23:32:21 +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
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
a7b9ff33d8
gl: Warnings cleanup
2019-09-01 18:59:50 +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
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
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
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
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