An open API service indexing awesome lists of open source software.

https://github.com/aras-p/bc7e-on-gpu

An attempt to port BC7E texture compressor to a GPU compute shader
https://github.com/aras-p/bc7e-on-gpu

bc7 compute-shader d3d11 metal texture-compression vulkan

Last synced: 4 months ago
JSON representation

An attempt to port BC7E texture compressor to a GPU compute shader

Awesome Lists containing this project

README

          

# bc7e-on-gpu

An experiment at trying to port Binomial's **BC7E** texture compressor (https://github.com/BinomialLLC/bc7e) to a GPU compute shader.

Currently it does nothing good, just resulted in some twitter rants :)

* Thread 1: initial Metal attempts https://twitter.com/aras_p/status/1340731771659423744
* Thread 2: initial DX11/HLSL fxc attempts https://twitter.com/aras_p/status/1341712976756281345
* Thread 3: initial Vulkan/HLSL (dxc/glslang) attempts https://twitter.com/aras_p/status/1342920648897785856
* Thread 4: back to Metal, make it not terrible https://twitter.com/aras_p/status/1344341238217113601
* TODO!

Current state (2021 Jan):

* Metal supports "ultrafast", "veryfast", "fast" and "basic" quality modes, produces identical results to CPU ISPC code, runs slightly faster than CPU code (except for "ultrafast" mode where CPU is faster).
* DX11 & Vulkan support "ultrafast", "veryfast" and "fast" quality modes, does *not* produce idential results as CPU ISPC code, runs slightly (DX11) or a lot (Vulkan) slower than CPU.

I suspect in order to get this into a decent state on the GPU it needs way more reshuffling to improve GPU occupancy, etc. etc.