| Age | Commit message (Collapse) | Author |
|
* Initial tessellation shader support
* Nits
* Re-arrange built-in table
* This is not needed anymore
* PR feedback
|
|
* Add missing U8/S8 types from shader I2I instruction
* Better names
* Fix dstIsSignedInt
|
|
* Implement SHF shader instruction
* Shader cache version bump
* Better name
|
|
* Rewrite shader decoding stage
* Fix P2R constant buffer encoding
* Fix PSET/PSETP
* PR feedback
* Log unimplemented shader instructions
* Implement NOP
* Remove using
* PR feedback
|
|
* Fix TXQ for 3D textures.
Assumes the texture is 3D if the component mask contains Z.
This fixes a bug in UE4 games where parts of the map had garbage pointers to lighting voxels, as the lookup 3D texture was not being initialized. Most notable game is THPS1+2.
May need another PR to keep image store data alive and properly flush it in order using the AutoDeleteCache.
* Get sampler type for TextureSize from bound textures.
|
|
* Initial Implementation
* Further improvements (no support for float/64-bit types)
* Merge atomic and reduce instructions, add missing format switch
* Fix rebase issues.
* Not used.
* Whoops. Fixed.
* Partial implementation of inc/dec, cleanup and TODOs
* Remove testing path
* Address Feedback
|
|
* Initial support for shader attribute indexing
* Support output indexing too, other improvements
* Fix order
* Address feedback
|
|
* 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)
|
|
* Unscale textureSize when resolution scaling is used
* Fix textureSize on compute
* Flag texture size as needing res scale values too
|
|
|
|
* 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
|
|
* Only enable clip distance if written to on shader
* Signal InstanceId use through FeatureFlags
* 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
|
|
(#1964)
* Support multiple destination operands on shader IR and shuffle predicates
* Cache version change
|
|
* 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
|
|
* Support conditional on BRK and SYNC shader instructions
* Add TODO comment and bump cache version
|
|
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
|
|
backend. (#1657)
* Support res scale on images, correctly blacklist for SUST, move logic
out of backend.
* Fix Typo
|
|
* Add support for CAL and RET shader instructions
* Remove unused stuff
* Fix a bug that could cause the wrong values to be passed to a function
* Avoid repopulating function id dictionary every time
* PR feedback
* Fix vertex shader A/B merge
|
|
* Fix shader image load/store array index register
* Y should come before the array index
|
|
|
|
* Add support for shader constant buffer slot indexing
* Fix typo
|
|
* Convert 1D texture targets to 2D
* Fix typo
* Simplify some code
* Should mask that too
* Consistency
|
|
|
|
(#1438)
|
|
* Initial implementation of Render Target Scaling
Works with most games I have. No GUI option right now, it is hardcoded.
Missing handling for texelFetch operation.
* Realtime Configuration, refactoring.
* texelFetch scaling on fragment shader (WIP)
* Improve Shader-Side changes.
* Fix potential crash when no color/depth bound
* Workaround random uses of textures in compute.
This was blacklisting textures in a few games despite causing no bugs. Will eventually add full support so this doesn't break anything.
* Fix scales oscillating when changing between non-native scales.
* Scaled textures on compute, cleanup, lazier uniform update.
* Cleanup.
* Fix stupidity
* Address Thog Feedback.
* Cover most of GDK's feedback (two comments remain)
* Fix bad rename
* Move IsDepthStencil to FormatExtensions, add docs.
* Fix default config, square texture detection.
* Three final fixes:
- Nearest copy when texture is integer format.
- Texture2D -> Texture3D copy correctly blacklists the texture before trying an unscaled copy (caused driver error)
- Discount small textures.
* Remove scale threshold.
Not needed right now - we'll see if we run into problems.
* All CPU modification blacklists scale.
* Fix comment.
|
|
|
|
* Support separate textures and samplers
* Add missing bindless flag, fix SNORM format on buffer textures
* Add missing separation
* Add comments about the new handles
|
|
* Omit image format if possible, and fix BA bit
* Match extension name
|
|
* Implement TMML and TMML.B
This implement TMML and TMML.B instructions
* Fix TmmlB declaration alignment
* Address gdkchan's comments
* Fix inverted encoding definitions
|
|
* Refactor shader GPU state and memory access
* Fix NVDEC project build
* Address PR feedback and add missing XML comments
|
|
|
|
* Implement texture buffers
* Throw NotSupportedException where appropriate
|
|
|
|
* Implement SULD shader instruction
* Some nits
|
|
|
|
* Fix varying interpolation on fragment shader
* Some nits
* Alignment
|
|
|
|
* Implement NOP and stub DEPBAR shader instruction
* Fix a few issues and formatting stuff
* Remove OpCodeNop/Depbar and use OpCode instead
* Fix NOP shader instruction opcode
* Fix formatting
|
|
* Implement VMNMX shader instruction
* No need for the gap on the enum
* Fix typo
|
|
|
|
|
|
* Implement DADD, DFMA and DMUL shader instructions
* Rename FP to FP32
* Correct double immediate
* Classic mistake
|
|
|
|
|
|
|
|
|