summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_context.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader: Ignore global memory ops on devices lacking int64 supportameerj2021-07-231-1/+1
|
* shader: GCC fmt 8.0.0 fixeslat9nq2021-07-231-2/+3
|
* spirv: Fix code emission when descriptor aliasing is unsupportedReinUsesLisp2021-07-231-1/+2
| | | | Fixes OpenGL.
* shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp2021-07-231-43/+54
| | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
* spirv: Properly handle devices without int8 and int16ReinUsesLisp2021-07-231-22/+30
|
* spirv: Handle small storage buffer loads on devices with no supportReinUsesLisp2021-07-231-2/+2
|
* shader: Properly manage attributes not written from previous stagesReinUsesLisp2021-07-231-0/+3
|
* spirv: Fix output generics with componentsReinUsesLisp2021-07-231-1/+1
|
* opengl: Declare fragment outputs even if they are not usedReinUsesLisp2021-07-231-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.
* shader: Split profile and runtime information in separate structsReinUsesLisp2021-07-231-12/+14
|
* glasm: Rework control flow introducing a syntax listReinUsesLisp2021-07-231-9/+0
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp2021-07-231-1/+1
|
* shader: Optimize NVN FallthroughFernandoS272021-07-231-0/+3
|
* shader: Implement Int32 SUATOM/SUREDameerj2021-07-231-0/+3
|
* spirv: Add int8 and int16 capabilities only when supportedReinUsesLisp2021-07-231-2/+2
|
* spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp2021-07-231-36/+66
|
* spirv: Desambiguate descriptor namesReinUsesLisp2021-07-231-9/+37
| | | | | Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are used for name matching.
* shader: Implement indexed texturesReinUsesLisp2021-07-231-31/+48
|
* shader: Add NVN storage buffer fallbacksReinUsesLisp2021-07-231-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.
* spirv: Fix ViewportMaskReinUsesLisp2021-07-231-1/+2
|
* spirv: Replace Constant/ConstantComposite with Const helperameerj2021-07-231-35/+34
|
* shader: Implement SampleMaskReinUsesLisp2021-07-231-1/+4
|
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-231-0/+3
|
* spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp2021-07-231-0/+4
|
* shader: Implement PrimitiveIdReinUsesLisp2021-07-231-0/+3
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-231-42/+105
|
* spirv: Implement image buffersReinUsesLisp2021-07-231-21/+49
|
* spirv: Implement Layer storesReinUsesLisp2021-07-231-1/+8
|
* shader: Implement transform feedbacks and define file formatReinUsesLisp2021-07-231-7/+47
|
* spirv: Rework storage buffers and shader memoryReinUsesLisp2021-07-231-191/+249
|
* shader: Implement geometry shadersReinUsesLisp2021-07-231-7/+36
|
* shader: Implement SR_THREAD_KILLReinUsesLisp2021-07-231-0/+3
|
* shader: Implement ATOM/S and REDameerj2021-07-231-4/+154
|
* shader: Implement SULD and SUSTReinUsesLisp2021-07-231-21/+76
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-231-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>
* shader: Interact texture buffers with buffer cacheReinUsesLisp2021-07-231-27/+27
|
* shader: Implement texture buffersReinUsesLisp2021-07-231-0/+29
|
* shader: Address feedbackFernandoS272021-07-231-20/+20
|
* shader: Implement indexed Position and ClipDistancesFernandoS272021-07-231-0/+40
|
* shader: Implement indexed attributesFernandoS272021-07-231-0/+124
|
* shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardwareFernandoS272021-07-231-1/+1
|
* shader: Add subgroup masksReinUsesLisp2021-07-231-1/+9
|
* shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp2021-07-231-2/+2
| | | | It may generate better code on some compilers and it's easier to handle.
* shader: Address FeedbackFernandoS272021-07-231-1/+2
|
* shader: Fix shared memory on cool driversFernandoS272021-07-231-0/+1
|
* shader: Implement ViewportIndexFernandoS272021-07-231-0/+6
|
* shader: Fix dependency on identity removal passReinUsesLisp2021-07-231-1/+1
|
* spirv: Remove unnecesary variable for clip distancesReinUsesLisp2021-07-231-4/+2
|
* shader: Implement ClipDistanceFernandoS272021-07-231-0/+9
|
* shader,spirv: Implement ImageQueryLod.FernandoS272021-07-231-0/+1
|
* spirv: Add fixed pipeline point sizeReinUsesLisp2021-07-231-1/+1
|
* shader: Add PointCoord attributeFernandoS272021-07-231-0/+3
|
* shader: Add PointSize attributeameerj2021-07-231-0/+6
|
* shader: Implement FSWZADDameerj2021-07-231-0/+8
|
* shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2021-07-231-1/+114
|
* shader: Better interpolation and disabled attributes supportReinUsesLisp2021-07-231-3/+26
|
* shader: Implement front faceReinUsesLisp2021-07-231-0/+3
|
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-231-3/+5
|
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-231-11/+9
|
* shader: Implement TLD4.PTPFernandoS272021-07-231-0/+1
|
* shader: Implement FragDepthFernandoS272021-07-231-0/+6
|
* shader: Implement SHFLameerj2021-07-231-1/+2
|
* shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp2021-07-231-10/+25
|
* shader: Implement VOTEameerj2021-07-231-0/+4
|
* spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp2021-07-231-80/+111
|
* shader: Implement I2FReinUsesLisp2021-07-231-0/+2
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-231-12/+52
|
* shader: Implement DADDameerj2021-07-231-0/+2
|
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-231-4/+2
|
* shader: Partial implementation of LDCReinUsesLisp2021-07-231-15/+48
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-231-2/+67
|
* spirv: Fixes and Intel specific workaroundsReinUsesLisp2021-07-231-1/+2
|
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-231-9/+20
|
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-231-0/+2
|
* spirv: Initial bindings supportReinUsesLisp2021-07-231-0/+160