Commit Graph

3747 Commits

Author SHA1 Message Date
Isaac Marovitz 2fdd352255
Get Tomb Raider working 2024-09-18 23:28:15 +02:00
Isaac Marovitz 4ddecbb6fe
Remove DummyBufferTextures
Mostly gets VTG on Compute working again
2024-09-18 23:28:14 +02:00
Isaac Marovitz 3429ee2318
Properly register TextureBuffer usage + Store Auto ref 2024-09-18 23:28:14 +02:00
Isaac Marovitz 479ea9f8e8
Partial indirect draw support 2024-09-18 23:28:14 +02:00
Gabriel A 7de9bffe91
Fixes 2024-09-18 23:28:14 +02:00
Gabriel A a72ce9998f
Start building more accurate vertex as compute usage info 2024-09-18 23:28:13 +02:00
Isaac Marovitz 1987309fda
Bind TextureBuffers 2024-09-18 23:28:13 +02:00
Isaac Marovitz b3e002f8dc
Remove ClearSegments for now
Currently unimplemented and issues are arising with building BindingSegments in general.
2024-09-18 23:28:13 +02:00
Isaac Marovitz e8e18f2578
Fix compute generation failure in NieR 2024-09-18 23:28:12 +02:00
Isaac Marovitz 27e9671da4
Some debug improvements 2024-09-18 23:28:12 +02:00
Isaac Marovitz 0449964760
Stop complaining about clip distance 2024-09-18 23:28:12 +02:00
Isaac Marovitz c6bfc660ef
Shader Gen Fixes
Fixes Luigi’s Mansion 2 HD
2024-09-18 23:28:12 +02:00
Isaac Marovitz f07d957bda
DepthStencil Blits 2024-09-18 23:28:11 +02:00
Isaac Marovitz 10110198f7
Multisample Blits
Partially fixes Sonic Colors Ultimate
2024-09-18 23:28:11 +02:00
Isaac Marovitz bdcc2fd90e
Fix image bindings 2024-09-18 23:28:11 +02:00
Isaac Marovitz 6be0890f34
FSI (with raster order groups) 2024-09-18 23:28:11 +02:00
Isaac Marovitz 1bb3f28504
SwizzleAdd (NOT TESTED) 2024-09-18 23:28:11 +02:00
Isaac Marovitz b4cf2d1cc9
Consolodate barriers 2024-09-18 23:28:10 +02:00
Isaac Marovitz 61c7d3bb9c
Shader Memory Barriers
Fixes some of the shader generation failures in Sonic Frontiers
2024-09-18 23:28:10 +02:00
Isaac Marovitz fdf5d49985
Image binding support
Kirby still has a problem with NaN 3D Texture
2024-09-18 23:28:10 +02:00
Isaac Marovitz 1500af5808
Image shader gen support 2024-09-18 23:28:10 +02:00
Isaac Marovitz 32a3d1df4d
Shader cache support 2024-09-18 23:28:09 +02:00
Isaac Marovitz a32b619f5c
Make dotnet format happy 2024-09-18 23:28:09 +02:00
Isaac Marovitz a8794b2d58
GAL ResourceUsage Changes
TODO: Guest Barrier Defer
2024-09-18 23:28:09 +02:00
Isaac Marovitz 02b9b92723
Better vertex buffer management 2024-09-18 23:28:08 +02:00
Isaac Marovitz 1b2097c6eb
Fix LOD 2024-09-18 23:28:08 +02:00
Isaac Marovitz 10c042b6ab
Better index buffer management 2024-09-18 23:28:08 +02:00
Isaac Marovitz fa9d38c779
Formatting cleanup 2024-09-18 23:28:07 +02:00
Isaac Marovitz f8e232404e
Formatting 2024-09-18 23:28:07 +02:00
Isaac Marovitz 1a56e4477a
Update binding model description comment 2024-09-18 23:28:07 +02:00
riperiperi 8369f15bf5
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-09-18 23:28:07 +02:00
Isaac Marovitz 6f440f53f4
Fix invariant position not doing its job 2024-09-18 23:28:06 +02:00
riperiperi 16a9b18c26
implement compressed/uncompressed copy, fix other copies, fix int/uint output shaders (#33) 2024-09-18 23:28:06 +02:00
Isaac Marovitz 5a8e070c04
Fix blend state optimisation breaking attachments
Fixes SM3DW
2024-09-18 23:28:06 +02:00
riperiperi e1568613af
Fix warnings 2024-09-18 23:28:06 +02:00
riperiperi 01094222c7
Maintain identity swizzle view of textures for rendering 2024-09-18 23:28:06 +02:00
riperiperi 4b95934fef
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-09-18 23:28:05 +02:00
Isaac Marovitz c92a9e0ae5
Cleanup + Format 2024-09-18 23:28:05 +02:00
Isaac Marovitz d111b152d1
Fix trying to reserve size 0 in staging buffer 2024-09-18 23:28:05 +02:00
Isaac Marovitz bf1884c259
Fix zero buff not being reset 2024-09-18 23:28:05 +02:00
Isaac Marovitz 19b089a236
Dirty Arg Buffers on Program Change 2024-09-18 23:28:05 +02:00
Isaac Marovitz 9a0d50817c
Least allocations in the west 2024-09-18 23:28:04 +02:00
Isaac Marovitz 4909b73332
Don’t use Enum.HasFlag 2024-09-18 23:28:04 +02:00
Isaac Marovitz 18a3ee16bb
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-09-18 23:28:04 +02:00
Isaac Marovitz 2507d351af
Update comment for Metal 2024-09-18 23:28:04 +02:00
Isaac Marovitz f59fae3612
Don’t do inline vertex buffer updates
Somehow broke zero buff MTLVertexDescriptor, but fixes broken geoemtry so I’m pushing anyway
2024-09-18 23:28:03 +02:00
riperiperi 117c5c1645
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-09-18 23:28:03 +02:00
riperiperi e3dd174f28
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-09-18 23:28:03 +02:00
Isaac Marovitz 459d1d6e54
Dont bind images in texture slots 2024-09-18 23:28:03 +02:00
Isaac Marovitz f3feabad2e
Stop depth/stencil blits from crashing everything 2024-09-18 23:28:03 +02:00