* shader_recompiler: Account for instruction array flag in image type.
* shader_recompiler: Check da flag for all mimg instructions.
* shader_recompiler: Convert cube images into 2D arrays.
* shader_recompiler: Move image resource functions into sharp type.
* shader_recompiler: Use native AMD cube instructions when possible.
* specialization: Fix buffer storage mistake.
* video_core: Implement conversion for uncommon/unsupported number formats.
* shader_recompiler: Reinterpret image sample output as well.
* liverpool_to_vk: Remove mappings for remapped number formats.
These were poorly supported by drivers anyway.
* resource_tracking_pass: Fix image write swizzle mistake.
* amdgpu: Add missing specialization and move format mapping data to types
* reinterpret: Fix U/SToF input type.
* shader_recompiler: Add swizzle support for unsupported formats.
* renderer_vulkan: Rework MRT swizzles and add unsupported format swizzle support.
* shader_recompiler: Clean up swizzle handling and handle ImageRead storage swizzle.
* shader_recompiler: Fix type errors
* liverpool_to_vk: Remove redundant clear color swizzles.
* shader_recompiler: Reduce CompositeConstruct to constants where possible.
* shader_recompiler: Fix ImageRead/Write and StoreBufferFormatF32 types.
* amdgpu: Add a few more unsupported format remaps.
* coroutine code prettification
* asc queues submission refactoring
* better asc ring context handling
* final touches and review notes
* even more simplification for context saving
* shader_recompiler: Tessellation WIP
* fix compiler errors after merge
DONT MERGE set log file to /dev/null
DONT MERGE linux pthread bb fix
save work
DONT MERGE dump ir
save more work
fix mistake with ES shader
skip list
add input patch control points dynamic state
random stuff
* WIP Tessellation partial implementation. Squash commits
* test: make local/tcs use attr arrays
* attr arrays in TCS/TES
* dont define empty attr arrays
* switch to special opcodes for tess tcs/tes reads and tcs writes
* impl tcs/tes read attr insts
* rebase fix
* save some work
* save work probably broken and slow
* put Vertex LogicalStage after TCS and TES to fix bindings
* more refactors
* refactor pattern matching and optimize modulos (disabled)
* enable modulo opt
* copyright
* rebase fixes
* remove some prints
* remove some stuff
* Add TCS/TES support for shader patching and use LogicalStage
* refactor and handle wider DS instructions
* get rid of GetAttributes for special tess constants reads. Immediately replace some upon seeing readconstbuffer. Gets rid of some extra passes over IR
* stop relying on GNMX HsConstants struct. Change runtime_info.hs_info and some regs
* delete some more stuff
* update comments for current implementation
* some cleanup
* uint error
* more cleanup
* remove patch control points dynamic state (because runtime_info already depends on it)
* fix potential problem with determining passthrough
---------
Co-authored-by: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com>
* texture_cache: Improve support for stencil reads
* libraries: Supress some spammy logs
* core: Support loading font libraries
* texture_cache: Remove assert
* shader_recompiler: Read image format info directly from sharps instead of storing in shader info.
* renderer_vulkan: Parse fetch shader per-pipeline
* Few minor fixes.
* shader_recompiler: Specialize on vertex attribute number types.
* shader_recompiler: Move GetDrawOffsets to fetch shader
* libkernel: Cleanup some function places
* kernel: Refactor thread functions
* kernel: It builds
* kernel: Fix a bunch of bugs, kernel thread heap
* kernel: File cleanup pt1
* File cleanup pt2
* File cleanup pt3
* File cleanup pt4
* kernel: Add missing funcs
* kernel: Add basic exceptions for linux
* gnmdriver: Add workload functions
* kernel: Fix new pthreads code on macOS. (#1441)
* kernel: Downgrade edeadlk to log
* gnmdriver: Add sceGnmSubmitCommandBuffersForWorkload
* exception: Add context register population for macOS. (#1444)
* kernel: Pthread rewrite touchups for Windows
* kernel: Multiplatform thread implementation
* mutex: Remove spamming log
* pthread_spec: Make assert into a log
* pthread_spec: Zero initialize array
* Attempt to fix non-Windows builds
* hotfix: change incorrect NID for scePthreadAttrSetaffinity
* scePthreadAttrSetaffinity implementation
* Attempt to fix Linux
* windows: Address a bunch of address space problems
* address_space: Fix unmap of region surrounded by placeholders
* libs: Reduce logging
* pthread: Implement condvar with waitable atomics and sleepqueue
* sleepq: Separate and make faster
* time: Remove delay execution
* Causes high cpu usage in Tohou Luna Nights
* kernel: Cleanup files again
* pthread: Add missing include
* semaphore: Use binary_semaphore instead of condvar
* Seems more reliable
* libraries/sysmodule: log module on `sceSysmoduleIsLoaded`
* libraries/kernel: implement `scePthreadSetPrio`
---------
Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
Co-authored-by: Daniel R. <47796739+polybiusproxy@users.noreply.github.com>
Games can strip the first shader instruction (meant for debugging) which we rely on for obtaining shader information (e.g. LittleBigPlanet 3). For this reason, we start a search through the code start until we arrive at the shader binary info.
* devtools: fix showing entire depth instead of bits
* devtools: show button for stage instead of menu bar
- fix batch view dockspace not rendering when window collapsed
* devtools: removed useless "Batch" collapse & don't collapse last batch
* devtools: refactor DrawRow to templating
* devtools: reg popup size adjusted to the content
* devtools: better window names
* devtools: regview layout compacted
* devtools: option to show collapsed frame dump
keep most popups open when selection changes
best popup windows positioning
* devtools: show compute shader regs
* devtools: tips popup