widberg / bgfx.cmake

https://github.com/bkaradzic/bgfx.cmake. Independently maintained CMake build scripts for bgfx. Released under public domain.
https://github.com/bkaradzic/bgfx.cmake
Creative Commons Zero v1.0 Universal
286 stars 254 forks source link

Updating submodules #48

Closed xgalaxy closed 5 years ago

xgalaxy commented 5 years ago

Hello,

I started off trying to update to the latest versions of the submodules but there were a lot of changes to BGFX build scripts this time around.

If someone could take over this PR that would be awesome.

xgalaxy commented 5 years ago

I think the only thing left to do is figure out why shader compilation isn't working and I think (I hope) its a simple matter of fixing shaderc.cmake

But that file looks like voodoo to me.

xgalaxy commented 5 years ago

Okay it looks like to me that example 21 added bgfx_compute.sh to a couple of shaders and this is causing the build to fail.

JoshuaBrookover commented 5 years ago

If it is only the examples that fail to build, I would prefer to simply comment those out (as we've done before in examples.cmake) rather than proceed with a broken travis build.

Those examples definitely need to be fixed but bgfx compilation is most important.

xgalaxy commented 5 years ago

It all compiles. I'm getting some problems with some of the examples that do compile. Would appreciate a second set of eyes on this.

xgalaxy commented 5 years ago

I've added the scaffolding necessary for compiling compute shaders. Still getting a fcpp overflow when processing bgfx_compute.sh so the examples with compute remain commented out.

xgalaxy commented 5 years ago

The fcpp overflow issue is fixed with the missing compile defines. Unfortunately that just revealed a new error we weren't seeing :)


[ 98%] Compiling shader 21-deferred/fs_deferred_light_uav.sc for Metal, ESSL, GLSL, SPIRV
    628: struct BgfxROImage2D_rg16f { Texture2D<float2> m_texture; }; struct BgfxRWImage2D_rg16f { RWTexture2D<float2> m_texture; }; struct BgfxROImage2DArray_rg16f { Texture2DArray<float2> m_texture; }; struct BgfxRWImage2DArray_rg16f { RWTexture2DArray<float2> m_texture; }; struct BgfxROImage3D_rg16f { Texture3D<float2> m_texture; }; struct BgfxRWImage3D_rg16f { RWTexture3D<float2> m_texture; }; float4 imageLoad(BgfxROImage2D_rg16f _image, int2 _uv) { return _image.m_texture[_uv].xyyy; } int2 imageSize(BgfxROImage2D_rg16f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } float4 imageLoad(BgfxRWImage2D_rg16f _image, int2 _uv) { return _image.m_texture[_uv].xyyy; } int2 imageSize(BgfxRWImage2D_rg16f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_rg16f _image, int2 _uv, float4 _value) { _image.m_texture[_uv] = _value.xy; } float4 imageLoad(BgfxROImage2DArray_rg16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } int3 imageSize(BgfxROImage2DArray_rg16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage2DArray_rg16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } void imageStore(BgfxRWImage2DArray_rg16f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.xy; } int3 imageSize(BgfxRWImage2DArray_rg16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxROImage3D_rg16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } int3 imageSize(BgfxROImage3D_rg16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage3D_rg16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } int3 imageSize(BgfxRWImage3D_rg16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_rg16f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.xy; }
    629: struct BgfxROImage2D_rgba16f { Texture2D<float4> m_texture; }; struct BgfxRWImage2D_rgba16f { RWTexture2D<float4> m_texture; }; struct BgfxROImage2DArray_rgba16f { Texture2DArray<float4> m_texture; }; struct BgfxRWImage2DArray_rgba16f { RWTexture2DArray<float4> m_texture; }; struct BgfxROImage3D_rgba16f { Texture3D<float4> m_texture; }; struct BgfxRWImage3D_rgba16f { RWTexture3D<float4> m_texture; }; float4 imageLoad(BgfxROImage2D_rgba16f _image, int2 _uv) { return _image.m_texture[_uv].xyzw; } int2 imageSize(BgfxROImage2D_rgba16f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } float4 imageLoad(BgfxRWImage2D_rgba16f _image, int2 _uv) { return _image.m_texture[_uv].xyzw; } int2 imageSize(BgfxRWImage2D_rgba16f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_rgba16f _image, int2 _uv, float4 _value) { _image.m_texture[_uv] = _value.xyzw; } float4 imageLoad(BgfxROImage2DArray_rgba16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxROImage2DArray_rgba16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage2DArray_rgba16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } void imageStore(BgfxRWImage2DArray_rgba16f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.xyzw; } int3 imageSize(BgfxRWImage2DArray_rgba16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxROImage3D_rgba16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxROImage3D_rgba16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage3D_rgba16f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxRWImage3D_rgba16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_rgba16f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.xyzw; }
    630: struct BgfxROImage2D_r16f { Texture2D<float> m_texture; }; struct BgfxRWImage2D_r16f { RWTexture2D<float> m_texture; }; struct BgfxROImage2DArray_r16f { Texture2DArray<float> m_texture; }; struct BgfxRWImage2DArray_r16f { RWTexture2DArray<float> m_texture; }; struct BgfxROImage3D_r16f { Texture3D<float> m_texture; }; struct BgfxRWImage3D_r16f { RWTexture3D<float> m_texture; }; float4 imageLoad(BgfxROImage2D_r16f _image, int2 _uv) { return _image.m_texture[_uv].xxxx; } int2 imageSize(BgfxROImage2D_r16f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } float4 imageLoad(BgfxRWImage2D_r16f _image, int2 _uv) { return _image.m_texture[_uv].xxxx; } int2 imageSize(BgfxRWImage2D_r16f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_r16f _image, int2 _uv, float4 _value) { _image.m_texture[_uv] = _value.x; } float4 imageLoad(BgfxROImage2DArray_r16f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxROImage2DArray_r16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage2DArray_r16f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } void imageStore(BgfxRWImage2DArray_r16f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.x; } int3 imageSize(BgfxRWImage2DArray_r16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxROImage3D_r16f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxROImage3D_r16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage3D_r16f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxRWImage3D_r16f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_r16f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.x; }
    631: struct BgfxROImage2D_r32f { Texture2D<float> m_texture; }; struct BgfxRWImage2D_r32f { RWTexture2D<float> m_texture; }; struct BgfxROImage2DArray_r32f { Texture2DArray<float> m_texture; }; struct BgfxRWImage2DArray_r32f { RWTexture2DArray<float> m_texture; }; struct BgfxROImage3D_r32f { Texture3D<float> m_texture; }; struct BgfxRWImage3D_r32f { RWTexture3D<float> m_texture; }; float4 imageLoad(BgfxROImage2D_r32f _image, int2 _uv) { return _image.m_texture[_uv].xxxx; } int2 imageSize(BgfxROImage2D_r32f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } float4 imageLoad(BgfxRWImage2D_r32f _image, int2 _uv) { return _image.m_texture[_uv].xxxx; } int2 imageSize(BgfxRWImage2D_r32f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_r32f _image, int2 _uv, float4 _value) { _image.m_texture[_uv] = _value.x; } float4 imageLoad(BgfxROImage2DArray_r32f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxROImage2DArray_r32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage2DArray_r32f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } void imageStore(BgfxRWImage2DArray_r32f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.x; } int3 imageSize(BgfxRWImage2DArray_r32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxROImage3D_r32f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxROImage3D_r32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage3D_r32f _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxRWImage3D_r32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_r32f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.x; }
    632: struct BgfxROImage2D_rgba32f { Texture2D<float4> m_texture; }; struct BgfxRWImage2D_rgba32f { RWTexture2D<float4> m_texture; }; struct BgfxROImage2DArray_rgba32f { Texture2DArray<float4> m_texture; }; struct BgfxRWImage2DArray_rgba32f { RWTexture2DArray<float4> m_texture; }; struct BgfxROImage3D_rgba32f { Texture3D<float4> m_texture; }; struct BgfxRWImage3D_rgba32f { RWTexture3D<float4> m_texture; }; float4 imageLoad(BgfxROImage2D_rgba32f _image, int2 _uv) { return _image.m_texture[_uv].xyzw; } int2 imageSize(BgfxROImage2D_rgba32f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } float4 imageLoad(BgfxRWImage2D_rgba32f _image, int2 _uv) { return _image.m_texture[_uv].xyzw; } int2 imageSize(BgfxRWImage2D_rgba32f _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_rgba32f _image, int2 _uv, float4 _value) { _image.m_texture[_uv] = _value.xyzw; } float4 imageLoad(BgfxROImage2DArray_rgba32f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxROImage2DArray_rgba32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage2DArray_rgba32f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } void imageStore(BgfxRWImage2DArray_rgba32f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.xyzw; } int3 imageSize(BgfxRWImage2DArray_rgba32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxROImage3D_rgba32f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxROImage3D_rgba32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } float4 imageLoad(BgfxRWImage3D_rgba32f _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxRWImage3D_rgba32f _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_rgba32f _image, int3 _uvw, float4 _value) { _image.m_texture[_uvw] = _value.xyzw; }
    633: struct BgfxROImage2D_r32ui { Texture2D<uint> m_texture; }; struct BgfxRWImage2D_r32ui { RWTexture2D<uint> m_texture; }; struct BgfxROImage2DArray_r32ui { Texture2DArray<uint> m_texture; }; struct BgfxRWImage2DArray_r32ui { RWTexture2DArray<uint> m_texture; }; struct BgfxROImage3D_r32ui { Texture3D<uint> m_texture; }; struct BgfxRWImage3D_r32ui { RWTexture3D<uint> m_texture; }; uint4 imageLoad(BgfxROImage2D_r32ui _image, int2 _uv) { return _image.m_texture[_uv].xxxx; } int2 imageSize(BgfxROImage2D_r32ui _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } uint4 imageLoad(BgfxRWImage2D_r32ui _image, int2 _uv) { return _image.m_texture[_uv].xxxx; } int2 imageSize(BgfxRWImage2D_r32ui _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_r32ui _image, int2 _uv, uint4 _value) { _image.m_texture[_uv] = _value.x; } uint4 imageLoad(BgfxROImage2DArray_r32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxROImage2DArray_r32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxRWImage2DArray_r32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } void imageStore(BgfxRWImage2DArray_r32ui _image, int3 _uvw, uint4 _value) { _image.m_texture[_uvw] = _value.x; } int3 imageSize(BgfxRWImage2DArray_r32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxROImage3D_r32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxROImage3D_r32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxRWImage3D_r32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xxxx; } int3 imageSize(BgfxRWImage3D_r32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_r32ui _image, int3 _uvw, uint4 _value) { _image.m_texture[_uvw] = _value.x; }
    634: struct BgfxROImage2D_rg32ui { Texture2D<uint2> m_texture; }; struct BgfxRWImage2D_rg32ui { RWTexture2D<uint2> m_texture; }; struct BgfxROImage2DArray_rg32ui { Texture2DArray<uint2> m_texture; }; struct BgfxRWImage2DArray_rg32ui { RWTexture2DArray<uint2> m_texture; }; struct BgfxROImage3D_rg32ui { Texture3D<uint2> m_texture; }; struct BgfxRWImage3D_rg32ui { RWTexture3D<uint2> m_texture; }; uint4 imageLoad(BgfxROImage2D_rg32ui _image, int2 _uv) { return _image.m_texture[_uv].xyyy; } int2 imageSize(BgfxROImage2D_rg32ui _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } uint4 imageLoad(BgfxRWImage2D_rg32ui _image, int2 _uv) { return _image.m_texture[_uv].xyyy; } int2 imageSize(BgfxRWImage2D_rg32ui _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_rg32ui _image, int2 _uv, uint4 _value) { _image.m_texture[_uv] = _value.xy; } uint4 imageLoad(BgfxROImage2DArray_rg32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } int3 imageSize(BgfxROImage2DArray_rg32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxRWImage2DArray_rg32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } void imageStore(BgfxRWImage2DArray_rg32ui _image, int3 _uvw, uint4 _value) { _image.m_texture[_uvw] = _value.xy; } int3 imageSize(BgfxRWImage2DArray_rg32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxROImage3D_rg32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } int3 imageSize(BgfxROImage3D_rg32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxRWImage3D_rg32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyyy; } int3 imageSize(BgfxRWImage3D_rg32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_rg32ui _image, int3 _uvw, uint4 _value) { _image.m_texture[_uvw] = _value.xy; }
    635: struct BgfxROImage2D_rgba32ui { Texture2D<uint4> m_texture; }; struct BgfxRWImage2D_rgba32ui { RWTexture2D<uint4> m_texture; }; struct BgfxROImage2DArray_rgba32ui { Texture2DArray<uint4> m_texture; }; struct BgfxRWImage2DArray_rgba32ui { RWTexture2DArray<uint4> m_texture; }; struct BgfxROImage3D_rgba32ui { Texture3D<uint4> m_texture; }; struct BgfxRWImage3D_rgba32ui { RWTexture3D<uint4> m_texture; }; uint4 imageLoad(BgfxROImage2D_rgba32ui _image, int2 _uv) { return _image.m_texture[_uv].xyzw; } int2 imageSize(BgfxROImage2D_rgba32ui _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } uint4 imageLoad(BgfxRWImage2D_rgba32ui _image, int2 _uv) { return _image.m_texture[_uv].xyzw; } int2 imageSize(BgfxRWImage2D_rgba32ui _image) { uint2 result; _image.m_texture.GetDimensions(result.x, result.y); return int2(result); } void imageStore(BgfxRWImage2D_rgba32ui _image, int2 _uv, uint4 _value) { _image.m_texture[_uv] = _value.xyzw; } uint4 imageLoad(BgfxROImage2DArray_rgba32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxROImage2DArray_rgba32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxRWImage2DArray_rgba32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } void imageStore(BgfxRWImage2DArray_rgba32ui _image, int3 _uvw, uint4 _value) { _image.m_texture[_uvw] = _value.xyzw; } int3 imageSize(BgfxRWImage2DArray_rgba32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxROImage3D_rgba32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxROImage3D_rgba32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } uint4 imageLoad(BgfxRWImage3D_rgba32ui _image, int3 _uvw) { return _image.m_texture[_uvw].xyzw; } int3 imageSize(BgfxRWImage3D_rgba32ui _image) { uint3 result; _image.m_texture.GetDimensions(result.x, result.y, result.z); return int3(result); } void imageStore(BgfxRWImage3D_rgba32ui _image, int3 _uvw, uint4 _value) { _image.m_texture[_uvw] = _value.xyzw; }
    636: void imageAtomicAdd(BgfxRWImage2D_r32ui _image, int2 _uv, uint4 _value) { InterlockedAdd(_image.m_texture[_uv], _value.x); }
    637: RWTexture2D<float4> s_lightTexture : register(u__UAV_REG_0); static BgfxRWImage2D_rgba8 s_light = { s_lightTexture };

>>> 638: void main( float4 gl_FragCoord : SV_POSITION , float2 v_texcoord0 : TEXCOORD0 )
>>>   0: ^

    639: {
    640: float4 bgfx_VoidFrag = vec4_splat(0.0);
    641: int2 coord = int2(gl_FragCoord.xy);
    642: imageStore(s_light, coord, float4(0.0, 0.0, 0.0, 0.0));
    643: }
---
ERROR: 0:637: 'register' : expected register number after register type 
ERROR: 1 compilation errors.  No code generated.```
JoshuaBrookover commented 5 years ago

Thanks for the changes. I haven't had an opportunity to look over them yet, but I will try to do that soon.

JoshuaBrookover commented 5 years ago

Thanks, sorry for the delay. I think I'll have to use bgfx's regular build system again at some point to get familiarized with how things work these days to fix these examples. Managed to luck out so far, minus a few examples breaking, but crossing my fingers that things don't break is becoming an unsustainable solution.