kd-11
c2ac05f734
rsx: Fix for rsx thread lockup due to nested access violations when WCB is enabled
2017-10-29 15:25:17 +03:00
kd-11
f8f5f9f418
vk: Allow swapchain create to fail with an error
2017-10-29 15:25:17 +03:00
kd-11
7e6d6b45d4
nvidia facepalm
2017-10-29 15:25:17 +03:00
kd-11
361e80f7dc
rsx: Tag cache blocks returned on access violation to validate data passed
...
to flush_all is up to date. Should prevent recursive exceptions
Partially revert Jarves' fix to invalidate cache on tile unbind. This will
need alot more work. Fixes hangs
2017-10-29 15:25:17 +03:00
kd-11
ce2b790d8f
rsx/qt: GsFrame improvements
...
- Identify minimize/restore events as separate from regular resize and do not react to them
- Enable message queue consumption after loading the shaders cache. Also hides the frame in this step
-- This fixes the 'start fullscreen' bug when running vulkan
2017-10-29 15:25:17 +03:00
kd-11
7abf755a57
rsx: Avoid false positives by early rejection. Should keep cache thashing to a minimum
2017-10-28 13:26:16 +03:00
kd-11
055f0e2e4a
rsx: Export more information about affected cache sections when handling violations
...
- This allows for better handling of deferred flushes.
-- There's still no guarantee that cache contents will have changed between the set acquisition and following flush operation
-- Hopefully this is rare enough that it doesnt cause serious issues for now
2017-10-28 13:26:16 +03:00
kd-11
49f4da3016
rsx: Fixes
...
- vk: Always reopen primary command buffers. They should only be closed in flush_command_queue
- If uploading a texture and there are collisions with protected buffers, do not rebuild the cache
- Perform writes via flush before reprotecting pages that were not trampled
- Only flush no pages once
2017-10-28 13:26:16 +03:00
kd-11
bf234dc668
rsx: Implement memory tags for strict mode to validate render target memory
2017-10-28 13:26:16 +03:00
kd-11
11bd65c2b5
vulkan: Flush queue before attempting to copy texture memory!
2017-10-28 13:26:16 +03:00
Jake
e0d1ac676e
rsx: invalidate surface store address when tile is unbound
2017-10-28 12:46:20 +03:00
Jake
626b9f93c4
rsx: make dmactrl get 'readonly'
2017-10-28 12:46:20 +03:00
kd-11
9c9495621c
rsx: Fix critical bug concerning transient data layout in memory
2017-10-26 00:35:45 +03:00
kd-11
d53673c6f7
rsx: Disable draw call batching when strict mode is enabled
...
- Minor bugs have been observed with it always enabled
2017-10-26 00:35:45 +03:00
kd-11
882e949f80
vk: Fix for infinite hanging in the access violation handler
2017-10-24 22:59:09 +03:00
kd-11
e6849a59a2
rsx: Better detection of framebuffer memory copy operations
...
- Still requires texture stitching to work correctly, but matching dimensions works well for now
2017-10-24 22:59:09 +03:00
kd-11
6918e265ec
rsx/vk: Be a little more frugal with texture memory to avoid running out of VRAM on 1GB cards
2017-10-24 22:59:09 +03:00
kd-11
e9f293f522
rsx: Improve separate treatment of write exceptions vs read exceptions
...
- Optimizes search functionality and avoids thrashing valid sections
2017-10-24 22:59:09 +03:00
kd-11
5fc36d64b6
fix build
2017-10-24 22:59:09 +03:00
kd-11
95e6d78689
rsx: Workaround for 0 pitch textures.
...
- Should these be ignored? Needs investigation
2017-10-24 22:59:09 +03:00
kd-11
f4a666345a
rsx: Even more texture cache fixes
...
- Fix subresource sampling
- Invalidate memory range before uploading textures to prevent hangs
2017-10-24 22:59:09 +03:00
kd-11
7a5c88a8d1
rsx: Only transfer framebuffer contents if memory contents are compatible
2017-10-24 22:59:09 +03:00
kd-11
0de0dded53
rsx: Texture fixes continued
...
- Fix buffer invalidate behaviour (wcb)
- Disable auto rebuild with only framebuffer storage getting rebuilt
- Fix vulkan subresource sampling
2017-10-24 22:59:09 +03:00
kd-11
5e58cf6079
rsx: Restructuring [WIP]
...
- Refactor invalidate memory functions into one function
- Add cached object rebuilding functionality to avoid throwing away useful memory on an invalidate
- Added debug monitoring of texture unit VRAM usage
2017-10-24 22:59:09 +03:00
kd-11
8f324dfc0a
vk: Enable primitive restart workaround for polaris and vega on linux as well
...
- Looks like it might be a hardware erratum
2017-10-22 00:14:40 +03:00
kd-11
472cb3b1c2
gl: Check for vendor_string ATI for AMD cards. It seems AMD is still using the ATI openGL stack
2017-10-19 12:22:52 +03:00
kd-11
d8ee6a2edb
add RX 550 to AMD vulkan cards with restart bug
2017-10-19 12:22:52 +03:00
kd-11
ddcacb8258
general fixes; Force u32 return type for index_count and add RX Vega to primitive restart blacklist
2017-10-19 12:22:52 +03:00
kd-11
a8e1754fa4
rsx: Allow clear_surface command for depth-only passes. Removes invalidate cache hack
2017-10-19 12:22:52 +03:00
kd-11
5db45c3699
rsx: More fixes
...
- Workaround for AMD glMultiDrawArrays bug
- Disable disjoint command submission when multidraw support is disabled
2017-10-19 12:22:52 +03:00
kd-11
89dcafbe41
rsx: Reimplement index buffer generation
...
- Emulate primitive restart in software whenever we get the chance
- Ensure PRIMITIVE_RESTART is never active when LIST topologies are active
- Reimplement TRIANGLE_FAN, POLYGON and QUAD expansion
2017-10-19 12:22:52 +03:00
kd-11
3d05e61f7e
rsx/vk: Workaround for polaris primitive restart bug
2017-10-19 12:22:52 +03:00
kd-11
a11d66f52d
update vulkan submodules ( #3600 )
2017-10-15 14:37:52 +03:00
kd-11
86bf61ad35
rsx: Fix memory protection
...
- Fixes hanging when wcb is enabled
2017-10-14 14:19:14 +03:00
kd-11
479aa91368
rsx: Add a debug option to force full software emulation of blit engine
2017-10-14 14:19:14 +03:00
kd-11
eab9d06981
rsx: Texture cache fixes
...
- Fix src/dst framebuffer detection
- Silence some warnings
2017-10-13 15:23:48 +03:00
scribam
0129c54ab6
Move optional.hpp as a submodule
2017-10-12 18:00:24 +03:00
kd-11
c570410e06
rsx: Stop executing broken command queues if the application fails to recover in 3 retries
2017-10-12 13:51:29 +03:00
kd-11
9af71699a4
rsx: Minor fixes
...
- Dont skip cb if a problem occurs, just spin on it instead to allow possibility of recovery
- Vulkan cleanup for the die_with_error helper
2017-10-12 13:51:29 +03:00
kd-11
58860614e3
rsx/qt: Implement native window hooks for win32 windows to allow communication between WndProc thread and rsx::thread
...
- This communication is important in communicating window events. Helps properly synchronize swapchain management on vulkan and stops nvidia crashing
- Do not block the message queue lest the driver detect window as not responding
2017-10-12 13:51:29 +03:00
Nekotekina
19f3bb8cb0
Allow shader cache dialog cancellation
2017-10-11 20:06:33 +03:00
kd-11
f5d450f24c
vk: Better vsync mode selection ( #3571 )
2017-10-11 19:10:49 +03:00
yzwduck
2e5f8c0786
Rename outputs correctly when writing default values to them ( #3574 )
...
- Fix for undeclared variable errors
2017-10-11 01:50:43 +03:00
kd-11
5a03db7d2e
rsx: Improve memory protection behavior when strict mode is off
2017-10-10 12:10:41 +03:00
kd-11
91ef202ee7
vulkan: Better VkResult handling
2017-10-10 12:10:41 +03:00
kd-11
1d375cb13c
vulkan: Fix window resize race condition when doing flip
2017-10-09 20:25:41 +03:00
kd-11
fc0f98b5db
rsx: Res scaling improvements
...
- gl: Reintroduce the wcb hw downscaling
- rsx: Clamp scalable render target size with a config var
2017-10-09 20:25:41 +03:00
kd-11
3fe37ede97
rsx: Fixups
...
- gl: Remove redundant texstorage1D call
- gl: Disable the wcb scaling code as it doesnt work right yet [WIP]
- vk: Fix wcb reads
2017-10-09 20:25:41 +03:00
kd-11
55df3cdf67
vulkan: Implement vsync
2017-10-09 20:25:41 +03:00
kd-11
6e8107a5cb
rsx: Implement AF override
2017-10-09 20:25:41 +03:00