Isaac Marovitz
d7c71c8a7b
D32FS8 to D24S8 Conversion
2024-09-28 19:03:01 -04:00
Isaac Marovitz
f06c869df1
Upstream changes
2024-09-28 19:03:01 -04:00
riperiperi
fff3a4f8f8
Patch some leaks and only perform copies on valid textures ( #37 )
2024-09-28 19:03:01 -04:00
Isaac Marovitz
3a04d72686
DepthStencil Blits
2024-09-28 19:03:01 -04:00
Isaac Marovitz
aa6e87e8a6
Multisample Blits
...
Partially fixes Sonic Colors Ultimate
2024-09-28 19:03:01 -04:00
Isaac Marovitz
18a1741348
Formatting cleanup
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b734c81683
Formatting
2024-09-28 19:03:01 -04:00
riperiperi
d22feff1d2
implement compressed/uncompressed copy, fix other copies, fix int/uint output shaders ( #33 )
2024-09-28 19:03:01 -04:00
riperiperi
468ab8242f
Maintain identity swizzle view of textures for rendering
2024-09-28 19:03:01 -04:00
riperiperi
7b9b23e500
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-28 19:03:01 -04:00
Isaac Marovitz
0c1acb5107
Cleanup + Format
2024-09-28 19:03:01 -04:00
riperiperi
2511bf1e4c
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-28 19:03:01 -04:00
Isaac Marovitz
ed4f7a5602
Stop depth/stencil blits from crashing everything
2024-09-28 19:03:01 -04:00
riperiperi
edceb1607f
Fix Geometry/TFB on compute, Buffer Textures, add Window Resizing ( #28 )
2024-09-28 19:03:01 -04:00
riperiperi
e02df72323
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-09-28 19:03:01 -04:00
Isaac Marovitz
c8308d27f1
Argument Buffers ( #24 )
...
* Stuff
* More arg buffer stuff
* Fixes
* Rebase
* Pass storage buffers to inline functions
* Fix binding
* Fix typo + Fix a couple shaders
* Enforce ids
* Dispose
* Mark used buffers as resident
* Update depth clear shader
* Fix non-contiguous struct defs
* Update ChangeBufferStride
* Fix StorageBuffer assignments
* Fix odyssey crash
* Retain buffer bindings
* Pad Std140
* Set texture data with safe buffers
* Clone buffers
* Always declare vert in
* Stop clears from breaking OpenGL games
* Fix depth clear
* Use invariant position
* Horribly inefficient texture & sampler arg buffers
* Fix missing struct access
* Minimise rebinds as much as possible
* Build arg buffers on staging buffer
2024-09-28 19:03:01 -04:00
Isaac Marovitz
72cbb41609
Big GetData()
...
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2024-09-28 19:03:01 -04:00
Isaac Marovitz
e7fab91c69
Fix Animal Crossing Crash
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b1928461bb
Cleanup Pipeline
...
Housekeeping
More housekeeping
2024-09-28 19:03:01 -04:00
riperiperi
02de48a6f2
don't recreate render pipeline unless we're about to draw, pass view depth properly ( #22 )
2024-09-28 19:03:01 -04:00
Isaac Marovitz
58b3e2e82b
Metal: Buffers Take 2 ( #21 )
...
* Basic BufferManager
* Start Scoped Command Buffers
* Fences stuff
* Remember to cleanup sync manager
* Auto, Command Buffer Dependants
* Cleanup
* Cleanup + Fix Texture->Buffer Copies
* Slow buffer upload
* Cleanup + Rework TextureBuffer
* Don’t get unsafe
* Cleanup
* Goddamn it
* Staging Buffer + Interrupt Action + Flush
2024-09-28 19:03:01 -04:00
Isaac Marovitz
bb4cb531f2
Fix 3D -> 3D Texture Copies
2024-09-28 19:03:01 -04:00
Isaac Marovitz
f7e97a30af
Handle Array Format SetData
2024-09-28 19:03:01 -04:00
Isaac Marovitz
362746887e
Cleanup + Format
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b064d76a4f
Metal: Compute Shaders ( #19 )
...
* check for too bix texture bindings
* implement lod query
* print shader stage name
* always have fragment input
* resolve merge conflicts
* fix: lod query
* fix: casting texture coords
* support non-array memories
* use structure types for buffers
* implement compute pipeline cache
* compute dispatch
* improve error message
* rebind compute state
* bind compute textures
* pass local size as an argument to dispatch
* implement texture buffers
* hack: change vertex index to vertex id
* pass support buffer as an argument to every function
* return at the end of function
* fix: certain missing compute bindings
* implement texture base
* improve texture binding system
* remove useless exception
* move texture handle to texture base
* fix: segfault when using disposed textures
---------
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: SamoZ256 <96914946+SamoZ256@users.noreply.github.com>
2024-09-28 19:03:01 -04:00
Isaac Marovitz
35f68c1b31
Implement Texture CopyTo
2024-09-28 19:03:01 -04:00
Samuliak
2833642858
dispose all temporary buffers
2024-09-28 19:03:01 -04:00
Samuliak
f470430c2f
dispose temporary metal buffer
2024-09-28 19:03:01 -04:00
Samuliak
68f6c08287
implement texture get data
2024-09-28 19:03:01 -04:00
Isaac Marovitz
937d84018e
Start Proper Dispose
2024-09-28 19:03:01 -04:00
Samuliak
bd14efb220
fix: incorrect layer count of texture view
2024-09-28 19:03:01 -04:00
Isaac Marovitz
e6c2e5873c
Make Texture Volatile on dispose
2024-09-28 19:03:01 -04:00
Isaac Marovitz
738227519d
Break everything :D
2024-09-28 19:03:01 -04:00
Isaac Marovitz
2d609ad57b
Rebase + Format
2024-09-28 19:03:01 -04:00
Samuliak
559122f591
use unknown texture usage
2024-09-28 19:03:01 -04:00
Samuliak
a11247b72d
create GetSwizzle helper function
2024-09-28 19:03:01 -04:00
Samuliak
e638172753
support texture views
2024-09-28 19:03:01 -04:00
Isaac Marovitz
722aa4e45d
Rebase + GAL Changes
2024-09-28 19:03:01 -04:00
Isaac Marovitz
a9db9f5b27
Format
2024-09-28 19:03:01 -04:00
Isaac Marovitz
009f791879
Format
2024-09-28 19:03:01 -04:00
Isaac Marovitz
54c8dabadc
Fix Cubemap & Array Texture Creation
2024-09-28 19:03:01 -04:00
Isaac Marovitz
04ca284e14
Properly check for 3D
2024-09-28 19:03:01 -04:00
Isaac Marovitz
d58f79ae0f
Fix swizzle for certain formats
2024-09-28 19:03:01 -04:00
Isaac Marovitz
4a30b58e0b
Formatting
2024-09-28 19:03:01 -04:00
Isaac Marovitz
80340c98d3
Revise ISampler
2024-09-28 19:03:01 -04:00
Isaac Marovitz
df8fca012f
Formatting
2024-09-28 19:03:01 -04:00
Isaac Marovitz
5198fcb881
Boot TOTK
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b37c109673
Boot Sonic Mania
2024-09-28 19:03:01 -04:00
Isaac Marovitz
61910fe342
Cleanup encoder getting + Fix capture overflow
2024-09-28 19:03:01 -04:00
Isaac Marovitz
1cb2ec7ebc
Formatting
2024-09-28 19:03:01 -04:00