Commit graph

41 commits

Author SHA1 Message Date
ameerj 14ac0c2923 shader: Add integer attribute get optimization pass
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-29 19:03:49 -05:00
ReinUsesLisp c15332c44f shader: Add IsTextureScaled opcode 2021-11-16 22:11:28 +01:00
ReinUsesLisp 95761cc6a7 shader: Add integer division opcodes 2021-11-16 22:11:28 +01:00
ReinUsesLisp fb924ea85c shader: Add resolution down factor opcode 2021-11-16 22:11:27 +01:00
ReinUsesLisp 4397053d5c shader: Remove IAbs64 2021-07-22 21:51:39 -04:00
ReinUsesLisp 808ef97a08 shader: Move loop safety tests to code emission 2021-07-22 21:51:39 -04:00
ReinUsesLisp 0ffea97e2e shader: Split profile and runtime info headers 2021-07-22 21:51:38 -04:00
ameerj 6c6a451d6a glsl: Add LoopSafety instructions 2021-07-22 21:51:38 -04:00
ameerj 4759db28d0 glsl: Address Rodrigo's feedback 2021-07-22 21:51:38 -04:00
ameerj 85399e119d glsl: Reorganize backend code, remove unneeded [[maybe_unused]] 2021-07-22 21:51:37 -04:00
ameerj c542204113 glsl: Implement indexed attribute loads 2021-07-22 21:51:37 -04:00
ameerj 8d8ce24f20 glsl: Implement Load/WriteGlobal
along with some other misc changes and fixes
2021-07-22 21:51:37 -04:00
ameerj 8c684b3e23 glsl: Implement tessellation shaders 2021-07-22 21:51:37 -04:00
ameerj c7d085b505 glsl: Implement ImageGradient and other texture function variants 2021-07-22 21:51:37 -04:00
ameerj 68d075d1e8 glsl: Fix atomic SSBO offsets
and implement misc getters
2021-07-22 21:51:37 -04:00
ameerj df53046d68 glsl: Use NotImplemented macro with function name output 2021-07-22 21:51:37 -04:00
ameerj 9f3ffb996b glsl: Rework var alloc to not assign unused results 2021-07-22 21:51:37 -04:00
ameerj 9ccbd74991 glsl: Fix ATOM and implement ATOMS 2021-07-22 21:51:37 -04:00
ameerj 770b754afd glsl: Implement VOTE 2021-07-22 21:51:36 -04:00
ameerj 181a4ffdc4 glsl: Implement ST{LS} 2021-07-22 21:51:36 -04:00
ameerj 7df0815117 glsl: Implement more instructions used by SMO 2021-07-22 21:51:36 -04:00
ameerj 8ba814efb2 glsl: Better Storage access and wip warps 2021-07-22 21:51:36 -04:00
ameerj 2a71333716 glsl: Fix bindings, add some CC ops 2021-07-22 21:51:36 -04:00
ameerj a752ec88d0 glsl: Implement derivatives and YDirection
plus some other misc additions/changed
2021-07-22 21:51:36 -04:00
ameerj ed14d31f66 glsl: Fix non-immediate buffer access
and many other misc implementations
2021-07-22 21:51:36 -04:00
ameerj d171083d53 glsl: textures wip 2021-07-22 21:51:36 -04:00
ameerj 3d086e6130 glsl: Implement some attribute getters and setters 2021-07-22 21:51:36 -04:00
ameerj 9cc1b8a873 glsl: F16x2 storage atomics 2021-07-22 21:51:36 -04:00
ameerj 11ba190462 glsl: Revert ssbo aliasing. Storage Atomics impl 2021-07-22 21:51:36 -04:00
ameerj 3d9ecbe998 glsl: Wip storage atomic ops 2021-07-22 21:51:36 -04:00
ameerj df793fc049 glsl: Implement FCMP 2021-07-22 21:51:36 -04:00
ameerj 65c6f73e43 glsl: More FP instructions/fixes 2021-07-22 21:51:36 -04:00
ameerj 5e9095ef22 glsl: Add many FP32/64 instructions 2021-07-22 21:51:36 -04:00
ameerj ef7bd53f18 glsl: Implement more Integer ops 2021-07-22 21:51:36 -04:00
ameerj 266a3d60e3 glsl: Implement BF* 2021-07-22 21:51:36 -04:00
ameerj 0f40b0e61c glsl: Implement a few Integer instructions 2021-07-22 21:51:36 -04:00
ameerj fb75d122a2 glsl: Use std::string_view for Emit function args. 2021-07-22 21:51:35 -04:00
ameerj 115c162b9a glsl: Pass IR::Inst& to Emit functions 2021-07-22 21:51:35 -04:00
ameerj 78f5eb90d7 glsl: INeg and IAdd negate tests 2021-07-22 21:51:35 -04:00
ameerj 64337f004d glsl: Fix "reg" allocing
based on glasm with some tweaks
2021-07-22 21:51:35 -04:00
ameerj eaff1030de glsl: Initial backend 2021-07-22 21:51:35 -04:00