Skip to content

Instantly share code, notes, and snippets.

View mmozeiko's full-sized avatar

Mārtiņš Možeiko mmozeiko

View GitHub Profile
@mmozeiko
mmozeiko / aes.py
Last active August 29, 2015 13:56
AES in Python
from __future__ import print_function
import sys
import struct
rcon = [ \
0x01000000, 0x02000000, 0x04000000, 0x08000000,
0x10000000, 0x20000000, 0x40000000, 0x80000000,
0x1b000000, 0x36000000,
]
#pragma once
template <class Fun>
class ScopeGuard
{
private:
Fun f;
bool active;
public:
#pragma once
#include <exception>
#include <stdexcept>
#include <utility>
template <class T>
class Expected
{
public:
@mmozeiko
mmozeiko / raspbian_buster.txt
Last active July 20, 2019 09:24
OpenGL info on Raspberry Pi 4
EGL_VENDOR = Mesa Project
EGL_VERSION = 1.4
EGL_CLIENT_APIS = OpenGL OpenGL_ES
EGL_EXTENSIONS = EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export
// GLES API
GL_VENDOR = Broadcom
GL_RENDERER = V3D 4.2
GL_VERSION = OpenGL ES 3.0 Mesa 19.1.2
@mmozeiko
mmozeiko / info.txt
Last active June 7, 2020 06:33
OpenGL info with mesa vc4 on RaspberryPi 3B+ with 64-bit ArchLinuxArm (aarch64)
$ cat /etc/issue
Arch Linux \r (\l)
$ uname -a
Linux alarm3 4.20.8-1-ARCH #1 SMP Tue Feb 12 21:12:07 MST 2019 aarch64 GNU/Linux
##### EGL info
EGL client extensions = EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_MESA_platform_gbm
@mmozeiko
mmozeiko / info.txt
Last active June 7, 2020 06:33
OpenGL info with mesa vc4 on RaspberryPi 0 with 32-bit ArchLinuxArm (armv6)
$ cat /etc/issue
Arch Linux \r (\l)
$ uname -a
Linux alarm0 4.14.98-1-ARCH #1 SMP Wed Feb 13 04:28:06 UTC 2019 armv6l GNU/Linux
##### EGL info
EGL client extensions = EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_MESA_platform_gbm
@mmozeiko
mmozeiko / info.txt
Created June 7, 2020 06:35
OpenGL info with mesa v3d on RaspberryPi 4+ with 64-bit ArchLinuxArm (aarch64)
$ cat /etc/issue
Arch Linux \r (\l)
$ uname -a
Linux archlinux 5.4.38-1-ARCH #1 SMP PREEMPT Wed May 6 11:05:57 MDT 2020 aarch64 GNU/Linux
##### EGL info
EGL client extensions = EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_EXT_platform_device EGL_MESA_platform_gbm EGL_KHR_platform_gbm
@mmozeiko
mmozeiko / zipit.py
Last active June 25, 2020 00:17
Create zip file with explicitly setting +x permissions
#!/usr/bin/env python3
import os
import os.path
import sys
from datetime import datetime
from zipfile import ZipFile, ZipInfo, ZIP_DEFLATED
# which files to make executable
EXECUTABLE = [
@mmozeiko
mmozeiko / GLES.txt
Last active July 26, 2020 22:36
Nvidia Jetson Nano info
EGL_VERSION: 1.5
EGL_VENDOR: NVIDIA
EGL_EXTENSIONS:
EGL_EXT_buffer_age, EGL_EXT_client_sync,
EGL_EXT_create_context_robustness, EGL_EXT_output_base,
EGL_EXT_stream_acquire_mode, EGL_EXT_sync_reuse, EGL_IMG_context_priority,
EGL_KHR_config_attribs, EGL_KHR_create_context_no_error,
EGL_KHR_context_flush_control, EGL_KHR_create_context,
EGL_KHR_display_reference, EGL_KHR_fence_sync,
EGL_KHR_get_all_proc_addresses, EGL_KHR_partial_update,
@mmozeiko
mmozeiko / _d3d11_hook_and_cofm_shader_replacement.md
Last active January 3, 2021 01:11
d3d11 hook + cofm shader replacement
  1. compile dxgi.c & d3d11.c files - these create dxgi.dll and d3d11.dll that allows to dump & replace shaders.
cl.exe /nologo /O2 /W3 /MT dxgi.c /link /DLL /OUT:dxgi.dll /INCREMENTAL:NO kernel32.lib user32.lib
cl.exe /nologo /O2 /W3 /MT d3d11.c /link /DLL /OUT:d3d11.dll /INCREMENTAL:NO kernel32.lib user32.lib d3dcompiler.lib dxguid.lib shlwapi.lib
  1. put dxgi.dll and d3d11.dll files next to ChildrenOfMorta.exe

  2. create d3d11_shaders folder next to ChildrenOfMorta.exe and put ps_b1c05ceb9ca8a14c.hlsl into this folder.