eladash
6f76e34104
rsx: Fix race on clearing native_ui vs emu_requested flag
2019-04-20 01:04:41 +03:00
Nekotekina
1b37e775be
Migration to named_thread<>
...
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
scribam
343656f66d
cleanup: remove unnecessary return and namespace declaration
2018-09-06 13:15:59 +03:00
kd-11
1730708f47
rsx: Rework memory protection management for framebuffer access
...
- Avoid re-locking memory if there is no reason to do so (no draws issued)
- Actively bound regions should always get written to the backing cache
- Forcefully read memory during download if writes to the target have occured since last sync event
2018-06-26 20:07:20 +03:00
kd-11
6362942928
rsx: Avoid semaphore acquire deadlock
2018-05-30 13:30:23 +03:00
kd-11
b7979d3f57
rsx/vk: Improvements and minor optimizations
...
- Improve dirty state tracking affecting program state
- vk: Refactor out transform constants upload into a separate channel to avoid if possible
transform data uploads are quite expensive
2018-05-13 14:44:14 +03:00
Nekotekina
cce0ad0c35
Clean vm::ps3 namespace use
2018-02-09 17:49:37 +03:00
kd-11
71f69d1d48
rsx/overlays: Introduce 'native' HUD UI and implement some common dialogs ( #4011 )
2018-01-17 19:14:00 +03:00
Jake
7ca2c444cc
rsx: Fix depth clipping
2018-01-14 20:50:55 +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
kd-11
d54c2dd39a
gl: Move vertex processing to the GPU
...
- Significant gains from greatly reduced CPU work
- Also reorders command submission in end() to improve throughput
- Refactors most of the vertex buffer handling
- All vertex processing is moved GPU side
2017-08-16 23:58:30 +03:00
Jake
d9a693019b
rsx/gcm: Implement rsx dma. Refactor gcm/rsx to not be as codependent
2017-08-02 01:33:12 +03:00
kd-11
05ffb50037
vk/rsx: Bug fixes and improvements
...
- Improvements to framebuffer usage; Avoid creating new resources every frame
- Handle null fragment program properly
- Collect vertex upload statistics
- vk: Pre-initialize 'unused' varying registers in the vertex shader in case it gets matched with a fs that consumes it
-- Fixes a crash about fog_c not being declared
gl/dx12/vk: Handle null fragment program
- cleanup - use yield semantic instead of sleep(0) as yield is more cross-platform
-- sleep(0) is a windows specific scheduler hint
2017-07-19 23:28:33 +03:00
kd-11
74d8619240
dx12: Fix error reporting
2017-06-29 13:13:19 +03:00
Nekotekina
f010b5b235
Configuration simplified
2017-05-20 16:01:48 +03:00
kd-11
3ce7947dd3
rsx: Throw if user attempts to use Vulkan/DX12 without driver support
2017-04-11 13:19:31 +03:00
Ryan Gonzalez
11e2965b5c
Switch to always using a steady clock ( closes #2200 )
2017-01-29 03:07:08 +03:00
vlj
153f1cc50a
d3d12: Always set transform constant when debug output is enabled.
2016-09-12 00:20:10 +02:00
Nekotekina
56b9b38c9c
verify() fix
2016-08-15 14:59:19 +03:00
Nekotekina
05fb57baff
VERIFY macro removed
2016-08-15 03:13:31 +03:00
Nekotekina
1f3433464c
ENSURES usage removed
2016-08-14 22:41:01 +03:00
Nekotekina
a7e808b35b
EXCEPTION macro removed
...
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Vincent Lejeune
eb1d4811de
rsx: Use a "draw clause" object in rsx_state.
2016-08-05 23:33:40 +02:00
raven02
0ae8cc4467
D3D12: revert heap size back to 896M ( #1960 )
...
* D3D12: revert heap size back to 896M
* Update D3D12GSRender.h
2016-07-21 14:50:06 +08:00
Nekotekina
ae634bb87e
RSX exception fix
...
VBlank thread management fix
2016-07-20 15:16:19 +03:00
Vincent Lejeune
772706ca4c
Factorize rsx state
2016-07-07 21:38:57 +02:00
raven02
244f3dfb89
DX12: set the heap size based on available vram ( #1786 )
2016-06-19 11:01:11 +08:00
kd-11
3956b21cb7
vk/gl/dx12: Dynamic cb flush for vulkan; fix glsl/hlsl vertex shader generation for some games; dx12: ignore fbo textures during flip if no surface target is set ( #1766 )
...
* gl/vk/dx12: Fix vertex shader code generation for buggy games
dx12: revert vsh attribute changes
* vk: dynamically flush command buffers if we exceed available resources
* dx12: do not prepare flip texture if it has not been initialized
2016-06-11 16:24:27 +03:00
Nekotekina
266db1336d
The rest
2016-05-23 16:22:25 +03:00
Nekotekina
b85a68e8a1
Partial commit: RSX
2016-04-15 19:22:36 +03:00
Vincent Lejeune
ce072f25e2
d3d12: Move sampler DescriptorHeap selection in D3D12GSRender
...
Avoid sampler descriptor being stored on 2 heaps inside a single draw
call. Fix somes crashes.
2016-03-31 17:56:30 +02:00
Vincent Lejeune
a78ba8a271
d3d12: Remove depth conversion shader
...
It's actually not needed, raw depth data should be sampled as RGBA8.
2016-02-25 23:29:44 +01:00
Vincent Lejeune
263e5beb26
d3d12: Copy descriptors when reused instead of recreating them.
...
Thanks Matías N. Goldberg for the tip !
2016-02-25 23:29:43 +01:00
Vincent Lejeune
7ae680d9d1
d3d12: Avoid uploading constant buffer every draw call
2016-02-25 23:29:41 +01:00
Vincent Lejeune
9ef24509cb
d3d12: Use a shared root signature and add more slots
...
This allows for finer grained rebinding later.
2016-02-21 17:55:34 +01:00
Vincent Lejeune
4efa2266e6
rsx/common/d3d12: Use m_texture_dirty[i] to signal texture state change and avoid unecessary bind operation.
2016-02-08 17:35:50 +01:00
Vincent Lejeune
6384541345
d3d12: Store vertex attributes as SRV and disable Input_layout.
2016-01-26 23:13:29 +01:00
DHrpcs3
19ce0cdc09
rsx methods constants moved to rsx namespace
...
minor fix
2016-01-20 20:12:48 +03:00
DHrpcs3
7523d01e0f
Code style fixes #2
2016-01-20 16:39:06 +03:00
DHrpcs3
7972cb5bdc
Code style fixes #1
2016-01-20 16:23:25 +03:00
DHrpcs3
685d5d3ea3
Access violation handled by rsx::thread
...
gfxHandler -> rsx::g_access_violation_handler
2016-01-20 15:46:58 +03:00
Vincent Lejeune
3b4339c8e0
rsx: Use enum class for surface related regs
2016-01-15 23:44:27 +01:00
Vincent Lejeune
689dee9944
rsx/common/d3d12: Consider separate index range as a whole.
...
Fix Wolf of the Battlefield 3
2016-01-13 00:28:48 +01:00
Vincent Lejeune
e6bd681227
d3d12: factorize render_target code in a template class to be shared with others backends.
2016-01-11 20:47:01 +01:00
Vincent Lejeune
0c5cfdddba
d3d12: Gather constant and vtx/idx heap and turn readback heap to buffer
2016-01-11 20:46:58 +01:00
Vincent Lejeune
bab52c132d
rsx/common/d3d12/gl: Clean ProgramStateCache
...
Use a_b_c format.
Use using =
Use tuple as output
Use RAII to delete program safely
Ensure const correctness.
2016-01-11 19:21:57 +01:00
DHrpcs3
48919330d7
rsx methods moved from rsx thread
2016-01-06 13:30:24 +02:00
Vincent Lejeune
cae2d929ab
rsx/common/d3d12/gl: Implement draw inline array support
2016-01-05 00:31:47 +01:00
Vincent Lejeune
07f6896622
d3d12: Throw if program failed to build.
2016-01-03 21:51:33 +01:00
Vincent Lejeune
8417e21e8d
d3d12: Set command heap only when necessary.
2016-01-03 21:51:31 +01:00