openglonmetal / MGL

OpenGL 4.6 on Metal
Apache License 2.0
769 stars 30 forks source link

undefined 'SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT' compile error #59

Open dokipen3d opened 1 year ago

dokipen3d commented 1 year ago

Hi al, I just merged in the latest uniform changes to give them a go and I'm getting this compile error.... Haven't looked deeper, but thought I'd post in case anyone know whats up.

[  9%] Building C object CMakeFiles/mgl.dir/MGL/src/fence.c.o
[  9%] Building C object CMakeFiles/mgl.dir/MGL/src/buffers.c.o
[  9%] Building C object CMakeFiles/mgl.dir/MGL/src/compute.c.o
[ 12%] Building C object CMakeFiles/mgl.dir/MGL/src/draw_buffers.c.o
[ 15%] Building C object CMakeFiles/mgl.dir/MGL/src/error.c.o
[ 18%] Building C object CMakeFiles/mgl.dir/MGL/src/glm_context.c.o
[ 21%] Building C object CMakeFiles/mgl.dir/MGL/src/get.c.o
[ 25%] Building C object CMakeFiles/mgl.dir/MGL/src/framebuffers.c.o
[ 28%] Building C object CMakeFiles/mgl.dir/MGL/src/glm_params.c.o
[ 31%] Building C object CMakeFiles/mgl.dir/MGL/src/glm_dispatch.c.o
[ 34%] Building C object CMakeFiles/mgl.dir/MGL/src/gl_core.c.o
[ 37%] Building C object CMakeFiles/mgl.dir/MGL/src/hash_table.c.o
[ 40%] Building C object CMakeFiles/mgl.dir/MGL/src/mgl_funcs_to_be_implemented.c.o
[ 46%] Building C object CMakeFiles/mgl.dir/MGL/src/program.c.o
[ 50%] Building C object CMakeFiles/mgl.dir/MGL/src/non_core_unimplemented.c.o
[ 50%] Building C object CMakeFiles/mgl.dir/MGL/src/pixel_utils.c.o
[ 53%] Building C object CMakeFiles/mgl.dir/MGL/src/shaders.c.o
[ 56%] Building C object CMakeFiles/mgl.dir/MGL/src/state.c.o
[ 62%] Building C object CMakeFiles/mgl.dir/MGL/src/tex_param.c.o
[ 62%] Building C object CMakeFiles/mgl.dir/MGL/src/rendering.c.o
[ 65%] Building C object CMakeFiles/mgl.dir/MGL/src/samplers.c.o
[ 68%] Building C object CMakeFiles/mgl.dir/MGL/src/utils.c.o
[ 71%] Building C object CMakeFiles/mgl.dir/MGL/src/textures.c.o
[ 78%] Building C object CMakeFiles/mgl.dir/MGL/src/vertex_buffers.c.o
[ 78%] Building C object CMakeFiles/mgl.dir/MGL/src/vertex_arrays.c.o
[ 81%] Building C object CMakeFiles/mgl.dir/MGL/src/MGLRenderer.m.o
[ 84%] Building C object CMakeFiles/mgl.dir/MGL/src/MGLTextures.m.o
/Users/danielelliott/Documents/projects/MGL_dokip2/MGL/src/program.c:556:50: error: use of undeclared identifier 'SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT'; did you mean 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT'?
        count = ptr->spirv_resources_list[stage][SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT].count;
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                 SPVC_RESOURCE_TYPE_PUSH_CONSTANT
/Users/danielelliott/Documents/projects/MGL_dokip2/external/SPIRV-Cross/spirv_cross_c.h:223:2: note: 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT' declared here
        SPVC_RESOURCE_TYPE_PUSH_CONSTANT = 9,
        ^
/Users/danielelliott/Documents/projects/MGL_dokip2/MGL/src/program.c:560:64: error: use of undeclared identifier 'SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT'; did you mean 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT'?
            const char *str = ptr->spirv_resources_list[stage][SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT].list[i].name;
                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                               SPVC_RESOURCE_TYPE_PUSH_CONSTANT
/Users/danielelliott/Documents/projects/MGL_dokip2/external/SPIRV-Cross/spirv_cross_c.h:223:2: note: 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT' declared here
        SPVC_RESOURCE_TYPE_PUSH_CONSTANT = 9,
        ^
/Users/danielelliott/Documents/projects/MGL_dokip2/MGL/src/program.c:566:60: error: use of undeclared identifier 'SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT'; did you mean 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT'?
                binding = ptr->spirv_resources_list[stage][SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT].list[i].binding;
                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                           SPVC_RESOURCE_TYPE_PUSH_CONSTANT
/Users/danielelliott/Documents/projects/MGL_dokip2/external/SPIRV-Cross/spirv_cross_c.h:223:2: note: 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT' declared here
        SPVC_RESOURCE_TYPE_PUSH_CONSTANT = 9,
        ^
3 errors generated.
make[2]: *** [CMakeFiles/mgl.dir/MGL/src/program.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/Users/danielelliott/Documents/projects/MGL_dokip2/MGL/src/MGLRenderer.m:379:10: error: use of undeclared identifier 'SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT'; did you mean 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT'?
        {SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT, _UNIFORM_CONSTANT},
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         SPVC_RESOURCE_TYPE_PUSH_CONSTANT
/Users/danielelliott/Documents/projects/MGL_dokip2/external/SPIRV-Cross/spirv_cross_c.h:223:2: note: 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT' declared here
        SPVC_RESOURCE_TYPE_PUSH_CONSTANT = 9,
        ^
/Users/danielelliott/Documents/projects/MGL_dokip2/MGL/src/MGLRenderer.m:1400:14: error: use of undeclared identifier 'SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT'; did you mean 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT'?
        case SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT:
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             SPVC_RESOURCE_TYPE_PUSH_CONSTANT
/Users/danielelliott/Documents/projects/MGL_dokip2/external/SPIRV-Cross/spirv_cross_c.h:223:2: note: 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT' declared here
        SPVC_RESOURCE_TYPE_PUSH_CONSTANT = 9,
        ^
/Users/danielelliott/Documents/projects/MGL_dokip2/MGL/src/MGLRenderer.m:1426:13: error: use of undeclared identifier 'SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT'; did you mean 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT'?
       case SPVC_RESOURCE_TYPE_UNIFORM_CONSTANT:
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            SPVC_RESOURCE_TYPE_PUSH_CONSTANT
/Users/danielelliott/Documents/projects/MGL_dokip2/external/SPIRV-Cross/spirv_cross_c.h:223:2: note: 'SPVC_RESOURCE_TYPE_PUSH_CONSTANT' declared here
        SPVC_RESOURCE_TYPE_PUSH_CONSTANT = 9,
        ^
3 errors generated.
make[2]: *** [CMakeFiles/mgl.dir/MGL/src/MGLRenderer.m.o] Error 1
make[1]: *** [CMakeFiles/mgl.dir/all] Error 2
make: *** [all] Error 2
r58Playz commented 1 year ago

Remove the external SPIRV-Cross folder and run xcbuild-SPIRV-Cross.sh. (custom SPIRV-Cross was added - from here)

dokipen3d commented 1 year ago

Cool thanks, wil do :)