Commit Graph

3683 Commits

Author SHA1 Message Date
Isaac Marovitz 963bbf7267 Render target deduplication
not sure if this is working
2024-09-15 08:42:19 -04:00
Isaac Marovitz 925897e163 Fix CBP not doing its job
Thanks peri (again)
2024-09-15 08:42:19 -04:00
Isaac Marovitz 70a05909ed Fix blend descriptors not dirting render pipeline
Thanks peri
2024-09-15 08:42:19 -04:00
Isaac Marovitz 3b95361d75 Support non-index quad draws
Fixes Deltarune
2024-09-15 08:42:19 -04:00
Isaac Marovitz 5ea6442886 Be better about memory 2024-09-15 08:42:19 -04:00
Isaac Marovitz 4ec7062727 Fix stencil clears 2024-09-15 08:42:19 -04:00
Isaac Marovitz e269be41aa Enable Alpha Test workaround on Metal 2024-09-15 08:42:19 -04:00
Isaac Marovitz 2cb46a953b Fix Cull FrontAndBack 2024-09-15 08:42:19 -04:00
Isaac Marovitz f5db6ba50a Warning about host map buffer creation 2024-09-15 08:42:19 -04:00
Isaac Marovitz 9b4a5ef939 Fix fragment point_coord in 2024-09-15 08:42:19 -04:00
Isaac Marovitz 5566979d5e 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-15 08:42:19 -04:00
Isaac Marovitz 3ad15aa114 VoteAllEqual, FindLSB/MSB 2024-09-15 08:42:19 -04:00
Isaac Marovitz 664d1efa18 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-15 08:42:19 -04:00
Isaac Marovitz 2dd5e272d7 Actually clear the right render target 2024-09-15 08:42:19 -04:00
Isaac Marovitz b2fdb4cfdd Big GetData()
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2024-09-15 08:42:19 -04:00
Isaac Marovitz c92b74e376 Fix Animal Crossing Crash 2024-09-15 08:42:19 -04:00
Isaac Marovitz 386f9b00a9 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-15 08:42:19 -04:00
Isaac Marovitz 533c4c021d PreloadCbs + FlushCommandsIfWeightExceeding 2024-09-15 08:42:19 -04:00
Isaac Marovitz a4a8e317ec Cleanup Pipeline
Housekeeping

More housekeeping
2024-09-15 08:42:19 -04:00
Isaac Marovitz ad790e6bde PersistentFlushBuffer + BackgroundResources 2024-09-15 08:42:19 -04:00
Isaac Marovitz 7c4ed084a3 Match S8UintD24Unorm to Depth24UnormStencil8
Kind of works for es2gears
2024-09-15 08:42:19 -04:00
Isaac Marovitz 144a19d686 Fix FEZ not showing anything
Does not fix the underlying shortcomings of the cache system
2024-09-15 08:42:19 -04:00
Isaac Marovitz c4ecbe02b9 Clear cached converted buffers on signaled write 2024-09-15 08:42:19 -04:00
Isaac Marovitz dd619f9f0b FIx regression 2024-09-15 08:42:19 -04:00
Isaac Marovitz 477af39703 Helper shader cleanup 2024-09-15 08:42:19 -04:00
Isaac Marovitz a74532b7c4 Use buffer manager for color blit 2024-09-15 08:42:19 -04:00
Isaac Marovitz 703c8c3139 Buffer Conversions (#23)
* Why is this not working

* Revert helper shader changes for now

* Byte Index Buffer Restride
2024-09-15 08:42:19 -04:00
riperiperi 0853353ad8 don't recreate render pipeline unless we're about to draw, pass view depth properly (#22) 2024-09-15 08:42:19 -04:00
Isaac Marovitz dd203b84eb 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-15 08:42:19 -04:00
Isaac Marovitz 802d4f043c Log failed format conversions 2024-09-15 08:42:19 -04:00
Isaac Marovitz 607eadda79 Print shader code involved in failed linking 2024-09-15 08:42:19 -04:00
Isaac Marovitz 7ef43a6d3f Don’t use DidModifyRange 2024-09-15 08:42:19 -04:00
Isaac Marovitz 330440b569 Fix sample compare 2024-09-15 08:42:19 -04:00
Isaac Marovitz 395a6cc218 Depth Bias 2024-09-15 08:42:19 -04:00
Isaac Marovitz 7d35adc73a Map R5G5B5A1Unorm 2024-09-15 08:42:19 -04:00
Samuliak b6786558fb override Equals for render pipeline hash 2024-09-15 08:42:19 -04:00
Isaac Marovitz 5182a03697 Disable scaled vertex formats 2024-09-15 08:42:19 -04:00
Isaac Marovitz dac9d3146c Disable Vector Indexing Bug Workaround 2024-09-15 08:42:19 -04:00
Isaac Marovitz 6509fc8a24 Fix modulo operator
Support sample offsets

Include FragmentIn as additional arg

Always declare frag output struct

SubgroupLaneId
2024-09-15 08:42:19 -04:00
Isaac Marovitz 4fd048bfd7 Workaround for Wonder 2024-09-15 08:42:19 -04:00
Isaac Marovitz 6184eefaa3 Fix 3D -> 3D Texture Copies 2024-09-15 08:42:19 -04:00
Isaac Marovitz cc25ebd744 Fix Clear Viewport 2024-09-15 08:42:19 -04:00
Isaac Marovitz 7e693d5baa Fix sample-less reads with lod 2024-09-15 08:42:19 -04:00
Isaac Marovitz ac1a133c80 Fix Pack and UnpackHalf2x16 2024-09-15 08:42:19 -04:00
Isaac Marovitz 5c44c3c359 Handle Array Format SetData 2024-09-15 08:42:19 -04:00
Isaac Marovitz 2c2aa0472a Cleanup 2024-09-15 08:42:19 -04:00
Isaac Marovitz d6309a6242 Implement IoVariable.FrontFacing 2024-09-15 08:42:19 -04:00
Isaac Marovitz 4480197b70 Fix LOD sample typo 2024-09-15 08:42:19 -04:00
Isaac Marovitz 105638de6d Rebase Changes 2024-09-15 08:42:19 -04:00
Isaac Marovitz 01536c833d More cleanup 2024-09-15 08:42:19 -04:00