Isaac Marovitz
113e721cce
Fix fragment point_coord in
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
a71b5f1a3a
VoteAllEqual, FindLSB/MSB
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b094d34575
Fix vertex “built-ins”
...
Only declare main func out in main
Fix simd_ballot
Fix thread_index_in_simdgroup outside of compute
Fix atomic operations
instance_index
2024-09-28 19:03:01 -04:00
Isaac Marovitz
4578ee53d3
Actually clear the right render target
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
97a36298fa
Instruction.Barrier
...
Whoops
Fix inline functions in compute stage
Fix regression
Declare SharedMemories + Only Declare Memories on Main Func
Lowecase struct
Avoid magic strings
Make function signatures readable
Change how unsized arrays are indexed
Use string builder
Fix shuffle instructions
Cleanup NumberFormater
Bunch of Subgroup I/O Vars
Will probably need further refinement
Fix point_coord type
Fix support buffer declaration
Fix point_coord
2024-09-28 19:03:01 -04:00
Isaac Marovitz
03161d8048
PreloadCbs + FlushCommandsIfWeightExceeding
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b1928461bb
Cleanup Pipeline
...
Housekeeping
More housekeeping
2024-09-28 19:03:01 -04:00
Isaac Marovitz
30b50a99e4
PersistentFlushBuffer + BackgroundResources
2024-09-28 19:03:01 -04:00
Isaac Marovitz
a638060dee
Match S8UintD24Unorm to Depth24UnormStencil8
...
Kind of works for es2gears
2024-09-28 19:03:01 -04:00
Isaac Marovitz
49781fde65
Fix FEZ not showing anything
...
Does not fix the underlying shortcomings of the cache system
2024-09-28 19:03:01 -04:00
Isaac Marovitz
84f3b4a3e1
Clear cached converted buffers on signaled write
2024-09-28 19:03:01 -04:00
Isaac Marovitz
2c511cdf4f
FIx regression
2024-09-28 19:03:01 -04:00
Isaac Marovitz
17cfcf07d2
Helper shader cleanup
2024-09-28 19:03:01 -04:00
Isaac Marovitz
410287aba2
Use buffer manager for color blit
2024-09-28 19:03:01 -04:00
Isaac Marovitz
6ebe5bb406
Buffer Conversions ( #23 )
...
* Why is this not working
* Revert helper shader changes for now
* Byte Index Buffer Restride
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
d0946213fa
Log failed format conversions
2024-09-28 19:03:01 -04:00
Isaac Marovitz
66e2533c90
Print shader code involved in failed linking
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b821cb1739
Don’t use DidModifyRange
2024-09-28 19:03:01 -04:00
Isaac Marovitz
122f0f45c8
Fix sample compare
2024-09-28 19:03:01 -04:00
Isaac Marovitz
9a6759d1e5
Depth Bias
2024-09-28 19:03:01 -04:00
Isaac Marovitz
e97c9bc959
Map R5G5B5A1Unorm
2024-09-28 19:03:01 -04:00
Samuliak
bc5df02d7d
override Equals for render pipeline hash
2024-09-28 19:03:01 -04:00
Isaac Marovitz
1c5937c40b
Disable scaled vertex formats
2024-09-28 19:03:01 -04:00
Isaac Marovitz
4bb736d70a
Disable Vector Indexing Bug Workaround
2024-09-28 19:03:01 -04:00
Isaac Marovitz
efb7baf15c
Fix modulo operator
...
Support sample offsets
Include FragmentIn as additional arg
Always declare frag output struct
SubgroupLaneId
2024-09-28 19:03:01 -04:00
Isaac Marovitz
fad653c12e
Workaround for Wonder
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
3c188718c4
Fix Clear Viewport
2024-09-28 19:03:01 -04:00
Isaac Marovitz
362672ae12
Fix sample-less reads with lod
2024-09-28 19:03:01 -04:00
Isaac Marovitz
970914e2b4
Fix Pack and UnpackHalf2x16
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
aae9dc0c2e
Cleanup
2024-09-28 19:03:01 -04:00
Isaac Marovitz
b0ba5d5da1
Implement IoVariable.FrontFacing
2024-09-28 19:03:01 -04:00
Isaac Marovitz
a6de2c9274
Fix LOD sample typo
2024-09-28 19:03:01 -04:00
Isaac Marovitz
d323a8d44a
Rebase Changes
2024-09-28 19:03:01 -04:00
Isaac Marovitz
ba07a8c603
More cleanup
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
131ab75d55
Handle stride 0 on regular buffers
2024-09-28 19:03:01 -04:00
Isaac Marovitz
65149cfe9f
Buffer Descriptor Step Functions
2024-09-28 19:03:01 -04:00
Isaac Marovitz
a435d94fae
Sample LOD Level
2024-09-28 19:03:01 -04:00
Isaac Marovitz
88dd2984be
Fix FragmentOutputColor Type
2024-09-28 19:03:01 -04:00
Isaac Marovitz
43460186a8
Stencil Ref Value
2024-09-28 19:03:01 -04:00
Isaac Marovitz
0a6f11d247
Stencil Fixes
2024-09-28 19:03:01 -04:00
Isaac Marovitz
1b86360a61
RenderTargetColorMasks
2024-09-28 19:03:01 -04:00