kd-11
417a2e6731
rsx: Refactor index buffers
...
- Index offset is ignored anyway and only used to calculate vertex attribute divisor index
- Specialized optimization for untouched xfer without primitive restart
2019-01-25 14:34:22 +03:00
kd-11
677b16f5c6
rsx: Fixups
...
- Also fix visual corruption when using disjoint indexed draws
- Refactor draw call emit again (vk)
- Improve execution barrier resolve
- Allow vertex/index rebase inside begin/end pair
- Add ALPHA_TEST to list of excluded methods [TODO: defer raster state]
- gl bringup
- Simplify
- using the simple_array gets back a few more fps :)
2018-11-30 23:51:25 +03:00
kd-11
e01d2f08c9
rsx: Refactor FIFO
...
- Removes fifo structures from common RSXThread
- Sets up a dedicated FIFO controller
- Allows for configurable queue optimizations
2018-11-30 23:51:25 +03:00
eladash
83b6c98563
rsx: Fix u16 index arrays overflow
...
Force u32 index array destinations to avoid overflows when adding vertex base index.
2018-10-08 16:39:47 +03:00
kd-11
6399833182
rsx: Fix endianness order when immediate mode register is updated, but used as register lookup
...
- Simplify the code by unifying all the register-backed memory
2018-09-03 18:24:20 +03:00
Lassi Hämäläinen
79cf2832ae
Remove Utilities/variant.hpp and use C++17 variant
...
- Remove also Utilities/variant_visitor.hpp
- Fix variant and variant_visitor usages and #includes
2018-08-31 17:49:59 +04:00
Nekotekina
1c6c24f8ac
Update GSL and yaml-cpp submodules
2018-08-25 01:15:47 +03:00
Jake
6d6d6fa827
dx12/vk/gl: implement use of vertex_data_base_index when calculating index
2018-03-30 13:30:04 +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
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
mp-t
607d2486ea
Code review ( #3114 )
...
* Fix always-true conditions in sceNp module
* gl_render_targets: useless check on unsigned variable, possible bug
* fixed UB in crypto utility functions
* copy-paste error in vk::init_default_resources
* pass strings by const ref
* Dont copy vectors. Make sure copies are not needed because functions are used in a multi-threaded context.
2017-08-01 20:22:33 +03:00
kd-11
df8fa74e2a
vulkan hotfix ( #3046 )
...
* Rework vertex attribute binding for vulkan. Allows always providing a buffer view to the pipeline even if the game has the attribute disabled as long as it is consumed by the vertex shader.
2017-07-22 01:54:28 +03:00
kd-11
2526626646
rsx: Surface cache bug fixes
...
- Properly handle data 'transfer' when recycling frame buffer images
- Clear 'recycled' surfaces before use
2017-07-19 23:28:33 +03:00
kd-11
47e5074dc5
rsx: Emulated index buffers are based on vertex 0 with no disjoint ranges
...
- Drop the 'first' argument as it is unused for now
2017-06-29 13:13:19 +03:00
kd-11
98cf72e0fb
rsx: Fix clip space computations
2017-06-22 23:36:15 +03:00
kd-11
c5975d5f66
rsx: Vertex program output fixes
2017-05-12 20:10:03 +03:00
Jake
60ce85f840
[Render] Userclip for d12/vk/ogl ( #2719 )
2017-04-25 18:32:39 +08:00
kd-11
909f3e9b3e
rsx: Support indexed immediate draw via ArrayElement method
2017-03-29 23:06:17 +03:00
kd-11
9263999ad1
[rsx/vp] Improve BRB opcode implementation
...
fix merge issues
2017-02-26 10:17:34 +03:00
kd-11
d6159a35aa
gl/vk/dx12: Fix texture scaling on unnormalized rtt access
2017-02-11 15:45:59 +03:00
Nekotekina
d4c3905355
Debug build fix
2017-01-28 15:32:45 +03:00
vlj
6b7ce37374
rsx: vertex attribute size is 1 again for CMP, let backend handles this formats properties.
2016-09-22 15:44:59 +02:00
vlj
8d54bcbc0d
rsx: Use variant based draw commands.
2016-09-17 23:37:52 +02:00
vlj
03c86ae43b
rsx: Move inline array to draw_clause structure.
2016-09-17 23:37:52 +02:00
raven02
fc3179b698
DX12: temporary disable vertex base index check ( #2128 )
2016-09-07 09:26:01 +08:00
vlj
11858dce1a
rsx: Vertex array attributes don't need to be stored outside of regs.
2016-08-27 15:40:41 +02:00
raven02
a270ac7f02
GL: re-use common fp/vp decompiler ( #2100 )
2016-08-26 22:23:23 +08:00
Vincent Lejeune
42b518cf7e
rsx: use range for vertex buffer attribute.
2016-08-24 21:58:59 +02:00
Nekotekina
84d0d396ed
EXPECTS usage removed
2016-08-15 16:29:38 +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
Vincent Lejeune
7a6f5b6ee5
rsx: Move index pointer generation in rsx::thread.
2016-08-05 17:54:44 +02:00
Vincent Lejeune
e9bee80f4b
rsx: Use register_decoder for vertex attributes.
2016-07-19 20:28:32 +02:00
Vincent Lejeune
772706ca4c
Factorize rsx state
2016-07-07 21:38:57 +02: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
3a3d264cb5
rsx/common/d3d12/gl/vulkan: Set dst stride in write_vertex_array_data_to_buffer.
2016-04-07 22:17:28 +02:00
Vincent Lejeune
2ae5a7ff39
rsx/common/d3d12/gl/vulkan: Use single overload for write_index_array_data_to_buffer.
2016-04-07 22:17:28 +02:00
Vincent Lejeune
2e17ea1490
rsx/common/d3d12/vulkan: Factorise data_heap between vulkan and d3d12.
2016-04-07 22:17:28 +02:00
Vincent Lejeune
32434dd848
rsx/common/d3d12/gl: Support for fog mode.
...
Fix hitman 2
2016-02-29 16:31:18 +01:00
Vincent Lejeune
5a14644cd4
rsx/common/d3d12/gl: Use span in vertex upload function.
2016-02-22 20:22:47 +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
kd-11
3813c09be6
Properly handle inlined vertex data
...
Fix initial array offsets for dx12
2016-02-16 15:39:18 +03:00
Vincent Lejeune
837e06e85b
rsx/common/d3d12: Support non default alpha function
...
Fix After burner climax cloud effects.
2016-02-13 17:07:12 +01:00
Vincent Lejeune
3d960064ef
d3d12: Use unnormalized_coords info in RSXFragment
2016-01-30 22:04:36 +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
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