Originally the symbol would just not be defined.
Now we keep the original import error context and re-raise it if we're
asked to instanciate the block. This should give the user better
visibility on what's wrong.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
It seems that some linux distro ship OpenCL 1.2 headers but a OpenCL 1.1
ICD ...
So we just use OpenCL 1.1 API everywhere and disable 1.1 deprecated
warnings.
OSX OTOH doesn't allow to disable the deprecated but at least ships
consistent headers/ICD so we use 1.2 is available.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
You'd don't have to have glfw, qt and wx all at once, you can select
which variant you want built.
Python support is also make fully optional
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
It's split into:
- A generic "base" sink that handles pretty much everything except
managing a GL context and getting the UI interaction for it
- The GLFW specific part
This is preparation for for WX and QT widget implementations of a
fosphor sink.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
The whole version stuff is a bit screwed up and we probably want to fix
it eventually but for the time being I don't care enough to bother with
this.
Just always use the GIT of everyting and it should compile ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
I originally thought that even with multiple fosphor instance, the shaders
could just be shared. But if those instances are binded to different
GL Contexts, shaders aren't shared and so need to be recreated.
So all the gl_cmap shader stuff is now stored inside a fosphor_gl_cmap_ctx
struct and the latter is stored in fosphor_gl_state
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Since all the cmap stuff is fosphor-specific and can't be really
reused, use the fosphor_ prefix for stuff exposed outside gl_cmap.c
itself.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Basically need to :
- Set the kernel parameter at each kernel invocation
- Modify the kernel to deal with wrap-around when writing the
waterfall texture
The batch size still must meet some constraint :
- Be a multiple of FOSPHOR_FFT_MULT_BATCH
- Be less than FOSPHOR_FFT_MAX_BATCH
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Apparently there are some cards that are neither Nvidia SM1.1, nor
OpenCL 1.1 but that do have cl_khr_local_int32_base_atomics extension.
This is enough for fosphor to implement the histogram so add the
required code to test for it and enable its use in the kernel if
required.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
The .pc has several libraries listed but the current cmake module for
it only takes gnuradio-runtime.
The new logic takes all libraries in the .pc and only fallsback to only
gnuradio-runtime if no .pc is found
This seems required for OSX.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
OSX doesn't allow query of NV attributes even on NVidia cards so we just
assume any non-opencl 1.1 nvidia card that does OpenCL is a SM1.1 one.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>