Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | glasm: Implement TessellationEvaluationPoint | ReinUsesLisp | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | glasm: Implement patch memory | ReinUsesLisp | 2021-07-23 | 3 | -6/+51 |
| | |||||
* | glasm: Fix InvocationId declaration | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | glasm: Implement InvocationId | ReinUsesLisp | 2021-07-23 | 2 | -2/+5 |
| | |||||
* | glasm: Optimize EmitVertex into EMIT | ReinUsesLisp | 2021-07-23 | 1 | -1/+5 |
| | |||||
* | glasm: Implement geometry shader attribute reads | ReinUsesLisp | 2021-07-23 | 2 | -4/+18 |
| | |||||
* | glasm: Properly declare attributes on geometry programs | ReinUsesLisp | 2021-07-23 | 3 | -6/+14 |
| | |||||
* | glasm: Declare geometry program headers | ReinUsesLisp | 2021-07-23 | 1 | -0/+35 |
| | |||||
* | glasm: Fix potential aliasing bug on cube array samples | ReinUsesLisp | 2021-07-23 | 2 | -35/+44 |
| | |||||
* | glasm: Implement ImageWrite | ReinUsesLisp | 2021-07-23 | 1 | -4/+7 |
| | |||||
* | glasm: Implement ImageRead | ReinUsesLisp | 2021-07-23 | 4 | -4/+56 |
| | |||||
* | glasm: Implement EmitVertex and EndPrimitive | ReinUsesLisp | 2021-07-23 | 2 | -4/+8 |
| | |||||
* | glasm: Implement ImageGradient | ReinUsesLisp | 2021-07-23 | 2 | -7/+65 |
| | |||||
* | glasm: Implement 64-bit shifts | ReinUsesLisp | 2021-07-23 | 2 | -12/+14 |
| | |||||
* | glasm: Implement barriers | ReinUsesLisp | 2021-07-23 | 1 | -3/+3 |
| | |||||
* | glasm: Fix compute stage name | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | glasm: Fix phi instruction types | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | glasm: Implement PREC on relevant instructions | ReinUsesLisp | 2021-07-23 | 1 | -6/+12 |
| | |||||
* | glasm: Implement stores to gl_ViewportIndex | ReinUsesLisp | 2021-07-23 | 4 | -7/+29 |
| | |||||
* | glasm: Implement gl_PointSize stores | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | glasm: Implement gl_PointCoord | ReinUsesLisp | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | glasm: Implement ImageQueryLod | ReinUsesLisp | 2021-07-23 | 1 | -3/+5 |
| | |||||
* | glasm: Implement ImageFetch | ReinUsesLisp | 2021-07-23 | 4 | -13/+38 |
| | |||||
* | glasm: Implement IADD.CC | ameerj | 2021-07-23 | 1 | -1/+26 |
| | |||||
* | glasm: Implement BFE.CC | ReinUsesLisp | 2021-07-23 | 1 | -0/+8 |
| | |||||
* | glasm: Implement SelectU1 | ReinUsesLisp | 2021-07-23 | 2 | -4/+5 |
| | |||||
* | glasm: Implement gl_WorkGroupID | ReinUsesLisp | 2021-07-23 | 2 | -3/+3 |
| | |||||
* | glasm: Implement TXQ and improve texture info reads | ReinUsesLisp | 2021-07-23 | 2 | -50/+51 |
| | |||||
* | glasm: Implement gl_FrongFacing attribute | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | glasm: Support textures used in more than one stage | ReinUsesLisp | 2021-07-23 | 3 | -4/+24 |
| | |||||
* | glasm: Implement textureGather instructions | ReinUsesLisp | 2021-07-23 | 2 | -15/+97 |
| | |||||
* | glasm: Implement gl_FragDepth and gl_SampleMask stores | ReinUsesLisp | 2021-07-23 | 2 | -5/+5 |
| | |||||
* | glasm: Do not alias ConditionRef for now | ReinUsesLisp | 2021-07-23 | 2 | -3/+2 |
| | | | | | Immediate condition refs where not handled correctly. Just move the value for now. | ||||
* | shader: Read branch conditions from an instruction | ReinUsesLisp | 2021-07-23 | 7 | -5/+20 |
| | | | | Fixes the identity removal pass. | ||||
* | glasm: Implement InstanceId and VertexId | ReinUsesLisp | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | glasm: Add missing return value on move assignment | ReinUsesLisp | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | glasm: Fix aliased bitcasts ref counting | ReinUsesLisp | 2021-07-23 | 3 | -13/+42 |
| | |||||
* | glasm: Remove unintentional comma on vector insert | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | glasm: Implement TEX and TEXS instructions | ReinUsesLisp | 2021-07-23 | 6 | -47/+258 |
| | | | | | Remove lod clamp from texture instructions with lod, as this is not needed (nor supported). | ||||
* | glasm: Add support for non-2D texture samples | ReinUsesLisp | 2021-07-23 | 1 | -4/+26 |
| | |||||
* | glasm: Reorder unreachable image instructions to the bottom | ReinUsesLisp | 2021-07-23 | 1 | -97/+97 |
| | |||||
* | glasm: Add support for texture offsets | ReinUsesLisp | 2021-07-23 | 1 | -11/+15 |
| | |||||
* | glasm: Improve texture sampling instructions | ReinUsesLisp | 2021-07-23 | 2 | -50/+70 |
| | |||||
* | emit_glasm: Enable ARB_draw_buffers when needed | ReinUsesLisp | 2021-07-23 | 2 | -1/+5 |
| | |||||
* | emit_glasm: Add support for reading position attributes | ReinUsesLisp | 2021-07-23 | 1 | -3/+13 |
| | |||||
* | shader_recompiler: GCC fixes | lat9nq | 2021-07-23 | 3 | -25/+25 |
| | | | | | Fixes members of unnamed union not being accessible, and one function without a declaration. | ||||
* | glasm: Implement rest of shared mem | ameerj | 2021-07-23 | 2 | -35/+29 |
| | |||||
* | emit_spirv: Jump to loop body with local variable | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | | | | Silence unused variable warning | ||||
* | glasm: Implement derivative instructions on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -12/+12 |
| | |||||
* | glasm: Initial (broken) implementation of TEX on GLASM | ReinUsesLisp | 2021-07-23 | 3 | -299/+386 |
| | |||||
* | glasm: Implement some graphics instructions on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -6/+5 |
| | |||||
* | glasm: Add Void type to GLASM values | ReinUsesLisp | 2021-07-23 | 3 | -0/+15 |
| | |||||
* | glasm: Add graphics specific shader declarations to GLASM | ReinUsesLisp | 2021-07-23 | 2 | -6/+63 |
| | |||||
* | glasm: Implement local memory for glasm | ameerj | 2021-07-23 | 4 | -9/+12 |
| | |||||
* | emit_spirv: Add missing block in case | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | glasm: Initial implementation of phi nodes on GLASM | ReinUsesLisp | 2021-07-23 | 5 | -10/+88 |
| | |||||
* | glasm: Write result to scalar on integer comparison instructions | ReinUsesLisp | 2021-07-23 | 1 | -10/+10 |
| | |||||
* | glasm: Declare NV_shader_thread_group when needed | ReinUsesLisp | 2021-07-23 | 1 | -3/+4 |
| | |||||
* | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | 2021-07-23 | 9 | -88/+116 |
| | | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow. | ||||
* | glasm: Implement Storage atomics | ameerj | 2021-07-23 | 5 | -109/+156 |
| | | | | | StorageAtomicExchangeU64 is failing test seemingly due to failure storing 64-bit result into the register | ||||
* | glasm: Ensure reg alloc order across compilers on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -11/+14 |
| | | | | | | | | | | | | | | | | | | Use a struct constructor to serialize register allocation arguments to ensure registers are allocated in the same order regardless of the compiler used. The A and B functions can be called in any order when passed as arguments to "foo": foo(A(), B()) But the order is guaranteed for curly-braced constructor calls in classes: Foo{A(), B()} Use this to get consistent behavior. | ||||
* | glasm: Enable unintentionally disabled register aliasing on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -16/+11 |
| | |||||
* | glasm: Review all GLASM insts to be aware of register aliasing | ReinUsesLisp | 2021-07-23 | 4 | -20/+51 |
| | |||||
* | glasm: Implement shuffle and vote instructions on GLASM | ReinUsesLisp | 2021-07-23 | 8 | -99/+162 |
| | |||||
* | glasm: Add MUFU instructions to GLASM | ReinUsesLisp | 2021-07-23 | 2 | -21/+22 |
| | |||||
* | glasm: Implement IAbs64 and INeg64 on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -6/+6 |
| | |||||
* | glasm: Properly clamp Fp64 on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -6/+6 |
| | |||||
* | glasm: Fix register allocation when moving immediate on GLASM | ReinUsesLisp | 2021-07-23 | 3 | -42/+89 |
| | |||||
* | glasm: Implement SelectU64 on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -4/+20 |
| | |||||
* | glasm: Fix clamps so the min value has priority on NAN on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -12/+15 |
| | |||||
* | glasm: Fix moving U64 immediates to registers in GLASM | ReinUsesLisp | 2021-07-23 | 2 | -3/+4 |
| | |||||
* | glasm: Implement storage atomic ops | ameerj | 2021-07-23 | 4 | -305/+358 |
| | |||||
* | glasm: Add conversion instructions to GLASM | ReinUsesLisp | 2021-07-23 | 9 | -282/+351 |
| | |||||
* | glasm: Add fp min/max insts and fix store for fp64 on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -10/+8 |
| | |||||
* | glasm: Add logical instructions on GLASM | ReinUsesLisp | 2021-07-23 | 2 | -12/+12 |
| | |||||
* | glasm: Remove duplicated Fp64 pack instructions on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -8/+0 |
| | |||||
* | glasm: Remove unnecesary new white space on Clamp GLASM | ReinUsesLisp | 2021-07-23 | 1 | -4/+4 |
| | |||||
* | glasm: Add floating-point comparisons on GLASM | ReinUsesLisp | 2021-07-23 | 3 | -120/+116 |
| | |||||
* | emit_glasm: Implement more integer alu ops | ameerj | 2021-07-23 | 2 | -47/+41 |
| | |||||
* | glasm: Reimplement bitwise ops and BFI/BFE | ameerj | 2021-07-23 | 4 | -88/+108 |
| | |||||
* | glasm: Initial GLASM fp64 support | ReinUsesLisp | 2021-07-23 | 9 | -55/+152 |
| | |||||
* | glasm: Implement GLASM fp16 packing and move bitwise insns | ReinUsesLisp | 2021-07-23 | 4 | -66/+77 |
| | |||||
* | glasm: Remove unused functions left from rebase | ReinUsesLisp | 2021-07-23 | 1 | -12/+0 |
| | |||||
* | glasm: Specify namespace when using FormatTo | ReinUsesLisp | 2021-07-23 | 1 | -6/+6 |
| | |||||
* | glasm: Implement more GLASM composite instructions | ReinUsesLisp | 2021-07-23 | 2 | -54/+63 |
| | |||||
* | glasm: Make GLASM aware of types | ReinUsesLisp | 2021-07-23 | 12 | -1244/+1380 |
| | |||||
* | glasm: Use CMP.S for Select32 | ameerj | 2021-07-23 | 3 | -12/+8 |
| | | | | also fixes ADD and SUB to use U modifier | ||||
* | glasm: Implement more logical ops | ameerj | 2021-07-23 | 2 | -5/+5 |
| | |||||
* | glasm: Implement BFI, BFE | ameerj | 2021-07-23 | 4 | -138/+164 |
| | | | | Along with implementations of common instructions along the way | ||||
* | glasm: Use BitField instead of C bitfields | ReinUsesLisp | 2021-07-23 | 2 | -8/+12 |
| | |||||
* | glasm: Remove unused argument in identity instructions on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -7/+7 |
| | |||||
* | glasm: Implement basic GLASM instructions | ReinUsesLisp | 2021-07-23 | 9 | -840/+1167 |
| | |||||
* | glasm: Changes to GLASM register allocator and emit context | ReinUsesLisp | 2021-07-23 | 4 | -26/+64 |
| | |||||
* | glasm: Add GLASM backend infrastructure | ReinUsesLisp | 2021-07-23 | 26 | -0/+3079 |
| | |||||
* | shader: Fixup SPIR-V emit header namespaces | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | Move SPIR-V emission functions to their own header | ReinUsesLisp | 2021-07-23 | 23 | -572/+629 |
| | |||||
* | shader: Optimize NVN Fallthrough | FernandoS27 | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement Int32 SUATOM/SURED | ameerj | 2021-07-23 | 5 | -0/+233 |
| | |||||
* | spirv: Be aware of NAN unaware drivers | ReinUsesLisp | 2021-07-23 | 1 | -18/+40 |
| | |||||
* | spirv: Add SSBO read fallbacks when no aliasing is available | ReinUsesLisp | 2021-07-23 | 1 | -37/+99 |
| | |||||
* | spirv: Add OpKill fallback to demote | ReinUsesLisp | 2021-07-23 | 1 | -2/+6 |
| | |||||
* | spirv: Do not enable ShaderLayer | ReinUsesLisp | 2021-07-23 | 1 | -3/+0 |
| | | | | This is enabled by an extension instead of the capability. | ||||
* | spirv: Enable DemoteToHelperInvocationEXT only when supported | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | spirv: Use OriginLowerLeft when requested | ReinUsesLisp | 2021-07-23 | 1 | -1/+5 |
| | |||||
* | spirv: Only add image operands mask when needed | ReinUsesLisp | 2021-07-23 | 1 | -5/+9 |
| | |||||
* | spirv: Workaround image unsigned offset bug | ReinUsesLisp | 2021-07-23 | 2 | -9/+26 |
| | | | | | Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned texture offsets. | ||||
* | spirv: Add int8 and int16 capabilities only when supported | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | spirv: Add integer clamping workarounds | ReinUsesLisp | 2021-07-23 | 1 | -4/+34 |
| | | | | Workaround more bugs on Nvidia's OpenGL SPIR-V compiler. | ||||
* | spirv: Implement int8 and int16 conversion fallbacks | ReinUsesLisp | 2021-07-23 | 1 | -19/+80 |
| | |||||
* | spirv: Support OpenGL uniform buffers and change bindings | ReinUsesLisp | 2021-07-23 | 5 | -56/+163 |
| | |||||
* | spirv: Desambiguate descriptor names | ReinUsesLisp | 2021-07-23 | 1 | -9/+37 |
| | | | | | Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are used for name matching. | ||||
* | shader: Implement VertexA stage | FernandoS27 | 2021-07-23 | 2 | -0/+5 |
| | |||||
* | shader: Fix storage type when reading patches on tess control | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader: Implement indexed textures | ReinUsesLisp | 2021-07-23 | 3 | -56/+92 |
| | |||||
* | shader: Move microinstruction header to the value header | ReinUsesLisp | 2021-07-23 | 2 | -2/+0 |
| | |||||
* | shader: Add NVN storage buffer fallbacks | ReinUsesLisp | 2021-07-23 | 5 | -24/+109 |
| | | | | | | | When we can't track the SSBO origin of a global memory instruction, leave it as a global memory operation and assume these pointers are in the NVN storage buffer slots, then apply a linear search in the shader's runtime. | ||||
* | spirv: Fix ViewportMask | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | spirv: Replace Constant/ConstantComposite with Const helper | ameerj | 2021-07-23 | 12 | -112/+101 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 2 | -5/+2 |
| | |||||
* | shader: Add coarse derivatives | FernandoS27 | 2021-07-23 | 2 | -0/+12 |
| | |||||
* | shader: Implement fine derivates constant propagation | FernandoS27 | 2021-07-23 | 3 | -0/+15 |
| | |||||
* | shader: Implement SR_Y_DIRECTION | FernandoS27 | 2021-07-23 | 2 | -0/+8 |
| | |||||
* | shader: Fix memory barriers | ReinUsesLisp | 2021-07-23 | 2 | -12/+7 |
| | |||||
* | spirv: Fix implicit lod type | ReinUsesLisp | 2021-07-23 | 2 | -1/+5 |
| | |||||
* | spirv: Use explicit lods outside of fragment shaders | ReinUsesLisp | 2021-07-23 | 1 | -5/+16 |
| | |||||
* | spirv: Use ConstOffset instead of Offset when possible | ReinUsesLisp | 2021-07-23 | 3 | -21/+67 |
| | |||||
* | shader: Implement BFE and BFI CC | ameerj | 2021-07-23 | 1 | -2/+1 |
| | | | | Fix two bugs in BFI. | ||||
* | shader: Implement SampleMask | ReinUsesLisp | 2021-07-23 | 4 | -1/+10 |
| | |||||
* | shader: Implement PIXLD.MY_INDEX | ReinUsesLisp | 2021-07-23 | 5 | -0/+12 |
| | |||||
* | spirv: Bitcast non-F32 output attributes to their type before store | ReinUsesLisp | 2021-07-23 | 1 | -13/+28 |
| | |||||
* | spirv: Implement ViewportMask with NV_viewport_array2 | ReinUsesLisp | 2021-07-23 | 4 | -0/+15 |
| | |||||
* | spirv: Bitcast non-F32 attributes to F32 | ReinUsesLisp | 2021-07-23 | 1 | -7/+9 |
| | |||||
* | shader: Implement PrimitiveId | ReinUsesLisp | 2021-07-23 | 3 | -0/+6 |
| | |||||
* | shader: Implement tessellation shaders, polygon mode and invocation id | ReinUsesLisp | 2021-07-23 | 5 | -55/+232 |
| | |||||
* | spirv: Implement image buffers | ReinUsesLisp | 2021-07-23 | 3 | -22/+58 |
| | |||||
* | spirv: Implement Layer stores | ReinUsesLisp | 2021-07-23 | 4 | -9/+26 |
| | |||||
* | spirv: Fix alpha test | FernandoS27 | 2021-07-23 | 1 | -0/+5 |
| | |||||
* | spirv: Fix non-atomic 64-bit store | ameerj | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | spirv: Implement alpha test | ameerj | 2021-07-23 | 1 | -0/+45 |
| | |||||
* | shader: Implement transform feedbacks and define file format | ReinUsesLisp | 2021-07-23 | 5 | -16/+97 |
| | |||||
* | shader: Implement early Z tests | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | spirv: Rework storage buffers and shader memory | ReinUsesLisp | 2021-07-23 | 6 | -492/+487 |
| | |||||
* | shader: Fix fixed pipeline point size on geometry shaders | ReinUsesLisp | 2021-07-23 | 1 | -10/+18 |
| | |||||
* | shader: Implement geometry shaders | ReinUsesLisp | 2021-07-23 | 5 | -65/+163 |
| | |||||
* | shader: Implement OUT | ReinUsesLisp | 2021-07-23 | 2 | -0/+10 |
| | |||||
* | spirv: Define StorageImageWriteWithoutFormat capability when used | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement LOP CC | ReinUsesLisp | 2021-07-23 | 2 | -9/+18 |
| | |||||
* | shader: Implement SR_THREAD_KILL | ReinUsesLisp | 2021-07-23 | 4 | -0/+9 |
| | |||||
* | shader: Implement ATOM/S and RED | ameerj | 2021-07-23 | 5 | -4/+800 |
| | |||||
* | spirv: Move phi node patching to a separate function | ReinUsesLisp | 2021-07-23 | 1 | -13/+16 |
| | |||||
* | spirv: Guard against typeless image reads on unsupported devices | ReinUsesLisp | 2021-07-23 | 2 | -1/+7 |
| | |||||
* | shader: Move LaneId to the warp emission file and fix AMD | ReinUsesLisp | 2021-07-23 | 3 | -5/+9 |
| | |||||
* | spirv: Fix forward declarations on phi nodes | ReinUsesLisp | 2021-07-23 | 1 | -47/+25 |
| | |||||
* | shader: Implement SULD and SUST | ReinUsesLisp | 2021-07-23 | 5 | -29/+130 |
| | |||||
* | shader: Address feedback + clang format | lat9nq | 2021-07-23 | 2 | -5/+0 |
| | |||||
* | shader_recompiler,video_core: Cleanup some GCC and Clang errors | lat9nq | 2021-07-23 | 4 | -14/+22 |
| | | | | | | | | | | | | | | | | | Mostly fixing unused *, implicit conversion, braced scalar init, fpermissive, and some others. Some Clang errors likely remain in video_core, and std::ranges is still a pertinent issue in shader_recompiler shader_recompiler: cmake: Force bracket depth to 1024 on Clang Increases the maximum fold expression depth thread_worker: Include condition_variable Don't use list initializers in control flow Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc> | ||||
* | shader: Interact texture buffers with buffer cache | ReinUsesLisp | 2021-07-23 | 2 | -28/+28 |
| | |||||
* | shader: Fix TextureGrad | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement texture buffers | ReinUsesLisp | 2021-07-23 | 4 | -5/+54 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 1 | -20/+20 |
| | |||||
* | shader: Implement indexed Position and ClipDistances | FernandoS27 | 2021-07-23 | 1 | -0/+40 |
| | |||||
* | shader: Implement indexed attributes | FernandoS27 | 2021-07-23 | 4 | -6/+134 |
| | |||||
* | shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardware | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Add subgroup masks | ReinUsesLisp | 2021-07-23 | 4 | -10/+56 |
| | |||||
* | shader: Implement BAR and fix memory barriers | ReinUsesLisp | 2021-07-23 | 2 | -3/+13 |
| | |||||
* | shader: Reimplement GetCbufU64 as GetCbufU32x2 | ReinUsesLisp | 2021-07-23 | 4 | -6/+6 |
| | | | | It may generate better code on some compilers and it's easier to handle. | ||||
* | shader: Address Feedback | FernandoS27 | 2021-07-23 | 6 | -71/+26 |
| | |||||
* | shader: Implement SR_LaneId | FernandoS27 | 2021-07-23 | 2 | -0/+5 |
| | |||||
* | shader: Fix shared memory on cool drivers | FernandoS27 | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | shader: Implement MEMBAR | FernandoS27 | 2021-07-23 | 2 | -0/+41 |
| | |||||
* | shader: Improve VOTE.VTG stub | FernandoS27 | 2021-07-23 | 2 | -0/+40 |
| | |||||
* | shader: Implement ViewportIndex | FernandoS27 | 2021-07-23 | 4 | -2/+27 |
| | |||||
* | shader: Stub TLD4's PTP when it isn't constant | FernandoS27 | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader: Fix branches to visited virtual blocks | ReinUsesLisp | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Fix dependency on identity removal pass | ReinUsesLisp | 2021-07-23 | 2 | -3/+8 |
| | |||||
* | spirv: Remove unnecesary variable for clip distances | ReinUsesLisp | 2021-07-23 | 2 | -6/+2 |
| | |||||
* | shader: Implement ClipDistance | FernandoS27 | 2021-07-23 | 3 | -0/+25 |
| | |||||
* | shader: Fix TXD | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 1 | -15/+15 |
| | |||||
* | shader: Implement ImageGradient | FernandoS27 | 2021-07-23 | 2 | -1/+54 |
| | |||||
* | shader: Implement TMML partially | FernandoS27 | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | shader,spirv: Implement ImageQueryLod. | FernandoS27 | 2021-07-23 | 4 | -0/+20 |
| | |||||
* | shader: Implement TLD | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | spirv: Add fixed pipeline point size | ReinUsesLisp | 2021-07-23 | 2 | -1/+5 |
| | |||||
* | shader: Add PointCoord attribute | FernandoS27 | 2021-07-23 | 3 | -0/+11 |
| | |||||
* | shader: Add PointSize attribute | ameerj | 2021-07-23 | 3 | -0/+9 |
| | |||||
* | shader: Store type of phi nodes in flags | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | | | | This is needed because pseudo-instructions where invalidated. | ||||
* | spirv: Fix default output attribute initialization | ReinUsesLisp | 2021-07-23 | 1 | -3/+3 |
| | |||||
* | shader: Implement FSWZADD | ameerj | 2021-07-23 | 4 | -0/+27 |
| | |||||
* | shader: Implement BRX | FernandoS27 | 2021-07-23 | 3 | -2/+15 |
| | |||||
* | shader: Implement I2I CC | ameerj | 2021-07-23 | 2 | -21/+41 |
| | |||||
* | shader: Implement I2I SAT | ameerj | 2021-07-23 | 2 | -0/+10 |
| | |||||
* | shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available | ReinUsesLisp | 2021-07-23 | 5 | -1/+334 |
| | |||||
* | shader: Better interpolation and disabled attributes support | ReinUsesLisp | 2021-07-23 | 2 | -12/+46 |
| | |||||
* | spirv: Remove dependencies on Environment when generating SPIR-V | ReinUsesLisp | 2021-07-23 | 2 | -9/+7 |
| | |||||
* | shader: Implement front face | ReinUsesLisp | 2021-07-23 | 3 | -0/+8 |
| | |||||
* | shader: Implement TXQ and fix FragDepth | ReinUsesLisp | 2021-07-23 | 5 | -8/+64 |
| | |||||
* | shader: Refactor PTP and other minor changes | ReinUsesLisp | 2021-07-23 | 5 | -56/+46 |
| | |||||
* | shader: Add IR opcode for ImageFetch | FernandoS27 | 2021-07-23 | 3 | -3/+35 |
| | |||||
* | shader: Implement TLD4.PTP | FernandoS27 | 2021-07-23 | 5 | -9/+40 |
| | |||||
* | shader: Implement FragDepth | FernandoS27 | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Implement TLD4 and TLD4_B | FernandoS27 | 2021-07-23 | 2 | -0/+48 |
| | |||||
* | shader: Implement SHFL | ameerj | 2021-07-23 | 5 | -60/+151 |
| | |||||
* | shader: Fix F2I | FernandoS27 | 2021-07-23 | 2 | -4/+19 |
| | |||||
* | shader: Implement NDC [-1, 1], attribute types and default varying initialization | ReinUsesLisp | 2021-07-23 | 5 | -39/+112 |
| | |||||
* | shader: Implement VOTE | ameerj | 2021-07-23 | 5 | -1/+77 |
| | |||||
* | shader: Implement DMNMX, DSET, DSETP | ameerj | 2021-07-23 | 3 | -18/+26 |
| | |||||
* | shader: Add support for fp16 comparisons and misc fixes | ReinUsesLisp | 2021-07-23 | 2 | -0/+10 |
| | |||||
* | spirv: Implement VertexId and InstanceId, refactor code | ReinUsesLisp | 2021-07-23 | 6 | -144/+234 |
| | |||||
* | shader: Implement I2F | ReinUsesLisp | 2021-07-23 | 4 | -0/+67 |
| | |||||
* | shader: Add partial rasterizer integration | ReinUsesLisp | 2021-07-23 | 6 | -50/+172 |
| | |||||
* | shader: Implement DADD | ameerj | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Implement FSET and FSETP | ameerj | 2021-07-23 | 1 | -2/+4 |
| | | | | Also fix oversight with adding SignedZeroInfNanPreserve execution mode. | ||||
* | shader: Implement TEXS | ReinUsesLisp | 2021-07-23 | 1 | -1/+10 |
| | |||||
* | shader: Implement CAL inlining function calls | ReinUsesLisp | 2021-07-23 | 2 | -15/+8 |
| | |||||
* | spirv: Add SignedZeroInfNanPreserve logic | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Implement FMNMX | ameerj | 2021-07-23 | 2 | -12/+12 |
| | | | | And add a const in FCMP | ||||
* | shader: Implement FCMP | ameerj | 2021-07-23 | 2 | -0/+5 |
| | | | | still need to configure some settings for NV denorm flush and intel NaN | ||||
* | shader: Partial implementation of LDC | ReinUsesLisp | 2021-07-23 | 4 | -25/+124 |
| | |||||
* | shader: Initial support for textures and TEX | ReinUsesLisp | 2021-07-23 | 7 | -5/+327 |
| | |||||
* | shader: Implement R2P | ameerj | 2021-07-23 | 3 | -3/+13 |
| | |||||
* | shader: Implement SHF | ameerj | 2021-07-23 | 2 | -9/+19 |
| | |||||
* | shader: Implement LEA | ameerj | 2021-07-23 | 3 | -3/+13 |
| | |||||
* | shader: Implement HADD2 | ReinUsesLisp | 2021-07-23 | 3 | -18/+98 |
| | |||||
* | shader: Implement FLO | ameerj | 2021-07-23 | 2 | -3/+13 |
| | |||||
* | shader: Implement IMNMX | ameerj | 2021-07-23 | 2 | -0/+20 |
| | |||||
* | shader: Implement POPC | ameerj | 2021-07-23 | 2 | -0/+10 |
| | |||||
* | shader: Implement SHR | ameerj | 2021-07-23 | 2 | -6/+11 |
| | |||||
* | spirv: Move phi arguments emit to a separate function | ReinUsesLisp | 2021-07-23 | 1 | -27/+27 |
| | |||||
* | spirv: Add support for self-referencing phi nodes | ReinUsesLisp | 2021-07-23 | 1 | -3/+10 |
| | |||||
* | shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCC | ReinUsesLisp | 2021-07-23 | 2 | -6/+6 |
| | |||||
* | shader: FMUL, select, RRO, and MUFU fixes | ReinUsesLisp | 2021-07-23 | 3 | -52/+228 |
| | |||||
* | shader: Fix MOV(reg), add SHL variants and emit neg and abs instructions | ReinUsesLisp | 2021-07-23 | 2 | -6/+6 |
| | |||||
* | spirv: Fixes and Intel specific workarounds | ReinUsesLisp | 2021-07-23 | 6 | -20/+31 |
| | |||||
* | shader: Rename, implement FADD.SAT and P2R (imm) | ReinUsesLisp | 2021-07-23 | 4 | -79/+98 |
| | |||||
* | shader: Add denorm flush support | ReinUsesLisp | 2021-07-23 | 3 | -9/+64 |
| | |||||
* | spirv: Add lower fp16 to fp32 pass | ReinUsesLisp | 2021-07-23 | 12 | -210/+255 |
| | |||||
* | shader: Primitive Vulkan integration | ReinUsesLisp | 2021-07-23 | 13 | -467/+461 |
| | |||||
* | spirv: Implement EmitIdentity | ReinUsesLisp | 2021-07-23 | 2 | -3/+3 |
| | |||||
* | spirv: Initial bindings support | ReinUsesLisp | 2021-07-23 | 12 | -218/+408 |
| | |||||
* | shader: Add support for forward declarations | ReinUsesLisp | 2021-07-23 | 2 | -52/+49 |
| | |||||
* | shader: Support SSA loops on IR | ReinUsesLisp | 2021-07-23 | 3 | -15/+15 |
| | |||||
* | shader: Misc fixes | ReinUsesLisp | 2021-07-23 | 2 | -0/+11 |
| | |||||
* | shader: Initial implementation of an AST | ReinUsesLisp | 2021-07-23 | 5 | -41/+67 |
| | |||||
* | spirv: Initial SPIR-V support | ReinUsesLisp | 2021-07-23 | 12 | -3/+1359 |
| | |||||
* | shader: Add pools and rename files | ReinUsesLisp | 2021-07-23 | 1 | -0/+21 |