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
Isaac Marovitz
4f7b3fa058
CommandBufferBarrier
2024-12-23 21:37:52 -06:00
riperiperi
36de337ac2
Add constrained border colours to samplers ( #26 )
2024-12-23 21:37:50 -06:00
Isaac Marovitz
3b2beda27f
Don’t bind byte format converted index buffers at requested index
2024-12-23 21:37:48 -06:00
Isaac Marovitz
de8e03c350
Render target deduplication
...
not sure if this is working
2024-12-23 21:37:45 -06:00
Isaac Marovitz
0b6bc12a65
Fix CBP not doing its job
...
Thanks peri (again)
2024-12-23 21:37:43 -06:00
Isaac Marovitz
16bc02ea2a
Fix blend descriptors not dirting render pipeline
...
Thanks peri
2024-12-23 21:37:41 -06:00
Isaac Marovitz
97814b2852
Support non-index quad draws
...
Fixes Deltarune
2024-12-23 21:37:38 -06:00
Isaac Marovitz
a9633981a8
Be better about memory
2024-12-23 21:37:36 -06:00
Isaac Marovitz
1af7dc4b68
Fix stencil clears
2024-12-23 21:37:14 -06:00
Isaac Marovitz
d6dcc39131
Enable Alpha Test workaround on Metal
2024-12-23 21:37:10 -06:00
Isaac Marovitz
4f699ef96a
Fix Cull FrontAndBack
2024-12-23 21:37:07 -06:00
Isaac Marovitz
30f194e5c0
Warning about host map buffer creation
2024-12-23 21:37:05 -06:00
Isaac Marovitz
dae0f3cded
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-12-23 21:37:01 -06:00
Isaac Marovitz
9b138a413c
Actually clear the right render target
2024-12-23 21:36:54 -06:00
Isaac Marovitz
58eefa8bdf
Big GetData()
...
Co-authored-by: riperiperi <rhy3756547@hotmail.com >
2024-12-23 21:36:52 -06:00
Isaac Marovitz
0ebc8bd1b8
Fix Animal Crossing Crash
2024-12-23 21:36:50 -06:00
Isaac Marovitz
d0e4adac36
PreloadCbs + FlushCommandsIfWeightExceeding
2024-12-23 21:36:46 -06:00
Isaac Marovitz
197184657f
Cleanup Pipeline
...
Housekeeping
More housekeeping
2024-12-23 21:36:44 -06:00
Isaac Marovitz
74083083cd
PersistentFlushBuffer + BackgroundResources
2024-12-23 21:36:42 -06:00
Isaac Marovitz
175cded85d
Match S8UintD24Unorm to Depth24UnormStencil8
...
Kind of works for es2gears
2024-12-23 21:36:40 -06:00
Isaac Marovitz
c911db8309
Fix FEZ not showing anything
...
Does not fix the underlying shortcomings of the cache system
2024-12-23 21:35:50 -06:00
Isaac Marovitz
3451fbbbad
Clear cached converted buffers on signaled write
2024-12-23 21:35:47 -06:00
Isaac Marovitz
98ae46ba70
FIx regression
2024-12-23 21:35:45 -06:00
Isaac Marovitz
bf4232a35b
Helper shader cleanup
2024-12-23 21:35:43 -06:00
Isaac Marovitz
c3e39a9c91
Use buffer manager for color blit
2024-12-23 21:35:41 -06:00
Isaac Marovitz
b8779c6e09
Buffer Conversions ( #23 )
...
* Why is this not working
* Revert helper shader changes for now
* Byte Index Buffer Restride
2024-12-23 21:35:38 -06:00
riperiperi
20cf1a08c1
don't recreate render pipeline unless we're about to draw, pass view depth properly ( #22 )
2024-12-23 21:35:36 -06:00
Isaac Marovitz
dda746c0fb
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-12-23 21:35:33 -06:00
Isaac Marovitz
585bdc2b54
Log failed format conversions
2024-12-23 21:35:31 -06:00
Isaac Marovitz
e49702965f
Print shader code involved in failed linking
2024-12-23 21:35:21 -06:00
Isaac Marovitz
8b5392ce9b
Don’t use DidModifyRange
2024-12-23 21:35:17 -06:00
Isaac Marovitz
5423ad9ae1
Depth Bias
2024-12-23 21:35:13 -06:00
Isaac Marovitz
65bddcd475
Map R5G5B5A1Unorm
2024-12-23 21:35:11 -06:00
Samuliak
36ac0414e2
override Equals for render pipeline hash
2024-12-23 21:35:09 -06:00
Isaac Marovitz
51b4ffeb6c
Disable scaled vertex formats
2024-12-23 21:35:07 -06:00
Isaac Marovitz
39bfd55958
Disable Vector Indexing Bug Workaround
2024-12-23 21:35:04 -06:00
Isaac Marovitz
c883ebb645
Workaround for Wonder
2024-12-23 21:35:00 -06:00
Isaac Marovitz
24ab7788d8
Fix 3D -> 3D Texture Copies
2024-12-23 21:34:57 -06:00
Isaac Marovitz
9ab2cd94c1
Fix Clear Viewport
2024-12-23 21:34:55 -06:00
Isaac Marovitz
746c897206
Handle Array Format SetData
2024-12-23 21:34:48 -06:00
Isaac Marovitz
fe4fa6f4db
Cleanup
2024-12-23 21:33:31 -06:00
Isaac Marovitz
02f1e289e2
Rebase Changes
2024-12-23 21:33:19 -06:00
Isaac Marovitz
9ebf82f184
More cleanup
2024-12-23 21:33:17 -06:00
Isaac Marovitz
49e83335d1
Cleanup + Format
2024-12-23 21:33:14 -06:00
Isaac Marovitz
f00cf8704f
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-12-23 21:33:12 -06:00
Isaac Marovitz
65da0569a3
Handle stride 0 on regular buffers
2024-12-23 21:33:09 -06:00