summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_context.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-07-23shader: Ignore global memory ops on devices lacking int64 supportameerj1-1/+1
2021-07-23shader: GCC fmt 8.0.0 fixeslat9nq1-2/+3
2021-07-23spirv: Fix code emission when descriptor aliasing is unsupportedReinUsesLisp1-1/+2
Fixes OpenGL.
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp1-43/+54
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-23spirv: Properly handle devices without int8 and int16ReinUsesLisp1-22/+30
2021-07-23spirv: Handle small storage buffer loads on devices with no supportReinUsesLisp1-2/+2
2021-07-23shader: Properly manage attributes not written from previous stagesReinUsesLisp1-0/+3
2021-07-23spirv: Fix output generics with componentsReinUsesLisp1-1/+1
2021-07-23opengl: Declare fragment outputs even if they are not usedReinUsesLisp1-1/+1
Fixes Ori and the Blind Forest's menu on GLASM. For some reason (probably high level optimizations) it is not sanitized on SPIR-V for OpenGL. Vulkan is unaffected by this change.
2021-07-23shader: Split profile and runtime information in separate structsReinUsesLisp1-12/+14
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp1-9/+0
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp1-1/+1
2021-07-23shader: Optimize NVN FallthroughFernandoS271-0/+3
2021-07-23shader: Implement Int32 SUATOM/SUREDameerj1-0/+3
2021-07-23spirv: Add int8 and int16 capabilities only when supportedReinUsesLisp1-2/+2
2021-07-23spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp1-36/+66
2021-07-23spirv: Desambiguate descriptor namesReinUsesLisp1-9/+37
Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are used for name matching.
2021-07-23shader: Implement indexed texturesReinUsesLisp1-31/+48
2021-07-23shader: Add NVN storage buffer fallbacksReinUsesLisp1-0/+77
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.
2021-07-23spirv: Fix ViewportMaskReinUsesLisp1-1/+2
2021-07-23spirv: Replace Constant/ConstantComposite with Const helperameerj1-35/+34
2021-07-23shader: Implement SampleMaskReinUsesLisp1-1/+4
2021-07-23shader: Implement PIXLD.MY_INDEXReinUsesLisp1-0/+3
2021-07-23spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp1-0/+4
2021-07-23shader: Implement PrimitiveIdReinUsesLisp1-0/+3
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp1-42/+105
2021-07-23spirv: Implement image buffersReinUsesLisp1-21/+49
2021-07-23spirv: Implement Layer storesReinUsesLisp1-1/+8
2021-07-23shader: Implement transform feedbacks and define file formatReinUsesLisp1-7/+47
2021-07-23spirv: Rework storage buffers and shader memoryReinUsesLisp1-191/+249
2021-07-23shader: Implement geometry shadersReinUsesLisp1-7/+36
2021-07-23shader: Implement SR_THREAD_KILLReinUsesLisp1-0/+3
2021-07-23shader: Implement ATOM/S and REDameerj1-4/+154
2021-07-23shader: Implement SULD and SUSTReinUsesLisp1-21/+76
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq1-1/+3
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>
2021-07-23shader: Interact texture buffers with buffer cacheReinUsesLisp1-27/+27
2021-07-23shader: Implement texture buffersReinUsesLisp1-0/+29
2021-07-23shader: Address feedbackFernandoS271-20/+20
2021-07-23shader: Implement indexed Position and ClipDistancesFernandoS271-0/+40
2021-07-23shader: Implement indexed attributesFernandoS271-0/+124
2021-07-23shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardwareFernandoS271-1/+1
2021-07-23shader: Add subgroup masksReinUsesLisp1-1/+9
2021-07-23shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp1-2/+2
It may generate better code on some compilers and it's easier to handle.
2021-07-23shader: Address FeedbackFernandoS271-1/+2
2021-07-23shader: Fix shared memory on cool driversFernandoS271-0/+1
2021-07-23shader: Implement ViewportIndexFernandoS271-0/+6
2021-07-23shader: Fix dependency on identity removal passReinUsesLisp1-1/+1
2021-07-23spirv: Remove unnecesary variable for clip distancesReinUsesLisp1-4/+2
2021-07-23shader: Implement ClipDistanceFernandoS271-0/+9
2021-07-23shader,spirv: Implement ImageQueryLod.FernandoS271-0/+1
2021-07-23spirv: Add fixed pipeline point sizeReinUsesLisp1-1/+1
2021-07-23shader: Add PointCoord attributeFernandoS271-0/+3
2021-07-23shader: Add PointSize attributeameerj1-0/+6
2021-07-23shader: Implement FSWZADDameerj1-0/+8
2021-07-23shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp1-1/+114
2021-07-23shader: Better interpolation and disabled attributes supportReinUsesLisp1-3/+26
2021-07-23shader: Implement front faceReinUsesLisp1-0/+3
2021-07-23shader: Implement TXQ and fix FragDepthReinUsesLisp1-3/+5
2021-07-23shader: Refactor PTP and other minor changesReinUsesLisp1-11/+9
2021-07-23shader: Implement TLD4.PTPFernandoS271-0/+1
2021-07-23shader: Implement FragDepthFernandoS271-0/+6
2021-07-23shader: Implement SHFLameerj1-1/+2
2021-07-23shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp1-10/+25
2021-07-23shader: Implement VOTEameerj1-0/+4
2021-07-23spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp1-80/+111
2021-07-23shader: Implement I2FReinUsesLisp1-0/+2
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp1-12/+52
2021-07-23shader: Implement DADDameerj1-0/+2
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp1-4/+2
2021-07-23shader: Partial implementation of LDCReinUsesLisp1-15/+48
2021-07-23shader: Initial support for textures and TEXReinUsesLisp1-2/+67
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp1-1/+2
2021-07-23spirv: Add lower fp16 to fp32 passReinUsesLisp1-9/+20
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp1-0/+2
2021-07-23spirv: Initial bindings supportReinUsesLisp1-0/+160