Commit graph

3644 commits

Author SHA1 Message Date
Isaac Marovitz
481cc55ade
More housekeeping 2024-06-21 00:29:53 +01:00
Isaac Marovitz
686b0c686a
Housekeeping 2024-06-21 00:26:46 +01:00
Isaac Marovitz
68b6f40ca5
Cleanup Pipeline 2024-06-21 00:21:06 +01:00
Isaac Marovitz
2a78f5c502
PersistentFlushBuffer + BackgroundResources 2024-06-21 00:15:14 +01:00
Isaac Marovitz
5b6e9ac5d3
Match S8UintD24Unorm to Depth24UnormStencil8
Kind of works for es2gears
2024-06-20 22:55:33 +01:00
Isaac Marovitz
c6135ab314
Fix FEZ not showing anything
Does not fix the underlying shortcomings of the cache system
2024-06-20 21:08:28 +01:00
Isaac Marovitz
c1ebd47588
Clear cached converted buffers on signaled write 2024-06-20 19:11:12 +01:00
Isaac Marovitz
8534f25960 FIx regression 2024-06-20 17:11:38 +01:00
Isaac Marovitz
c9048c393f Helper shader cleanup 2024-06-20 17:11:38 +01:00
Isaac Marovitz
65af53b26f Use buffer manager for color blit 2024-06-20 17:11:38 +01:00
Isaac Marovitz
2d66d7d583 Buffer Conversions (#23)
* Why is this not working

* Revert helper shader changes for now

* Byte Index Buffer Restride
2024-06-20 17:11:38 +01:00
riperiperi
f75f6cc481 don't recreate render pipeline unless we're about to draw, pass view depth properly (#22) 2024-06-20 17:11:38 +01:00
Isaac Marovitz
edfc0deb1f 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-06-20 17:11:38 +01:00
Isaac Marovitz
a87c05808e Log failed format conversions 2024-06-20 17:11:38 +01:00
Isaac Marovitz
1121facfc4 Print shader code involved in failed linking 2024-06-20 17:11:38 +01:00
Isaac Marovitz
9f611e8983 Don’t use DidModifyRange 2024-06-20 17:11:38 +01:00
Isaac Marovitz
8acf48fdff Fix sample compare 2024-06-20 17:11:38 +01:00
Isaac Marovitz
d957204cb8 Depth Bias 2024-06-20 17:11:38 +01:00
Isaac Marovitz
3be8cb8aae Map R5G5B5A1Unorm 2024-06-20 17:11:38 +01:00
Samuliak
8936217c1f override Equals for render pipeline hash 2024-06-20 17:11:38 +01:00
Isaac Marovitz
51fee987cd Disable scaled vertex formats 2024-06-20 17:11:38 +01:00
Isaac Marovitz
044757dce4 Disable Vector Indexing Bug Workaround 2024-06-20 17:11:38 +01:00
Isaac Marovitz
0d7190af80 SubgroupLaneId 2024-06-20 17:11:38 +01:00
Isaac Marovitz
a01a3409e4 Always declare frag output struct 2024-06-20 17:11:38 +01:00
Isaac Marovitz
7afda0a289 Include FragmentIn as additional arg 2024-06-20 17:11:38 +01:00
Isaac Marovitz
817baf527c Support sample offsets 2024-06-20 17:11:38 +01:00
Isaac Marovitz
d1ac3286f2 Fix modulo operator 2024-06-20 17:11:38 +01:00
Isaac Marovitz
4cbcda8adc Workaround for Wonder 2024-06-20 17:11:38 +01:00
Isaac Marovitz
cbf1d577e1 Fix 3D -> 3D Texture Copies 2024-06-20 17:11:38 +01:00
Isaac Marovitz
bbf2bd9c56 Fix Clear Viewport 2024-06-20 17:11:38 +01:00
Isaac Marovitz
ffc11fb017 Fix sample-less reads with lod 2024-06-20 17:11:38 +01:00
Isaac Marovitz
94f61117c2 Fix Pack and UnpackHalf2x16 2024-06-20 17:11:38 +01:00
Isaac Marovitz
290ce0b025 Handle Array Format SetData 2024-06-20 17:11:38 +01:00
Isaac Marovitz
3323cc24dd Cleanup 2024-06-20 17:11:38 +01:00
Isaac Marovitz
0dbd8f0c2d Implement IoVariable.FrontFacing 2024-06-20 17:11:38 +01:00
Isaac Marovitz
2e4e82fe4b Fix LOD sample typo 2024-06-20 17:11:38 +01:00
Isaac Marovitz
0f2fe5aa07 Rebase Changes 2024-06-20 17:11:38 +01:00
Isaac Marovitz
f788dc0590 More cleanup 2024-06-20 17:11:38 +01:00
Isaac Marovitz
fd0c710940 Cleanup + Format 2024-06-20 17:11:38 +01:00
Isaac Marovitz
90bdbeedd0 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-06-20 17:11:38 +01:00
Isaac Marovitz
5379fd3e76 Handle stride 0 on regular buffers 2024-06-20 17:11:38 +01:00
Isaac Marovitz
55fef1c40b Buffer Descriptor Step Functions 2024-06-20 17:11:38 +01:00
Isaac Marovitz
35ec3a995c Sample LOD Level 2024-06-20 17:11:38 +01:00
Isaac Marovitz
35a7ecb550 Fix FragmentOutputColor Type 2024-06-20 17:11:38 +01:00
Isaac Marovitz
2b98e19b39 Stencil Ref Value 2024-06-20 17:11:38 +01:00
Isaac Marovitz
67f903e01d Stencil Fixes 2024-06-20 17:11:38 +01:00
Isaac Marovitz
d5d8a3d010 RenderTargetColorMasks 2024-06-20 17:11:38 +01:00
Isaac Marovitz
842eaf744d Make dotnet format happy 2024-06-20 17:11:38 +01:00
SamoZ256
3f3d881278 Zero vertex buffer (#17)
* cast src size to float

* implement zero buffers
2024-06-20 17:11:38 +01:00
Isaac Marovitz
e4d8744092 Implement Texture CopyTo 2024-06-20 17:11:38 +01:00