Skip to content

Commit

Permalink
dynapi update for SDL_GPU
Browse files Browse the repository at this point in the history
  • Loading branch information
flibitijibibo committed Apr 5, 2024
1 parent a94ea41 commit 6fcde03
Show file tree
Hide file tree
Showing 3 changed files with 198 additions and 0 deletions.
66 changes: 66 additions & 0 deletions src/dynapi/SDL_dynapi.sym
Original file line number Diff line number Diff line change
Expand Up @@ -1012,6 +1012,72 @@ SDL3_0.0.0 {
SDL_wcsnstr;
SDL_wcsstr;
SDL_wcstol;
SDL_GpuSelectBackend;
SDL_GpuCreateDevice;
SDL_GpuDestroyDevice;
SDL_GpuGetBackend;
SDL_GpuCreateComputePipeline;
SDL_GpuCreateGraphicsPipeline;
SDL_GpuCreateSampler;
SDL_GpuCreateShaderModule;
SDL_GpuCreateTexture;
SDL_GpuCreateGpuBuffer;
SDL_GpuCreateTransferBuffer;
SDL_GpuSetGpuBufferName;
SDL_GpuSetTextureName;
SDL_GpuQueueDestroyTexture;
SDL_GpuQueueDestroySampler;
SDL_GpuQueueDestroyGpuBuffer;
SDL_GpuQueueDestroyTransferBuffer;
SDL_GpuQueueDestroyShaderModule;
SDL_GpuQueueDestroyComputePipeline;
SDL_GpuQueueDestroyGraphicsPipeline;
SDL_GpuBeginRenderPass;
SDL_GpuBindGraphicsPipeline;
SDL_GpuSetViewport;
SDL_GpuSetScissor;
SDL_GpuBindVertexBuffers;
SDL_GpuBindIndexBuffer;
SDL_GpuBindVertexSamplers;
SDL_GpuBindFragmentSamplers;
SDL_GpuPushVertexShaderUniforms;
SDL_GpuPushFragmentShaderUniforms;
SDL_GpuDrawInstancedPrimitives;
SDL_GpuDrawPrimitives;
SDL_GpuDrawPrimitivesIndirect;
SDL_GpuEndRenderPass;
SDL_GpuBeginComputePass;
SDL_GpuBindComputePipeline;
SDL_GpuBindComputeBuffers;
SDL_GpuBindComputeTextures;
SDL_GpuPushComputeShaderUniforms;
SDL_GpuDispatchCompute;
SDL_GpuEndComputePass;
SDL_GpuSetTransferData;
SDL_GpuGetTransferData;
SDL_GpuBeginCopyPass;
SDL_GpuUploadToTexture;
SDL_GpuUploadToBuffer;
SDL_GpuCopyTextureToTexture;
SDL_GpuCopyBufferToBuffer;
SDL_GpuGenerateMipmaps;
SDL_GpuEndCopyPass;
SDL_GpuBlit;
SDL_GpuClaimWindow;
SDL_GpuUnclaimWindow;
SDL_GpuSetSwapchainPresentMode;
SDL_GpuGetSwapchainFormat;
SDL_GpuAcquireCommandBuffer;
SDL_GpuAcquireSwapchainTexture;
SDL_GpuSubmit;
SDL_GpuSubmitAndAcquireFence;
SDL_GpuWait;
SDL_GpuWaitForFences;
SDL_GpuQueryFence;
SDL_GpuReleaseFence;
SDL_GpuDownloadFromTexture;
SDL_GpuDownloadFromBuffer;
SDL_GpuTextureFormatTexelBlockSize;
# extra symbols go here (don't modify this line)
local: *;
};
66 changes: 66 additions & 0 deletions src/dynapi/SDL_dynapi_overrides.h
Original file line number Diff line number Diff line change
Expand Up @@ -1036,3 +1036,69 @@
#define SDL_wcsnstr SDL_wcsnstr_REAL
#define SDL_wcsstr SDL_wcsstr_REAL
#define SDL_wcstol SDL_wcstol_REAL
#define SDL_GpuSelectBackend SDL_GpuSelectBackend_REAL
#define SDL_GpuCreateDevice SDL_GpuCreateDevice_REAL
#define SDL_GpuDestroyDevice SDL_GpuDestroyDevice_REAL
#define SDL_GpuGetBackend SDL_GpuGetBackend_REAL
#define SDL_GpuCreateComputePipeline SDL_GpuCreateComputePipeline_REAL
#define SDL_GpuCreateGraphicsPipeline SDL_GpuCreateGraphicsPipeline_REAL
#define SDL_GpuCreateSampler SDL_GpuCreateSampler_REAL
#define SDL_GpuCreateShaderModule SDL_GpuCreateShaderModule_REAL
#define SDL_GpuCreateTexture SDL_GpuCreateTexture_REAL
#define SDL_GpuCreateGpuBuffer SDL_GpuCreateGpuBuffer_REAL
#define SDL_GpuCreateTransferBuffer SDL_GpuCreateTransferBuffer_REAL
#define SDL_GpuSetGpuBufferName SDL_GpuSetGpuBufferName_REAL
#define SDL_GpuSetTextureName SDL_GpuSetTextureName_REAL
#define SDL_GpuQueueDestroyTexture SDL_GpuQueueDestroyTexture_REAL
#define SDL_GpuQueueDestroySampler SDL_GpuQueueDestroySampler_REAL
#define SDL_GpuQueueDestroyGpuBuffer SDL_GpuQueueDestroyGpuBuffer_REAL
#define SDL_GpuQueueDestroyTransferBuffer SDL_GpuQueueDestroyTransferBuffer_REAL
#define SDL_GpuQueueDestroyShaderModule SDL_GpuQueueDestroyShaderModule_REAL
#define SDL_GpuQueueDestroyComputePipeline SDL_GpuQueueDestroyComputePipeline_REAL
#define SDL_GpuQueueDestroyGraphicsPipeline SDL_GpuQueueDestroyGraphicsPipeline_REAL
#define SDL_GpuBeginRenderPass SDL_GpuBeginRenderPass_REAL
#define SDL_GpuBindGraphicsPipeline SDL_GpuBindGraphicsPipeline_REAL
#define SDL_GpuSetViewport SDL_GpuSetViewport_REAL
#define SDL_GpuSetScissor SDL_GpuSetScissor_REAL
#define SDL_GpuBindVertexBuffers SDL_GpuBindVertexBuffers_REAL
#define SDL_GpuBindIndexBuffer SDL_GpuBindIndexBuffer_REAL
#define SDL_GpuBindVertexSamplers SDL_GpuBindVertexSamplers_REAL
#define SDL_GpuBindFragmentSamplers SDL_GpuBindFragmentSamplers_REAL
#define SDL_GpuPushVertexShaderUniforms SDL_GpuPushVertexShaderUniforms_REAL
#define SDL_GpuPushFragmentShaderUniforms SDL_GpuPushFragmentShaderUniforms_REAL
#define SDL_GpuDrawInstancedPrimitives SDL_GpuDrawInstancedPrimitives_REAL
#define SDL_GpuDrawPrimitives SDL_GpuDrawPrimitives_REAL
#define SDL_GpuDrawPrimitivesIndirect SDL_GpuDrawPrimitivesIndirect_REAL
#define SDL_GpuEndRenderPass SDL_GpuEndRenderPass_REAL
#define SDL_GpuBeginComputePass SDL_GpuBeginComputePass_REAL
#define SDL_GpuBindComputePipeline SDL_GpuBindComputePipeline_REAL
#define SDL_GpuBindComputeBuffers SDL_GpuBindComputeBuffers_REAL
#define SDL_GpuBindComputeTextures SDL_GpuBindComputeTextures_REAL
#define SDL_GpuPushComputeShaderUniforms SDL_GpuPushComputeShaderUniforms_REAL
#define SDL_GpuDispatchCompute SDL_GpuDispatchCompute_REAL
#define SDL_GpuEndComputePass SDL_GpuEndComputePass_REAL
#define SDL_GpuSetTransferData SDL_GpuSetTransferData_REAL
#define SDL_GpuGetTransferData SDL_GpuGetTransferData_REAL
#define SDL_GpuBeginCopyPass SDL_GpuBeginCopyPass_REAL
#define SDL_GpuUploadToTexture SDL_GpuUploadToTexture_REAL
#define SDL_GpuUploadToBuffer SDL_GpuUploadToBuffer_REAL
#define SDL_GpuCopyTextureToTexture SDL_GpuCopyTextureToTexture_REAL
#define SDL_GpuCopyBufferToBuffer SDL_GpuCopyBufferToBuffer_REAL
#define SDL_GpuGenerateMipmaps SDL_GpuGenerateMipmaps_REAL
#define SDL_GpuEndCopyPass SDL_GpuEndCopyPass_REAL
#define SDL_GpuBlit SDL_GpuBlit_REAL
#define SDL_GpuClaimWindow SDL_GpuClaimWindow_REAL
#define SDL_GpuUnclaimWindow SDL_GpuUnclaimWindow_REAL
#define SDL_GpuSetSwapchainPresentMode SDL_GpuSetSwapchainPresentMode_REAL
#define SDL_GpuGetSwapchainFormat SDL_GpuGetSwapchainFormat_REAL
#define SDL_GpuAcquireCommandBuffer SDL_GpuAcquireCommandBuffer_REAL
#define SDL_GpuAcquireSwapchainTexture SDL_GpuAcquireSwapchainTexture_REAL
#define SDL_GpuSubmit SDL_GpuSubmit_REAL
#define SDL_GpuSubmitAndAcquireFence SDL_GpuSubmitAndAcquireFence_REAL
#define SDL_GpuWait SDL_GpuWait_REAL
#define SDL_GpuWaitForFences SDL_GpuWaitForFences_REAL
#define SDL_GpuQueryFence SDL_GpuQueryFence_REAL
#define SDL_GpuReleaseFence SDL_GpuReleaseFence_REAL
#define SDL_GpuDownloadFromTexture SDL_GpuDownloadFromTexture_REAL
#define SDL_GpuDownloadFromBuffer SDL_GpuDownloadFromBuffer_REAL
#define SDL_GpuTextureFormatTexelBlockSize SDL_GpuTextureFormatTexelBlockSize_REAL
66 changes: 66 additions & 0 deletions src/dynapi/SDL_dynapi_procs.h
Original file line number Diff line number Diff line change
Expand Up @@ -1052,3 +1052,69 @@ SDL_DYNAPI_PROC(size_t,SDL_wcsnlen,(const wchar_t *a, size_t b),(a,b),return)
SDL_DYNAPI_PROC(wchar_t*,SDL_wcsnstr,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
SDL_DYNAPI_PROC(wchar_t*,SDL_wcsstr,(const wchar_t *a, const wchar_t *b),(a,b),return)
SDL_DYNAPI_PROC(long,SDL_wcstol,(const wchar_t *a, wchar_t **b, int c),(a,b,c),return)
SDL_DYNAPI_PROC(SDL_GpuBackend,SDL_GpuSelectBackend,(SDL_GpuBackend *a, Uint32 b, Uint32 *c),(a,b,c),return)
SDL_DYNAPI_PROC(SDL_GpuDevice*,SDL_GpuCreateDevice,(Uint8 a),(a),return)
SDL_DYNAPI_PROC(void,SDL_GpuDestroyDevice,(SDL_GpuDevice *a),(a),)
SDL_DYNAPI_PROC(SDL_GpuBackend,SDL_GpuGetBackend,(SDL_GpuDevice *a),(a),return)
SDL_DYNAPI_PROC(SDL_GpuComputePipeline*,SDL_GpuCreateComputePipeline,(SDL_GpuDevice *a, SDL_GpuComputeShaderInfo *b),(a,b),return)
SDL_DYNAPI_PROC(SDL_GpuGraphicsPipeline*,SDL_GpuCreateGraphicsPipeline,(SDL_GpuDevice *a, SDL_GpuGraphicsPipelineCreateInfo *b),(a,b),return)
SDL_DYNAPI_PROC(SDL_GpuSampler*,SDL_GpuCreateSampler,(SDL_GpuDevice *a, SDL_GpuSamplerStateCreateInfo *b),(a,b),return)
SDL_DYNAPI_PROC(SDL_GpuShaderModule*,SDL_GpuCreateShaderModule,(SDL_GpuDevice *a, SDL_GpuShaderModuleCreateInfo *b),(a,b),return)
SDL_DYNAPI_PROC(SDL_GpuTexture*,SDL_GpuCreateTexture,(SDL_GpuDevice *a, SDL_GpuTextureCreateInfo *b),(a,b),return)
SDL_DYNAPI_PROC(SDL_GpuBuffer*,SDL_GpuCreateGpuBuffer,(SDL_GpuDevice *a, SDL_GpuBufferUsageFlags b, Uint32 c),(a,b,c),return)
SDL_DYNAPI_PROC(SDL_GpuTransferBuffer*,SDL_GpuCreateTransferBuffer,(SDL_GpuDevice *a, SDL_GpuTransferUsage b, Uint32 c),(a,b,c),return)
SDL_DYNAPI_PROC(void,SDL_GpuSetGpuBufferName,(SDL_GpuDevice *a, SDL_GpuBuffer *b, const char *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuSetTextureName,(SDL_GpuDevice *a, SDL_GpuTexture *b, const char *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuQueueDestroyTexture,(SDL_GpuDevice *a, SDL_GpuTexture *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuQueueDestroySampler,(SDL_GpuDevice *a, SDL_GpuSampler *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuQueueDestroyGpuBuffer,(SDL_GpuDevice *a, SDL_GpuBuffer *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuQueueDestroyTransferBuffer,(SDL_GpuDevice *a, SDL_GpuTransferBuffer *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuQueueDestroyShaderModule,(SDL_GpuDevice *a, SDL_GpuShaderModule *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuQueueDestroyComputePipeline,(SDL_GpuDevice *a, SDL_GpuComputePipeline *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuQueueDestroyGraphicsPipeline,(SDL_GpuDevice *a, SDL_GpuGraphicsPipeline *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuBeginRenderPass,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuColorAttachmentInfo *c, Uint32 d, SDL_GpuDepthStencilAttachmentInfo *e),(a,b,c,d,e),)
SDL_DYNAPI_PROC(void,SDL_GpuBindGraphicsPipeline,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuGraphicsPipeline *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuSetViewport,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuViewport *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuSetScissor,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuRect *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuBindVertexBuffers,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, Uint32 c, Uint32 d, SDL_GpuBufferBinding *e),(a,b,c,d,e),)
SDL_DYNAPI_PROC(void,SDL_GpuBindIndexBuffer,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuBufferBinding *c, SDL_GpuIndexElementSize d),(a,b,c,d),)
SDL_DYNAPI_PROC(void,SDL_GpuBindVertexSamplers,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuTextureSamplerBinding *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuBindFragmentSamplers,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuTextureSamplerBinding *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuPushVertexShaderUniforms,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, void *c, Uint32 d),(a,b,c,d),)
SDL_DYNAPI_PROC(void,SDL_GpuPushFragmentShaderUniforms,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, void *c, Uint32 d),(a,b,c,d),)
SDL_DYNAPI_PROC(void,SDL_GpuDrawInstancedPrimitives,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, Uint32 c, Uint32 d, Uint32 e, Uint32 f),(a,b,c,d,e,f),)
SDL_DYNAPI_PROC(void,SDL_GpuDrawPrimitives,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, Uint32 c, Uint32 d),(a,b,c,d),)
SDL_DYNAPI_PROC(void,SDL_GpuDrawPrimitivesIndirect,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuBuffer *c, Uint32 d, Uint32 e, Uint32 f),(a,b,c,d,e,f),)
SDL_DYNAPI_PROC(void,SDL_GpuEndRenderPass,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuBeginComputePass,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuBindComputePipeline,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuComputePipeline *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuBindComputeBuffers,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuComputeBufferBinding *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuBindComputeTextures,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuComputeTextureBinding *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuPushComputeShaderUniforms,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, void *c, Uint32 d),(a,b,c,d),)
SDL_DYNAPI_PROC(void,SDL_GpuDispatchCompute,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, Uint32 c, Uint32 d, Uint32 e),(a,b,c,d,e),)
SDL_DYNAPI_PROC(void,SDL_GpuEndComputePass,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuSetTransferData,(SDL_GpuDevice *a, void *b, SDL_GpuTransferBuffer *c, SDL_GpuBufferCopy *d, SDL_bool e),(a,b,c,d,e),)
SDL_DYNAPI_PROC(void,SDL_GpuGetTransferData,(SDL_GpuDevice *a, SDL_GpuTransferBuffer *b, void *c, SDL_GpuBufferCopy *d),(a,b,c,d),)
SDL_DYNAPI_PROC(void,SDL_GpuBeginCopyPass,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuUploadToTexture,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuTransferBuffer *c, SDL_GpuTextureRegion *d, SDL_GpuBufferImageCopy *e, SDL_bool f),(a,b,c,d,e,f),)
SDL_DYNAPI_PROC(void,SDL_GpuUploadToBuffer,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuTransferBuffer *c, SDL_GpuBuffer *d, SDL_GpuBufferCopy *e, SDL_bool f),(a,b,c,d,e,f),)
SDL_DYNAPI_PROC(void,SDL_GpuCopyTextureToTexture,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuTextureRegion *c, SDL_GpuTextureRegion *d, SDL_bool e),(a,b,c,d,e),)
SDL_DYNAPI_PROC(void,SDL_GpuCopyBufferToBuffer,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuBuffer *c, SDL_GpuBuffer *d, SDL_GpuBufferCopy *e, SDL_bool f),(a,b,c,d,e,f),)
SDL_DYNAPI_PROC(void,SDL_GpuGenerateMipmaps,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuTexture *c),(a,b,c),)
SDL_DYNAPI_PROC(void,SDL_GpuEndCopyPass,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuBlit,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_GpuTextureRegion *c, SDL_GpuTextureRegion *d, SDL_GpuFilter e, SDL_bool f),(a,b,c,d,e,f),)
SDL_DYNAPI_PROC(Uint8,SDL_GpuClaimWindow,(SDL_GpuDevice *a, SDL_Window *b, SDL_GpuPresentMode c),(a,b,c),return)
SDL_DYNAPI_PROC(void,SDL_GpuUnclaimWindow,(SDL_GpuDevice *a, SDL_Window *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuSetSwapchainPresentMode,(SDL_GpuDevice *a, SDL_Window *b, SDL_GpuPresentMode c),(a,b,c),)
SDL_DYNAPI_PROC(SDL_GpuTextureFormat,SDL_GpuGetSwapchainFormat,(SDL_GpuDevice *a, SDL_Window *b),(a,b),return)
SDL_DYNAPI_PROC(SDL_GpuCommandBuffer*,SDL_GpuAcquireCommandBuffer,(SDL_GpuDevice *a),(a),return)
SDL_DYNAPI_PROC(SDL_GpuTexture*,SDL_GpuAcquireSwapchainTexture,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b, SDL_Window *c, Uint32 *d, Uint32 *e),(a,b,c,d,e),return)
SDL_DYNAPI_PROC(void,SDL_GpuSubmit,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b),(a,b),)
SDL_DYNAPI_PROC(SDL_GpuFence*,SDL_GpuSubmitAndAcquireFence,(SDL_GpuDevice *a, SDL_GpuCommandBuffer *b),(a,b),return)
SDL_DYNAPI_PROC(void,SDL_GpuWait,(SDL_GpuDevice *a),(a),)
SDL_DYNAPI_PROC(void,SDL_GpuWaitForFences,(SDL_GpuDevice *a, Uint8 b, Uint32 c, SDL_GpuFence **d),(a,b,c,d),)
SDL_DYNAPI_PROC(int,SDL_GpuQueryFence,(SDL_GpuDevice *a, SDL_GpuFence *b),(a,b),return)
SDL_DYNAPI_PROC(void,SDL_GpuReleaseFence,(SDL_GpuDevice *a, SDL_GpuFence *b),(a,b),)
SDL_DYNAPI_PROC(void,SDL_GpuDownloadFromTexture,(SDL_GpuDevice *a, SDL_GpuTextureRegion *b, SDL_GpuTransferBuffer *c, SDL_GpuBufferImageCopy *d, SDL_bool e),(a,b,c,d,e),)
SDL_DYNAPI_PROC(void,SDL_GpuDownloadFromBuffer,(SDL_GpuDevice *a, SDL_GpuBuffer *b, SDL_GpuTransferBuffer *c, SDL_GpuBufferCopy *d, SDL_bool e),(a,b,c,d,e),)
SDL_DYNAPI_PROC(Uint32,SDL_GpuTextureFormatTexelBlockSize,(SDL_GpuTextureFormat a),(a),return)

0 comments on commit 6fcde03

Please sign in to comment.