Isaac Marovitz
fa9d38c779
Formatting cleanup
2024-09-18 23:28:07 +02:00
Isaac Marovitz
f8e232404e
Formatting
2024-09-18 23:28:07 +02:00
Isaac Marovitz
1a56e4477a
Update binding model description comment
2024-09-18 23:28:07 +02:00
riperiperi
8369f15bf5
Fix preload cbs optimization (for real) ( #34 )
...
* Mostly fix preload cbs. There seems to be some random flickering...
* fix index buffer usage range
* fix missing preflush submit before present
2024-09-18 23:28:07 +02:00
Isaac Marovitz
6f440f53f4
Fix invariant position not doing its job
2024-09-18 23:28:06 +02:00
riperiperi
16a9b18c26
implement compressed/uncompressed copy, fix other copies, fix int/uint output shaders ( #33 )
2024-09-18 23:28:06 +02:00
Isaac Marovitz
5a8e070c04
Fix blend state optimisation breaking attachments
...
Fixes SM3DW
2024-09-18 23:28:06 +02:00
riperiperi
e1568613af
Fix warnings
2024-09-18 23:28:06 +02:00
riperiperi
01094222c7
Maintain identity swizzle view of textures for rendering
2024-09-18 23:28:06 +02:00
riperiperi
4b95934fef
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-18 23:28:05 +02:00
Isaac Marovitz
c92a9e0ae5
Cleanup + Format
2024-09-18 23:28:05 +02:00
Isaac Marovitz
d111b152d1
Fix trying to reserve size 0 in staging buffer
2024-09-18 23:28:05 +02:00
Isaac Marovitz
bf1884c259
Fix zero buff not being reset
2024-09-18 23:28:05 +02:00
Isaac Marovitz
19b089a236
Dirty Arg Buffers on Program Change
2024-09-18 23:28:05 +02:00
Isaac Marovitz
9a0d50817c
Least allocations in the west
2024-09-18 23:28:04 +02:00
Isaac Marovitz
4909b73332
Don’t use Enum.HasFlag
2024-09-18 23:28:04 +02:00
Isaac Marovitz
18a3ee16bb
Metal: Better Bindings ( #29 )
...
* Tell GAL to use Vk model (and break everything)
* ResourceBindingSegments
* Set information on backend caps
* Get ready to break everything
* Refactor EncoderStateManager
* Remove padding from helper shaders
* Fix ref array sizes
* Seperate vert & frag buffers
* Shader-side changes
* Fixes
* Fix some helper shader resource layouts
* Sort by binding id
* Fix helper shader layouts
* Don’t do inline vertex buffer updates
* Check for null storage
2024-09-18 23:28:04 +02:00
Isaac Marovitz
2507d351af
Update comment for Metal
2024-09-18 23:28:04 +02:00
Isaac Marovitz
f59fae3612
Don’t do inline vertex buffer updates
...
Somehow broke zero buff MTLVertexDescriptor, but fixes broken geoemtry so I’m pushing anyway
2024-09-18 23:28:03 +02:00
riperiperi
117c5c1645
Create command buffers when rented rather than in advance ( #31 )
...
* Make it less likely to freeze, but the creation of the command buffer should probably be moved
* Create command buffers as they're rented rather than in advance
2024-09-18 23:28:03 +02:00
riperiperi
e3dd174f28
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-18 23:28:03 +02:00
Isaac Marovitz
459d1d6e54
Dont bind images in texture slots
2024-09-18 23:28:03 +02:00
Isaac Marovitz
f3feabad2e
Stop depth/stencil blits from crashing everything
2024-09-18 23:28:03 +02:00
riperiperi
a33187f7db
Fix Geometry/TFB on compute, Buffer Textures, add Window Resizing ( #28 )
2024-09-18 23:28:02 +02:00
riperiperi
ac5932cd02
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-18 23:27:50 +02:00
Isaac Marovitz
88ce186191
Fragment input interpolation qualifiers
...
Fixes Mario’s shadow in SMO
2024-09-18 23:27:49 +02:00
Isaac Marovitz
b950e12ab8
CommandBufferBarrier
2024-09-18 23:27:49 +02:00
riperiperi
5f1d3fd744
Add constrained border colours to samplers ( #26 )
2024-09-18 23:27:49 +02:00
Isaac Marovitz
cb65fdf95a
Don’t bind byte format converted index buffers at requested index
2024-09-18 23:27:49 +02:00
Isaac Marovitz
f61f587d37
Render target deduplication
...
not sure if this is working
2024-09-18 23:27:48 +02:00
Isaac Marovitz
55a5b1e75e
Fix CBP not doing its job
...
Thanks peri (again)
2024-09-18 23:27:48 +02:00
Isaac Marovitz
17a27cf59b
Fix blend descriptors not dirting render pipeline
...
Thanks peri
2024-09-18 23:27:48 +02:00
Isaac Marovitz
e2c0b1b1ec
Support non-index quad draws
...
Fixes Deltarune
2024-09-18 23:27:48 +02:00
Isaac Marovitz
ba21266a3e
Be better about memory
2024-09-18 23:27:47 +02:00
Isaac Marovitz
ea95713056
Fix stencil clears
2024-09-18 23:27:47 +02:00
Isaac Marovitz
97c22e2f1a
Enable Alpha Test workaround on Metal
2024-09-18 23:27:47 +02:00
Isaac Marovitz
8a006514d3
Fix Cull FrontAndBack
2024-09-18 23:27:46 +02:00
Isaac Marovitz
f16693e4e1
Warning about host map buffer creation
2024-09-18 23:27:46 +02:00
Isaac Marovitz
4dad6d12b9
Fix fragment point_coord in
2024-09-18 23:27:46 +02:00
Isaac Marovitz
e6f4745bb5
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-18 23:27:45 +02:00
Isaac Marovitz
23b9a780ee
VoteAllEqual, FindLSB/MSB
2024-09-18 23:27:45 +02:00
Isaac Marovitz
3fe47449b4
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-18 23:27:45 +02:00
Isaac Marovitz
b54bfb1a7c
Actually clear the right render target
2024-09-18 23:27:45 +02:00
Isaac Marovitz
3fd758532b
Big GetData()
...
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2024-09-18 23:27:44 +02:00
Isaac Marovitz
461933b8cd
Fix Animal Crossing Crash
2024-09-18 23:27:44 +02:00
Isaac Marovitz
e4fa286698
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-18 23:27:44 +02:00
Isaac Marovitz
a83eb53abf
PreloadCbs + FlushCommandsIfWeightExceeding
2024-09-18 23:27:44 +02:00
Isaac Marovitz
6550f1cd66
Cleanup Pipeline
...
Housekeeping
More housekeeping
2024-09-18 23:27:43 +02:00
Isaac Marovitz
36f7d4eafa
PersistentFlushBuffer + BackgroundResources
2024-09-18 23:27:43 +02:00
Isaac Marovitz
c59142a500
Match S8UintD24Unorm to Depth24UnormStencil8
...
Kind of works for es2gears
2024-09-18 23:27:43 +02:00