From a33f305ac253317188f4fe1645408cbc39ff4dc8 Mon Sep 17 00:00:00 2001 From: Lee Kerley Date: Thu, 3 Jul 2025 09:53:55 -0700 Subject: [PATCH 1/3] Reorganize the data library. Consolidating target specific implementation files under the "targets" folder. Introduce heuristic to emitLibraryInclude() to re-interpret an "old" style data library file path as its equivalent "new" style location. --- .../genglsl/lights}/lights_genglsl_impl.mtlx | 0 .../genglsl/lights}/mx_directional_light.glsl | 0 .../genglsl/lights}/mx_point_light.glsl | 0 .../genglsl/lights}/mx_spot_light.glsl | 0 .../genglsl/nprlib}/nprlib_genglsl_impl.mtlx | 0 .../genglsl/pbrlib}/lib/mx_closure_type.glsl | 0 .../pbrlib}/lib/mx_environment_fis.glsl | 0 .../pbrlib}/lib/mx_environment_none.glsl | 0 .../pbrlib}/lib/mx_environment_prefilter.glsl | 0 .../pbrlib}/lib/mx_generate_albedo_table.glsl | 0 .../lib/mx_generate_prefilter_env.glsl | 0 .../genglsl/pbrlib}/lib/mx_microfacet.glsl | 0 .../pbrlib}/lib/mx_microfacet_diffuse.glsl | 0 .../pbrlib}/lib/mx_microfacet_sheen.glsl | 0 .../pbrlib}/lib/mx_microfacet_specular.glsl | 0 .../genglsl/pbrlib}/lib/mx_shadow.glsl | 0 .../pbrlib}/lib/mx_transmission_opacity.glsl | 0 .../pbrlib}/lib/mx_transmission_refract.glsl | 0 .../genglsl/pbrlib}/mx_add_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_add_edf.glsl | 0 .../genglsl/pbrlib}/mx_anisotropic_vdf.glsl | 0 .../genglsl/pbrlib}/mx_artistic_ior.glsl | 0 .../genglsl/pbrlib}/mx_blackbody.glsl | 0 .../pbrlib}/mx_burley_diffuse_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_chiang_hair_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_conductor_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_dielectric_bsdf.glsl | 0 .../pbrlib}/mx_displacement_float.glsl | 0 .../pbrlib}/mx_displacement_vector3.glsl | 0 .../pbrlib}/mx_generalized_schlick_bsdf.glsl | 0 .../pbrlib}/mx_generalized_schlick_edf.glsl | 0 .../genglsl/pbrlib}/mx_layer_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_layer_vdf.glsl | 0 .../genglsl/pbrlib}/mx_mix_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_mix_edf.glsl | 0 .../pbrlib}/mx_multiply_bsdf_color3.glsl | 0 .../pbrlib}/mx_multiply_bsdf_float.glsl | 0 .../pbrlib}/mx_multiply_edf_color3.glsl | 0 .../pbrlib}/mx_multiply_edf_float.glsl | 0 .../pbrlib}/mx_oren_nayar_diffuse_bsdf.glsl | 0 .../pbrlib}/mx_roughness_anisotropy.glsl | 0 .../genglsl/pbrlib}/mx_roughness_dual.glsl | 0 .../genglsl/pbrlib}/mx_sheen_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_subsurface_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_translucent_bsdf.glsl | 0 .../genglsl/pbrlib}/mx_uniform_edf.glsl | 0 .../genglsl/pbrlib}/pbrlib_genglsl_impl.mtlx | 0 .../genglsl/stdlib}/lib/mx_geometry.glsl | 0 .../genglsl/stdlib}/lib/mx_hextile.glsl | 0 .../genglsl/stdlib}/lib/mx_hsv.glsl | 0 .../genglsl/stdlib}/lib/mx_math.glsl | 0 .../genglsl/stdlib}/lib/mx_noise.glsl | 0 .../genglsl/stdlib}/lib/mx_transform_uv.glsl | 0 .../stdlib}/lib/mx_transform_uv_vflip.glsl | 0 .../genglsl/stdlib}/mx_aastep.glsl | 0 .../genglsl/stdlib}/mx_burn_color3.glsl | 0 .../genglsl/stdlib}/mx_burn_color4.glsl | 0 .../genglsl/stdlib}/mx_burn_float.glsl | 0 .../genglsl/stdlib}/mx_cellnoise2d_float.glsl | 0 .../genglsl/stdlib}/mx_cellnoise3d_float.glsl | 0 .../mx_creatematrix_vector3_matrix33.glsl | 0 .../mx_creatematrix_vector3_matrix44.glsl | 0 .../mx_creatematrix_vector4_matrix44.glsl | 0 .../stdlib}/mx_disjointover_color4.glsl | 0 .../genglsl/stdlib}/mx_dodge_color3.glsl | 0 .../genglsl/stdlib}/mx_dodge_color4.glsl | 0 .../genglsl/stdlib}/mx_dodge_float.glsl | 0 .../genglsl/stdlib}/mx_fractal2d_float.glsl | 0 .../genglsl/stdlib}/mx_fractal2d_vector2.glsl | 0 .../genglsl/stdlib}/mx_fractal2d_vector3.glsl | 0 .../genglsl/stdlib}/mx_fractal2d_vector4.glsl | 0 .../genglsl/stdlib}/mx_fractal3d_float.glsl | 0 .../genglsl/stdlib}/mx_fractal3d_vector2.glsl | 0 .../genglsl/stdlib}/mx_fractal3d_vector3.glsl | 0 .../genglsl/stdlib}/mx_fractal3d_vector4.glsl | 0 .../stdlib}/mx_heighttonormal_vector3.glsl | 0 .../genglsl/stdlib}/mx_hextiledimage.glsl | 0 .../genglsl/stdlib}/mx_hextilednormalmap.glsl | 0 .../genglsl/stdlib}/mx_hsvtorgb_color3.glsl | 0 .../genglsl/stdlib}/mx_hsvtorgb_color4.glsl | 0 .../genglsl/stdlib}/mx_image_color3.glsl | 0 .../genglsl/stdlib}/mx_image_color4.glsl | 0 .../genglsl/stdlib}/mx_image_float.glsl | 0 .../genglsl/stdlib}/mx_image_vector2.glsl | 0 .../genglsl/stdlib}/mx_image_vector3.glsl | 0 .../genglsl/stdlib}/mx_image_vector4.glsl | 0 .../genglsl/stdlib}/mx_luminance_color3.glsl | 0 .../genglsl/stdlib}/mx_luminance_color4.glsl | 0 .../genglsl/stdlib}/mx_mix_surfaceshader.glsl | 0 .../genglsl/stdlib}/mx_noise2d_float.glsl | 0 .../genglsl/stdlib}/mx_noise2d_vector2.glsl | 0 .../genglsl/stdlib}/mx_noise2d_vector3.glsl | 0 .../genglsl/stdlib}/mx_noise2d_vector4.glsl | 0 .../genglsl/stdlib}/mx_noise3d_float.glsl | 0 .../genglsl/stdlib}/mx_noise3d_vector2.glsl | 0 .../genglsl/stdlib}/mx_noise3d_vector3.glsl | 0 .../genglsl/stdlib}/mx_noise3d_vector4.glsl | 0 .../genglsl/stdlib}/mx_normalmap.glsl | 0 .../genglsl/stdlib}/mx_premult_color4.glsl | 0 .../genglsl/stdlib}/mx_ramplr_float.glsl | 0 .../genglsl/stdlib}/mx_ramplr_vector2.glsl | 0 .../genglsl/stdlib}/mx_ramplr_vector3.glsl | 0 .../genglsl/stdlib}/mx_ramplr_vector4.glsl | 0 .../genglsl/stdlib}/mx_ramptb_float.glsl | 0 .../genglsl/stdlib}/mx_ramptb_vector2.glsl | 0 .../genglsl/stdlib}/mx_ramptb_vector3.glsl | 0 .../genglsl/stdlib}/mx_ramptb_vector4.glsl | 0 .../genglsl/stdlib}/mx_rgbtohsv_color3.glsl | 0 .../genglsl/stdlib}/mx_rgbtohsv_color4.glsl | 0 .../genglsl/stdlib}/mx_rotate_vector2.glsl | 0 .../genglsl/stdlib}/mx_rotate_vector3.glsl | 0 .../genglsl/stdlib}/mx_smoothstep_float.glsl | 0 .../genglsl/stdlib}/mx_splitlr_float.glsl | 0 .../genglsl/stdlib}/mx_splitlr_vector2.glsl | 0 .../genglsl/stdlib}/mx_splitlr_vector3.glsl | 0 .../genglsl/stdlib}/mx_splitlr_vector4.glsl | 0 .../genglsl/stdlib}/mx_splittb_float.glsl | 0 .../genglsl/stdlib}/mx_splittb_vector2.glsl | 0 .../genglsl/stdlib}/mx_splittb_vector3.glsl | 0 .../genglsl/stdlib}/mx_splittb_vector4.glsl | 0 .../genglsl/stdlib}/mx_surface_unlit.glsl | 0 .../stdlib}/mx_transformmatrix_vector2M3.glsl | 0 .../stdlib}/mx_transformmatrix_vector3M4.glsl | 0 .../genglsl/stdlib}/mx_unpremult_color4.glsl | 0 .../stdlib}/mx_worleynoise2d_float.glsl | 0 .../stdlib}/mx_worleynoise2d_vector2.glsl | 0 .../stdlib}/mx_worleynoise2d_vector3.glsl | 0 .../stdlib}/mx_worleynoise3d_float.glsl | 0 .../stdlib}/mx_worleynoise3d_vector2.glsl | 0 .../stdlib}/mx_worleynoise3d_vector3.glsl | 0 .../genglsl/stdlib}/stdlib_genglsl_impl.mtlx | 0 .../genmdl/nprlib}/nprlib_genmdl_impl.mtlx | 0 .../genmdl/pbrlib}/pbrlib_genmdl_impl.mtlx | 0 .../genmdl/stdlib}/stdlib_genmdl_impl.mtlx | 0 .../genmsl/lights}/lights_genmsl_impl.mtlx | 0 .../genmsl/lights}/mx_directional_light.metal | 0 .../genmsl/lights}/mx_point_light.metal | 0 .../genmsl/lights}/mx_spot_light.metal | 0 .../genmsl/nprlib}/nprlib_genmsl_impl.mtlx | 0 .../genmsl/pbrlib}/pbrlib_genmsl_impl.mtlx | 0 .../genmsl/stdlib}/lib/mx_math.metal | 0 .../stdlib}/lib/mx_matscalaroperators.metal | 0 .../genmsl/stdlib}/lib/mx_texture.metal | 0 .../genmsl/stdlib}/stdlib_genmsl_impl.mtlx | 12 ++++---- .../genosl/nprlib}/nprlib_genosl_impl.mtlx | 0 .../genosl/pbrlib}/lib/mx_microfacet.osl | 0 .../genosl/pbrlib}/mx_anisotropic_vdf.osl | 0 .../genosl/pbrlib}/mx_artistic_ior.osl | 0 .../genosl/pbrlib}/mx_blackbody.osl | 0 .../genosl/pbrlib}/mx_chiang_hair_bsdf.osl | 0 .../pbrlib}/mx_chiang_hair_roughness.osl | 0 .../genosl/pbrlib}/mx_dielectric_bsdf.osl | 0 .../pbrlib}/mx_generalized_schlick_bsdf.osl | 0 .../pbrlib}/mx_generalized_schlick_edf.osl | 0 .../pbrlib}/mx_roughness_anisotropy.osl | 0 .../genosl/pbrlib}/mx_roughness_dual.osl | 0 .../genosl/pbrlib}/mx_subsurface_bsdf.osl | 0 .../genosl/pbrlib}/mx_surface.osl | 0 .../genosl/pbrlib}/pbrlib_genosl_impl.mtlx | 0 .../genosl/stdlib}/include/color4.h | 0 .../genosl/stdlib}/include/matrix33.h | 0 .../genosl/stdlib}/include/mx_funcs.h | 0 .../genosl/stdlib}/include/vector2.h | 0 .../genosl/stdlib}/include/vector4.h | 0 .../genosl/stdlib}/lib/mx_transform_uv.osl | 0 .../stdlib}/lib/mx_transform_uv_vflip.osl | 0 .../genosl/stdlib}/lib/vector4_extra_ops.osl | 0 .../genosl/stdlib}/mx_burn_color3.osl | 0 .../genosl/stdlib}/mx_burn_color4.osl | 0 .../genosl/stdlib}/mx_burn_float.osl | 0 .../genosl/stdlib}/mx_cellnoise2d_float.osl | 0 .../genosl/stdlib}/mx_cellnoise3d_float.osl | 0 .../genosl/stdlib}/mx_creatematrix.osl | 0 .../genosl/stdlib}/mx_disjointover_color4.osl | 0 .../genosl/stdlib}/mx_dodge_color3.osl | 0 .../genosl/stdlib}/mx_dodge_color4.osl | 0 .../genosl/stdlib}/mx_dodge_float.osl | 0 .../genosl/stdlib}/mx_fractal2d_float.osl | 0 .../genosl/stdlib}/mx_fractal2d_vector2.osl | 0 .../genosl/stdlib}/mx_fractal2d_vector3.osl | 0 .../genosl/stdlib}/mx_fractal2d_vector4.osl | 0 .../genosl/stdlib}/mx_fractal3d_float.osl | 0 .../genosl/stdlib}/mx_fractal3d_vector2.osl | 0 .../genosl/stdlib}/mx_fractal3d_vector3.osl | 0 .../genosl/stdlib}/mx_fractal3d_vector4.osl | 0 .../genosl/stdlib}/mx_frame_float.osl | 0 .../genosl/stdlib}/mx_geomcolor_color3.osl | 0 .../genosl/stdlib}/mx_geomcolor_color4.osl | 0 .../genosl/stdlib}/mx_geomcolor_float.osl | 0 .../stdlib}/mx_geompropvalue_boolean.osl | 0 .../stdlib}/mx_geompropvalue_color3.osl | 0 .../stdlib}/mx_geompropvalue_color4.osl | 0 .../genosl/stdlib}/mx_geompropvalue_float.osl | 0 .../stdlib}/mx_geompropvalue_integer.osl | 0 .../stdlib}/mx_geompropvalue_string.osl | 0 .../stdlib}/mx_geompropvalue_vector2.osl | 0 .../stdlib}/mx_geompropvalue_vector3.osl | 0 .../stdlib}/mx_geompropvalue_vector4.osl | 0 .../stdlib}/mx_heighttonormal_vector3.osl | 0 .../genosl/stdlib}/mx_hsvtorgb_color3.osl | 0 .../genosl/stdlib}/mx_hsvtorgb_color4.osl | 0 .../genosl/stdlib}/mx_image_color3.osl | 0 .../genosl/stdlib}/mx_image_color4.osl | 0 .../genosl/stdlib}/mx_image_float.osl | 0 .../genosl/stdlib}/mx_image_vector2.osl | 0 .../genosl/stdlib}/mx_image_vector3.osl | 0 .../genosl/stdlib}/mx_image_vector4.osl | 0 .../genosl/stdlib}/mx_luminance_color3.osl | 0 .../genosl/stdlib}/mx_luminance_color4.osl | 0 .../genosl/stdlib}/mx_mix_surfaceshader.osl | 0 .../genosl/stdlib}/mx_noise2d_float.osl | 0 .../genosl/stdlib}/mx_noise2d_vector2.osl | 0 .../genosl/stdlib}/mx_noise2d_vector3.osl | 0 .../genosl/stdlib}/mx_noise2d_vector4.osl | 0 .../genosl/stdlib}/mx_noise3d_float.osl | 0 .../genosl/stdlib}/mx_noise3d_vector2.osl | 0 .../genosl/stdlib}/mx_noise3d_vector3.osl | 0 .../genosl/stdlib}/mx_noise3d_vector4.osl | 0 .../genosl/stdlib}/mx_normalmap.osl | 0 .../genosl/stdlib}/mx_premult_color4.osl | 0 .../genosl/stdlib}/mx_rgbtohsv_color3.osl | 0 .../genosl/stdlib}/mx_rgbtohsv_color4.osl | 0 .../genosl/stdlib}/mx_rotate_vector2.osl | 0 .../genosl/stdlib}/mx_rotate_vector3.osl | 0 .../genosl/stdlib}/mx_surface_unlit.osl | 0 .../genosl/stdlib}/mx_surfacematerial.osl | 0 .../genosl/stdlib}/mx_time_float.osl | 0 .../stdlib}/mx_transformmatrix_vector2M3.osl | 0 .../genosl/stdlib}/mx_unpremult_color4.osl | 0 .../genosl/stdlib}/mx_worleynoise2d_float.osl | 0 .../stdlib}/mx_worleynoise2d_vector2.osl | 0 .../stdlib}/mx_worleynoise2d_vector3.osl | 0 .../genosl/stdlib}/mx_worleynoise3d_float.osl | 0 .../stdlib}/mx_worleynoise3d_vector2.osl | 0 .../stdlib}/mx_worleynoise3d_vector3.osl | 0 .../genosl/stdlib}/stdlib_genosl_impl.mtlx | 0 source/MaterialXGenShader/GenContext.h | 5 +++- .../Nodes/SourceCodeNode.cpp | 4 +++ source/MaterialXGenShader/ShaderGenerator.cpp | 29 +++++++++++++++++++ source/MaterialXGenShader/ShaderGenerator.h | 2 +- .../MaterialXRender/RenderUtil.cpp | 2 +- .../MaterialXRenderOsl/GenReference.cpp | 2 +- 242 files changed, 46 insertions(+), 10 deletions(-) rename libraries/{lights/genglsl => targets/genglsl/lights}/lights_genglsl_impl.mtlx (100%) rename libraries/{lights/genglsl => targets/genglsl/lights}/mx_directional_light.glsl (100%) rename libraries/{lights/genglsl => targets/genglsl/lights}/mx_point_light.glsl (100%) rename libraries/{lights/genglsl => targets/genglsl/lights}/mx_spot_light.glsl (100%) rename libraries/{nprlib/genglsl => targets/genglsl/nprlib}/nprlib_genglsl_impl.mtlx (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_closure_type.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_environment_fis.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_environment_none.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_environment_prefilter.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_generate_albedo_table.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_generate_prefilter_env.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_microfacet.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_microfacet_diffuse.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_microfacet_sheen.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_microfacet_specular.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_shadow.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_transmission_opacity.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/lib/mx_transmission_refract.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_add_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_add_edf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_anisotropic_vdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_artistic_ior.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_blackbody.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_burley_diffuse_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_chiang_hair_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_conductor_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_dielectric_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_displacement_float.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_displacement_vector3.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_generalized_schlick_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_generalized_schlick_edf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_layer_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_layer_vdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_mix_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_mix_edf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_multiply_bsdf_color3.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_multiply_bsdf_float.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_multiply_edf_color3.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_multiply_edf_float.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_oren_nayar_diffuse_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_roughness_anisotropy.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_roughness_dual.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_sheen_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_subsurface_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_translucent_bsdf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/mx_uniform_edf.glsl (100%) rename libraries/{pbrlib/genglsl => targets/genglsl/pbrlib}/pbrlib_genglsl_impl.mtlx (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/lib/mx_geometry.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/lib/mx_hextile.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/lib/mx_hsv.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/lib/mx_math.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/lib/mx_noise.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/lib/mx_transform_uv.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/lib/mx_transform_uv_vflip.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_aastep.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_burn_color3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_burn_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_burn_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_cellnoise2d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_cellnoise3d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_creatematrix_vector3_matrix33.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_creatematrix_vector3_matrix44.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_creatematrix_vector4_matrix44.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_disjointover_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_dodge_color3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_dodge_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_dodge_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal2d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal2d_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal2d_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal2d_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal3d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal3d_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal3d_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_fractal3d_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_heighttonormal_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_hextiledimage.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_hextilednormalmap.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_hsvtorgb_color3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_hsvtorgb_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_image_color3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_image_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_image_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_image_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_image_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_image_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_luminance_color3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_luminance_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_mix_surfaceshader.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise2d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise2d_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise2d_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise2d_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise3d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise3d_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise3d_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_noise3d_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_normalmap.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_premult_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramplr_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramplr_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramplr_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramplr_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramptb_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramptb_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramptb_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_ramptb_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_rgbtohsv_color3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_rgbtohsv_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_rotate_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_rotate_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_smoothstep_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splitlr_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splitlr_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splitlr_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splitlr_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splittb_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splittb_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splittb_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_splittb_vector4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_surface_unlit.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_transformmatrix_vector2M3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_transformmatrix_vector3M4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_unpremult_color4.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_worleynoise2d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_worleynoise2d_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_worleynoise2d_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_worleynoise3d_float.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_worleynoise3d_vector2.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/mx_worleynoise3d_vector3.glsl (100%) rename libraries/{stdlib/genglsl => targets/genglsl/stdlib}/stdlib_genglsl_impl.mtlx (100%) rename libraries/{nprlib/genmdl => targets/genmdl/nprlib}/nprlib_genmdl_impl.mtlx (100%) rename libraries/{pbrlib/genmdl => targets/genmdl/pbrlib}/pbrlib_genmdl_impl.mtlx (100%) rename libraries/{stdlib/genmdl => targets/genmdl/stdlib}/stdlib_genmdl_impl.mtlx (100%) rename libraries/{lights/genmsl => targets/genmsl/lights}/lights_genmsl_impl.mtlx (100%) rename libraries/{lights/genmsl => targets/genmsl/lights}/mx_directional_light.metal (100%) rename libraries/{lights/genmsl => targets/genmsl/lights}/mx_point_light.metal (100%) rename libraries/{lights/genmsl => targets/genmsl/lights}/mx_spot_light.metal (100%) rename libraries/{nprlib/genmsl => targets/genmsl/nprlib}/nprlib_genmsl_impl.mtlx (100%) rename libraries/{pbrlib/genmsl => targets/genmsl/pbrlib}/pbrlib_genmsl_impl.mtlx (100%) rename libraries/{stdlib/genmsl => targets/genmsl/stdlib}/lib/mx_math.metal (100%) rename libraries/{stdlib/genmsl => targets/genmsl/stdlib}/lib/mx_matscalaroperators.metal (100%) rename libraries/{stdlib/genmsl => targets/genmsl/stdlib}/lib/mx_texture.metal (100%) rename libraries/{stdlib/genmsl => targets/genmsl/stdlib}/stdlib_genmsl_impl.mtlx (93%) rename libraries/{nprlib/genosl => targets/genosl/nprlib}/nprlib_genosl_impl.mtlx (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/lib/mx_microfacet.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_anisotropic_vdf.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_artistic_ior.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_blackbody.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_chiang_hair_bsdf.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_chiang_hair_roughness.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_dielectric_bsdf.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_generalized_schlick_bsdf.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_generalized_schlick_edf.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_roughness_anisotropy.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_roughness_dual.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_subsurface_bsdf.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/mx_surface.osl (100%) rename libraries/{pbrlib/genosl => targets/genosl/pbrlib}/pbrlib_genosl_impl.mtlx (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/include/color4.h (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/include/matrix33.h (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/include/mx_funcs.h (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/include/vector2.h (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/include/vector4.h (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/lib/mx_transform_uv.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/lib/mx_transform_uv_vflip.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/lib/vector4_extra_ops.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_burn_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_burn_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_burn_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_cellnoise2d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_cellnoise3d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_creatematrix.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_disjointover_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_dodge_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_dodge_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_dodge_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal2d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal2d_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal2d_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal2d_vector4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal3d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal3d_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal3d_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_fractal3d_vector4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_frame_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geomcolor_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geomcolor_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geomcolor_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_boolean.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_integer.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_string.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_geompropvalue_vector4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_heighttonormal_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_hsvtorgb_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_hsvtorgb_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_image_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_image_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_image_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_image_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_image_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_image_vector4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_luminance_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_luminance_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_mix_surfaceshader.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise2d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise2d_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise2d_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise2d_vector4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise3d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise3d_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise3d_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_noise3d_vector4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_normalmap.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_premult_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_rgbtohsv_color3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_rgbtohsv_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_rotate_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_rotate_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_surface_unlit.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_surfacematerial.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_time_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_transformmatrix_vector2M3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_unpremult_color4.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_worleynoise2d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_worleynoise2d_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_worleynoise2d_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_worleynoise3d_float.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_worleynoise3d_vector2.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/mx_worleynoise3d_vector3.osl (100%) rename libraries/{stdlib/genosl => targets/genosl/stdlib}/stdlib_genosl_impl.mtlx (100%) diff --git a/libraries/lights/genglsl/lights_genglsl_impl.mtlx b/libraries/targets/genglsl/lights/lights_genglsl_impl.mtlx similarity index 100% rename from libraries/lights/genglsl/lights_genglsl_impl.mtlx rename to libraries/targets/genglsl/lights/lights_genglsl_impl.mtlx diff --git a/libraries/lights/genglsl/mx_directional_light.glsl b/libraries/targets/genglsl/lights/mx_directional_light.glsl similarity index 100% rename from libraries/lights/genglsl/mx_directional_light.glsl rename to libraries/targets/genglsl/lights/mx_directional_light.glsl diff --git a/libraries/lights/genglsl/mx_point_light.glsl b/libraries/targets/genglsl/lights/mx_point_light.glsl similarity index 100% rename from libraries/lights/genglsl/mx_point_light.glsl rename to libraries/targets/genglsl/lights/mx_point_light.glsl diff --git a/libraries/lights/genglsl/mx_spot_light.glsl b/libraries/targets/genglsl/lights/mx_spot_light.glsl similarity index 100% rename from libraries/lights/genglsl/mx_spot_light.glsl rename to libraries/targets/genglsl/lights/mx_spot_light.glsl diff --git a/libraries/nprlib/genglsl/nprlib_genglsl_impl.mtlx b/libraries/targets/genglsl/nprlib/nprlib_genglsl_impl.mtlx similarity index 100% rename from libraries/nprlib/genglsl/nprlib_genglsl_impl.mtlx rename to libraries/targets/genglsl/nprlib/nprlib_genglsl_impl.mtlx diff --git a/libraries/pbrlib/genglsl/lib/mx_closure_type.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_closure_type.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_closure_type.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_closure_type.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_environment_fis.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_environment_fis.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_environment_fis.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_environment_fis.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_environment_none.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_environment_none.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_environment_none.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_environment_none.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_environment_prefilter.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_environment_prefilter.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_environment_prefilter.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_environment_prefilter.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_generate_albedo_table.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_generate_albedo_table.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_generate_albedo_table.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_generate_albedo_table.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_generate_prefilter_env.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_generate_prefilter_env.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_generate_prefilter_env.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_generate_prefilter_env.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_microfacet.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_microfacet.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_microfacet.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_microfacet.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_microfacet_diffuse.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_microfacet_diffuse.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_microfacet_diffuse.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_microfacet_diffuse.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_microfacet_sheen.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_microfacet_sheen.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_microfacet_sheen.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_microfacet_sheen.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_microfacet_specular.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_microfacet_specular.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_microfacet_specular.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_microfacet_specular.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_shadow.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_shadow.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_shadow.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_shadow.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_transmission_opacity.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_transmission_opacity.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_transmission_opacity.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_transmission_opacity.glsl diff --git a/libraries/pbrlib/genglsl/lib/mx_transmission_refract.glsl b/libraries/targets/genglsl/pbrlib/lib/mx_transmission_refract.glsl similarity index 100% rename from libraries/pbrlib/genglsl/lib/mx_transmission_refract.glsl rename to libraries/targets/genglsl/pbrlib/lib/mx_transmission_refract.glsl diff --git a/libraries/pbrlib/genglsl/mx_add_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_add_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_add_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_add_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_add_edf.glsl b/libraries/targets/genglsl/pbrlib/mx_add_edf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_add_edf.glsl rename to libraries/targets/genglsl/pbrlib/mx_add_edf.glsl diff --git a/libraries/pbrlib/genglsl/mx_anisotropic_vdf.glsl b/libraries/targets/genglsl/pbrlib/mx_anisotropic_vdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_anisotropic_vdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_anisotropic_vdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_artistic_ior.glsl b/libraries/targets/genglsl/pbrlib/mx_artistic_ior.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_artistic_ior.glsl rename to libraries/targets/genglsl/pbrlib/mx_artistic_ior.glsl diff --git a/libraries/pbrlib/genglsl/mx_blackbody.glsl b/libraries/targets/genglsl/pbrlib/mx_blackbody.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_blackbody.glsl rename to libraries/targets/genglsl/pbrlib/mx_blackbody.glsl diff --git a/libraries/pbrlib/genglsl/mx_burley_diffuse_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_burley_diffuse_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_burley_diffuse_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_burley_diffuse_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_chiang_hair_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_chiang_hair_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_conductor_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_conductor_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_conductor_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_conductor_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_dielectric_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_dielectric_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_dielectric_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_dielectric_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_displacement_float.glsl b/libraries/targets/genglsl/pbrlib/mx_displacement_float.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_displacement_float.glsl rename to libraries/targets/genglsl/pbrlib/mx_displacement_float.glsl diff --git a/libraries/pbrlib/genglsl/mx_displacement_vector3.glsl b/libraries/targets/genglsl/pbrlib/mx_displacement_vector3.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_displacement_vector3.glsl rename to libraries/targets/genglsl/pbrlib/mx_displacement_vector3.glsl diff --git a/libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_generalized_schlick_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_generalized_schlick_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_generalized_schlick_edf.glsl b/libraries/targets/genglsl/pbrlib/mx_generalized_schlick_edf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_generalized_schlick_edf.glsl rename to libraries/targets/genglsl/pbrlib/mx_generalized_schlick_edf.glsl diff --git a/libraries/pbrlib/genglsl/mx_layer_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_layer_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_layer_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_layer_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_layer_vdf.glsl b/libraries/targets/genglsl/pbrlib/mx_layer_vdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_layer_vdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_layer_vdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_mix_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_mix_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_mix_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_mix_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_mix_edf.glsl b/libraries/targets/genglsl/pbrlib/mx_mix_edf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_mix_edf.glsl rename to libraries/targets/genglsl/pbrlib/mx_mix_edf.glsl diff --git a/libraries/pbrlib/genglsl/mx_multiply_bsdf_color3.glsl b/libraries/targets/genglsl/pbrlib/mx_multiply_bsdf_color3.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_multiply_bsdf_color3.glsl rename to libraries/targets/genglsl/pbrlib/mx_multiply_bsdf_color3.glsl diff --git a/libraries/pbrlib/genglsl/mx_multiply_bsdf_float.glsl b/libraries/targets/genglsl/pbrlib/mx_multiply_bsdf_float.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_multiply_bsdf_float.glsl rename to libraries/targets/genglsl/pbrlib/mx_multiply_bsdf_float.glsl diff --git a/libraries/pbrlib/genglsl/mx_multiply_edf_color3.glsl b/libraries/targets/genglsl/pbrlib/mx_multiply_edf_color3.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_multiply_edf_color3.glsl rename to libraries/targets/genglsl/pbrlib/mx_multiply_edf_color3.glsl diff --git a/libraries/pbrlib/genglsl/mx_multiply_edf_float.glsl b/libraries/targets/genglsl/pbrlib/mx_multiply_edf_float.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_multiply_edf_float.glsl rename to libraries/targets/genglsl/pbrlib/mx_multiply_edf_float.glsl diff --git a/libraries/pbrlib/genglsl/mx_oren_nayar_diffuse_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_oren_nayar_diffuse_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_oren_nayar_diffuse_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_oren_nayar_diffuse_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_roughness_anisotropy.glsl b/libraries/targets/genglsl/pbrlib/mx_roughness_anisotropy.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_roughness_anisotropy.glsl rename to libraries/targets/genglsl/pbrlib/mx_roughness_anisotropy.glsl diff --git a/libraries/pbrlib/genglsl/mx_roughness_dual.glsl b/libraries/targets/genglsl/pbrlib/mx_roughness_dual.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_roughness_dual.glsl rename to libraries/targets/genglsl/pbrlib/mx_roughness_dual.glsl diff --git a/libraries/pbrlib/genglsl/mx_sheen_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_sheen_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_sheen_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_sheen_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_subsurface_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_subsurface_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_subsurface_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_subsurface_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_translucent_bsdf.glsl b/libraries/targets/genglsl/pbrlib/mx_translucent_bsdf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_translucent_bsdf.glsl rename to libraries/targets/genglsl/pbrlib/mx_translucent_bsdf.glsl diff --git a/libraries/pbrlib/genglsl/mx_uniform_edf.glsl b/libraries/targets/genglsl/pbrlib/mx_uniform_edf.glsl similarity index 100% rename from libraries/pbrlib/genglsl/mx_uniform_edf.glsl rename to libraries/targets/genglsl/pbrlib/mx_uniform_edf.glsl diff --git a/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx b/libraries/targets/genglsl/pbrlib/pbrlib_genglsl_impl.mtlx similarity index 100% rename from libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx rename to libraries/targets/genglsl/pbrlib/pbrlib_genglsl_impl.mtlx diff --git a/libraries/stdlib/genglsl/lib/mx_geometry.glsl b/libraries/targets/genglsl/stdlib/lib/mx_geometry.glsl similarity index 100% rename from libraries/stdlib/genglsl/lib/mx_geometry.glsl rename to libraries/targets/genglsl/stdlib/lib/mx_geometry.glsl diff --git a/libraries/stdlib/genglsl/lib/mx_hextile.glsl b/libraries/targets/genglsl/stdlib/lib/mx_hextile.glsl similarity index 100% rename from libraries/stdlib/genglsl/lib/mx_hextile.glsl rename to libraries/targets/genglsl/stdlib/lib/mx_hextile.glsl diff --git a/libraries/stdlib/genglsl/lib/mx_hsv.glsl b/libraries/targets/genglsl/stdlib/lib/mx_hsv.glsl similarity index 100% rename from libraries/stdlib/genglsl/lib/mx_hsv.glsl rename to libraries/targets/genglsl/stdlib/lib/mx_hsv.glsl diff --git a/libraries/stdlib/genglsl/lib/mx_math.glsl b/libraries/targets/genglsl/stdlib/lib/mx_math.glsl similarity index 100% rename from libraries/stdlib/genglsl/lib/mx_math.glsl rename to libraries/targets/genglsl/stdlib/lib/mx_math.glsl diff --git a/libraries/stdlib/genglsl/lib/mx_noise.glsl b/libraries/targets/genglsl/stdlib/lib/mx_noise.glsl similarity index 100% rename from libraries/stdlib/genglsl/lib/mx_noise.glsl rename to libraries/targets/genglsl/stdlib/lib/mx_noise.glsl diff --git a/libraries/stdlib/genglsl/lib/mx_transform_uv.glsl b/libraries/targets/genglsl/stdlib/lib/mx_transform_uv.glsl similarity index 100% rename from libraries/stdlib/genglsl/lib/mx_transform_uv.glsl rename to libraries/targets/genglsl/stdlib/lib/mx_transform_uv.glsl diff --git a/libraries/stdlib/genglsl/lib/mx_transform_uv_vflip.glsl b/libraries/targets/genglsl/stdlib/lib/mx_transform_uv_vflip.glsl similarity index 100% rename from libraries/stdlib/genglsl/lib/mx_transform_uv_vflip.glsl rename to libraries/targets/genglsl/stdlib/lib/mx_transform_uv_vflip.glsl diff --git a/libraries/stdlib/genglsl/mx_aastep.glsl b/libraries/targets/genglsl/stdlib/mx_aastep.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_aastep.glsl rename to libraries/targets/genglsl/stdlib/mx_aastep.glsl diff --git a/libraries/stdlib/genglsl/mx_burn_color3.glsl b/libraries/targets/genglsl/stdlib/mx_burn_color3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_burn_color3.glsl rename to libraries/targets/genglsl/stdlib/mx_burn_color3.glsl diff --git a/libraries/stdlib/genglsl/mx_burn_color4.glsl b/libraries/targets/genglsl/stdlib/mx_burn_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_burn_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_burn_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_burn_float.glsl b/libraries/targets/genglsl/stdlib/mx_burn_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_burn_float.glsl rename to libraries/targets/genglsl/stdlib/mx_burn_float.glsl diff --git a/libraries/stdlib/genglsl/mx_cellnoise2d_float.glsl b/libraries/targets/genglsl/stdlib/mx_cellnoise2d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_cellnoise2d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_cellnoise2d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_cellnoise3d_float.glsl b/libraries/targets/genglsl/stdlib/mx_cellnoise3d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_cellnoise3d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_cellnoise3d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix33.glsl b/libraries/targets/genglsl/stdlib/mx_creatematrix_vector3_matrix33.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix33.glsl rename to libraries/targets/genglsl/stdlib/mx_creatematrix_vector3_matrix33.glsl diff --git a/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix44.glsl b/libraries/targets/genglsl/stdlib/mx_creatematrix_vector3_matrix44.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix44.glsl rename to libraries/targets/genglsl/stdlib/mx_creatematrix_vector3_matrix44.glsl diff --git a/libraries/stdlib/genglsl/mx_creatematrix_vector4_matrix44.glsl b/libraries/targets/genglsl/stdlib/mx_creatematrix_vector4_matrix44.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_creatematrix_vector4_matrix44.glsl rename to libraries/targets/genglsl/stdlib/mx_creatematrix_vector4_matrix44.glsl diff --git a/libraries/stdlib/genglsl/mx_disjointover_color4.glsl b/libraries/targets/genglsl/stdlib/mx_disjointover_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_disjointover_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_disjointover_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_dodge_color3.glsl b/libraries/targets/genglsl/stdlib/mx_dodge_color3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_dodge_color3.glsl rename to libraries/targets/genglsl/stdlib/mx_dodge_color3.glsl diff --git a/libraries/stdlib/genglsl/mx_dodge_color4.glsl b/libraries/targets/genglsl/stdlib/mx_dodge_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_dodge_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_dodge_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_dodge_float.glsl b/libraries/targets/genglsl/stdlib/mx_dodge_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_dodge_float.glsl rename to libraries/targets/genglsl/stdlib/mx_dodge_float.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal2d_float.glsl b/libraries/targets/genglsl/stdlib/mx_fractal2d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal2d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal2d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal2d_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_fractal2d_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal2d_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal2d_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal2d_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_fractal2d_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal2d_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal2d_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal2d_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_fractal2d_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal2d_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal2d_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal3d_float.glsl b/libraries/targets/genglsl/stdlib/mx_fractal3d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal3d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal3d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal3d_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_fractal3d_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal3d_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal3d_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal3d_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_fractal3d_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal3d_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal3d_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_fractal3d_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_fractal3d_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_fractal3d_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_fractal3d_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_heighttonormal_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_heighttonormal_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_heighttonormal_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_heighttonormal_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_hextiledimage.glsl b/libraries/targets/genglsl/stdlib/mx_hextiledimage.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_hextiledimage.glsl rename to libraries/targets/genglsl/stdlib/mx_hextiledimage.glsl diff --git a/libraries/stdlib/genglsl/mx_hextilednormalmap.glsl b/libraries/targets/genglsl/stdlib/mx_hextilednormalmap.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_hextilednormalmap.glsl rename to libraries/targets/genglsl/stdlib/mx_hextilednormalmap.glsl diff --git a/libraries/stdlib/genglsl/mx_hsvtorgb_color3.glsl b/libraries/targets/genglsl/stdlib/mx_hsvtorgb_color3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_hsvtorgb_color3.glsl rename to libraries/targets/genglsl/stdlib/mx_hsvtorgb_color3.glsl diff --git a/libraries/stdlib/genglsl/mx_hsvtorgb_color4.glsl b/libraries/targets/genglsl/stdlib/mx_hsvtorgb_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_hsvtorgb_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_hsvtorgb_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_image_color3.glsl b/libraries/targets/genglsl/stdlib/mx_image_color3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_image_color3.glsl rename to libraries/targets/genglsl/stdlib/mx_image_color3.glsl diff --git a/libraries/stdlib/genglsl/mx_image_color4.glsl b/libraries/targets/genglsl/stdlib/mx_image_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_image_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_image_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_image_float.glsl b/libraries/targets/genglsl/stdlib/mx_image_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_image_float.glsl rename to libraries/targets/genglsl/stdlib/mx_image_float.glsl diff --git a/libraries/stdlib/genglsl/mx_image_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_image_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_image_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_image_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_image_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_image_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_image_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_image_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_image_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_image_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_image_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_image_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_luminance_color3.glsl b/libraries/targets/genglsl/stdlib/mx_luminance_color3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_luminance_color3.glsl rename to libraries/targets/genglsl/stdlib/mx_luminance_color3.glsl diff --git a/libraries/stdlib/genglsl/mx_luminance_color4.glsl b/libraries/targets/genglsl/stdlib/mx_luminance_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_luminance_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_luminance_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_mix_surfaceshader.glsl b/libraries/targets/genglsl/stdlib/mx_mix_surfaceshader.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_mix_surfaceshader.glsl rename to libraries/targets/genglsl/stdlib/mx_mix_surfaceshader.glsl diff --git a/libraries/stdlib/genglsl/mx_noise2d_float.glsl b/libraries/targets/genglsl/stdlib/mx_noise2d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise2d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_noise2d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_noise2d_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_noise2d_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise2d_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_noise2d_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_noise2d_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_noise2d_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise2d_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_noise2d_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_noise2d_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_noise2d_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise2d_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_noise2d_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_noise3d_float.glsl b/libraries/targets/genglsl/stdlib/mx_noise3d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise3d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_noise3d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_noise3d_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_noise3d_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise3d_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_noise3d_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_noise3d_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_noise3d_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise3d_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_noise3d_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_noise3d_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_noise3d_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_noise3d_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_noise3d_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_normalmap.glsl b/libraries/targets/genglsl/stdlib/mx_normalmap.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_normalmap.glsl rename to libraries/targets/genglsl/stdlib/mx_normalmap.glsl diff --git a/libraries/stdlib/genglsl/mx_premult_color4.glsl b/libraries/targets/genglsl/stdlib/mx_premult_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_premult_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_premult_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_ramplr_float.glsl b/libraries/targets/genglsl/stdlib/mx_ramplr_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramplr_float.glsl rename to libraries/targets/genglsl/stdlib/mx_ramplr_float.glsl diff --git a/libraries/stdlib/genglsl/mx_ramplr_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_ramplr_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramplr_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_ramplr_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_ramplr_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_ramplr_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramplr_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_ramplr_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_ramplr_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_ramplr_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramplr_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_ramplr_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_ramptb_float.glsl b/libraries/targets/genglsl/stdlib/mx_ramptb_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramptb_float.glsl rename to libraries/targets/genglsl/stdlib/mx_ramptb_float.glsl diff --git a/libraries/stdlib/genglsl/mx_ramptb_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_ramptb_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramptb_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_ramptb_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_ramptb_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_ramptb_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramptb_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_ramptb_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_ramptb_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_ramptb_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_ramptb_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_ramptb_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_rgbtohsv_color3.glsl b/libraries/targets/genglsl/stdlib/mx_rgbtohsv_color3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_rgbtohsv_color3.glsl rename to libraries/targets/genglsl/stdlib/mx_rgbtohsv_color3.glsl diff --git a/libraries/stdlib/genglsl/mx_rgbtohsv_color4.glsl b/libraries/targets/genglsl/stdlib/mx_rgbtohsv_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_rgbtohsv_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_rgbtohsv_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_rotate_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_rotate_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_rotate_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_rotate_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_rotate_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_rotate_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_rotate_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_rotate_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_smoothstep_float.glsl b/libraries/targets/genglsl/stdlib/mx_smoothstep_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_smoothstep_float.glsl rename to libraries/targets/genglsl/stdlib/mx_smoothstep_float.glsl diff --git a/libraries/stdlib/genglsl/mx_splitlr_float.glsl b/libraries/targets/genglsl/stdlib/mx_splitlr_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splitlr_float.glsl rename to libraries/targets/genglsl/stdlib/mx_splitlr_float.glsl diff --git a/libraries/stdlib/genglsl/mx_splitlr_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_splitlr_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splitlr_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_splitlr_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_splitlr_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_splitlr_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splitlr_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_splitlr_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_splitlr_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_splitlr_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splitlr_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_splitlr_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_splittb_float.glsl b/libraries/targets/genglsl/stdlib/mx_splittb_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splittb_float.glsl rename to libraries/targets/genglsl/stdlib/mx_splittb_float.glsl diff --git a/libraries/stdlib/genglsl/mx_splittb_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_splittb_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splittb_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_splittb_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_splittb_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_splittb_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splittb_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_splittb_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_splittb_vector4.glsl b/libraries/targets/genglsl/stdlib/mx_splittb_vector4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_splittb_vector4.glsl rename to libraries/targets/genglsl/stdlib/mx_splittb_vector4.glsl diff --git a/libraries/stdlib/genglsl/mx_surface_unlit.glsl b/libraries/targets/genglsl/stdlib/mx_surface_unlit.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_surface_unlit.glsl rename to libraries/targets/genglsl/stdlib/mx_surface_unlit.glsl diff --git a/libraries/stdlib/genglsl/mx_transformmatrix_vector2M3.glsl b/libraries/targets/genglsl/stdlib/mx_transformmatrix_vector2M3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_transformmatrix_vector2M3.glsl rename to libraries/targets/genglsl/stdlib/mx_transformmatrix_vector2M3.glsl diff --git a/libraries/stdlib/genglsl/mx_transformmatrix_vector3M4.glsl b/libraries/targets/genglsl/stdlib/mx_transformmatrix_vector3M4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_transformmatrix_vector3M4.glsl rename to libraries/targets/genglsl/stdlib/mx_transformmatrix_vector3M4.glsl diff --git a/libraries/stdlib/genglsl/mx_unpremult_color4.glsl b/libraries/targets/genglsl/stdlib/mx_unpremult_color4.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_unpremult_color4.glsl rename to libraries/targets/genglsl/stdlib/mx_unpremult_color4.glsl diff --git a/libraries/stdlib/genglsl/mx_worleynoise2d_float.glsl b/libraries/targets/genglsl/stdlib/mx_worleynoise2d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_worleynoise2d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_worleynoise2d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_worleynoise2d_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_worleynoise2d_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_worleynoise2d_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_worleynoise2d_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_worleynoise2d_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_worleynoise2d_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_worleynoise2d_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_worleynoise2d_vector3.glsl diff --git a/libraries/stdlib/genglsl/mx_worleynoise3d_float.glsl b/libraries/targets/genglsl/stdlib/mx_worleynoise3d_float.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_worleynoise3d_float.glsl rename to libraries/targets/genglsl/stdlib/mx_worleynoise3d_float.glsl diff --git a/libraries/stdlib/genglsl/mx_worleynoise3d_vector2.glsl b/libraries/targets/genglsl/stdlib/mx_worleynoise3d_vector2.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_worleynoise3d_vector2.glsl rename to libraries/targets/genglsl/stdlib/mx_worleynoise3d_vector2.glsl diff --git a/libraries/stdlib/genglsl/mx_worleynoise3d_vector3.glsl b/libraries/targets/genglsl/stdlib/mx_worleynoise3d_vector3.glsl similarity index 100% rename from libraries/stdlib/genglsl/mx_worleynoise3d_vector3.glsl rename to libraries/targets/genglsl/stdlib/mx_worleynoise3d_vector3.glsl diff --git a/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx b/libraries/targets/genglsl/stdlib/stdlib_genglsl_impl.mtlx similarity index 100% rename from libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx rename to libraries/targets/genglsl/stdlib/stdlib_genglsl_impl.mtlx diff --git a/libraries/nprlib/genmdl/nprlib_genmdl_impl.mtlx b/libraries/targets/genmdl/nprlib/nprlib_genmdl_impl.mtlx similarity index 100% rename from libraries/nprlib/genmdl/nprlib_genmdl_impl.mtlx rename to libraries/targets/genmdl/nprlib/nprlib_genmdl_impl.mtlx diff --git a/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx b/libraries/targets/genmdl/pbrlib/pbrlib_genmdl_impl.mtlx similarity index 100% rename from libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx rename to libraries/targets/genmdl/pbrlib/pbrlib_genmdl_impl.mtlx diff --git a/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx b/libraries/targets/genmdl/stdlib/stdlib_genmdl_impl.mtlx similarity index 100% rename from libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx rename to libraries/targets/genmdl/stdlib/stdlib_genmdl_impl.mtlx diff --git a/libraries/lights/genmsl/lights_genmsl_impl.mtlx b/libraries/targets/genmsl/lights/lights_genmsl_impl.mtlx similarity index 100% rename from libraries/lights/genmsl/lights_genmsl_impl.mtlx rename to libraries/targets/genmsl/lights/lights_genmsl_impl.mtlx diff --git a/libraries/lights/genmsl/mx_directional_light.metal b/libraries/targets/genmsl/lights/mx_directional_light.metal similarity index 100% rename from libraries/lights/genmsl/mx_directional_light.metal rename to libraries/targets/genmsl/lights/mx_directional_light.metal diff --git a/libraries/lights/genmsl/mx_point_light.metal b/libraries/targets/genmsl/lights/mx_point_light.metal similarity index 100% rename from libraries/lights/genmsl/mx_point_light.metal rename to libraries/targets/genmsl/lights/mx_point_light.metal diff --git a/libraries/lights/genmsl/mx_spot_light.metal b/libraries/targets/genmsl/lights/mx_spot_light.metal similarity index 100% rename from libraries/lights/genmsl/mx_spot_light.metal rename to libraries/targets/genmsl/lights/mx_spot_light.metal diff --git a/libraries/nprlib/genmsl/nprlib_genmsl_impl.mtlx b/libraries/targets/genmsl/nprlib/nprlib_genmsl_impl.mtlx similarity index 100% rename from libraries/nprlib/genmsl/nprlib_genmsl_impl.mtlx rename to libraries/targets/genmsl/nprlib/nprlib_genmsl_impl.mtlx diff --git a/libraries/pbrlib/genmsl/pbrlib_genmsl_impl.mtlx b/libraries/targets/genmsl/pbrlib/pbrlib_genmsl_impl.mtlx similarity index 100% rename from libraries/pbrlib/genmsl/pbrlib_genmsl_impl.mtlx rename to libraries/targets/genmsl/pbrlib/pbrlib_genmsl_impl.mtlx diff --git a/libraries/stdlib/genmsl/lib/mx_math.metal b/libraries/targets/genmsl/stdlib/lib/mx_math.metal similarity index 100% rename from libraries/stdlib/genmsl/lib/mx_math.metal rename to libraries/targets/genmsl/stdlib/lib/mx_math.metal diff --git a/libraries/stdlib/genmsl/lib/mx_matscalaroperators.metal b/libraries/targets/genmsl/stdlib/lib/mx_matscalaroperators.metal similarity index 100% rename from libraries/stdlib/genmsl/lib/mx_matscalaroperators.metal rename to libraries/targets/genmsl/stdlib/lib/mx_matscalaroperators.metal diff --git a/libraries/stdlib/genmsl/lib/mx_texture.metal b/libraries/targets/genmsl/stdlib/lib/mx_texture.metal similarity index 100% rename from libraries/stdlib/genmsl/lib/mx_texture.metal rename to libraries/targets/genmsl/stdlib/lib/mx_texture.metal diff --git a/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx b/libraries/targets/genmsl/stdlib/stdlib_genmsl_impl.mtlx similarity index 93% rename from libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx rename to libraries/targets/genmsl/stdlib/stdlib_genmsl_impl.mtlx index 4daa0b8405..bb7b563cc0 100644 --- a/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx +++ b/libraries/targets/genmsl/stdlib/stdlib_genmsl_impl.mtlx @@ -19,22 +19,22 @@ - + - + - + - + - + - + diff --git a/libraries/nprlib/genosl/nprlib_genosl_impl.mtlx b/libraries/targets/genosl/nprlib/nprlib_genosl_impl.mtlx similarity index 100% rename from libraries/nprlib/genosl/nprlib_genosl_impl.mtlx rename to libraries/targets/genosl/nprlib/nprlib_genosl_impl.mtlx diff --git a/libraries/pbrlib/genosl/lib/mx_microfacet.osl b/libraries/targets/genosl/pbrlib/lib/mx_microfacet.osl similarity index 100% rename from libraries/pbrlib/genosl/lib/mx_microfacet.osl rename to libraries/targets/genosl/pbrlib/lib/mx_microfacet.osl diff --git a/libraries/pbrlib/genosl/mx_anisotropic_vdf.osl b/libraries/targets/genosl/pbrlib/mx_anisotropic_vdf.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_anisotropic_vdf.osl rename to libraries/targets/genosl/pbrlib/mx_anisotropic_vdf.osl diff --git a/libraries/pbrlib/genosl/mx_artistic_ior.osl b/libraries/targets/genosl/pbrlib/mx_artistic_ior.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_artistic_ior.osl rename to libraries/targets/genosl/pbrlib/mx_artistic_ior.osl diff --git a/libraries/pbrlib/genosl/mx_blackbody.osl b/libraries/targets/genosl/pbrlib/mx_blackbody.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_blackbody.osl rename to libraries/targets/genosl/pbrlib/mx_blackbody.osl diff --git a/libraries/pbrlib/genosl/mx_chiang_hair_bsdf.osl b/libraries/targets/genosl/pbrlib/mx_chiang_hair_bsdf.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_chiang_hair_bsdf.osl rename to libraries/targets/genosl/pbrlib/mx_chiang_hair_bsdf.osl diff --git a/libraries/pbrlib/genosl/mx_chiang_hair_roughness.osl b/libraries/targets/genosl/pbrlib/mx_chiang_hair_roughness.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_chiang_hair_roughness.osl rename to libraries/targets/genosl/pbrlib/mx_chiang_hair_roughness.osl diff --git a/libraries/pbrlib/genosl/mx_dielectric_bsdf.osl b/libraries/targets/genosl/pbrlib/mx_dielectric_bsdf.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_dielectric_bsdf.osl rename to libraries/targets/genosl/pbrlib/mx_dielectric_bsdf.osl diff --git a/libraries/pbrlib/genosl/mx_generalized_schlick_bsdf.osl b/libraries/targets/genosl/pbrlib/mx_generalized_schlick_bsdf.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_generalized_schlick_bsdf.osl rename to libraries/targets/genosl/pbrlib/mx_generalized_schlick_bsdf.osl diff --git a/libraries/pbrlib/genosl/mx_generalized_schlick_edf.osl b/libraries/targets/genosl/pbrlib/mx_generalized_schlick_edf.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_generalized_schlick_edf.osl rename to libraries/targets/genosl/pbrlib/mx_generalized_schlick_edf.osl diff --git a/libraries/pbrlib/genosl/mx_roughness_anisotropy.osl b/libraries/targets/genosl/pbrlib/mx_roughness_anisotropy.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_roughness_anisotropy.osl rename to libraries/targets/genosl/pbrlib/mx_roughness_anisotropy.osl diff --git a/libraries/pbrlib/genosl/mx_roughness_dual.osl b/libraries/targets/genosl/pbrlib/mx_roughness_dual.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_roughness_dual.osl rename to libraries/targets/genosl/pbrlib/mx_roughness_dual.osl diff --git a/libraries/pbrlib/genosl/mx_subsurface_bsdf.osl b/libraries/targets/genosl/pbrlib/mx_subsurface_bsdf.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_subsurface_bsdf.osl rename to libraries/targets/genosl/pbrlib/mx_subsurface_bsdf.osl diff --git a/libraries/pbrlib/genosl/mx_surface.osl b/libraries/targets/genosl/pbrlib/mx_surface.osl similarity index 100% rename from libraries/pbrlib/genosl/mx_surface.osl rename to libraries/targets/genosl/pbrlib/mx_surface.osl diff --git a/libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx b/libraries/targets/genosl/pbrlib/pbrlib_genosl_impl.mtlx similarity index 100% rename from libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx rename to libraries/targets/genosl/pbrlib/pbrlib_genosl_impl.mtlx diff --git a/libraries/stdlib/genosl/include/color4.h b/libraries/targets/genosl/stdlib/include/color4.h similarity index 100% rename from libraries/stdlib/genosl/include/color4.h rename to libraries/targets/genosl/stdlib/include/color4.h diff --git a/libraries/stdlib/genosl/include/matrix33.h b/libraries/targets/genosl/stdlib/include/matrix33.h similarity index 100% rename from libraries/stdlib/genosl/include/matrix33.h rename to libraries/targets/genosl/stdlib/include/matrix33.h diff --git a/libraries/stdlib/genosl/include/mx_funcs.h b/libraries/targets/genosl/stdlib/include/mx_funcs.h similarity index 100% rename from libraries/stdlib/genosl/include/mx_funcs.h rename to libraries/targets/genosl/stdlib/include/mx_funcs.h diff --git a/libraries/stdlib/genosl/include/vector2.h b/libraries/targets/genosl/stdlib/include/vector2.h similarity index 100% rename from libraries/stdlib/genosl/include/vector2.h rename to libraries/targets/genosl/stdlib/include/vector2.h diff --git a/libraries/stdlib/genosl/include/vector4.h b/libraries/targets/genosl/stdlib/include/vector4.h similarity index 100% rename from libraries/stdlib/genosl/include/vector4.h rename to libraries/targets/genosl/stdlib/include/vector4.h diff --git a/libraries/stdlib/genosl/lib/mx_transform_uv.osl b/libraries/targets/genosl/stdlib/lib/mx_transform_uv.osl similarity index 100% rename from libraries/stdlib/genosl/lib/mx_transform_uv.osl rename to libraries/targets/genosl/stdlib/lib/mx_transform_uv.osl diff --git a/libraries/stdlib/genosl/lib/mx_transform_uv_vflip.osl b/libraries/targets/genosl/stdlib/lib/mx_transform_uv_vflip.osl similarity index 100% rename from libraries/stdlib/genosl/lib/mx_transform_uv_vflip.osl rename to libraries/targets/genosl/stdlib/lib/mx_transform_uv_vflip.osl diff --git a/libraries/stdlib/genosl/lib/vector4_extra_ops.osl b/libraries/targets/genosl/stdlib/lib/vector4_extra_ops.osl similarity index 100% rename from libraries/stdlib/genosl/lib/vector4_extra_ops.osl rename to libraries/targets/genosl/stdlib/lib/vector4_extra_ops.osl diff --git a/libraries/stdlib/genosl/mx_burn_color3.osl b/libraries/targets/genosl/stdlib/mx_burn_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_burn_color3.osl rename to libraries/targets/genosl/stdlib/mx_burn_color3.osl diff --git a/libraries/stdlib/genosl/mx_burn_color4.osl b/libraries/targets/genosl/stdlib/mx_burn_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_burn_color4.osl rename to libraries/targets/genosl/stdlib/mx_burn_color4.osl diff --git a/libraries/stdlib/genosl/mx_burn_float.osl b/libraries/targets/genosl/stdlib/mx_burn_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_burn_float.osl rename to libraries/targets/genosl/stdlib/mx_burn_float.osl diff --git a/libraries/stdlib/genosl/mx_cellnoise2d_float.osl b/libraries/targets/genosl/stdlib/mx_cellnoise2d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_cellnoise2d_float.osl rename to libraries/targets/genosl/stdlib/mx_cellnoise2d_float.osl diff --git a/libraries/stdlib/genosl/mx_cellnoise3d_float.osl b/libraries/targets/genosl/stdlib/mx_cellnoise3d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_cellnoise3d_float.osl rename to libraries/targets/genosl/stdlib/mx_cellnoise3d_float.osl diff --git a/libraries/stdlib/genosl/mx_creatematrix.osl b/libraries/targets/genosl/stdlib/mx_creatematrix.osl similarity index 100% rename from libraries/stdlib/genosl/mx_creatematrix.osl rename to libraries/targets/genosl/stdlib/mx_creatematrix.osl diff --git a/libraries/stdlib/genosl/mx_disjointover_color4.osl b/libraries/targets/genosl/stdlib/mx_disjointover_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_disjointover_color4.osl rename to libraries/targets/genosl/stdlib/mx_disjointover_color4.osl diff --git a/libraries/stdlib/genosl/mx_dodge_color3.osl b/libraries/targets/genosl/stdlib/mx_dodge_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_dodge_color3.osl rename to libraries/targets/genosl/stdlib/mx_dodge_color3.osl diff --git a/libraries/stdlib/genosl/mx_dodge_color4.osl b/libraries/targets/genosl/stdlib/mx_dodge_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_dodge_color4.osl rename to libraries/targets/genosl/stdlib/mx_dodge_color4.osl diff --git a/libraries/stdlib/genosl/mx_dodge_float.osl b/libraries/targets/genosl/stdlib/mx_dodge_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_dodge_float.osl rename to libraries/targets/genosl/stdlib/mx_dodge_float.osl diff --git a/libraries/stdlib/genosl/mx_fractal2d_float.osl b/libraries/targets/genosl/stdlib/mx_fractal2d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal2d_float.osl rename to libraries/targets/genosl/stdlib/mx_fractal2d_float.osl diff --git a/libraries/stdlib/genosl/mx_fractal2d_vector2.osl b/libraries/targets/genosl/stdlib/mx_fractal2d_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal2d_vector2.osl rename to libraries/targets/genosl/stdlib/mx_fractal2d_vector2.osl diff --git a/libraries/stdlib/genosl/mx_fractal2d_vector3.osl b/libraries/targets/genosl/stdlib/mx_fractal2d_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal2d_vector3.osl rename to libraries/targets/genosl/stdlib/mx_fractal2d_vector3.osl diff --git a/libraries/stdlib/genosl/mx_fractal2d_vector4.osl b/libraries/targets/genosl/stdlib/mx_fractal2d_vector4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal2d_vector4.osl rename to libraries/targets/genosl/stdlib/mx_fractal2d_vector4.osl diff --git a/libraries/stdlib/genosl/mx_fractal3d_float.osl b/libraries/targets/genosl/stdlib/mx_fractal3d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal3d_float.osl rename to libraries/targets/genosl/stdlib/mx_fractal3d_float.osl diff --git a/libraries/stdlib/genosl/mx_fractal3d_vector2.osl b/libraries/targets/genosl/stdlib/mx_fractal3d_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal3d_vector2.osl rename to libraries/targets/genosl/stdlib/mx_fractal3d_vector2.osl diff --git a/libraries/stdlib/genosl/mx_fractal3d_vector3.osl b/libraries/targets/genosl/stdlib/mx_fractal3d_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal3d_vector3.osl rename to libraries/targets/genosl/stdlib/mx_fractal3d_vector3.osl diff --git a/libraries/stdlib/genosl/mx_fractal3d_vector4.osl b/libraries/targets/genosl/stdlib/mx_fractal3d_vector4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_fractal3d_vector4.osl rename to libraries/targets/genosl/stdlib/mx_fractal3d_vector4.osl diff --git a/libraries/stdlib/genosl/mx_frame_float.osl b/libraries/targets/genosl/stdlib/mx_frame_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_frame_float.osl rename to libraries/targets/genosl/stdlib/mx_frame_float.osl diff --git a/libraries/stdlib/genosl/mx_geomcolor_color3.osl b/libraries/targets/genosl/stdlib/mx_geomcolor_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geomcolor_color3.osl rename to libraries/targets/genosl/stdlib/mx_geomcolor_color3.osl diff --git a/libraries/stdlib/genosl/mx_geomcolor_color4.osl b/libraries/targets/genosl/stdlib/mx_geomcolor_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geomcolor_color4.osl rename to libraries/targets/genosl/stdlib/mx_geomcolor_color4.osl diff --git a/libraries/stdlib/genosl/mx_geomcolor_float.osl b/libraries/targets/genosl/stdlib/mx_geomcolor_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geomcolor_float.osl rename to libraries/targets/genosl/stdlib/mx_geomcolor_float.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_boolean.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_boolean.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_boolean.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_boolean.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_color3.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_color3.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_color3.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_color4.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_color4.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_color4.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_float.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_float.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_float.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_integer.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_integer.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_integer.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_integer.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_string.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_string.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_string.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_string.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_vector2.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_vector2.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_vector2.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_vector3.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_vector3.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_vector3.osl diff --git a/libraries/stdlib/genosl/mx_geompropvalue_vector4.osl b/libraries/targets/genosl/stdlib/mx_geompropvalue_vector4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_geompropvalue_vector4.osl rename to libraries/targets/genosl/stdlib/mx_geompropvalue_vector4.osl diff --git a/libraries/stdlib/genosl/mx_heighttonormal_vector3.osl b/libraries/targets/genosl/stdlib/mx_heighttonormal_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_heighttonormal_vector3.osl rename to libraries/targets/genosl/stdlib/mx_heighttonormal_vector3.osl diff --git a/libraries/stdlib/genosl/mx_hsvtorgb_color3.osl b/libraries/targets/genosl/stdlib/mx_hsvtorgb_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_hsvtorgb_color3.osl rename to libraries/targets/genosl/stdlib/mx_hsvtorgb_color3.osl diff --git a/libraries/stdlib/genosl/mx_hsvtorgb_color4.osl b/libraries/targets/genosl/stdlib/mx_hsvtorgb_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_hsvtorgb_color4.osl rename to libraries/targets/genosl/stdlib/mx_hsvtorgb_color4.osl diff --git a/libraries/stdlib/genosl/mx_image_color3.osl b/libraries/targets/genosl/stdlib/mx_image_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_image_color3.osl rename to libraries/targets/genosl/stdlib/mx_image_color3.osl diff --git a/libraries/stdlib/genosl/mx_image_color4.osl b/libraries/targets/genosl/stdlib/mx_image_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_image_color4.osl rename to libraries/targets/genosl/stdlib/mx_image_color4.osl diff --git a/libraries/stdlib/genosl/mx_image_float.osl b/libraries/targets/genosl/stdlib/mx_image_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_image_float.osl rename to libraries/targets/genosl/stdlib/mx_image_float.osl diff --git a/libraries/stdlib/genosl/mx_image_vector2.osl b/libraries/targets/genosl/stdlib/mx_image_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_image_vector2.osl rename to libraries/targets/genosl/stdlib/mx_image_vector2.osl diff --git a/libraries/stdlib/genosl/mx_image_vector3.osl b/libraries/targets/genosl/stdlib/mx_image_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_image_vector3.osl rename to libraries/targets/genosl/stdlib/mx_image_vector3.osl diff --git a/libraries/stdlib/genosl/mx_image_vector4.osl b/libraries/targets/genosl/stdlib/mx_image_vector4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_image_vector4.osl rename to libraries/targets/genosl/stdlib/mx_image_vector4.osl diff --git a/libraries/stdlib/genosl/mx_luminance_color3.osl b/libraries/targets/genosl/stdlib/mx_luminance_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_luminance_color3.osl rename to libraries/targets/genosl/stdlib/mx_luminance_color3.osl diff --git a/libraries/stdlib/genosl/mx_luminance_color4.osl b/libraries/targets/genosl/stdlib/mx_luminance_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_luminance_color4.osl rename to libraries/targets/genosl/stdlib/mx_luminance_color4.osl diff --git a/libraries/stdlib/genosl/mx_mix_surfaceshader.osl b/libraries/targets/genosl/stdlib/mx_mix_surfaceshader.osl similarity index 100% rename from libraries/stdlib/genosl/mx_mix_surfaceshader.osl rename to libraries/targets/genosl/stdlib/mx_mix_surfaceshader.osl diff --git a/libraries/stdlib/genosl/mx_noise2d_float.osl b/libraries/targets/genosl/stdlib/mx_noise2d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise2d_float.osl rename to libraries/targets/genosl/stdlib/mx_noise2d_float.osl diff --git a/libraries/stdlib/genosl/mx_noise2d_vector2.osl b/libraries/targets/genosl/stdlib/mx_noise2d_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise2d_vector2.osl rename to libraries/targets/genosl/stdlib/mx_noise2d_vector2.osl diff --git a/libraries/stdlib/genosl/mx_noise2d_vector3.osl b/libraries/targets/genosl/stdlib/mx_noise2d_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise2d_vector3.osl rename to libraries/targets/genosl/stdlib/mx_noise2d_vector3.osl diff --git a/libraries/stdlib/genosl/mx_noise2d_vector4.osl b/libraries/targets/genosl/stdlib/mx_noise2d_vector4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise2d_vector4.osl rename to libraries/targets/genosl/stdlib/mx_noise2d_vector4.osl diff --git a/libraries/stdlib/genosl/mx_noise3d_float.osl b/libraries/targets/genosl/stdlib/mx_noise3d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise3d_float.osl rename to libraries/targets/genosl/stdlib/mx_noise3d_float.osl diff --git a/libraries/stdlib/genosl/mx_noise3d_vector2.osl b/libraries/targets/genosl/stdlib/mx_noise3d_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise3d_vector2.osl rename to libraries/targets/genosl/stdlib/mx_noise3d_vector2.osl diff --git a/libraries/stdlib/genosl/mx_noise3d_vector3.osl b/libraries/targets/genosl/stdlib/mx_noise3d_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise3d_vector3.osl rename to libraries/targets/genosl/stdlib/mx_noise3d_vector3.osl diff --git a/libraries/stdlib/genosl/mx_noise3d_vector4.osl b/libraries/targets/genosl/stdlib/mx_noise3d_vector4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_noise3d_vector4.osl rename to libraries/targets/genosl/stdlib/mx_noise3d_vector4.osl diff --git a/libraries/stdlib/genosl/mx_normalmap.osl b/libraries/targets/genosl/stdlib/mx_normalmap.osl similarity index 100% rename from libraries/stdlib/genosl/mx_normalmap.osl rename to libraries/targets/genosl/stdlib/mx_normalmap.osl diff --git a/libraries/stdlib/genosl/mx_premult_color4.osl b/libraries/targets/genosl/stdlib/mx_premult_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_premult_color4.osl rename to libraries/targets/genosl/stdlib/mx_premult_color4.osl diff --git a/libraries/stdlib/genosl/mx_rgbtohsv_color3.osl b/libraries/targets/genosl/stdlib/mx_rgbtohsv_color3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_rgbtohsv_color3.osl rename to libraries/targets/genosl/stdlib/mx_rgbtohsv_color3.osl diff --git a/libraries/stdlib/genosl/mx_rgbtohsv_color4.osl b/libraries/targets/genosl/stdlib/mx_rgbtohsv_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_rgbtohsv_color4.osl rename to libraries/targets/genosl/stdlib/mx_rgbtohsv_color4.osl diff --git a/libraries/stdlib/genosl/mx_rotate_vector2.osl b/libraries/targets/genosl/stdlib/mx_rotate_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_rotate_vector2.osl rename to libraries/targets/genosl/stdlib/mx_rotate_vector2.osl diff --git a/libraries/stdlib/genosl/mx_rotate_vector3.osl b/libraries/targets/genosl/stdlib/mx_rotate_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_rotate_vector3.osl rename to libraries/targets/genosl/stdlib/mx_rotate_vector3.osl diff --git a/libraries/stdlib/genosl/mx_surface_unlit.osl b/libraries/targets/genosl/stdlib/mx_surface_unlit.osl similarity index 100% rename from libraries/stdlib/genosl/mx_surface_unlit.osl rename to libraries/targets/genosl/stdlib/mx_surface_unlit.osl diff --git a/libraries/stdlib/genosl/mx_surfacematerial.osl b/libraries/targets/genosl/stdlib/mx_surfacematerial.osl similarity index 100% rename from libraries/stdlib/genosl/mx_surfacematerial.osl rename to libraries/targets/genosl/stdlib/mx_surfacematerial.osl diff --git a/libraries/stdlib/genosl/mx_time_float.osl b/libraries/targets/genosl/stdlib/mx_time_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_time_float.osl rename to libraries/targets/genosl/stdlib/mx_time_float.osl diff --git a/libraries/stdlib/genosl/mx_transformmatrix_vector2M3.osl b/libraries/targets/genosl/stdlib/mx_transformmatrix_vector2M3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_transformmatrix_vector2M3.osl rename to libraries/targets/genosl/stdlib/mx_transformmatrix_vector2M3.osl diff --git a/libraries/stdlib/genosl/mx_unpremult_color4.osl b/libraries/targets/genosl/stdlib/mx_unpremult_color4.osl similarity index 100% rename from libraries/stdlib/genosl/mx_unpremult_color4.osl rename to libraries/targets/genosl/stdlib/mx_unpremult_color4.osl diff --git a/libraries/stdlib/genosl/mx_worleynoise2d_float.osl b/libraries/targets/genosl/stdlib/mx_worleynoise2d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_worleynoise2d_float.osl rename to libraries/targets/genosl/stdlib/mx_worleynoise2d_float.osl diff --git a/libraries/stdlib/genosl/mx_worleynoise2d_vector2.osl b/libraries/targets/genosl/stdlib/mx_worleynoise2d_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_worleynoise2d_vector2.osl rename to libraries/targets/genosl/stdlib/mx_worleynoise2d_vector2.osl diff --git a/libraries/stdlib/genosl/mx_worleynoise2d_vector3.osl b/libraries/targets/genosl/stdlib/mx_worleynoise2d_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_worleynoise2d_vector3.osl rename to libraries/targets/genosl/stdlib/mx_worleynoise2d_vector3.osl diff --git a/libraries/stdlib/genosl/mx_worleynoise3d_float.osl b/libraries/targets/genosl/stdlib/mx_worleynoise3d_float.osl similarity index 100% rename from libraries/stdlib/genosl/mx_worleynoise3d_float.osl rename to libraries/targets/genosl/stdlib/mx_worleynoise3d_float.osl diff --git a/libraries/stdlib/genosl/mx_worleynoise3d_vector2.osl b/libraries/targets/genosl/stdlib/mx_worleynoise3d_vector2.osl similarity index 100% rename from libraries/stdlib/genosl/mx_worleynoise3d_vector2.osl rename to libraries/targets/genosl/stdlib/mx_worleynoise3d_vector2.osl diff --git a/libraries/stdlib/genosl/mx_worleynoise3d_vector3.osl b/libraries/targets/genosl/stdlib/mx_worleynoise3d_vector3.osl similarity index 100% rename from libraries/stdlib/genosl/mx_worleynoise3d_vector3.osl rename to libraries/targets/genosl/stdlib/mx_worleynoise3d_vector3.osl diff --git a/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx b/libraries/targets/genosl/stdlib/stdlib_genosl_impl.mtlx similarity index 100% rename from libraries/stdlib/genosl/stdlib_genosl_impl.mtlx rename to libraries/targets/genosl/stdlib/stdlib_genosl_impl.mtlx diff --git a/source/MaterialXGenShader/GenContext.h b/source/MaterialXGenShader/GenContext.h index 0e5e87804b..4e12171a30 100644 --- a/source/MaterialXGenShader/GenContext.h +++ b/source/MaterialXGenShader/GenContext.h @@ -79,7 +79,10 @@ class MX_GENSHADER_API GenContext { searchPath.prepend(localPath); } - return searchPath.find(filename).getNormalized(); + + auto a = searchPath.find(filename); + + return a.getNormalized(); } /// Add reserved words that should not be used as diff --git a/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp b/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp index 07e1a54f2f..5ed55eefe1 100644 --- a/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp +++ b/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp @@ -35,6 +35,10 @@ void SourceCodeNode::resolveSourceCode(const InterfaceElement& element, GenConte _functionSource = readFile(_sourceFilename); if (_functionSource.empty()) { + + _sourceFilename = context.resolveSourceFile(impl.getAttribute("file"), localPath); + + throw ExceptionShaderGenError("Failed to get source code from file '" + _sourceFilename.asString() + "' used by implementation '" + impl.getName() + "'"); } diff --git a/source/MaterialXGenShader/ShaderGenerator.cpp b/source/MaterialXGenShader/ShaderGenerator.cpp index 7cf8e3c1ba..01ed13c0e4 100644 --- a/source/MaterialXGenShader/ShaderGenerator.cpp +++ b/source/MaterialXGenShader/ShaderGenerator.cpp @@ -84,6 +84,35 @@ void ShaderGenerator::emitLibraryInclude(const FilePath& filename, GenContext& c FilePath libraryPrefix = context.getOptions().libraryPrefix; FilePath fullFilename = libraryPrefix.isEmpty() ? filename : libraryPrefix / filename; FilePath resolvedFilename = context.resolveSourceFile(fullFilename, FilePath()); + + // heuristic to deal with relocation of data library files - this should be deprecated at some point in the future + // and possibly guarded by a shader generation option? + // + // if we originally passed a relative file, then we expect resolveSourceFile() to return an absolute path + // if the file was found, otherwise it just returns the original relative file. + // we can use this difference to detect if the library include was not located and attempt to find it in + // the old location. + if (!fullFilename.isAbsolute() && !resolvedFilename.isAbsolute() && fullFilename == resolvedFilename) + { + // we didn't find the file, so lets try and look in the "new" location. + // Example + // old : stdlib/genmsl/lib/mx_texture.metal + // new : targets/genmsl/stdlib/lib/mx_texture.metal + // + // remapping heuristic + // 1) add the "targets" prefix + // 2) swap the first two parts + // 3) append the rest + FilePath altFilename = FilePath("targets") / FilePath(filename[1]) / FilePath(filename[0]); + for (size_t i = 2; i < filename.size(); ++i) + { + altFilename = altFilename / FilePath(filename[i]); + } + + fullFilename = libraryPrefix.isEmpty() ? altFilename : libraryPrefix / altFilename; + resolvedFilename = context.resolveSourceFile(fullFilename, FilePath()); + } + stage.addInclude(fullFilename, resolvedFilename, context); } diff --git a/source/MaterialXGenShader/ShaderGenerator.h b/source/MaterialXGenShader/ShaderGenerator.h index 2162a39c13..652ca6cca5 100644 --- a/source/MaterialXGenShader/ShaderGenerator.h +++ b/source/MaterialXGenShader/ShaderGenerator.h @@ -76,7 +76,7 @@ class MX_GENSHADER_API ShaderGenerator /// Add the contents of a standard library include file if not already present. /// The library file prefix of the given context, if any, will be prepended /// to the given filename. - virtual void emitLibraryInclude(const FilePath& filename, GenContext& context, ShaderStage& stage) const; + void emitLibraryInclude(const FilePath& filename, GenContext& context, ShaderStage& stage) const; /// Add a value. template diff --git a/source/MaterialXTest/MaterialXRender/RenderUtil.cpp b/source/MaterialXTest/MaterialXRender/RenderUtil.cpp index 56a8742e88..19a54a02f0 100644 --- a/source/MaterialXTest/MaterialXRender/RenderUtil.cpp +++ b/source/MaterialXTest/MaterialXRender/RenderUtil.cpp @@ -197,7 +197,7 @@ bool ShaderRenderTester::validate(const mx::FilePath optionsFilePath) mx::GenContext context(_shaderGenerator); context.registerSourceCodeSearchPath(searchPath); - context.registerSourceCodeSearchPath(searchPath.find("libraries/stdlib/genosl/include")); + context.registerSourceCodeSearchPath(searchPath.find("libraries/targets/genosl/stdlib/include")); // Set target unit space context.getOptions().targetDistanceUnit = "meter"; diff --git a/source/MaterialXTest/MaterialXRenderOsl/GenReference.cpp b/source/MaterialXTest/MaterialXRenderOsl/GenReference.cpp index 3964222d14..864fe642e4 100644 --- a/source/MaterialXTest/MaterialXRenderOsl/GenReference.cpp +++ b/source/MaterialXTest/MaterialXRenderOsl/GenReference.cpp @@ -41,7 +41,7 @@ TEST_CASE("GenReference: OSL Reference", "[genreference]") } // Add in library include path for compile testing as the generated // shader's includes are not added with absolute paths. - oslIncludePaths.append(searchPath.find("libraries/stdlib/genosl/include")); + oslIncludePaths.append(searchPath.find("libraries/targets/genosl/stdlib/include")); oslRenderer->setOslIncludePath(oslIncludePaths); } From ac385b052e10fb3ca188ed0cbeaee15ad6549cdb Mon Sep 17 00:00:00 2001 From: Lee Kerley Date: Thu, 31 Jul 2025 22:04:18 -0700 Subject: [PATCH 2/3] Add Shader Generator Option to control the fallback heuristic --- source/MaterialXGenShader/GenOptions.h | 7 ++- source/MaterialXGenShader/ShaderGenerator.cpp | 49 ++++++++++--------- 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/source/MaterialXGenShader/GenOptions.h b/source/MaterialXGenShader/GenOptions.h index 51170c68de..c014e0a520 100644 --- a/source/MaterialXGenShader/GenOptions.h +++ b/source/MaterialXGenShader/GenOptions.h @@ -93,7 +93,8 @@ class MX_GENSHADER_API GenOptions hwNormalizeUdimTexCoords(false), hwWriteAlbedoTable(false), hwWriteEnvPrefilter(false), - hwImplicitBitangents(true) + hwImplicitBitangents(true), + dataLibraryLegacyLocationFallback(true) { } virtual ~GenOptions() { } @@ -191,6 +192,10 @@ class MX_GENSHADER_API GenOptions /// Calculate fallback bitangents from existing normals and tangents /// inside the bitangent node. bool hwImplicitBitangents; + + /// Enables the fallback heuristic to locate a data library file by + /// its location in the previous structure. + bool dataLibraryLegacyLocationFallback; }; MATERIALX_NAMESPACE_END diff --git a/source/MaterialXGenShader/ShaderGenerator.cpp b/source/MaterialXGenShader/ShaderGenerator.cpp index 01ed13c0e4..9b684d78cc 100644 --- a/source/MaterialXGenShader/ShaderGenerator.cpp +++ b/source/MaterialXGenShader/ShaderGenerator.cpp @@ -85,32 +85,35 @@ void ShaderGenerator::emitLibraryInclude(const FilePath& filename, GenContext& c FilePath fullFilename = libraryPrefix.isEmpty() ? filename : libraryPrefix / filename; FilePath resolvedFilename = context.resolveSourceFile(fullFilename, FilePath()); - // heuristic to deal with relocation of data library files - this should be deprecated at some point in the future - // and possibly guarded by a shader generation option? - // - // if we originally passed a relative file, then we expect resolveSourceFile() to return an absolute path - // if the file was found, otherwise it just returns the original relative file. - // we can use this difference to detect if the library include was not located and attempt to find it in - // the old location. - if (!fullFilename.isAbsolute() && !resolvedFilename.isAbsolute() && fullFilename == resolvedFilename) - { - // we didn't find the file, so lets try and look in the "new" location. - // Example - // old : stdlib/genmsl/lib/mx_texture.metal - // new : targets/genmsl/stdlib/lib/mx_texture.metal + if (context.getOptions().dataLibraryLegacyLocationFallback) + { + // heuristic to deal with relocation of data library files - this should be deprecated at some point in the future + // and possibly guarded by a shader generation option? // - // remapping heuristic - // 1) add the "targets" prefix - // 2) swap the first two parts - // 3) append the rest - FilePath altFilename = FilePath("targets") / FilePath(filename[1]) / FilePath(filename[0]); - for (size_t i = 2; i < filename.size(); ++i) + // if we originally passed a relative file, then we expect resolveSourceFile() to return an absolute path + // if the file was found, otherwise it just returns the original relative file. + // we can use this difference to detect if the library include was not located and attempt to find it in + // the old location. + if (!fullFilename.isAbsolute() && !resolvedFilename.isAbsolute() && fullFilename == resolvedFilename) { - altFilename = altFilename / FilePath(filename[i]); - } + // we didn't find the file, so lets try and look in the "new" location. + // Example + // old : stdlib/genmsl/lib/mx_texture.metal + // new : targets/genmsl/stdlib/lib/mx_texture.metal + // + // remapping heuristic + // 1) add the "targets" prefix + // 2) swap the first two parts + // 3) append the rest + FilePath altFilename = FilePath("targets") / FilePath(filename[1]) / FilePath(filename[0]); + for (size_t i = 2; i < filename.size(); ++i) + { + altFilename = altFilename / FilePath(filename[i]); + } - fullFilename = libraryPrefix.isEmpty() ? altFilename : libraryPrefix / altFilename; - resolvedFilename = context.resolveSourceFile(fullFilename, FilePath()); + fullFilename = libraryPrefix.isEmpty() ? altFilename : libraryPrefix / altFilename; + resolvedFilename = context.resolveSourceFile(fullFilename, FilePath()); + } } stage.addInclude(fullFilename, resolvedFilename, context); From 98c1d8297589b50c9a4e9639493af3a59c2dd99f Mon Sep 17 00:00:00 2001 From: Lee Kerley Date: Fri, 1 Aug 2025 08:31:51 -0700 Subject: [PATCH 3/3] Code clean up --- source/MaterialXGenShader/GenContext.h | 5 +---- source/MaterialXGenShader/Nodes/SourceCodeNode.cpp | 4 ---- source/MaterialXGenShader/ShaderGenerator.h | 2 +- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/source/MaterialXGenShader/GenContext.h b/source/MaterialXGenShader/GenContext.h index 4e12171a30..0e5e87804b 100644 --- a/source/MaterialXGenShader/GenContext.h +++ b/source/MaterialXGenShader/GenContext.h @@ -79,10 +79,7 @@ class MX_GENSHADER_API GenContext { searchPath.prepend(localPath); } - - auto a = searchPath.find(filename); - - return a.getNormalized(); + return searchPath.find(filename).getNormalized(); } /// Add reserved words that should not be used as diff --git a/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp b/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp index 5ed55eefe1..07e1a54f2f 100644 --- a/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp +++ b/source/MaterialXGenShader/Nodes/SourceCodeNode.cpp @@ -35,10 +35,6 @@ void SourceCodeNode::resolveSourceCode(const InterfaceElement& element, GenConte _functionSource = readFile(_sourceFilename); if (_functionSource.empty()) { - - _sourceFilename = context.resolveSourceFile(impl.getAttribute("file"), localPath); - - throw ExceptionShaderGenError("Failed to get source code from file '" + _sourceFilename.asString() + "' used by implementation '" + impl.getName() + "'"); } diff --git a/source/MaterialXGenShader/ShaderGenerator.h b/source/MaterialXGenShader/ShaderGenerator.h index 652ca6cca5..2162a39c13 100644 --- a/source/MaterialXGenShader/ShaderGenerator.h +++ b/source/MaterialXGenShader/ShaderGenerator.h @@ -76,7 +76,7 @@ class MX_GENSHADER_API ShaderGenerator /// Add the contents of a standard library include file if not already present. /// The library file prefix of the given context, if any, will be prepended /// to the given filename. - void emitLibraryInclude(const FilePath& filename, GenContext& context, ShaderStage& stage) const; + virtual void emitLibraryInclude(const FilePath& filename, GenContext& context, ShaderStage& stage) const; /// Add a value. template