| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-08-27 | float_set_predicate: Add missing negation bit for the second operand | ReinUsesLisp | |
| 2019-08-21 | shader_ir: Implement VOTE | ReinUsesLisp | |
| Implement VOTE using Nvidia's intrinsics. Documentation about these can be found here https://developer.nvidia.com/reading-between-threads-shader-intrinsics Instead of using portable ARB instructions I opted to use Nvidia intrinsics because these are the closest we have to how Tegra X1 hardware renders. To stub VOTE on non-Nvidia drivers (including nouveau) this commit simulates a GPU with a warp size of one, returning what is meaningful for the instruction being emulated: * anyThreadNV(value) -> value * allThreadsNV(value) -> value * allThreadsEqualNV(value) -> true ballotARB, also known as "uint64_t(activeThreadsNV())", emits VOTE.ANY Rd, PT, PT; on nouveau's compiler. This doesn't match exactly to Nvidia's code VOTE.ALL Rd, PT, PT; Which is emulated with activeThreadsNV() by this commit. In theory this shouldn't really matter since .ANY, .ALL and .EQ affect the predicates (set to PT on those cases) and not the registers. | |||
| 2019-08-21 | Merge pull request #2777 from ReinUsesLisp/hsetp2-fe3h-fix | bunnei | |
| half_set_predicate: Fix HSETP2_C constant buffer offset | |||
| 2019-08-21 | Merge pull request #2753 from FernandoS27/float-convert | bunnei | |
| Shader_Ir: Implement F16 Variants of F2F, F2I, I2F. | |||
| 2019-08-18 | Merge pull request #2778 from ReinUsesLisp/nop | bunnei | |
| shader_ir: Implement NOP | |||
| 2019-08-04 | shader_ir: Implement NOP | ReinUsesLisp | |
| 2019-08-04 | half_set_predicate: Fix HSETP2_C constant buffer offset | ReinUsesLisp | |
| 2019-07-26 | decode/half_set_predicate: Fix predicates | ReinUsesLisp | |
| 2019-07-25 | Merge pull request #2739 from lioncash/cflow | bunnei | |
| video_core/control_flow: Minor changes/warning cleanup | |||
| 2019-07-25 | Merge pull request #2737 from FernandoS27/track-fix | bunnei | |
| Shader_Ir: Correct tracking to track from right to left | |||
| 2019-07-25 | Merge pull request #2743 from FernandoS27/surpress-assert | bunnei | |
| Downgrade and suppress a series of GPU asserts and debug messages. | |||
| 2019-07-22 | shader/decode: Implement S2R Tic | ReinUsesLisp | |
| 2019-07-20 | Shader_Ir: Implement F16 Variants of F2F, F2I, I2F. | Fernando Sahmkow | |
| This commit takes care of implementing the F16 Variants of the conversion instructions and makes sure conversions are done. | |||
| 2019-07-19 | Shader_Ir: Change Debug Asserts for Log Warnings | Fernando Sahmkow | |
| 2019-07-19 | shader/half_set_predicate: Fix HSETP2 implementation | ReinUsesLisp | |
| 2019-07-19 | shader/half_set_predicate: Implement missing HSETP2 variants | ReinUsesLisp | |
| 2019-07-18 | video_core/control_flow: Provide operator!= for types with operator== | Lioncash | |
| Provides operational symmetry for the respective structures. | |||
| 2019-07-18 | video_core/control_flow: Prevent sign conversion in TryGetBlock() | Lioncash | |
| The return value is a u32, not an s32, so this would result in an implicit signedness conversion. | |||
| 2019-07-18 | video_core/control_flow: Remove unnecessary BlockStack copy constructor | Lioncash | |
| This is the default behavior of the copy constructor, so it doesn't need to be specified. While we're at it we can make the other non-default constructor explicit. | |||
| 2019-07-18 | video_core/control_flow: Use std::move where applicable | Lioncash | |
| Results in less work being done where avoidable. | |||
| 2019-07-18 | video_core/control_flow: Use the prefix variant of operator++ for iterators | Lioncash | |
| Same thing, but potentially allows a standard library implementation to pick a more efficient codepath. | |||
| 2019-07-18 | video_core/control_flow: Use empty() member function for checking emptiness | Lioncash | |
| It's what it's there for. | |||
| 2019-07-18 | video_core: Resolve -Wreorder warnings | Lioncash | |
| Ensures that the constructor members are always initialized in the order that they're declared in. | |||
| 2019-07-18 | video_core/control_flow: Make program_size for ScanFlow() a std::size_t | Lioncash | |
| Prevents a truncation warning from occurring with MSVC. Also the internal data structures already treat it as a size_t, so this is just a discrepancy in the interface. | |||
| 2019-07-18 | video_core/control_flow: Place all internally linked types/functions within ↵ | Lioncash | |
| an anonymous namespace Previously, quite a few functions were being linked with external linkage. | |||
| 2019-07-18 | video_core/shader/decode: Prevent sign-conversion warnings | Lioncash | |
| Makes it explicit that the conversions here are intentional. | |||
| 2019-07-18 | Merge pull request #2738 from lioncash/shader-ir | bunnei | |
| shader-ir: Minor cleanup-related changes | |||
| 2019-07-18 | Shader_Ir: correct clang format | Fernando Sahmkow | |
| 2019-07-18 | Shader_Ir: Downgrade precision and rounding asserts to debug asserts. | Fernando Sahmkow | |
| This commit reduces the sevirity of asserts for FP precision and rounding as this are well known and have little to no consequences in gpu's accuracy. | |||
| 2019-07-17 | Merge pull request #2740 from lioncash/bra | Fernando Sahmkow | |
| shader/decode/other: Correct branch indirect argument within BRA handling | |||
| 2019-07-16 | shader_ir: std::move Node instance where applicable | Lioncash | |
| These are std::shared_ptr instances underneath the hood, which means copying them isn't as cheap as a regular pointer. Particularly so on weakly-ordered systems. This avoids atomic reference count increments and decrements where they aren't necessary for the core set of operations. | |||
| 2019-07-16 | shader_ir: Rename Get/SetTemporal to Get/SetTemporary | Lioncash | |
| This is more accurate in terms of describing what the functions are actually doing. Temporal relates to time, not the setting of a temporary itself. | |||
| 2019-07-16 | shader_ir: Remove unused includes | Lioncash | |
| Removes unnecessary header dependencies. | |||
| 2019-07-16 | Shader_Ir: Correct tracking to track from right to left | Fernando Sahmkow | |
| 2019-07-16 | Merge pull request #2565 from ReinUsesLisp/track-indirect | Fernando Sahmkow | |
| shader/track: Track indirect buffers | |||
| 2019-07-16 | shader/decode/other: Correct branch indirect argument within BRA handling | Lioncash | |
| This appears to have been a copy/paste error introduced within 8a6fc529a968e007f01464abadd32f9b5eb0a26c | |||
| 2019-07-15 | Merge pull request #2695 from ReinUsesLisp/layer-viewport | Fernando Sahmkow | |
| gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders | |||
| 2019-07-14 | shader: Allow tracking of indirect buffers without variable offset | ReinUsesLisp | |
| While changing this code, simplify tracking code to allow returning the base address node, this way callers don't have to manually rebuild it on each invocation. | |||
| 2019-07-14 | Merge pull request #2692 from ReinUsesLisp/tlds-f16 | Fernando Sahmkow | |
| shader/texture: Add F16 support for TLDS | |||
| 2019-07-09 | shader_ir: Add comments on missing instruction. | Fernando Sahmkow | |
| Also shows Nvidia's address space on comments. | |||
| 2019-07-09 | shader_ir: limit explorastion to best known program size. | Fernando Sahmkow | |
| 2019-07-09 | control_flow: Correct block breaking algorithm. | Fernando Sahmkow | |
| 2019-07-09 | control_flow: Assert shaders bigger than limit. | Fernando Sahmkow | |
| 2019-07-09 | control_flow: Address feedback. | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Correct parsing of scheduling instructions and correct sizing | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Correct max sizing | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Remove unnecessary constructors and use optional for ScanFlow result | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Corrections, documenting and asserting control_flow | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Unify blocks in decompiled shaders. | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Decompile Flow Stack | Fernando Sahmkow | |
