| Age | Commit message (Collapse) | Author |
|
|
|
* Refactor attribute handling on the shader generator
* Implement gl_ViewportMask[]
* Add back the Intel FrontFacing bug workaround
* Fix GLSL transform feedback outputs mistmatch with fragment stage
* Shader cache version bump
* Fix geometry shader recognition
* PR feedback
* Delete GetOperandDef and GetOperandUse
* Remove replacements that are no longer needed on GLSL compilation on Vulkan
* Fix incorrect load for per-patch outputs
* Fix build
|
|
* Implement CSET and CSETP shader instructions
* Shader cache version bump
* Fix CC.HI
|
|
* Change AggregateType to include vector type counts
* Replace VariableType uses with AggregateType and delete VariableType
* Support new local vector types on SPIR-V and GLSL
* Start using vector outputs for texture operations
* Use vectors on more texture operations
* Use vector output for ImageLoad operations
* Replace all uses of single destination texture constructors with multi destination ones
* Update textureGatherOffsets replacement to split vector operations
* Shader cache version bump
Co-authored-by: Ac_K <Acoustik666@gmail.com>
|
|
(#3866)
* Move gl_Layer from vertex to geometry if GPU does not support it on vertex
* Shader cache version bump
* PR feedback
|
|
* Fix VertexId and InstanceId on Vulkan
* Shader cache version bump
|
|
* Improve shader BRX instruction code generation
* Shader cache version bump, add some comments and asserts
|
|
* GLSL: Do not generate scale helpers if we have no textures
* Fix shader SULD (bindless) instruction using wrong register as handle
|
|
* Fix incorrect tessellation inputs/outputs
* Shader cache version bump
|
|
* Fix bindless 1D textures having a buffer type on the shader
* Shader cache version bump
|
|
* Add support for conditional (with CC) shader Exit instructions
* Shader cache version bump
* Make CSM conditions default to false for EXIT.CC
|
|
used (#3478)
* Avoid adding shader buffer descriptors for constant buffers that are not used
* Shader cache version
|
|
* Initial implementation (no specialization)
* Use specialization
* Fix render scale, increase code gen version
* Revert accidental change
* Address Feedback
|
|
handling (#3251)
* Implement VMAD shader instruction and improve InvocationInfo and ISBERD handling
* Shader cache version bump
* Fix typo
|
|
* lut3
* bugfixes
* TruthTable
* false/true -> 0/-1
* add or to expressions
* fix inversions
* increment cache version
|
|
(#2972)
* Implement IMUL shader instruction
* Implement PCNT/CONT instruction and fix FFMA32I
* Add HFMA232I to the table
* Shader cache version bump
* No Rc on Ffma32i
|
|
* Fix SUATOM and other texture shader instructions with RZ dest
* Shader cache version bump
|
|
* Implement remaining shader double-precision instructions
* Shader cache version bump
|
|
* Fix FLO.SH shader instruction with a input of 0
* Shader cache version bump
|
|
|
|
* Support shader gl_Color, gl_SecondaryColor and gl_TexCoord built-ins
* Shader cache version bump
* Fix back color value on fragment shader
* Disable IPA multiplication for fixed function attributes and back color selection
|
|
* Fix InvocationInfo on geometry shader and bindless default integer const
* Shader cache version bump
* Consistency for the default value
|
|
* Support coherent images
* Add support for fragment shader interlock
* Change to tree based match approach
* Refactor + check for branch targets and external registers
* Make detection more robust
* Use Intel fragment shader ordering if interlock is not available, use nothing if both are not available
* Remove unused field
|
|
(#2779)
* Preserve image types for SULD/SUST .D variants
* Make format unknown for surface atomic if bindless and not sized
|
|
* Fix 8 and 16-bit STG
* Fix 8 and 16-bit STS
* Shader cache version bump
|
|
* 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
|