These are chat archives for buddhi1980/mandelbulber2

11th
May 2017
Martin
@acidhunter
May 11 2017 10:36
hello there
is opencl included by default when building from git?
i can do some tests on archlinux and docker
Krzysztof Marczak
@buddhi1980
May 11 2017 15:46
in mandelbulber2/qmake directory there is mandelbulber-opencl.pro. This will create makefile for opencl version. When you start Mandelbulber go to preferences and enable OpenCl on GPU tab.
Sebastian Jennen
@zebastian
May 11 2017 17:20
i am having a problem with fractal.hpp, the enums are nested inside structs, like:
// basic combo
struct sFractalCombo
{
    enum combo
    {
        mode0,
        mode1,
        mode2,
        mode3,
        mode4,
        mode5,
        mode6,
        mode7,
    };
    combo modeA;
    //        combo modeB;
    //        combo modeC;
};
Krzysztof Marczak
@buddhi1980
May 11 2017 17:21
doesn't work in pure C?
Sebastian Jennen
@zebastian
May 11 2017 17:21
this does not work inside opencl:
/usr/share/mandelbulber2/opencl/../opencl/fractal_cl.h:278:2: error: type name does not allow storage class to be specified
typedef enum {
my first idea was to simply unloop this and put enums before the including struct, but we have got collisions with each other and the global namespace: acos
Krzysztof Marczak
@buddhi1980
May 11 2017 17:24
It can be done if you convert them to correct names like: enumFractalComboCombo and items cound be: FractalComboComboMode0, FractalComboComboMode1...
another example: enumFractalMagTransformsMulti_orderOfTransf, and items like enumFractalMagTransformsMulti_orderOfTransfTypeT1, enumFractalMagTransformsMulti_orderOfTransfTypeT2 ...
they are long but will be no collissions
Sebastian Jennen
@zebastian
May 11 2017 17:28
i see, thats problably the right way in the first place, and decouples the formula specific struct from the general enum types which are used cross formula
Krzysztof Marczak
@buddhi1980
May 11 2017 17:31
I think we have no other choice
Sebastian Jennen
@zebastian
May 11 2017 17:53
puh, got it
that was a lot of find and replace, if we want to change the names again, this should now be easier