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