Isaac Marovitz
421ba5448a
Properly register TextureBuffer usage + Store Auto ref
2024-12-23 21:41:12 -06:00
Isaac Marovitz
45c99dbfa8
Partial indirect draw support
2024-12-23 21:41:05 -06:00
Gabriel A
a84ed6af0d
Fixes
2024-12-23 21:40:57 -06:00
Gabriel A
0642df4909
Start building more accurate vertex as compute usage info
2024-12-23 21:40:55 -06:00
Isaac Marovitz
d650538138
Bind TextureBuffers
2024-12-23 21:40:53 -06:00
Isaac Marovitz
eeadf17f5c
Remove ClearSegments for now
...
Currently unimplemented and issues are arising with building BindingSegments in general.
2024-12-23 21:40:51 -06:00
Isaac Marovitz
7bf0625075
Fix compute generation failure in NieR
2024-12-23 21:40:49 -06:00
Isaac Marovitz
5220ee1dc8
Some debug improvements
2024-12-23 21:40:46 -06:00
Isaac Marovitz
cb0a1ce48a
Stop complaining about clip distance
2024-12-23 21:40:44 -06:00
Isaac Marovitz
ffb9040b3b
Shader Gen Fixes
...
Fixes Luigi’s Mansion 2 HD
2024-12-23 21:40:42 -06:00
Isaac Marovitz
40ea153616
DepthStencil Blits
2024-12-23 21:40:40 -06:00
Isaac Marovitz
4373610790
Multisample Blits
...
Partially fixes Sonic Colors Ultimate
2024-12-23 21:40:38 -06:00
Isaac Marovitz
f5b82cd6dc
Fix image bindings
2024-12-23 21:40:36 -06:00
Isaac Marovitz
0064afeb6a
FSI (with raster order groups)
2024-12-23 21:40:34 -06:00
Isaac Marovitz
69bee52a89
SwizzleAdd (NOT TESTED)
2024-12-23 21:40:32 -06:00
Isaac Marovitz
159afd5d03
Consolodate barriers
2024-12-23 21:40:30 -06:00
Isaac Marovitz
6229f3bb4c
Shader Memory Barriers
...
Fixes some of the shader generation failures in Sonic Frontiers
2024-12-23 21:40:26 -06:00
Isaac Marovitz
d42f0e5945
Image binding support
...
Kirby still has a problem with NaN 3D Texture
2024-12-23 21:40:22 -06:00
Isaac Marovitz
015f5d00b4
Image shader gen support
2024-12-23 21:39:56 -06:00
Isaac Marovitz
d9b322688c
Shader cache support
2024-12-23 21:39:54 -06:00
Isaac Marovitz
5e72eb8362
Make dotnet format happy
2024-12-23 21:39:51 -06:00
Isaac Marovitz
e0cd935c28
GAL ResourceUsage Changes
...
TODO: Guest Barrier Defer
2024-12-23 21:39:49 -06:00
Isaac Marovitz
1f133040bd
Better vertex buffer management
2024-12-23 21:39:47 -06:00
Isaac Marovitz
c399868ddf
Fix LOD
2024-12-23 21:39:45 -06:00
Isaac Marovitz
fcd2adecc5
Better index buffer management
2024-12-23 21:39:43 -06:00
Isaac Marovitz
b468569665
Formatting cleanup
2024-12-23 21:39:36 -06:00
Isaac Marovitz
353a6ca4bb
Formatting
2024-12-23 21:39:31 -06:00
Isaac Marovitz
6188872a7c
Update binding model description comment
2024-12-23 21:39:16 -06:00
riperiperi
8411f69899
Fix preload cbs optimization (for real) ( #34 )
...
* Mostly fix preload cbs. There seems to be some random flickering...
* fix index buffer usage range
* fix missing preflush submit before present
2024-12-23 21:39:13 -06:00
Isaac Marovitz
0bb0ecb599
Fix invariant position not doing its job
2024-12-23 21:39:11 -06:00
riperiperi
8cbd44aecb
implement compressed/uncompressed copy, fix other copies, fix int/uint output shaders ( #33 )
2024-12-23 21:39:09 -06:00
Isaac Marovitz
d2f965885a
Fix blend state optimisation breaking attachments
...
Fixes SM3DW
2024-12-23 21:39:07 -06:00
riperiperi
29b6e8ac53
Fix warnings
2024-12-23 21:39:05 -06:00
riperiperi
26da57cccd
Maintain identity swizzle view of textures for rendering
2024-12-23 21:39:03 -06:00
riperiperi
82b5f8e681
Fix a bunch of issues with texture copy and flush ( #32 )
...
* Fix a bunch of issues with texture copy and flush
* TextureCopy helper class, fix clear bug
2024-12-23 21:38:59 -06:00
Isaac Marovitz
58527e02ee
Cleanup + Format
2024-12-23 21:38:54 -06:00
Isaac Marovitz
4d5b128a81
Fix trying to reserve size 0 in staging buffer
2024-12-23 21:38:46 -06:00
Isaac Marovitz
49a814a400
Fix zero buff not being reset
2024-12-23 21:38:42 -06:00
Isaac Marovitz
09546205b5
Dirty Arg Buffers on Program Change
2024-12-23 21:38:39 -06:00
Isaac Marovitz
d2a4a9e9a7
Least allocations in the west
2024-12-23 21:38:37 -06:00
Isaac Marovitz
d3f273cad1
Don’t use Enum.HasFlag
2024-12-23 21:38:35 -06:00
Isaac Marovitz
60722a1837
Metal: Better Bindings ( #29 )
...
* Tell GAL to use Vk model (and break everything)
* ResourceBindingSegments
* Set information on backend caps
* Get ready to break everything
* Refactor EncoderStateManager
* Remove padding from helper shaders
* Fix ref array sizes
* Seperate vert & frag buffers
* Shader-side changes
* Fixes
* Fix some helper shader resource layouts
* Sort by binding id
* Fix helper shader layouts
* Don’t do inline vertex buffer updates
* Check for null storage
2024-12-23 21:38:32 -06:00
Isaac Marovitz
549938e2b1
Update comment for Metal
2024-12-23 21:38:20 -06:00
Isaac Marovitz
144397c3da
Don’t do inline vertex buffer updates
...
Somehow broke zero buff MTLVertexDescriptor, but fixes broken geoemtry so I’m pushing anyway
2024-12-23 21:38:17 -06:00
riperiperi
2fb3c6975e
Create command buffers when rented rather than in advance ( #31 )
...
* Make it less likely to freeze, but the creation of the command buffer should probably be moved
* Create command buffers as they're rented rather than in advance
2024-12-23 21:38:15 -06:00
riperiperi
879c93cf73
Preload command speedup, Texture/buffer data flush, blit shader fix ( #30 )
...
* Move encoder state to be tied to command buffer, so preload and background cbs have their own encoder state
* Texture buffer/data flush, blit shader fix
2024-12-23 21:38:13 -06:00
Isaac Marovitz
7d5b4c5d1d
Dont bind images in texture slots
2024-12-23 21:38:11 -06:00
Isaac Marovitz
2860db198c
Stop depth/stencil blits from crashing everything
2024-12-23 21:38:04 -06:00
riperiperi
4b53d18bef
Fix Geometry/TFB on compute, Buffer Textures, add Window Resizing ( #28 )
2024-12-23 21:38:00 -06:00
riperiperi
bbbc9e529d
State and cache optimization ( #27 )
...
* WIP pipeline/depth state cache rework
* Fix some issues
* Fix some more default values
* Reduce allocations for state changes
* fix helpershader stuff
* explanation comment
* fix depth bias
2024-12-23 21:37:58 -06:00