summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan (follow)
Commit message (Expand)AuthorAgeFilesLines
* gl_rasterizer: Remove dirty flagsReinUsesLisp2020-02-282-32/+1
* frontend: qt: bootmanager: Vulkan: Restore support for VK backend.bunnei2020-02-262-9/+14
* Merge pull request #3417 from ReinUsesLisp/r32ibunnei2020-02-252-0/+2
|\
| * texture: Implement R32IReinUsesLisp2020-02-152-0/+2
* | Merge pull request #3425 from ReinUsesLisp/layered-framebufferbunnei2020-02-243-10/+21
|\ \
| * | texture_cache: Implement layered framebuffer attachmentsReinUsesLisp2020-02-163-10/+21
| |/
* | Merge pull request #3424 from ReinUsesLisp/spirv-layerbunnei2020-02-231-6/+30
|\ \
| * | vk_shader_decompiler: Implement Layer output attributeReinUsesLisp2020-02-161-6/+30
| |/
* | Merge pull request #3433 from namkazt/patch-1Rodrigo Locatti2020-02-211-3/+8
|\ \
| * | fixups mistake auto commit.Nguyen Dac Nam2020-02-181-9/+0
| * | Update code structureNguyen Dac Nam2020-02-181-0/+7
| * | renderer_vulkan: Add the rest of case for TryConvertBorderColorNguyen Dac Nam2020-02-181-3/+10
| |/
* | Merge pull request #3434 from namkazt/patch-2Rodrigo Locatti2020-02-213-2/+25
|\ \
| * | vk_device: remove left over from other branchNguyen Dac Nam2020-02-211-1/+0
| * | clang-formatNguyen Dac Nam2020-02-201-1/+1
| * | shader_decompiler: only add StorageImageReadWithoutFormat when availableNguyen Dac Nam2020-02-201-1/+4
| * | shader_decompiler: add check in case of device not support ShaderStorageImageReadWithoutFormatNguyen Dac Nam2020-02-191-0/+4
| * | vk_device: setup shaderStorageImageReadWithoutFormatNguyen Dac Nam2020-02-191-0/+5
| * | vk_device: add check for shaderStorageImageReadWithoutFormatNguyen Dac Nam2020-02-191-0/+7
| * | vk_shader: add Capability StorageImageReadWithoutFormatNguyen Dac Nam2020-02-191-0/+1
| * | vk_shader: Implement function ImageLoad (Used by Kirby Start Allies)Nguyen Dac Nam2020-02-191-2/+6
| |/
* | Merge pull request #3435 from namkazt/patch-3Rodrigo Locatti2020-02-212-1/+4
|\ \
| * | add vertex UnsignedInt size RGBANguyen Dac Nam2020-02-181-0/+2
| * | add eBc2SrgbBlock to formatsNguyen Dac Nam2020-02-181-0/+1
| * | vulkan: add DXT23_SRGBNguyen Dac Nam2020-02-181-1/+1
| |/
* | Merge pull request #3414 from ReinUsesLisp/maxwell-3d-drawbunnei2020-02-192-14/+1
|\ \
| * | maxwell_3d: Unify draw methodsReinUsesLisp2020-02-142-14/+1
| |/
* | Merge pull request #3410 from ReinUsesLisp/vk-draw-indexbunnei2020-02-191-4/+13
|\ \
| * | vk_shader_decompiler: Fix vertex id and instance idReinUsesLisp2020-02-141-4/+13
| |/
* / vk_query_cache: Implement generic query cache on VulkanReinUsesLisp2020-02-147-3/+283
|/
* vk_rasterizer: Use noexcept variants of std::bitsetReinUsesLisp2020-02-041-4/+5
* Merge pull request #3337 from ReinUsesLisp/vulkan-stagedbunnei2020-02-032-2/+269
|\
| * yuzu: Implement Vulkan frontendReinUsesLisp2020-01-291-0/+265
| * settings: Add settings for graphics backendReinUsesLisp2020-01-291-2/+4
* | Merge pull request #3282 from FernandoS27/indexed-samplersbunnei2020-02-021-0/+19
|\ \
| * | Shader_IR: Address feedback.Fernando Sahmkow2020-01-251-2/+3
| * | Shader_IR: Correct Custom Variable assignment.Fernando Sahmkow2020-01-241-0/+2
| * | Shader_IR: Implement Injectable Custom Variables to the IR.Fernando Sahmkow2020-01-241-0/+16
* | | shader/memory: Implement ATOM.ADDReinUsesLisp2020-01-261-33/+33
| |/ |/|
* | vk_shader_decompiler: Disable default values on unwritten render targetsReinUsesLisp2020-01-243-19/+16
|/
* Merge pull request #3330 from ReinUsesLisp/vk-blit-screenFernando Sahmkow2020-01-214-6/+752
|\
| * vk_blit_screen: Address feedbackReinUsesLisp2020-01-204-22/+25
| * vk_blit_screen: Initial implementationReinUsesLisp2020-01-202-0/+743
* | Merge pull request #3328 from ReinUsesLisp/vulkan-atomsbunnei2020-01-201-3/+11
|\ \
| * | vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-VReinUsesLisp2020-01-191-3/+11
* | | Merge pull request #3322 from ReinUsesLisp/vk-front-facebunnei2020-01-201-2/+1
|\ \ \ | |_|/ |/| |
| * | vk_graphics_pipeline: Set front facing properlyReinUsesLisp2020-01-181-2/+1
* | | Merge pull request #3313 from ReinUsesLisp/vk-rasterizerbunnei2020-01-203-1/+1464
|\ \ \ | |_|/ |/| |
| * | vk_rasterizer: Address feedbackReinUsesLisp2020-01-182-25/+32
| * | vk_rasterizer: Implement Vulkan's rasterizerReinUsesLisp2020-01-172-1/+1385
| * | renderer_vulkan: Add header as placeholderReinUsesLisp2020-01-171-0/+72
| |/
* | Merge pull request #3312 from ReinUsesLisp/atoms-u32bunnei2020-01-181-0/+7
|\ \ | |/ |/|
| * shader/memory: Implement ATOMS.ADD.U32ReinUsesLisp2020-01-161-0/+7
* | Merge pull request #3300 from ReinUsesLisp/vk-texture-cachebunnei2020-01-173-0/+715
|\ \ | |/ |/|
| * vk_texture_cache: Address feedbackReinUsesLisp2020-01-162-22/+8
| * vk_texture_cache: Fix typo in commentaryRodrigo Locatti2020-01-161-1/+1
| * vk_texture_cache: Implement generic texture cache on VulkanReinUsesLisp2020-01-143-0/+729
* | Merge pull request #3290 from ReinUsesLisp/gl-clampbunnei2020-01-143-6/+11
|\ \ | |/ |/|
| * maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driverReinUsesLisp2020-01-103-6/+11
* | vk_compute_pass: Address feedbackRodrigo Locatti2020-01-111-0/+2
* | vk_compute_pass: Add compute passes to emulate missing Vulkan featuresReinUsesLisp2020-01-082-0/+414
* | vk_shader_util: Add helper to build SPIR-V shadersReinUsesLisp2020-01-082-0/+51
|/
* vk_pipeline_cache: Initial implementationReinUsesLisp2020-01-072-1/+460
* vk_graphics_pipeline: Initial implementationReinUsesLisp2020-01-073-0/+393
* vk_compute_pipeline: Initial implementationReinUsesLisp2020-01-073-0/+217
* vk_pipeline_cache: Add file and define descriptor update template fillerReinUsesLisp2020-01-072-0/+65
* fixed_pipeline_state: Add depth clampReinUsesLisp2020-01-072-10/+18
* vk_rasterizer: Add placeholderReinUsesLisp2020-01-071-0/+13
* Merge pull request #3276 from ReinUsesLisp/pipeline-reqsbunnei2020-01-064-0/+340
|\
| * vk_renderpass_cache: Initial implementationReinUsesLisp2020-01-062-0/+197
| * vk_update_descriptor: Initial implementationReinUsesLisp2020-01-062-0/+143
* | vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cacheReinUsesLisp2020-01-064-62/+340
* | vk_memory_manager: Misc changesReinUsesLisp2020-01-062-88/+142
* | vk_buffer_cache: Temporarily remove buffer cacheReinUsesLisp2020-01-062-226/+0
|/
* Merge pull request #3264 from ReinUsesLisp/vk-descriptor-poolFernando Sahmkow2020-01-052-0/+145
|\
| * Update src/video_core/renderer_vulkan/vk_descriptor_pool.cppRodrigo Locatti2020-01-031-1/+1
| * vk_descriptor_pool: Initial implementationReinUsesLisp2020-01-012-0/+145
* | Merge pull request #3258 from FernandoS27/shader-amendbunnei2020-01-041-0/+8
|\ \ | |/ |/|
| * Shader_IR: Address FeedbackFernando Sahmkow2020-01-041-14/+4
| * Shader_IR: add the ability to amend code in the shader ir.Fernando Sahmkow2019-12-301-0/+18
* | Merge pull request #3248 from ReinUsesLisp/vk-imageFernando Sahmkow2019-12-302-0/+190
|\ \
| * | vk_image: Avoid unnecesary equalsRodrigo Locatti2019-12-301-1/+1
| * | vk_image: Add an image object abstractionReinUsesLisp2019-12-252-0/+190
| |/
* | vk_staging_buffer_pool: Initialize last epoch to zeroRodrigo Locatti2019-12-291-1/+1
* | vk_staging_buffer_pool: Add a staging pool for temporary operationsReinUsesLisp2019-12-252-0/+210
|/
* fixed_pipeline_state: Define symetric operator!= and mark as noexceptReinUsesLisp2019-12-242-40/+92
* fixed_pipeline_state: Define structure and loadersReinUsesLisp2019-12-232-0/+526
* Merge pull request #3238 from ReinUsesLisp/vk-resource-managerbunnei2019-12-224-1/+82
|\
| * vk_resource_manager: Add entry to VKFence to test its usageReinUsesLisp2019-12-191-0/+8
| * vk_reosurce_manager: Add assert for releasing fencesReinUsesLisp2019-12-191-0/+1
| * vk_resource_manager: Implement VKFenceWatch move constructorReinUsesLisp2019-12-192-0/+32
| * vk_device: Add entry to catch device lossesReinUsesLisp2019-12-193-1/+40
| * vk_device: Add query for RGBA8UintReinUsesLisp2019-12-191-0/+1
* | Merge pull request #3237 from ReinUsesLisp/vk-shader-decompilerFernando Sahmkow2019-12-222-38/+49
|\ \
| * | vk_shader_decompiler: Fix full decompilationReinUsesLisp2019-12-191-3/+5
| * | vk_shader_decompiler: Skip NDC correction when it is nativeReinUsesLisp2019-12-192-1/+2
| * | vk_shader_decompiler: Normalize output fragment attachmentsReinUsesLisp2019-12-192-12/+12
| * | vk_shader_decompiler: Update sirit and implement Texture AOFFIReinUsesLisp2019-12-191-22/+30
| |/
* | Merge pull request #3230 from ReinUsesLisp/vk-emu-shadersFernando Sahmkow2019-12-224-0/+122
|\ \
| * | renderer_vulkan/shader: Add helper GLSL shadersReinUsesLisp2019-12-164-0/+122
* | | vk_shader_decompiler: Use Visit instead of reimplementing itReinUsesLisp2019-12-211-23/+1
| |/ |/|
* | Merge pull request #3221 from ReinUsesLisp/vk-schedulerbunnei2019-12-192-37/+311
|\ \ | |/ |/|
| * vk_scheduler: Delegate commands to a worker thread and state trackReinUsesLisp2019-12-132-37/+311
* | maxwell_to_vk: Improve image format table and add more formatsReinUsesLisp2019-12-132-89/+127
* | maxwell_to_vk: Implement more vertex formatsReinUsesLisp2019-12-131-7/+81
* | maxwell_to_vk: Implement more primitive topologiesReinUsesLisp2019-12-132-2/+11
* | maxwell_to_vk: Approach GL_CLAMP closer to the GL specReinUsesLisp2019-12-133-9/+17
* | maxwell_to_vk: Use VK_EXT_index_type_uint8 when availableReinUsesLisp2019-12-132-4/+7
|/
* shader: Implement MEMBAR.GLReinUsesLisp2019-12-101-0/+14
* vk_shader_decompiler: Fix build issues on old gcc versionsReinUsesLisp2019-12-101-2/+3
* vk_shader_decompiler: Reduce YNegate's severityReinUsesLisp2019-12-101-1/+1
* shader_ir/other: Implement S2R InvocationIdReinUsesLisp2019-12-101-0/+1
* vk_shader_decompiler: Misc changesReinUsesLisp2019-12-102-697/+1648
* vk_device: Misc changesReinUsesLisp2019-12-092-117/+276
* externals: Update Vulkan-HeadersReinUsesLisp2019-12-092-2/+14
* vk_swapchain: Add support for swapping sRGBReinUsesLisp2019-12-072-24/+31
* Merge pull request #3109 from FernandoS27/new-instrbunnei2019-12-071-0/+8
|\
| * Shader_IR: Implement TXD instruction.Fernando Sahmkow2019-11-141-0/+6
| * Shader_IR: Implement FLO instruction.Fernando Sahmkow2019-11-141-0/+2
* | core/memory: Migrate over GetPointer()Lioncash2019-11-271-3/+3
* | core: Prepare various classes for memory read/write migrationLioncash2019-11-272-2/+9
* | video_core: Unify ProgramType and ShaderStage into ShaderTypeReinUsesLisp2019-11-234-22/+25
* | texture_cache: Drop abstracted ComponentTypeReinUsesLisp2019-11-142-74/+71
|/
* shader_ir/warp: Implement FSWZADDReinUsesLisp2019-11-081-0/+6
* gl_shader_decompiler: Reimplement shuffles with platform agnostic intrinsicsReinUsesLisp2019-11-081-40/+3
* Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow2019-10-251-0/+7
* Merge pull request #2983 from lioncash/fallthroughFernando Sahmkow2019-10-221-0/+3
|\
| * vk_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator()Lioncash2019-10-161-0/+3
* | vk_shader_decompiler: Mark operator() function parameters as const referencesLioncash2019-10-181-21/+23
|/
* Shader_Ir: Address Feedback and clang format.Fernando Sahmkow2019-10-051-25/+18
* vk_shader_decompiler: Correct Branches inside conditionals.Fernando Sahmkow2019-10-051-1/+11
* vk_shader_decompiler: Clean code and be const correct.Fernando Sahmkow2019-10-051-7/+5
* vk_shader_compiler: Don't enclose branches with if(true) to avoid crashing AMDFernando Sahmkow2019-10-051-16/+33
* vk_shader_compiler: Correct SPIR-V AST DecompilingFernando Sahmkow2019-10-051-4/+11
* Shader_IR: allow else derivation to be optional.Fernando Sahmkow2019-10-051-2/+4
* vk_shader_compiler: Implement the decompiler in SPIR-VFernando Sahmkow2019-10-051-22/+276
* Merge pull request #2869 from ReinUsesLisp/suldbunnei2019-09-241-10/+5
|\
| * gl_shader_decompiler: Use uint for images and fix SUATOMReinUsesLisp2019-09-211-12/+0
| * shader/image: Implement SULD and remove irrelevant codeReinUsesLisp2019-09-211-0/+7
* | video_core: Implement RGBX16F PixelFormatFearlessTobi2019-09-221-0/+1
|/
* shader_ir/warp: Implement SHFLReinUsesLisp2019-09-171-0/+50
* Merge pull request #2858 from ReinUsesLisp/vk-deviceFernando Sahmkow2019-09-143-111/+258
|\
| * vk_device: Add miscellaneous features and minor style changesReinUsesLisp2019-09-133-111/+258
* | shader/image: Implement SUATOM and fix SUSTReinUsesLisp2019-09-111-0/+42
|/
* shader_ir: Implement VOTEReinUsesLisp2019-08-211-0/+25
* Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.Fernando Sahmkow2019-07-201-0/+18
* shader/half_set_predicate: Fix HSETP2 implementationReinUsesLisp2019-07-201-13/+4
* Merge pull request #2695 from ReinUsesLisp/layer-viewportFernando Sahmkow2019-07-151-8/+6
|\
| * gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shadersReinUsesLisp2019-07-081-8/+6
* | Merge pull request #2609 from FernandoS27/new-scanbunnei2019-07-111-0/+9
|\ \
| * | shader_ir: Implement BRX & BRA.CCFernando Sahmkow2019-07-091-0/+9
| |/
* | Merge pull request #2686 from ReinUsesLisp/vk-schedulerbunnei2019-07-106-50/+60
|\ \
| * | vk_scheduler: Drop execution context in favor of viewsReinUsesLisp2019-07-076-50/+60
| |/
* | vk_sampler_cache: Remove unused includesLioncash2019-07-071-3/+0
* | video_core: Add missing override specifiersLioncash2019-07-071-2/+2
|/
* shader: Decode SUST and implement backing image functionalityReinUsesLisp2019-06-211-0/+7
* Merge pull request #2538 from ReinUsesLisp/ssy-pbkZach Hilman2019-06-161-12/+37
|\
| * shader: Split SSY and PBK stackReinUsesLisp2019-06-071-12/+37
* | Merge pull request #2514 from ReinUsesLisp/opengl-compatZach Hilman2019-06-071-1/+1
|\ \ | |/ |/|
| * maxwell_to_gl: Use GL_CLAMP to emulate Clamp wrap modeReinUsesLisp2019-05-301-1/+1
* | shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp2019-06-061-25/+25
* | Merge pull request #2520 from ReinUsesLisp/vulkan-refreshbunnei2019-06-064-88/+218
|\ \ | |/ |/|
| * vk_device: Let formats array type be deducedReinUsesLisp2019-05-261-33/+33
| * vk_shader_decompiler: Misc fixesReinUsesLisp2019-05-262-45/+67
| * vk_device: Enable features when available and misc changesReinUsesLisp2019-05-262-43/+151
* | shader: Implement S2R Tid{XYZ} and CtaId{XYZ}ReinUsesLisp2019-05-201-0/+18
|/
* Merge pull request #2441 from ReinUsesLisp/al2pbunnei2019-05-191-4/+3
|\
| * shader: Remove unused AbufNode Ipa modeReinUsesLisp2019-05-031-4/+3
* | Merge pull request #2461 from lioncash/unused-varMat M2019-05-141-1/+0
|\ \
| * | renderer_vulkan/vk_shader_decompiler: Remove unused variable from DeclareInternalFlags()Lioncash2019-05-101-1/+0
| |/
* | Merge pull request #2413 from FernandoS27/opt-gpuRodrigo Locatti2019-05-141-3/+4
|\ \ | |/ |/|
| * Rasterizer Cache: Use a temporal storage for Surfaces loading/flushing.Fernando Sahmkow2019-04-211-1/+0
| * RasterizerCache Redesign: Flush Fernando Sahmkow2019-04-201-2/+4
* | Merge pull request #2322 from ReinUsesLisp/wswitchbunnei2019-04-291-4/+6
|\ \
| * | video_core: Silent -Wswitch warningsReinUsesLisp2019-04-181-4/+6
* | | Merge pull request #2409 from ReinUsesLisp/half-floatsbunnei2019-04-201-5/+20
|\ \ \ | |_|/ |/| |
| * | vk_shader_decompiler: Add missing operationsReinUsesLisp2019-04-161-0/+7
| * | shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmeticReinUsesLisp2019-04-161-5/+7
| * | shader_ir/decode: Implement half float saturationReinUsesLisp2019-04-161-0/+6
| |/
* | Merge pull request #2318 from ReinUsesLisp/sampler-cachebunnei2019-04-182-58/+18
|\ \
| * | video_core: Abstract vk_sampler_cache into a templated classReinUsesLisp2019-04-022-58/+18
* | | shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp2019-04-141-6/+8
| |/ |/|
* | vk_shader_decompiler: Implement flow primitivesReinUsesLisp2019-04-101-5/+82
* | vk_shader_decompiler: Implement most common texture primitivesReinUsesLisp2019-04-101-8/+65
* | vk_shader_decompiler: Implement texture decompilation helper functionsReinUsesLisp2019-04-101-0/+32
* | vk_shader_decompiler: Implement Assign and LogicalAssignReinUsesLisp2019-04-101-2/+64
* | vk_shader_decompiler: Implement non-OperationCode visitsReinUsesLisp2019-04-101-7/+129
* | vk_shader_decompiler: Implement OperationCode decompilation interfaceReinUsesLisp2019-04-101-1/+411
* | vk_shader_decompiler: Implement VisitReinUsesLisp2019-04-101-1/+50
* | vk_shader_decompiler: Implement labels tree and flowReinUsesLisp2019-04-101-0/+71
* | vk_shader_decompiler: Implement declarationsReinUsesLisp2019-04-101-3/+457
* | vk_shader_decompiler: Declare and stub interface for a SPIR-V decompilerReinUsesLisp2019-04-102-0/+125
* | video_core/engines: Remove unnecessary inclusions where applicableLioncash2019-04-061-0/+1
* | Merge pull request #2302 from ReinUsesLisp/vk-swapchainbunnei2019-04-032-0/+302
|\ \ | |/ |/|
| * vk_swapchain: Implement a swapchain managerReinUsesLisp2019-03-292-0/+302
* | Merge pull request #2297 from lioncash/reorderbunnei2019-03-311-2/+2
|\ \ | |/ |/|
| * video_core: Amend constructor initializer list order where applicableLioncash2019-03-271-2/+2
* | video_core: Add missing override specifiersLioncash2019-03-272-2/+2
|/
* gpu: Move GPUVAddr definition to common_types.bunnei2019-03-212-4/+2
* gpu: Use host address for caching instead of guest address.bunnei2019-03-152-17/+41
* vk_sampler_cache: Use operator== instead of memcmpMat M2019-03-131-1/+1
* vk_sampler_cache: Implement a sampler cacheReinUsesLisp2019-03-132-0/+137
* Merge pull request #2191 from ReinUsesLisp/maxwell-to-vkbunnei2019-03-083-3/+551
|\
| * maxwell_to_vk: Initial implementationReinUsesLisp2019-03-043-3/+551
* | video_core/engines: Remove unnecessary includesLioncash2019-03-061-1/+1
|/
* vk_buffer_cache: Fix clang-formatReinUsesLisp2019-03-021-3/+3
* vk_buffer_cache: Implement a buffer cacheReinUsesLisp2019-03-012-0/+203
* Merge pull request #2152 from ReinUsesLisp/vk-stream-bufferbunnei2019-02-284-7/+169
|\
| * vk_stream_buffer: Remove copy code pathReinUsesLisp2019-02-262-53/+18
| * vk_stream_buffer: Implement a stream bufferReinUsesLisp2019-02-242-0/+197
| * vk_resource_manager: Minor VKFenceWatch changesReinUsesLisp2019-02-242-7/+7
* | vk_memory_manager: Reorder constructor initializer list in terms of member declaration orderLioncash2019-02-271-1/+1
|/
* Merge pull request #2146 from ReinUsesLisp/vulkan-schedulerbunnei2019-02-242-0/+129
|\
| * vk_scheduler: Implement a schedulerReinUsesLisp2019-02-222-0/+129
* | vk_memory_manager: Fixup commit interval allocationReinUsesLisp2019-02-241-2/+1
|/
* vk_memory_manager: Implement memory managerReinUsesLisp2019-02-192-0/+340
* vk_resource_manager: Implement a command buffer pool with VKFencedPoolReinUsesLisp2019-02-142-1/+59
* vk_resource_manager: Add VKFencedPool interfaceReinUsesLisp2019-02-142-0/+83
* vk_resource_manager: Implement VKResourceManager and fence allocatorReinUsesLisp2019-02-142-0/+85
* vk_resource_manager: Implement VKFenceWatchReinUsesLisp2019-02-142-0/+68
* vk_resource_manager: Implement VKFenceReinUsesLisp2019-02-142-0/+131
* vk_resource_manager: Add VKResource interfaceReinUsesLisp2019-02-142-0/+40
* vk_device: Abstract device handling into a classReinUsesLisp2019-02-132-0/+347
* renderer_vulkan: Add declarations fileReinUsesLisp2019-02-121-0/+45