D3D9On12 is a mapping layer, which maps graphics commands from D3D9 to D3D12

Related tags

Utilities D3D9On12
Overview

D3D9On12

D3D9On12 is a mapping layer, which maps graphics commands from D3D9 to D3D12. D3D9On12 is not an implementation of the D3D9 API, but is instead an implementation of the D3D9 usermode DDI (device driver interface). That means it is not a binary named d3d9.dll, but is named d3d9on12.dll.

When an application creates a D3D9 device, they may choose for it to be a D3D9On12 device, rather than a native D3D9 device (see Direct3DCreate9On12 and Direct3DCreate9On12Ex). When this happens, d3d9on12.dll is loaded by the D3D9 runtime and initialized. When the application calls rendering commands, D3D9 will validate those commands, and then will convert those commands to the D3D9 DDI and send it to D3D9On12, just like any D3D9 driver. D3D9On12 will take these commands and convert them into D3D12 API calls, which are further validated by the D3D12 runtime, optionally including the D3D12 debug layer, which are then converted to the D3D12 DDI and sent to the D3D12 driver.

Note that D3D9On12 is an enlightened D3D9 driver, and there are several places where it receives additional information compared to a traditional D3D9 driver, either to enable it to provide API-level information to D3D12 rather than driver-level information (as is the case for shaders), or to enable interop scenarios. When a D3D9 device is created with D3D9On12, the device will expose an IDirect3DDevice9On12 interface which enables applications to submit work to both the D3D9 API and the D3D12 API with lightweight sharing and synchronization.

For more details about D3D9On12, see:

Make sure that you visit the DirectX Landing Page for more resources for DirectX developers.

How does it work?

The primary entrypoint to D3D9On12 is a custom version of the normal D3D9 driver OpenAdapter entrypoint, named OpenAdapter_Private, where D3D9 provides additional information to the mapping layer. In response to this, like a normal driver, D3D9On12 returns an adapter object, which exposes DDIs to create a device. The device is created like normal, but in addition to the normal DDI tables, D3D9on12 also exposes a set of DDIs defined by the D3D9ON12_PRIVATE_DDI_TABLE which can be retrieved by calling GetPrivateDDITable.

The device object internally uses an instance of the D3D12TranslationLayer immediate context to record commands. Similarly, most D3D9On12 objects are backed by an implementation from the D3D12TranslationLayer library. The code in this repository is largely an adaptor from the D3D9 DDI to the D3D12TranslationLayer library, where the real heavy lifting of converting to the D3D12 domain is done.

Building

In order to build D3D9On12, the WDK (Windows Driver Kit) must be installed, in order to provide d3d10umddi.h to D3D9On12, and in order to generate the D3D12TranslationLayer_WDK project, which hosts some code required to parse DXBC shaders and containers. The D3D12TranslationLayer and its subprojects, D3D12TranslationLayer_WDK and DXBCParser, will be fetched from GitHub when building with CMake if D3D12TranslationLayer_WDK isn't already included, such as by a parent CMakeLists.txt that has already entered that project. The DxbcSigner.dll will be pulled in automatically from NuGet.

If you had a local copy of the D3D12TranslationLayer project, your top level project would look something like this:

cmake_minimum_required(VERSION 3.14)
include(FetchContent)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

project(parent)

FetchContent_Declare(
    d3d12translationlayer
    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/D3D12TranslationLayer
)
FetchContent_MakeAvailable(d3d12translationlayer)

add_subdirectory(D3D9On12)

At the time of publishing, the D3D9On12 and D3D12TranslationLayer require insider versions of the SDK and WDK. Those can be found here.

D3D9On12 requires C++17, and only supports building with MSVC at the moment.

Usage

Note that in order to use your custom version of D3D9on12 you will also need to copy WinPixEventRuntime.dll (will automatically be placed in D3D9on12's build output) and dxbcsigner.dll along with it.

Why open source?

The D3D9On12 mapping layer is included as an operating system component of Windows 10. Over the years and Windows 10 releases, it has grown in functionality, to the point where it is a complete and relatively performant implementation of a D3D9 driver. We are choosing to release the source to this component for two primary reasons:

  1. To enable the community to contribute bugfixes and further performance improvements, which will improve the stability and performance of Windows 10. See CONTRIBUTING.
  2. To serve as an example of how to use the D3D12TranslationLayer library.

What can you do with this?

There are minor differences between binaries built out of this repository and the versions that are included in the OS. To that end, shipping applications should not attempt to override the OS version of D3D9On12 with versions that they have built. We will not guarantee that newer versions of Windows will continue to support older versions of D3D9On12, since it is an OS component which may be revised together with D3D9. However, developers are welcome to override the Windows version of D3D9On12 for local testing and experimentation.

Compatibility

When possible, we will attempt to maintain compatibility between D3D9 and D3D9On12. One should expect that the tip of D3D9On12's master branch should work nicely with the latest release of Windows 10. Support for configurations other than that are not guaranteed to work.

Data Collection

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Note however that no data collection is performed when using your private builds.

Issues
  • Doesn't seem to work

    Doesn't seem to work

    I tried it and this is the result:

    D3D9ON12_ARGS arg = { };
    arg.Enable9On12 = TRUE;
    pD3d9 = Direct3DCreate9On12(D3D_SDK_VERSION, &arg, 1);
    

    image

    dxvk works perfectly in comparison

    opened by bugproof 7
  • Add support for setting MaxAllocatedUploadHeapSpacePerCommandList via app shim or registry

    Add support for setting MaxAllocatedUploadHeapSpacePerCommandList via app shim or registry

    Add support for setting MaxAllocatedUploadHeapSpacePerCommandList via app shim or registry. Add support for setting MaxSRVHeapSize via app shim or registry. Also fix compiler warnings that show up on VS 2022.

    This change requires a corresponding change to translation layer.

    opened by bhouse-intel 3
  • Claim support for Dither

    Claim support for Dither

    Dithering only really made sense when rendering to reduced bit-depth formats (565, 5551, etc), but DX9 era hardware generally had 8 bit precision in pixel shaders anyway so it was usually a noop when outputting to an 8 bit per channel format. DXVK also chose to simply ignore dithering, so we should be fine to claim support but not actually do anything.

    opened by vdwtanner 2
  • Get IDXGISwapchain for a given IDirect3DSwapChain9 instance.

    Get IDXGISwapchain for a given IDirect3DSwapChain9 instance.

    I would like to render directx9 content in a SwapChainPanel via D3D9On12, but I can't seem to figure out how to get access to the IDXGI_Swapchain. Is there any way to get the IDXGI_Swapchain for a given IDirect3DSwapChain9? If not, could you consider adding this as a feature.

    opened by knk190001 1
  • BlobContainer.h/dxbcutils.h missing

    BlobContainer.h/dxbcutils.h missing

    I have to verify if the D3D9on12 patch fixes my issue, then I tried to build D3D9on12 on VS 2019. However, there're some header files missing. Could you please help tell me where to find them? Thanks

    Severity Code Description Project File Line Suppression State Error (active) E1696 cannot open source file "BlobContainer.h" d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\include\DxbcBuilder.hpp 2 Error (active) E1696 cannot open source file "BlobContainer.h" d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 4 Error (active) E0020 identifier "DXBCFourCC" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\include\DxbcBuilder.hpp 56 Error (active) E0020 identifier "CDXBCParser" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\include\DxbcBuilder.hpp 60 Error (active) E0020 identifier "DXBCFourCC" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\include\DxbcBuilder.hpp 60 Error (active) E0020 identifier "DXBCBlobHeader" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\include\DxbcBuilder.hpp 77 Error (active) E0020 identifier "DXBCHeader" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 14 Error (active) E0020 identifier "DXBCFourCC" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 51 Error (active) E0020 identifier "DXBCBlobHeader" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 66 Error (active) E0020 identifier "DXBC_MAX_SIZE_IN_BYTES" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 73 Error (active) E0020 identifier "CDXBCParser" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 124 Error (active) E0020 identifier "DXBCFourCC" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 124 Error (active) E0020 identifier "DXBC_BLOB_NOT_FOUND" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 130 Error (active) E0020 identifier "DXBCHeader" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 167 Error (active) E0020 identifier "pHeader" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 167 Error (active) E0029 expected an expression d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 167 Error (active) E0065 expected a ';' d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 167 Error (active) E0020 identifier "DXBCBlobHeader" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 169 Error (active) E0020 identifier "pNextBlobHeader" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 169 Error (active) E0029 expected an expression d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 169 Error (active) E0029 expected an expression d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 179 Error (active) E0020 identifier "DXBC_FOURCC_NAME" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 187 Error (active) E0020 identifier "DXBC_MAJOR_VERSION" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 188 Error (active) E0020 identifier "DXBC_MINOR_VERSION" is undefined d3d12translationlayer_wdk.lib (_deps\d3d12translationlayer-build\src\d3d12translationlayer_wdk.lib) - windows-default C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 189 Error C1083 Cannot open include file: 'BlobContainer.h': No such file or directory C:\Users\celestil\D3DGFx\out\build\windows-default\D3DGFx C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\DxbcBuilder.cpp 4 Error C1083 Cannot open include file: 'dxbcutils.h': No such file or directory C:\Users\celestil\D3DGFx\out\build\windows-default\D3DGFx C:\Users\celestil\D3DGFx\D3D12TranslationLayer\src\ShaderParser.cpp 6 Error C1083 Cannot open include file: 'BlobContainer.h': No such file or directory C:\Users\celestil\D3DGFx\out\build\windows-default\D3DGFx C:\Users\celestil\D3DGFx\D3D9On12\include\pch.h 22

    opened by celestil 1
  • Conversion between D3D12 to DXVA Multiplier/StepSize semantics for Video Processing filters and Query caps

    Conversion between D3D12 to DXVA Multiplier/StepSize semantics for Video Processing filters and Query caps

    There's a semantic difference between how DXVA and D3D12 express the filter ranges and steps for video processing filters such as Contrast, Saturation, etc that was not addressed in 9on12. When enabling Video Processing Enhancement in Video Playback Settings, some video players are affected by this bug, rendering a black screen as processing the brightness/contrast when playing video. With this fix, the enhanced video plays correctly.

    opened by sivileri 1
  • [DX9]Cities: Skylines - Invisible water

    [DX9]Cities: Skylines - Invisible water

    Cities used INTZ surface to read in the shader that rendered the water patches to calculate depth from water surface to the backing z surface. Cities bound the INTZ as SRV and kept the same INTZ surface bound for depth testing and the depth writes enabled. Dx9on12 checked for SRV resource being bound for DSV and ZWriteEnable in ResolveDeferredState() from 9on12PixelStage.cpp, the combination would cause the resource to be unbound. Dx9on12 was doing the right thing, it should be application's responsibility to remove the SRV.

    Reviewed upon INTZ documents, it appeared that when using INTZ as shader resources and keeping it bound as depth required the ZWriteEnable to be false. The proposed fix detected for INTZ resources bound as SRV and DSV, instead of hiding SRV, disabled ZWriteEnable and continued to bind the resource as SRV. At the end of drawcall, restored ZWriteEnable state.

    opened by ifzhang2 0
  • MaxConstantBufferSize should have been 256 float4s, not 256 floats

    MaxConstantBufferSize should have been 256 float4s, not 256 floats

    Since we weren't ensuring that a shader reads 0 if it attempts to read beyond the end of the CBV prior to #34, this issue was hidden due to writing and reading off the end of memory that we'd actually allocated for this constant buffer, but likely the culprit of some strange, unresolved bugs we've seen in the past. Yikes!

    opened by vdwtanner 0
  • Add tracking for drawing PreTransformedVertices

    Add tracking for drawing PreTransformedVertices

    In D3D9 it was possible to pre transform and light vertices before drawing. This process also allowed culling, so the GPU wouldn't cull in this case. The DDIs that correspond to this for 9on12 are the DrawPrimitive2 and DrawIndexedPrimitive2 calls, so we need to keep track of which "mode" we are in so that we don't cull/clip when we shouldn't.

    opened by vdwtanner 0
  • Fix UpdateAppVisibleAndBindToPipeline to update boolean data

    Fix UpdateAppVisibleAndBindToPipeline to update boolean data

    Noticed that the calls to UpdateData weren't adding up in some profiling data. Apparently calling UpdateData on m_booleans got dropped out of the last PR.

    opened by vdwtanner 0
  • 0xC0000005 Crashed in 10.0.22000.652 build

    0xC0000005 Crashed in 10.0.22000.652 build

    A crash happened in d3d9on12.dll 10.0.22000.652 when my app call av_hwframe_transfer_data(in ffmpeg), while it worked fine in d3d9on12.dll 10.0.22000.593 and before build. Here is the dump file: https://1drv.ms/u/s!AqL91iUT-5JUgSTtlMoP4Sbybo0U?e=zE6y0P

    Unhandled exception at 0x00007FFFC8E4D9DF (d3d9on12.dll) in ReadyFor.exe.19472.dmp: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.

    `

    d3d9on12.dll!00007fffc8e4d9df() d3d9on12.dll!00007fffc8e4d025() d3d9on12.dll!00007fffc8e41a36() d3d9on12.dll!00007fffc8e41b7a() d3d9on12.dll!00007fffc8e413a9() d3d9on12.dll!00007fffc8e0f837() d3d9on12.dll!00007fffc8e0f44c() d3d9.dll!00007fffc9106cbc() d3d9.dll!00007fffc90130d7() d3d9.dll!00007fffc902e2ab() d3d9.dll!00007fffc90a382b() avutil-57.dll!00007fffb6d4cfd8() avutil-57.dll!00007fffb6d4d184() avutil-57.dll!00007fffb6d48163() avutil-57.dll!00007fffb6d481e7() `

    opened by bobohuang1985 0
  • pls help crashed on intel uhd 770,windows 10, probably memory leak

    pls help crashed on intel uhd 770,windows 10, probably memory leak

    Our game player reported one crash on intel uhd 770, windows10, our game is based d3d9 , Game engine error log has printed "ENGINE_INIT:RenderAPI Error:Context::DrawIndexed :hr = 80004005, primitive=0, base index=0, vertex count=20, start index=0, primitive count=10", and found stack crash on d3d9on12.dll, After profile the client, I find it probably exsist memory leak in d3d9on12, I also try use d3d dynamic vertex buffer and index buf with discard flag to draw dynamic vertex, still found memory grow in each frame lock buffer. wpa1 lockleak ,

    opened by luyt86 0
  • Is there a reason D3DFMT_A32B32G32R32F is marked unblendable?

    Is there a reason D3DFMT_A32B32G32R32F is marked unblendable?

    ref: https://github.com/microsoft/D3D9On12/blob/5af944baee8ba540bd6bbcc07efa68066adb6cab/src/9on12Adapter.cpp#L435

    From what I can tell, R32G32B32A32_FLOAT must be blendable since D3D11.0, so I don't think there's any technical limitation demanding this: https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/format-support-for-direct3d-11-0-feature-level-hardware#dxgi_format_r32g32b32a32_floatfcs-2

    opened by magcius 1
  • fatal error LNK1107: invalid or corrupt file: cannot read at 0xDD2

    fatal error LNK1107: invalid or corrupt file: cannot read at 0xDD2

    Hi, I got another link error. Could you please shed a light on this? Thanks!

    C:\Users\celestil\D3DGFx\out\build\windows-default\packages\WinPixEventRuntime.1.0.190604001\build\WinPixEventRuntime.targets : fatal error LNK1107: invalid or corrupt file: cannot read at 0xDD2 ninja: build stopped: subcommand failed.

    opened by celestil 1
  • Teams.exe crashes with error in D3D9On12 module.

    Teams.exe crashes with error in D3D9On12 module.

    When I join the meeting in Teams Desktop on Windows 11 built 22483.1000 on ARM64 computer (Surface Pro X), the application crashes with error below in the module D3D9On12.dll . Teams is an ARM64 native application in this platform. The error happens from about a month. If I use web version of Teams through browser on the same device, there is no problem. Use of Teams with Calendar, chat etc, is not affected. This error renders Teams useless for meetings, which is one of the chief uses of it.

    Faulting application name: Teams.exe, version: 1.4.0.26376, time stamp: 0x61041d09 Faulting module name: d3d9on12.dll, version: 10.0.22483.1000, time stamp: 0x3a2b3573 Exception code: 0xc0000005 Fault offset: 0x00000000000d54f0 Faulting process id: 0x3ddc Faulting application start time: 0x01d7cb3d67352a6e Faulting application path: C:\Users\mbalc\AppData\Local\Microsoft\Teams\current\Teams.exe Faulting module path: C:\WINDOWS\SYSTEM32\d3d9on12.dll Report Id: ad3d581b-26a7-4947-b402-bec5d78301b6 Faulting package full name: Faulting package-relative application ID

    opened by mbalcerzyk 1
Owner
Microsoft
Open source projects and samples from Microsoft
Microsoft
The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced.

libxo libxo - A Library for Generating Text, XML, JSON, and HTML Output The libxo library allows an application to generate text, XML, JSON, and HTML

Juniper Networks 240 Jun 13, 2022
Stripped down version of BIGTREETECH-TouchScreenFirmware which only supports ST7920 emulation (Marlin Mode)

Stripped down version of BIGTREETECH-TouchScreenFirmware which only supports ST7920 emulation (Marlin Mode). This project only uses peripheral drivers supplied by the screen manufacturer and uses it's own library to parse the ST7920 commands.

null 91 Jun 8, 2022
A Cobalt Strike Beacon Object File (BOF) project which uses direct system calls to enumerate processes for specific loaded modules or process handles.

FindObjects-BOF A Cobalt Strike Beacon Object File (BOF) project which uses direct system calls to enumerate processes for specific modules or process

Outflank B.V. 236 Jun 15, 2022
A Beacon Object File (BOF) for Cobalt Strike which uses direct system calls to enable WDigest credential caching.

WdToggle A Proof of Concept Cobalt Strike Beacon Object File which uses direct system calls to enable WDigest credential caching and circumvent Creden

Outflank B.V. 192 Jun 16, 2022
A small proxy DLL which enables dev. console in Mass Effect 1, 2 and 3 (Legendary Edition).

LEBinkProxy A small proxy DLL which enables dev. console in Mass Effect 1, 2 and 3 (Legendary Edition). Usage In your game binary directory (Game\ME?\

null 10 Jan 6, 2022
A LKM rootkit targeting 4.x and 5.x kernel versions which opens a backdoor that can be used to spawn a reverse shell to a remote host and more.

Umbra Umbra (/ˈʌmbrə/) is an experimental LKM rootkit for kernels 4.x and 5.x (up to 5.7) which opens a network backdoor that spawns reverse shells to

Marcos S. Bajo 76 Jun 18, 2022
A interpreter that runs the script which is programmed in the language of FF0 script (or you can call it as Warfarin)

ff0-script A interpreter that runs the script which is programmed in the language of FF0 script (or you can call it as Warfarin) You can do it, unders

null 24 Apr 27, 2022
Whitee is a tiny compiler written in C++17, which translates SysY language into ARM-v7a assembly.

Whitee is a tiny compiler written in C++17, which translates SysY language into ARM-v7a assembly. Table of Contents Background Install Usage Ar

null 10 Jun 13, 2022
A simple YAML parser which produces a Node Tree Object representation of YAML Documents

A simple YAML parser which produces a Node Tree Object representation of YAML Documents and includes a find method to locate individual Nodes within the parsed Node Tree.

Timothy Rule 1 Oct 17, 2021
CppDyn is a library which aims to simplify use of polymorphism in C++20

Cpp Dyn Cpp-Dyn tries to improve C++ runtime polymorphism. Indeed, C++ runtime polymorphism, originally, uses inheritance and virtual methods. Sean Pa

Antoine MORRIER 14 Jun 7, 2022
This is a Header-only c++ string implentation which specializes in dealing with small strings. 🧵

string-impl This is a Header-only c++ string implentation which specializes in dealing with small strings. ?? Usage ⌨ Instantiation A string can be in

null 1 Apr 1, 2022
Thor is a DoS(slowloris) tool which can be used against a target.

Thor is a DoS(slowloris) tool which can be used against a target. It does this by continuously sending partial HTTP requests, none of which are completed.

AnonabdulJ 1 Nov 6, 2021
Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders.

?? Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders. No ads, no tracking, no data collection, no crapware.

Organic Maps 3.5k Jun 25, 2022
A d3d9 and d3d10 to d3d11 translation layer.

DXUP A D3D9 and D3D10 -> D3D11 Translation Layer Get latest build here or tagged builds here. What's the point? The main reason is for DXVK, a D3D11->

Joshie 240 Jun 20, 2022
A fork of Microsoft's D3D12 Raytracing Fallback Layer

D3D12 Raytracing Fallback Layer The D3D12 Raytracing Fallback Layer is a library that emulates the DirectX Raytracing (DXR) API on devices without nat

Phil Guo 7 Dec 15, 2021
🗺️ OMAPS.APP — Offline OpenStreetMap maps for iOS and Android. A community-driven fork of MAPS.ME.

OMaps is an open source cross-platform offline maps application, built on top of crowd-sourced OpenStreetMap data. It was publicly released for iOS and Android.

OMaps 3.5k Jun 26, 2022
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

Low Level Graphics Library (LLGL) Documentation NOTE: This repository receives bug fixes only, but no major updates. Pull requests may still be accept

Lukas Hermanns 1.4k Jun 19, 2022
SSL_SLAM2: Lightweight 3-D Localization and Mapping for Solid-State LiDAR (mapping and localization separated) ICRA 2021

SSL_SLAM2 Lightweight 3-D Localization and Mapping for Solid-State LiDAR (Intel Realsense L515 as an example) This repo is an extension work of SSL_SL

Wang Han 王晗 311 Jun 9, 2022
GnuTLS implements the TLS/SSL (Transport Layer Security aka Secure Sockets Layer) protocol

GnuTLS implements the TLS/SSL (Transport Layer Security aka Secure Sockets Layer) protocol

Jonathan Bastien-Filiatrault 3 Jun 3, 2021
NVRHI (NVIDIA Rendering Hardware Interface) is a library that implements a common abstraction layer over multiple graphics APIs

NVRHI Introduction NVRHI (NVIDIA Rendering Hardware Interface) is a library that implements a common abstraction layer over multiple graphics APIs (GA

NVIDIA GameWorks 381 Jun 19, 2022
An implementation of physically based shading & image based lighting in D3D11, D3D12, Vulkan, and OpenGL 4.

Physically Based Rendering (c) 2017 - 2018 Michał Siejak (@Nadrin) An implementation of physically based shading model & image based lighting in vario

Michał Siejak 995 Jun 10, 2022
A bunch of functions and helpers classes for D3D12, and DXGI libraries

TypedD3D A bunch of functions and helpers classes for D3D12, and DXGI libraries Namespaces Helpers A bunch of helper functions that interface more wit

Renzy Alarcon 6 Jun 17, 2022
A rendering sample that demonstrates bindless deferred texturing using D3D12

Bindless Deferred Texturing and Decals Sample This project is a D3D12 rendering sample that implements a deferred renderer using bindless deferred tex

MJP 331 Jun 27, 2022
A terminal-based graphics library for both 2D and 3D graphics.

TermGL A terminal-based graphics library for both 2D and 3D graphics. Written in C, created for terminals supporting ANSI escape codes. Table of Conte

null 200 Jun 19, 2022
F Graphics Library (FGL) is a small graphics C++ portable library for LCD displays on embedded systems

F Graphics Library (FGL) Full documentation: fgl.docsforge.com (By Filipe Chagas) F Graphics Library is a C++ library that I created for use in embedd

Filipe Chagas 8 Dec 14, 2021
kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics

kaun kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics. It is a Lua module you can require from a shared library

Joel Schumacher 4 Apr 5, 2021
GraphicsFuzz provides tools for automatically finding and simplifying bugs in graphics drivers, specifically graphics shader compilers.

GraphicsFuzz GraphicsFuzz is a set of tools for testing shader compilers GraphicsFuzz provides tools for automatically finding and simplifying bugs in

Google 499 Jun 22, 2022
This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications on Windows.

DirectX-Graphics-Samples This repo contains the DirectX 12 Graphics samples that demonstrate how to build graphics intensive applications for Windows

Microsoft 4.6k Jun 27, 2022
CSC404: Computer Graphics [CG] & CSL402: Computer Graphics Lab [CG Lab]

COMPUTER-GRAPHICS-AND-COMPUTER-GRAPHICS-LAB CSC404: CG & CSL402: CG LAB [SEMESTER IV] Syllabus CG - Reference Books THE WALL MEGA SATISH - AUTHOR CG C

AMEY THAKUR 7 Apr 28, 2022