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
504ab5a6d4
rsx: Minor cleanup to silence stupid compiler warnings
2018-12-03 20:01:23 +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
eladash
e361e0daa6
rsx: Fix restart index check for u16 index arrays
...
Dont ignore upper bits of the restart index with u16 types
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
Nekotekina
1c6c24f8ac
Update GSL and yaml-cpp submodules
2018-08-25 01:15:47 +03:00
scribam
04ad49de4d
typos
2018-05-14 21:14:39 +04:00
Jake
6d6d6fa827
dx12/vk/gl: implement use of vertex_data_base_index when calculating index
2018-03-30 13:30:04 +03:00
Nekotekina
61de20a633
RSX: remove SSSE3 dependency
2017-12-20 00:04:08 +03:00
Zion Nimchuk
3a9ae2df9e
silence warnings in RSX stuff
2017-11-30 18:07:19 +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
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
2e9405db4c
rsx: Remove index expansion for quad strips
2017-08-26 21:53:54 +03:00
kd-11
fe5828cb47
rsx: Implement QUAD_STRIP
...
- QUAD_STRIP evaluates to TRIANGLE_STRIP in memory. The memory layout is identical.
- The only difference between the two modes would be the primitive_ID but that doesnt matter on RSX
- Its worth noting that results will be different between the two modes if input vertices are non-coplanar for every set of N verts
2017-08-26 21:53:54 +03:00
kd-11
a7c28f5827
rsx: Fix remainder/iteration computations in BufferUtils
2017-07-24 16:52:42 +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
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
kd-11
11317acdbe
rsx: Handle non-zero base vertex better
...
- Vertex buffer contents treat the base vertex as vertex 0 so we do the same for indices
rsx: Fix vertex base indexing
rsx: Properly fix non-zero offset indexed rendering
2017-06-22 23:36:15 +03:00
kd-11
786bcb0d1b
rsx: bugfix - avoid a divide by zero
2017-05-22 14:28:33 +03:00
kd-11
d4ddc40988
rsx: Add support for repeated data streams (broken attrib divisor?)
2017-05-22 14:28:33 +03:00
kd-11
e8b4d332eb
rsx: Use faster upload path when conditions allow
...
Fix aligned memory access (SSE)
rsx: BufferUtils; always use optimized paths
2017-05-22 14:28:33 +03:00
kd-11
2d99f3556e
rsx: Fix line_loop -> line_strip indexing
2017-04-03 13:50:58 +03:00
Zangetsu38
73906f9f29
d3d12: add x1r5g5b5_z1r5g5b5 and cleanup in D3D12Formats.
...
Add info in BufferUtils for log.
2017-02-10 22:04:45 +03: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
fb47945930
rsx: Returns u32 instead of size_t for get_index_count/type_size
2016-08-06 00:25:23 +02:00
Vincent Lejeune
7a6f5b6ee5
rsx: Move index pointer generation in rsx::thread.
2016-08-05 17:54:44 +02:00
raven02
e1ff3f4674
rsx: use fragment_textures_count ( #1948 )
...
* rsx: use fragment_textures_count
* Typo: unknow -> unknown
2016-07-19 22:50:40 +08:00
Vincent Lejeune
772706ca4c
Factorize rsx state
2016-07-07 21:38:57 +02:00
DHrpcs3
3b5cd4845e
OpenGL renderer: use correct MVP matrix. Cleanup
...
Simplified gl::ring_buffer helper
2016-06-21 19:56:05 +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
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
cbe119b457
rsx/common: Remove MIN2/MAX2 macro.
2016-04-07 22:17:28 +02:00
kd-11
0327e76320
Fix quad strip triangle winding
2016-03-24 10:52:35 +03:00
Vincent Lejeune
9cdb74efc7
rsx/common: Add supports for quads strip
...
Used in Hitman 2
2016-02-27 19:38:16 +01:00
Vincent Lejeune
a6ba47265f
rsx/common/gl: s32k is actually signed short unormalized.
...
gl fix
2016-02-27 00:21:12 +01:00
Vincent Lejeune
5ef7f8bf3e
rsx/common: Fix handling of UB256
2016-02-27 00:21:06 +01:00
Vincent Lejeune
5a14644cd4
rsx/common/d3d12/gl: Use span in vertex upload function.
2016-02-22 20:22:47 +01:00
kd-11
7b889a10cc
Add vertex texture buffers for VS input
...
Support vertex instancing in vertex shader using VertexID
Relax OpenGL requirements by removing 4.5 features
Use EXT version of TexBufferRange; Implement buffer copy using TexBuffer
Apply travis workaround by danilaml
Fix vertex upload in in case of inlined array
2016-02-03 13:38:23 +03:00
Vincent Lejeune
acd384ae2d
rsx/common: Base offset is actually correctly supported.
...
Outrun uses it and cars are correctly displayed.
2016-01-27 22:05:43 +01:00
DHrpcs3
19ce0cdc09
rsx methods constants moved to rsx namespace
...
minor fix
2016-01-20 20:12:48 +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
Vincent Lejeune
d153575e59
rsx/common/d3d12/gl: Support for CMP/non pow of 2 size vertex formats.
...
Also use class enum for base_vertex_type everywhere.
Fix Bomberman Ultra color and Cubixx HD geometry.
2016-01-09 23:18:03 +01:00
DHrpcs3
48919330d7
rsx methods moved from rsx thread
2016-01-06 13:30:24 +02:00