vlj
cfe058dc82
d3d12: Factorize texture upload code
2015-08-12 00:26:30 +02:00
raven02
ce857ab1da
RSX: DP2A for fragment decompiler
2015-08-12 00:26:30 +02:00
vlj
caf863be4d
d3d12: Fix crash at exit
2015-08-12 00:26:29 +02:00
vlj
5882f9defb
d3d12: Do not use texture pitch but compute it ourself
...
Fix sonic cd splash screen
2015-08-12 00:26:29 +02:00
vlj
f31282623a
d3d12: Fix texture unswizzling
2015-08-12 00:26:28 +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
raven02
76d52b4bb3
d3d12: Implement A4R4G4B4 texture format with byte swapped
...
Make the guided fate paradox works
2015-08-12 00:26:27 +02:00
vlj
593b9a494d
d3d12: Double texture storage size
2015-08-12 00:26:27 +02:00
vlj
d886fd55d3
d3d12: Fix for size calculation
2015-08-12 00:26:26 +02:00
vlj
a751a06d01
d3d12: Try not to overcommit texture memory
2015-08-12 00:26:26 +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
51d287d9b0
d3d12: Take alignment into account in streamBuffer
...
And use it for texture upload
2015-08-12 00:26:22 +02:00
vlj
878a116c4a
Rebasing didn't went quite right...Fixes
2015-08-12 00:26:22 +02:00
vlj
3a6abe1656
d3d12: fix crash when inferring texture size
2015-08-12 00:26:21 +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
c1abf80b40
d3d12: Fix r5g6b5 only using half texture
2015-08-12 00:26:19 +02:00
vlj
5ca02a5053
d3d12: Fix R5G6B5 being byte swapped
2015-08-12 00:26:18 +02:00
vlj
d8d72c4327
d3d12: Implement R5G6B5 texture format
...
Make sonic works, but with wrong color
2015-08-12 00:26:18 +02:00
vlj
25b10c5e3e
d3d12: Consume less descriptor slot if not required
2015-08-12 00:26:17 +02:00
vlj
043adab2ce
d3d12: Fix fragment constant filling
...
The command buffer does not necessarily set them in order...
2015-08-12 00:26:16 +02:00
vlj
1c803e725b
d3d12: Do not overwrite hlsl file
2015-08-12 00:26:16 +02:00
vlj
0b435afd1d
d3d12: Fix some texture format swizzles.
2015-08-12 00:26:15 +02:00
vlj
3aafb60629
d3d12: Fix offset in scale offset
...
Depth Buffer should be correctly positionned in depth_read test
2015-08-12 00:26:15 +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
raven02
28c125618a
d3d12 : add few more compressed format
2015-08-12 00:26:10 +02:00
raven02
046e522851
d3d12: Add DXT23 & DXT45
2015-08-12 00:26:10 +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
vlj
8e9cdc5fea
d3d12: Fix memleak
2015-08-12 00:26:07 +02:00
vlj
da328c078a
d3d12: Fix cube_mrt.ppu.elf
...
It should display a (single) blue cube
2015-08-12 00:26:06 +02:00
vlj
cef58da879
d3d12: Fix non mrt samples
2015-08-12 00:26:06 +02:00
vlj
595392428d
d3d12: First attempt at read color buffer using dma address change
...
If address of m_context_dma_color_a change, copy the RTT in a texture
that can be used for drawing.
Currently a bit broken, the rtt is used for others textures too...
2015-08-12 00:26:05 +02:00
vlj
3e11598941
d3d12: Fix increment size for sampler and row pitch for swizzled textures
2015-08-12 00:26:05 +02:00
vlj
262d3d0755
d3d12: Fix copyToCellRamAndRelease copy size
2015-08-12 00:26:04 +02:00
vlj
906146d8f6
d3d12: Lower memory storage
2015-08-12 00:26:04 +02:00
vlj
f12cb9b519
d3d12: Send RTTs to cell memory when a semaphore is released
2015-08-12 00:26:03 +02:00
vlj
53ac34db35
d3d12: Fix a warning
2015-08-12 00:26:03 +02:00
vlj
74dab18174
d3d12: Use graphic queue to download depth buffer
...
For now go to the easiest solution and improve later
2015-08-12 00:26:02 +02:00
vlj
af69803ee0
d3d12: Factorize resource state change
2015-08-12 00:26:01 +02:00
vlj
3a029efbd3
d3d12: Add D8R8G8B8 format to texture
...
Should fix human.ppu.elf
2015-08-12 00:26:01 +02:00
vlj
68a62f897d
d3d12: Fix texture loading for fw_fog.ppu.elf
...
Color are wrong though
2015-08-12 00:26:00 +02:00
vlj
7b571aab70
d3d12: Start supporting dxtc1 format
2015-08-12 00:26:00 +02:00
vlj
b5a7637b49
d3d12: Implement texture swizzling and untiling
2015-08-12 00:25:59 +02:00
vlj
52a68875fc
d3d12: Add some other texture case + factorise resource desc code
2015-08-12 00:25:59 +02:00
vlj
88d05a08cf
d3d12: Use a dummy texture to fill unused slots
2015-08-12 00:25:58 +02:00
vlj
79420e52a2
d3d12: Disable depth test if not required
2015-08-12 00:25:58 +02:00
vlj
f77e2acfbe
d3d12: Start supporting mrt
2015-08-12 00:25:57 +02:00
vlj
c167a1228e
d3d12: Revert back to a signel resource storage
...
Using two of them doesnt increase perf atm but eats twice the space
2015-08-12 00:25:57 +02:00
vlj
b81fd13232
d3d12: Fix double release
2015-08-12 00:25:56 +02:00
vlj
7a431e85f6
d3d12: Use copy queue to transfer z buffer
2015-08-12 00:25:56 +02:00
vlj
f618247937
d3d12: Fix format of depth texture
2015-08-12 00:25:55 +02:00
vlj
b50ab149d6
d3d12: Convert depth buffer on gpu
2015-08-12 00:25:55 +02:00
vlj
56853de0ef
d3d12: Do not bind depth stencil buffer if depth test is disabled
2015-08-12 00:25:54 +02:00
vlj
1228787355
d3d12: DMA depth buffer when semaphore write is asked.
2015-08-12 00:25:54 +02:00
vlj
b72d435ce8
d3d12: fix stencil reflect again
2015-08-12 00:25:53 +02:00
vlj
bc25f4d6ad
d3d12: Make waiting thread sleeping
2015-08-12 00:25:53 +02:00
vlj
9c193e0282
d3d12: Implement semaphore
2015-08-12 00:25:52 +02:00
vlj
c5a1f8930f
d3d12: Another fix for vertex buffer not big enough buffer
2015-08-12 00:25:52 +02:00
vlj
233450a7ca
d3d12: Fix stencil reflect test
2015-08-12 00:25:51 +02:00
vlj
8bd678afc0
d3d12: Fix vertex buffer reconstruction with mismatching stride
2015-08-12 00:25:51 +02:00
vlj
8ad1bc1970
d3d12: Fix powerOf2Align
2015-08-12 00:25:50 +02:00
vlj
10cc2c080c
d3d12: Try to reconstruct packed vertex buffers
2015-08-12 00:25:50 +02:00
vlj
2709a3e49a
d3d12: Use streaming buffer for index buffer
2015-08-12 00:25:49 +02:00
vlj
90e0a89e9b
d3d12: Try to use stream function that doesn't pollute cache
2015-08-12 00:25:49 +02:00
vlj
8b8385b0a4
d3d12: Reduce heap size
2015-08-12 00:25:48 +02:00
vlj
a6770813b1
d3d12: Fix var not initialized
2015-08-12 00:25:48 +02:00
vlj
e9fab57a0e
d3d12: Fix indexed quad draw
...
We were not positionning the index buffer correctly in the heap.
2015-08-12 00:25:47 +02:00
vlj
82545a7b56
d3d12: Clean indexed draw buffer gen code
2015-08-12 00:25:47 +02:00
vlj
22f413be3a
d3d12; Live buffer related code and factorise resource_desc for buffers
2015-08-12 00:25:46 +02:00
raven02
9814a92a25
Tex: define more sampler parameters
2015-08-12 00:25:45 +02:00
vlj
cd951af664
d3d12: Fix to run fw_vertex_attribute.ppu.elf
...
A little dirty, need to be improved.
2015-08-12 00:25:45 +02:00
vlj
2df1220144
d3d12: Use GL enum for primitive type
2015-08-12 00:25:44 +02:00
vlj
b8073b4e75
d3d12: Try to fix forced quad indexed buffer
2015-08-12 00:25:44 +02:00
vlj
232c97cc82
d3d12: Add support for indexed draw
2015-08-12 00:25:43 +02:00
vlj
5ce0261265
d3d12: Release index buffer and upload command allocator
2015-08-12 00:25:43 +02:00
vlj
bd68d382bd
d3d12: Use __mm_stream_si128 to send texture/constants data
2015-08-12 00:25:42 +02:00
vlj
12fc6e6145
d3d12: Use separate vertex constant buffer for good
2015-08-12 00:25:42 +02:00
vlj
6d61e36f5d
d3d12: Fix for rsx_fp_dynamic_test2
...
The compare function shouldn't be swizzled.
2015-08-12 00:25:41 +02:00
vlj
824b9aa628
d3d12: make depth read optionnal
2015-08-12 00:25:41 +02:00
vlj
487fd4dc2a
d3d12: Start implementing depth to u8 conversion shader
...
Not used atm
2015-08-12 00:25:40 +02:00
vlj
e88d45b1bf
d3d12: Fix for Intel HD4600
2015-08-12 00:25:40 +02:00