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
- Host: GitHub
- URL: https://github.com/aras-p/bc7e-on-gpu
- Owner: aras-p
- Created: 2020-12-16T08:00:50.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-10T13:18:34.000Z (over 5 years ago)
- Last Synced: 2026-02-18T15:57:42.716Z (5 months ago)
- Topics: bc7, compute-shader, d3d11, metal, texture-compression, vulkan
- Language: HLSL
- Homepage:
- Size: 62 MB
- Stars: 20
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
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.