-
Notifications
You must be signed in to change notification settings - Fork 253
Description
Hi,
now that Intel OpenCL development is open sourced for all platforms with some effort everyone can implement what they want on top of it.. but anyway I'm requesting for an extension that surprises me hasn't been exposed yet by almost any vendors..
I'm meaning the support for OpenCL kernel to read from compressed textures (images in OpenCL speaking).. I mean textures compressed with texture formats like ASTC,DXTx,BPTC,etc supported by the GPU supporting OpenCL.. note that functionality is supported by all hardware already as OpenGL/OpenGL ES/DirectX compute shaders already allow reading from such textures AFAIK.. still troubles me by Khronos or any vendors expose it in OpenCL.. seems Qualcomm is the only one with cl_qcom_compressed_image altough can't find info on that extension and doesn't seem published by the name seems clear that supports compressed textures and of course must be read_only as writing to compressed textures from compute shaders/OpenCL kernels seems very difficult to support in HW and seems there is no big reason to support it..
of course reading from compressed textures in CL kernels has it's uses.. I'm thinking of custom render pipelines/rasterizers or raytracers implemented with OpenCL kernels.. if we want to use same assets (stored efficiently with compressed textures) as with current GPU pipeline on this novel/hybrid pipelines we need this functionality..
Projects like these were tested with some success years ago:
http://research.nvidia.com/publication/high-performance-software-rasterization-gpus
altough in CUDA and remember seeing in the paper noting as current limitations/future work that compute APIs like CUDA didn't expose compressed texture at the time.. AFAIK it hasn't changed still altough this limitation was pointed by his own Nvidia researchers..
also for example AMD has
https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRender-Baikal
https://github.com/GPUOpen-LibrariesAndSDKs/RadeonRays_SDK
projects which are raytracers on OpenCL and show complex scenes but of course this scenes can't use compressed textures because OpenCL doesn't allow it as if were going to be rendered natively on GPU graphics APIs..
what do you think?