Commit graph

98 commits

Author SHA1 Message Date
Jake e0d1ac676e rsx: invalidate surface store address when tile is unbound 2017-10-28 12:46:20 +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
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 b2e906f4cc rsx: Code cleanup. Fixes several dozen warnings
- Wrap unused parameters as comments to prevent C1400
- Fix sized variable conversions with explicit casts
2017-06-22 23:36:15 +03:00
Nekotekina f010b5b235 Configuration simplified 2017-05-20 16:01:48 +03:00
kd-11 909f3e9b3e rsx: Support indexed immediate draw via ArrayElement method 2017-03-29 23:06:17 +03:00
kd-11 7c73c3b75c rsx/gl: Minor refactoring; prepare vulkan backend 2017-03-01 00:16:55 +03:00
kd-11 9263999ad1 [rsx/vp] Improve BRB opcode implementation
fix merge issues
2017-02-26 10:17:34 +03:00
Jake a886e28f87 Fix nv3089_image_in
- Restrict clip_x/y
- Remove double offset addition
2017-02-17 18:33:56 -06:00
kd-11 d6159a35aa gl/vk/dx12: Fix texture scaling on unnormalized rtt access 2017-02-11 15:45:59 +03:00
kd-11 7a9841bb2a gl/vk/dx12: Fix depth reconstruction bug; Fix sampler parameters (#2188)
vulkan: Fix duplicated code bug

fix rebase
2016-10-04 21:51:40 +08:00
kd-11 5430e1d310 rsx/gl/vk/dx12: Add emulated texture fetch for depth read (#2173)
* rsx/gl/vk/dx12: Add emulated texture fetch for depth read

gl/vk/dx12: Simplify reinterpretation equation

* gl: Remove unnecessary re-swizzle

* glsl: explicitly cast uint to float
2016-09-29 14:54:32 +08:00
Vincent Lejeune eb1d4811de rsx: Use a "draw clause" object in rsx_state. 2016-08-05 23:33:40 +02:00
kd-11 854bc1db60 dx12: simplify constant color blend equation/algorithm checks 2016-07-19 19:20:57 +03:00
kd-11 d3837de571 dx12: Constant color/alpha blending 2016-07-19 19:20:57 +03:00
raven02 6296453ef3 D3D12: inline stencil test as GL and Vulkan backend (#1945) 2016-07-19 16:52:14 +08:00
Vincent Lejeune 772706ca4c Factorize rsx state 2016-07-07 21:38:57 +02:00
raven02 effd379c25 Vulkan/DX12 : refactor cull face code (#1849)
* Vulkan/DX12 : refactor cull face code

1

* Add optimal build options to CMakeLists (#1841)

Provides two options when building RPCS3

    USE_SYSTEM_FFMPEG BOOL (default: OFF)
    USE_SYSTEM_LIBPNG BOOL (default: OFF)

These options lets the user select between the system provided and builtin libraries of ffmpeg and libpng to overcome possible system issues.

Also adds support for older libpng releases if the user doesn't have libpng 1.5 or higher.

* DX12: depth buffer compare should perform only if depth testing is enabled (#1848)

* GL: front face regression fix (#1854)

* GUI: Add bulk decryption of LLE modules (#1845)

Adds a new menu to "Tools" called "&Decrypt SPRX libraries" which opens a dialog to select
multiple *.sprx files, which are than decrypted all at once.
This speeds up the LLE module decryption and saves users a lot of time.

The output path is the same where the input module resides and the extension is changed
to *.prx

* vk: Avoid double-copy for vertex attributes (#1852)

* vk: Avoid double-copy for vertex attributes

fix buffer overflow

vk: Fix vertex attrib offset_in_dst for batched draw calls

* whitespace fix only
2016-07-03 10:35:51 +08:00
raven02 45d41267f5 DX12: depth buffer compare should perform only if depth testing is enabled (#1848) 2016-07-01 15:02:40 +08: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 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 f0dc38cadd rsx/common/d3d12: Support back spec/diffuse color.
Fix green car in Outrun.
2016-02-08 17:35:52 +01:00
Vincent Lejeune 5f35f2ac7d rsx/common/d3d12: Support for texture 1d too.
They are used in after burner climax
2016-01-30 01:13:15 +01:00
Vincent Lejeune 149fa9d750 rsx/common: Make RSXFragmentProgram key and not just pointer. 2016-01-27 23:16:06 +01:00
Vincent Lejeune 6384541345 d3d12: Store vertex attributes as SRV and disable Input_layout. 2016-01-26 23:13:29 +01:00
Vincent Lejeune 24255f7883 rsx/common/d3d12/gl: Add some texture info to RSXFragmentProgram 2016-01-26 17:56:01 +01:00
Vincent Lejeune 4ce4cf5242 rsx: Add vertex input and output in RSXVertexProgram. 2016-01-22 01:24:54 +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
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 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 6221fecf3b common/d3d12/gl: Start implementing cubemap sampling 2015-12-16 20:36:34 +01:00
Nekotekina 3465106456 Shared PCH (experimental)
"Rebuild" is broken though.
2015-12-04 23:37:44 +03:00
Vincent Lejeune b9d8d9383a rsx/d3d12: dump program content when capturing frame 2015-11-24 23:34:03 +01:00
Nekotekina 4a669fd86e DX12 dependencies fix 2015-11-17 21:00:59 +03:00
Nekotekina 5f6caf33f0 MINGW64: Compilation fix 2015-11-16 19:12:51 +03:00
Vincent Lejeune 570ca1c87f d3d12: Use a_b_c style for D3D12GSRender.h members 2015-11-15 20:21:44 +01:00
Nekotekina 080e503954 Compilation fix 2015-11-14 20:26:41 +03:00
Vincent Lejeune 2043181501 d3d12: Suppress a warning if no rtt is bound
Rendering depth only is legal.
2015-10-30 18:10:41 +01:00
Vincent Lejeune c570d60f45 d3d12: Add newline at the end of every file 2015-10-29 19:12:46 +01:00
Vincent Lejeune c197b54774 d3d12: Rename D3D12GSRender function
Match a_b_c coding style.
2015-10-29 18:48:53 +01:00
Vincent Lejeune 119126c60c d3d12: Move enum conversion to a separate files.
* Add noexcept
* Use unreachable
* Use a_b_c style
2015-10-29 18:48:48 +01:00
Vincent Lejeune bc7e30517b d3d12: Add support for primitive restart. 2015-10-27 01:24:03 +01:00
O1L c0255208cc Old ini-manager only partially used in VFS. Global configuration used as defualt. 2015-10-27 01:09:31 +04:00
Nekotekina d4e0da3f80 DX12 fix + rpcs3-tests project 2015-10-21 13:31:29 +03:00
Vincent Lejeune a462b4518c d3d12: Move d3d12 files to separate solution.
It simplify solution configurations.
2015-10-17 04:15:58 +02:00