Commit Graph

3611 Commits

Author SHA1 Message Date
vlj d29b82566e d3d12: Fix memleak 2015-08-12 00:28:15 +02:00
vlj c6a5e905bc d3d12: enable texture caching
Bring a little more perf in arkedo 2
2015-08-12 00:28:14 +02:00
vlj 8cc9642b96 Completly unclean way to track texture modification between frames 2015-08-12 00:28:14 +02:00
vlj 03a84cb208 d3d12: Measure time spent uploading texture and vertex 2015-08-12 00:28:13 +02:00
vlj 3f495689c0 d3d12: Ignore texture with 0 width/height
Fix crash in voodoo chronicles.
2015-08-12 00:28:13 +02:00
vlj ad3e50f90f d3d12: Do not guess texture size but use actual value 2015-08-12 00:28:12 +02:00
vlj 628acbf0b4 d3d12: Do not reserve a lot more than necessary. 2015-08-12 00:28:12 +02:00
vlj dbcddcf5e2 d3d12: Clean up texture upload code
Should be easier to read code (and spot bugs).
Fix crash with mipmap and DXTCn texture format.
2015-08-12 00:28:11 +02:00
vlj eda3c9084e d3d12: Fix mipmap data 2015-08-12 00:28:11 +02:00
vlj 178d0e0e85 d3d12: Try implement mipmap
The mipmap level below 0 are currently wrong, find out why
2015-08-12 00:28:11 +02:00
vlj d23cf861f1 d3d12: Factorize ring buffer like code to depth/color buffer migration 2015-08-12 00:28:10 +02:00
vlj dca9ae6ab5 d3d12: Factorize cleaning function for heaps 2015-08-12 00:28:10 +02:00
vlj aa66ddcd86 d3d12: Add some code documentation + rename some functions 2015-08-12 00:28:09 +02:00
vlj f2d39d0e82 d3d12: Use fixed width/height scale and use surface_clip info for scaleOffset matrix
Thanks to raven02 for the patch.
2015-08-12 00:28:09 +02:00
vlj f59bc86ac5 d3d12: Fix scaling for terraria/Voodoo chronicles
It break render_to_target test but it looks like an issue with
scale/offset buffer rather than viewport/scissor
2015-08-12 00:28:08 +02:00
vlj 09ccd7e436 d3d12: Fix crash with W16Z16Y16X16 texture format 2015-08-12 00:28:08 +02:00
vlj 2310ba137f d3d12: Fix crash with rescaling pass 2015-08-12 00:28:07 +02:00
vlj 9fdb6f0dad d3d12: Fix color of scaling output 2015-08-12 00:28:07 +02:00
vlj 281f8be76f d3d12: Enable scaling pass
The output is black and white, need to find out why.
2015-08-12 00:28:06 +02:00
vlj 224bae383c d3d12: Add some code that will scale final render target 2015-08-12 00:28:06 +02:00
vlj f55bb7165c d3d12: Load dll at runtime 2015-08-12 00:28:05 +02:00
vlj 006d989304 d3d12: Uncomment code that shouldn't have been commented out 2015-08-12 00:28:05 +02:00
raven02 00c975b469 d3d12: use gcm buffer width and height for copy texture region
It fixes crash in Voodoo Chronicles and Terraria
2015-08-12 00:28:04 +02:00
vlj e36c4f75e0 d3d12; Fix swizzle for B8 texture format
Fix menu in guided fate paradox for WARP
2015-08-12 00:28:04 +02:00
vlj 41577b5018 d3d12: Fix some warnings 2015-08-12 00:28:03 +02:00
vlj 17e169e652 d3d12: Fix crash at exit + tweak heap sizes to make dice test working 2015-08-12 00:28:03 +02:00
vlj 75a52219e0 d3d12: Rewind constant buffers get value 2015-08-12 00:28:03 +02:00
vlj c53828787a d3d12: Emit an error if waiting for too long for semaphore 2015-08-12 00:28:02 +02:00
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
raven02 da923f8a3d d3d12: declare bufferSize for allocation 2015-08-12 00:26:53 +02:00
raven02 cf27d4c2ca d3d12: Fix pitch in COMPRESSED_DXT23/DXT45
Make pm_zcull.ppu.elf renders correctly.
2015-08-12 00:26:53 +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 cfde5698c7 d3d12: Fix swizzling for D8R8G8B8
Fix human.ppu.elf demo
2015-08-12 00:26:52 +02:00
vlj 70b537c8c2 d3d12: Implement discard
Should make alpha test kill test almost working as it should.
2015-08-12 00:26:51 +02:00
vlj dc1a57e71c d3d12: Fix color masking
Wasn't using the correct PSO state variable
2015-08-12 00:26:51 +02:00
raven02 724159c8b4 d3d12: warning log fix 2015-08-12 00:26:50 +02:00
raven02 a86e44deb4 RSX: Fix NV3089
Make convert_swizzle.elf works
2015-08-12 00:26:50 +02:00
vlj 93e20c0853 d3d12: Fix index count 2015-08-12 00:26:49 +02:00
vlj 8b631d486c d3d12: Fix build 2015-08-12 00:26:49 +02:00
raven02 48e6db3a2f d3d12: use CELL_GCM suffix for filter 2015-08-12 00:26:48 +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 ad55cced13 d3d12: Fix vertex buffer sometimes incomplete. 2015-08-12 00:26:47 +02:00
vlj e55949dbfa d3d12: Use h0 in fragment decompiler when there is no r0
Partially fix alpha kill test.
2015-08-12 00:26:47 +02:00
vlj 8669dac5e7 d3d12: Implement sampler filters properly
Fix menu in the guided fate paradox
2015-08-12 00:26:46 +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
raven02 1837f40ed4 d3d12: Factorize common use functions among frag and vertex decompiler 2015-08-12 00:26:44 +02:00