| Age | Commit message (Collapse) | Author |
|
* Replace BGRA and scale uniforms with a uniform block
* Setting the data again on program change is no longer needed
* Optimize and resolve some warnings
* Avoid redundant support buffer updates
* Some optimizations to BindBuffers (now inlined)
* Unify render scale arrays
|
|
* Use a new approach for shader BRX targets
* Make shader cache actually work
* Improve the shader pattern matching a bit
* Extend LDC search to predecessor blocks, catches more cases
* Nit
* Only save the amount of constant buffer data actually used. Avoids crashes on partially mapped buffers
* Ignore Rd on predicate instructions, as they do not have a Rd register (catches more cases)
|
|
* shadertools: Prepare for new target Langugaes and APIs
This improves shader tools command line by adding support for target
language and api.
* Address gdkchan's comments
|
|
|
|
* Unscale textureSize when resolution scaling is used
* Fix textureSize on compute
* Flag texture size as needing res scale values too
|
|
translator (#2402)
|
|
* Fix shader default output values
* Shader cache version bump
|
|
* Fix texture sampling with depth compare and LOD level or bias
* Shader cache version bump
* nit: Sorting
|
|
|
|
* Pass all inputs when geometry shader passthrough is enabled
* Shader cache version bump
|
|
|
|
(after BRX) (#2367)
* End shader decoding when reaching an infinite loop
The NV shader compiler puts these at the end of shaders.
* Update shader cache version
|
|
sampler (#2339)
|
|
* Fix shaders with mixed PBK and SSY addresses on the stack
* Address PR feedback and nits
|
|
* Do not attempt to normalize SNORM image buffers on shaders
* Shader cache version bump
|
|
|
|
|
|
* Fix buffer and texture uses not being propagated for vertex A/B shaders
* Shader cache version bump
|
|
descriptor and resolution scale regressions (#2298)
* Fix constant buffer array size when indexing is used
* Change default QueryConstantBufferUse value
* Fix more regressions
* Ensure proper order
|
|
* Move shader resource descriptor creation out of the backend
* Remove now unused code, and other nits
* Shader cache version bump
* Nits
* Set format for bindless image load/store
* Fix buffer write flag
|
|
* Pass CbufSlot when getting info from the texture descriptor
Fixes some issues with bindless textures, when CbufSlot is not equal to the current TextureBufferIndex.
Specifically fixes a random chance of full screen colour flickering in Super Mario Party.
* Apply suggestions from code review
Oops
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
|
|
* Fix shader buffer write flag on atomic instructions
* Shader cache version bump
|
|
* Only enable clip distance if written to on shader
* Signal InstanceId use through FeatureFlags
* Shader cache version bump
|
|
* Improve shader global memory to storage pass
* Formatting and more comments
* Shader cache version bump
|
|
* Implement shader HelperThreadNV
* Bump shader cache version
* Use gl_HelperInvocation since its supported across all vendors
* Nit
|
|
* Fix ZN flags set for shader instructions using RZ.CC dest
* Shader cache version bump and nits
|
|
|
|
* Salieri: Add blacklist system and blacklist shaders using bindless
Currently the shader cache doesn't have the right format to support
bindless textures correctly and may cache shaders that it cannot rebuild
after host invalidation.
This PR address the issue by blacklisting shaders using bindless
textures.
THis also support detection of already cached broken shader and handle removal
of those.
* Move to a feature flags design to avoid intrusive changes in the translator
This remove the auto correct behaviour
* Reduce diff on TranslationFlags
* Reduce comma on last entry of TranslationFlags
* Fix inverted logic and remove leftovers
* remove debug edits oops
|
|
This allows bindless handles to be found for image/texture instructions with predicates, when the assignment of the texture handle is within the same predicate.
This seems to cover the remaining bindless handles that compilers seem to be creating due to optimizations.
Will affect newer UE4 games, and games by NdCube (Super Mario Party, Clubhouse Games)
|
|
* Improve Buffer Textures and flush Image Stores
Fixes a number of issues with buffer textures:
- Reworked Buffer Textures to create their buffers in the TextureManager, then bind them with the BufferManager later.
- Fixes an issue where a buffer texture's buffer could be invalidated after it is bound, but before use.
- Fixed width unpacking for large buffer textures. The width is now 32-bit rather than 16.
- Force buffer textures to be rebound whenever any buffer is created, as using the handle id wasn't reliable, and the cost of binding isn't too high.
Fixes vertex explosions and flickering animations in UE4 games.
* Set ImageStore flag... for ImageStore.
* Check the offset and size.
|
|
* Simplify handling of shader vertex A
* Theres no transformation feedback, its transform
* Merge TextureHandlesForCache
|
|
* Use multiple dest operands for shader call instructions
* Passing opNode is no longer needed
|
|
* Implement geometry shader passthrough
* Cache version change
|
|
(#1964)
* Support multiple destination operands on shader IR and shuffle predicates
* Cache version change
|
|
|
|
* Fix regression on shader atomic SSBO operations
* Update comment
|
|
|
|
* Initial implementation of buffer flush (VERY WIP)
* Host shaders need to be rebuilt for the SSBO write flag.
* New approach with reserved regions and gl sync
* Fix a ton of buffer issues.
* Remove unused buffer unmapped behaviour
* Revert "Remove unused buffer unmapped behaviour"
This reverts commit f1700e52fb8760180ac5e0987a07d409d1e70ece.
* Delete modified ranges on unmap
Fixes potential crashes in Super Smash Bros, where a previously modified range could lie on either side of an unmap.
* Cache some more delegates.
* Dispose Sync on Close
* Also create host sync for GPFifo syncpoint increment.
* Copy buffer optimization, add docs
* Fix race condition with OpenGL Sync
* Enable read tracking on CommandBuffer, insert syncpoint on WaitForIdle
* Performance: Only flush individual pages of SSBO at a time
This avoids flushing large amounts of data when only a small amount is actually used.
* Signal Modified rather than flushing after clear
* Fix some docs and code style.
* Introduce a new test for tracking memory protection.
Sucessfully demonstrates that the bug causing write protection to be cleared by a read action has been fixed. (these tests fail on master)
* Address Comments
* Add host sync for SetReference
This ensures that any indirect draws will correctly flush any related buffer data written before them. Fixes some flashing and misplaced world geometry in MH rise.
* Make PageAlign static
* Re-enable read tracking, for reads.
|
|
* Fix LOP3 predicate write condition
* Bump shader cache version
|
|
with RZ (#1901)
* Implement shader CC mode for ISCADD, X mode for ISETP and fix STS/STG with RZ
* Fix STG too and bump shader cache version
* Fix wrong name
* Fix Carry being inverted on comparison
|
|
* Nvservices cleanup and attempt to fix remap
* Unmap if remap handle is 0
* Remove mapped pool add from Remap
|
|
* Support conditional on BRK and SYNC shader instructions
* Add TODO comment and bump cache version
|
|
|
|
* infra: Migrate to .NET 5
This migrate projects and CI to .NET 5
* Remove language version restrictions (now on 9.0 by default)
* infra: pin .NET 5 to avoid later issues
* infra: Cleanup csproj files
* infra: update dependencies
* infra: Add temporary workaround for a bug in Vector128.Create
see https://github.com/dotnet/runtime/issues/44704 for more informations
|
|
Here come Salieri, my implementation of a disk shader cache!
"I'm sure you know why I named it that."
"It doesn't really mean anything."
This implementation collects shaders at runtime and cache them to be later compiled when starting a game.
|
|
* Implement ATOM shader instruction
* Fix reduction type decoding
|
|
* Simplify logic for bindless texture handling
* Nits
|
|
* Use explicit buffer and texture bindings on shaders
* More XML docs and other nits
|
|
|
|
backend. (#1657)
* Support res scale on images, correctly blacklist for SUST, move logic
out of backend.
* Fix Typo
|