Commit graph

143 commits

Author SHA1 Message Date
vlj
d2c13bc4c1 d3d12: Use a commited resource for constant buffer
Since we rarely use more than 1k of constant data we waste space due to
alignment requirement with heap so use a commited resource instead.
2015-08-12 00:28:02 +02:00
vlj
2f54482592 d3d12: Make depth test optionnal and use (0,0,0,0) when texture unit is disabled 2015-08-12 00:28:01 +02:00
raven02
482a371bb0 d3d12: set max_depth_value based on depth format 2015-08-12 00:26:54 +02:00
vlj
24c23dc5f6 d3d12: Use dummy texture to fill empty texture slot
vertex attribute test has a shader that reads a texture, but rpcs3
doesn't provide the texture ; this makes WARP crash.
2015-08-12 00:26:52 +02:00
vlj
93e20c0853 d3d12: Fix index count 2015-08-12 00:26:49 +02:00
vlj
224503d2dc d3d12: Move program related code out of D3D12GSRender and some get* format functions 2015-08-12 00:26:48 +02:00
vlj
2d0dbf4949 d3d12: Async semaphore leads to deadlock, make it sync, but do resource garbage collection async 2015-08-12 00:26:46 +02:00
vlj
10b92d45d1 d3d12: Use RSXThread width height for viewport
Thanks to raven02 for finding this, it fixes render to texture test
2015-08-12 00:26:45 +02:00
vlj
4966ab565a d3d12; Clean resource sooner and fix crash with VS debugger. 2015-08-12 00:26:45 +02:00
vlj
ff9f348ec2 d3d12: Use finer pitch when downloading rtt 2015-08-12 00:26:43 +02:00
vlj
c2d3c857b6 d3d12: Handle w16Z16Y16X16 rtt format
It doesnt fix completly render_to_texture test but it helps.
2015-08-12 00:26:43 +02:00
vlj
b8ba902657 d3d12: Fix rtt size (and crash in render_to_texture test) 2015-08-12 00:26:42 +02:00
raven02
68d3f6f536 d3d12: minor cleanup 2015-08-12 00:26:41 +02:00
raven02
4ef66e6901 d3d12: Add blend for MRT 2015-08-12 00:26:41 +02:00
raven02
e72d098ea1 d3d12: use CELL_GCM suffix 2015-08-12 00:26:40 +02:00
vlj
27e56b6199 d3d12: Do not set mask if not requested 2015-08-12 00:26:39 +02:00
vlj
bdeb08e045 d3d12: Add color masking 2015-08-12 00:26:39 +02:00
vlj
acb8f82f84 d3d12: Add front/back face culling setting 2015-08-12 00:26:38 +02:00
vlj
b465992178 d3d12: Fix stencil op
Thanks to raven02 for noticing them !
2015-08-12 00:26:38 +02:00
vlj
c73d19161b d3d12: Disable depth/color buffer write if not requested
Doesnt really increase performance...
2015-08-12 00:26:37 +02:00
vlj
d564c25241 d3d12: Use real depth function too 2015-08-12 00:26:37 +02:00
vlj
02f15810ee d3d12: Implement stencil states
Unfortunatly it doesnt solve stencil reflect test atm
2015-08-12 00:26:35 +02:00
vlj
caf863be4d d3d12: Fix crash at exit 2015-08-12 00:26:29 +02:00
raven02
25c09c5088 d3d12: Add Blend Op 2015-08-12 00:26:28 +02:00
vlj
a2b8d3a885 d3d12: Fix memleak 2015-08-12 00:26:27 +02:00
vlj
593b9a494d d3d12: Double texture storage size 2015-08-12 00:26:27 +02:00
vlj
a5fb8c95f4 d3d12: Fix interframe sync 2015-08-12 00:26:25 +02:00
vlj
ac352cd083 d3d12: Use custom loadvertex like call 2015-08-12 00:26:25 +02:00
vlj
b63c77ca7d d3d12: Swap current/non current right after present has been called 2015-08-12 00:26:24 +02:00
vlj
9e2dfcaba3 d3d12: fix memleak 2015-08-12 00:26:24 +02:00
vlj
7db3599648 d3d12: Ping pong between data to avoid gpu stall as much as possible 2015-08-12 00:26:23 +02:00
vlj
461bf12c4f d3d12: Cleaning 2015-08-12 00:26:23 +02:00
vlj
9748007cd3 d3d12: Use ring buffer for textures too
It looks like the texture size calculation is wrong, it can lead to
crash
2015-08-12 00:26:21 +02:00
vlj
6bb5dd2125 d3d12: Use ring like buffer for vertex index data 2015-08-12 00:26:20 +02:00
vlj
f721f2cbaa d3d12: Use ring like heap for vertex and fragment constants too 2015-08-12 00:26:20 +02:00
vlj
59aca7566e d3d12: Some fixes to avoid running out of constant spaces 2015-08-12 00:26:19 +02:00
vlj
e0cff6b0b4 d3d12: Start using a ring-like buffer for constants 2015-08-12 00:26:19 +02:00
vlj
25b10c5e3e d3d12: Consume less descriptor slot if not required 2015-08-12 00:26:17 +02:00
raven02
0be60890e7 d3d12: minor fixes 2015-08-12 00:26:14 +02:00
vlj
fdf24545af d3d12: Raise texture upload heap to make multi texture work
The result is not in line with PS3 real output though
2015-08-12 00:26:14 +02:00
vlj
e454f59f97 d3d12: Fix depth buffer not being transitionned to generic read 2015-08-12 00:26:13 +02:00
vlj
aac93b9063 d3d12: Clean code + fix warnings 2015-08-12 00:26:13 +02:00
vlj
001dc7cf57 d3d12: Do not copy fbo, just use new one 2015-08-12 00:26:12 +02:00
vlj
5a57564b0c d3d12: Forgot a hunk 2015-08-12 00:26:12 +02:00
vlj
01ac9f02d2 d3d12: Use placed resource for depth conversion result 2015-08-12 00:26:11 +02:00
vlj
2636fb457e d3d12: Use placed resource for mrt readback
Should be slightly faster (no allocation)
2015-08-12 00:26:11 +02:00
vlj
6877e5e3ba d3d12: Start using heap for depth buffer readback 2015-08-12 00:26:09 +02:00
vlj
90fb4396fe d3d12; Add a texture cache 2015-08-12 00:26:08 +02:00
raven02
d8f76f5aee d3d12: Add LogicOp 2015-08-12 00:26:08 +02:00
vlj
f382ba0319 d3d12: Enable multiple mrt read 2015-08-12 00:26:07 +02:00