Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions Config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ tests\
samples\
vulkan; framework\vulkan
vk_extensions
cooperative_matrix
graph_pipelines
image_processing
tile_shading
Expand All @@ -21,7 +22,7 @@ samples\
framework\
base; framework\external\GameSampleAssets, framework\external\glm, framework\external\tinyobjloader, framework\external\tinygltf, framework\external\json, framework\external\eigen
generic; framework\base, framework\external\imgui, framework\external\implot, framework\external\portable-file-dialogs, framework\external\KTX-Software, Tools
vulkan; framework\generic, framework\external\volk, framework\external\SPIRV-Cross, framework\external\glslang, framework\external\slang, framework\external\VulkanMemoryAllocator, framework\external\Vulkan-Headers
vulkan; framework\generic, framework\external\volk, framework\external\SPIRV-Cross, framework\external\glslang, framework\external\half, framework\external\VulkanMemoryAllocator, framework\external\Vulkan-Headers
external\
VulkanMemoryAllocator @ https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/refs/tags/v3.0.1.tar.gz MD5:8571f3def0ff86f228e2864c907ba0b3
tinyobjloader @ https://github.com/tinyobjloader/tinyobjloader/archive/e39c1737bc61c8dce28be7932cfe839d408e7838.zip
Expand All @@ -35,9 +36,9 @@ framework\
volk @ https://github.com/zeux/volk/archive/1e0ec168f1726e6389b8647435a3018f0cef9428.zip
SPIRV-Cross @ https://github.com/KhronosGroup/SPIRV-Cross/archive/7affe74d77f93a622bb5002789d5332d32e512ee.zip
glslang @ https://github.com/KhronosGroup/glslang/archive/3a7f78758f8faa9a6e059b09e25fc64ede7fbfb0.zip
slang @ https://github.com/shader-slang/slang/archive/9c2024a7509baae921083d49a56e1321c51f00ec.zip
json @ https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz MD5:4b67aba51ddf17c798e80361f527f50e
eigen @ https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz MD5:4c527a9171d71a72a9d4186e65bea559
KTX-Software @ https://github.com/KhronosGroup/KTX-Software/archive/refs/tags/v4.1.0.tar.gz MD5:b35fc412cdb3a00aa92aadcdd1e5f004 PATCH:..\cmake\KTX-Software.diff; Tools
D3D12MemoryAllocator @ https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator/archive/7597f717c7b32b74d263009ecc15985b517585c7.zip
half @ https://github.com/ramenhut/half/archive/43473931db0fae8ecef4ff1492ad18061e3600ec.zip

57 changes: 42 additions & 15 deletions framework/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -519,20 +519,30 @@ if(FRAMEWORK_ENABLE_VULKAN AND FRAMEWORK_framework_vulkan)
endif()

# Add vulkan framework dependency libraries
set(ENABLE_OPT OFF CACHE BOOL "Disable SPIRV-Tools optimizer" FORCE)
set(ENABLE_C_INTERFACE ON CACHE BOOL "" FORCE)
add_subdirectory(external/volk)
#add_subdirectory(external/SPIRV-Cross)
#add_subdirectory(external/glslang)
add_subdirectory(external/SPIRV-Cross)
add_subdirectory(external/glslang)
#add_subdirectory(external/slang)

add_library(framework_vulkan STATIC ${CPP_VULKAN_SRC} ${EXTERNAL_VULKAN_SRC})

# Make sure framework_vulkan builds after glslang libs
add_dependencies(framework_vulkan
glslang
glslang-default-resource-limits
SPIRV
)

target_include_directories(framework_vulkan PUBLIC code)
target_include_directories(framework_vulkan PUBLIC external)
target_include_directories(framework_vulkan PUBLIC external/glm) # so code can do #include "glm/mat3x3.hpp" etc
target_include_directories(framework_vulkan PUBLIC external/json/single_include)
target_include_directories(framework_vulkan PUBLIC external/imgui)
target_include_directories(framework_vulkan PUBLIC external/implot)

target_link_libraries(framework_vulkan framework)
target_link_libraries(framework_vulkan PUBLIC framework)

get_target_property(VulkanHeaders_INCLUDE_DIRS Vulkan::Headers INTERFACE_INCLUDE_DIRECTORIES)
target_include_directories(framework_vulkan PUBLIC "${VulkanHeaders_INCLUDE_DIRS}")
Expand All @@ -545,18 +555,20 @@ if(FRAMEWORK_ENABLE_VULKAN AND FRAMEWORK_framework_vulkan)
target_include_directories(framework_vulkan PUBLIC external/slang/include)

# Link vulkan framework library dependencies
target_link_libraries(framework_vulkan volk)
#target_link_libraries(framework_vulkan spirv-cross-core)
#target_link_libraries(framework_vulkan spirv-cross-cpp)
#target_link_libraries(framework_vulkan spirv-cross-glsl)
#target_link_libraries(framework_vulkan spirv-cross-hlsl)
#target_link_libraries(framework_vulkan spirv-cross-msl)
#target_link_libraries(framework_vulkan spirv-cross-reflect)
#target_link_libraries(framework_vulkan spirv-cross-util)
#target_link_libraries(framework_vulkan SPIRV)
#target_link_libraries(framework_vulkan glslang)
#target_link_libraries(framework_vulkan glslang-default-resource-limits)
#target_link_libraries(framework_vulkan slang)
target_link_libraries(
framework_vulkan
PUBLIC
glslang
glslang-default-resource-limits
spirv-cross-core
spirv-cross-cpp
spirv-cross-glsl
spirv-cross-hlsl
spirv-cross-msl
spirv-cross-reflect
spirv-cross-util
SPIRV
)

target_compile_definitions(framework_vulkan PUBLIC VK_ENABLE_BETA_EXTENSIONS)

Expand Down Expand Up @@ -660,6 +672,21 @@ if(FRAMEWORK_LIB_OUTPUT)
target_link_libraries(framework_dx12_shared PUBLIC framework_dx12)
endif()


# Copy external libraries using a local target's post-build step
add_custom_command(TARGET framework_vulkan POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:glslang>
${FRAMEWORK_LIB_OUTPUT}/${CMAKE_BUILD_TYPE}/$<TARGET_FILE_NAME:glslang>)
add_custom_command(TARGET framework_vulkan POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:glslang-default-resource-limits>
${FRAMEWORK_LIB_OUTPUT}/${CMAKE_BUILD_TYPE}/$<TARGET_FILE_NAME:glslang-default-resource-limits>)
add_custom_command(TARGET framework_vulkan POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:SPIRV>
${FRAMEWORK_LIB_OUTPUT}/${CMAKE_BUILD_TYPE}/$<TARGET_FILE_NAME:SPIRV>)

endif()


Expand Down
3 changes: 3 additions & 0 deletions framework/code/graphicsApi/renderTarget.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@
class GraphicsApiBase;
template<typename T_GFXAPI> class RenderTarget;

class RenderTargetBase;

struct RenderTargetInitializeInfo
{
uint32_t Width = 0;
uint32_t Height = 0;
std::span<const TextureFormat> LayerFormats = {};
TextureFormat DepthFormat = TextureFormat::UNDEFINED;
RenderTargetBase* InheritedDepthAttachment = nullptr;
const std::span<const TEXTURE_TYPE> TextureTypes = {};
const std::optional<const TEXTURE_TYPE> DepthTextureType = std::nullopt;
std::span<const Msaa> Msaa = {};
Expand Down
14 changes: 14 additions & 0 deletions framework/code/vulkan/extensionLib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,20 @@ namespace ExtensionLib
}
#endif // VK_KHR_fragment_shading_rate

#if VK_KHR_cooperative_matrix
void Ext_VK_KHR_cooperative_matrix::PrintFeatures() const
{
LOGI("VK_KHR_fragment_shading_rate (VkPhysicalDeviceCooperativeMatrixFeaturesKHR): ");
LOGI(" pipelineFragmentShadingRate: %s", this->AvailableFeatures.cooperativeMatrix ? "True" : "False");
LOGI(" primitiveFragmentShadingRate: %s", this->AvailableFeatures.cooperativeMatrixRobustBufferAccess ? "True" : "False");
}
void Ext_VK_KHR_cooperative_matrix::PrintProperties() const
{
LOGI("VK_KHR_fragment_shading_rate (VkPhysicalDeviceFragmentShadingRatePropertiesKHR): ");
LOGI(" cooperativeMatrixSupportedStages: %d", this->Properties.cooperativeMatrixSupportedStages);
}
#endif // VK_KHR_cooperative_matrix

#if VK_KHR_create_renderpass2
void Ext_VK_KHR_create_renderpass2::LookupFunctionPointers( VkInstance vkInstance )
{
Expand Down
31 changes: 31 additions & 0 deletions framework/code/vulkan/extensionLib.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ namespace ExtensionLib

#endif // VK_KHR_create_renderpass2


#if VK_KHR_draw_indirect_count

struct Ext_VK_KHR_draw_indirect_count : public VulkanFunctionPointerExtensionHelper<VulkanExtensionType::eDevice>
Expand All @@ -253,6 +254,36 @@ namespace ExtensionLib

#endif // VK_KHR_draw_indirect_count

#if VK_KHR_cooperative_matrix

struct Ext_VK_KHR_cooperative_matrix : public VulkanFeaturesPropertiesAndFunctionPointerExtensionHelper<
VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
VkPhysicalDeviceCooperativeMatrixPropertiesKHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR>
{
static constexpr auto Name = VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME;
explicit Ext_VK_KHR_cooperative_matrix(VulkanExtensionStatus status = VulkanExtensionStatus::eRequired) : VulkanFeaturesPropertiesAndFunctionPointerExtensionHelper(Name, status)
{
}

void PopulateRequestedFeatures() override
{
RequestedFeatures.sType = AvailableFeatures.sType;
RequestedFeatures.cooperativeMatrix = AvailableFeatures.cooperativeMatrix;
RequestedFeatures.cooperativeMatrixRobustBufferAccess = AvailableFeatures.cooperativeMatrixRobustBufferAccess;
}
void LookupFunctionPointers(VkInstance vkInstance) override
{
m_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)vkGetInstanceProcAddr(vkInstance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR");
}
void LookupFunctionPointers(VkDevice, PFN_vkGetDeviceProcAddr) override {}
void PrintFeatures() const override;
void PrintProperties() const override;

PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR m_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = nullptr;
};

#endif // VK_KHR_cooperative_matrix

#if VK_KHR_depth_stencil_resolve

struct Ext_VK_KHR_depth_stencil_resolve : public VulkanFunctionPointerExtensionHelper<VulkanExtensionType::eDevice>
Expand Down
30 changes: 24 additions & 6 deletions framework/code/vulkan/renderTarget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ RenderTarget<Vulkan>& RenderTarget<Vulkan>::operator=( RenderTarget<Vulkan>&& sr
m_ClearColorValues = std::move( src.m_ClearColorValues );
m_ResolveAttachments = std::move( src.m_ResolveAttachments );
m_DepthAttachment = std::move( src.m_DepthAttachment );
m_InheritedDepthAttachment = std::move( src.m_InheritedDepthAttachment);
src.m_InheritedDepthAttachment = nullptr;
m_FrameBuffer = std::move( src.m_FrameBuffer );
m_FrameBufferDepthOnly = std::move( src.m_FrameBufferDepthOnly );

Expand Down Expand Up @@ -107,15 +109,30 @@ bool RenderTarget<Vulkan>::Initialize( Vulkan* pVulkan, const RenderTargetInitia

m_pLayerFormats.assign( info.LayerFormats.begin(), info.LayerFormats.end() );

if (!InitializeDepth(depthTextureType))
return false;
if (info.InheritedDepthAttachment)
{
auto* inheritedDepthAttachment = apiCast<Vulkan>(info.InheritedDepthAttachment);
if (!inheritedDepthAttachment->m_DepthAttachment)
{
return false;
}

m_InheritedDepthAttachment = &inheritedDepthAttachment->m_DepthAttachment;
m_DepthFormat = m_InheritedDepthAttachment->Format;
}
else
{
if (!InitializeDepth(depthTextureType))
return false;
}

if (!InitializeColor(colorTextureTypes))
return false;
if (!InitializeResolve( info.ResolveTextureFormats ))
return false;
if (renderPass && *renderPass && !CreateFrameBuffer( *renderPass, m_ColorAttachments, &m_DepthAttachment, m_ResolveAttachments, nullptr/*pVRSAttachment*/, &m_FrameBuffer ))
if (renderPass && *renderPass && !CreateFrameBuffer( *renderPass, m_ColorAttachments, m_InheritedDepthAttachment ? m_InheritedDepthAttachment : &m_DepthAttachment, m_ResolveAttachments, nullptr/*pVRSAttachment*/, &m_FrameBuffer ))
return false;
if (renderPassDepthOnly && *renderPassDepthOnly && m_DepthAttachment && !CreateFrameBuffer( *renderPassDepthOnly, {}, &m_DepthAttachment, m_ResolveAttachments, nullptr/*pVRSAttachment*/, &m_FrameBufferDepthOnly ))
if (renderPassDepthOnly && *renderPassDepthOnly && (m_InheritedDepthAttachment || m_DepthAttachment) && !CreateFrameBuffer( *renderPassDepthOnly, {}, m_InheritedDepthAttachment ? m_InheritedDepthAttachment : &m_DepthAttachment, m_ResolveAttachments, nullptr/*pVRSAttachment*/, &m_FrameBufferDepthOnly ))
return false;

return true;
Expand Down Expand Up @@ -154,15 +171,15 @@ bool RenderTarget<Vulkan>::Initialize(Vulkan* pVulkan, uint32_t uiWidth, uint32_
bool RenderTarget<Vulkan>::InitializeFrameBuffer( Vulkan* pVulkan, const RenderPass<Vulkan>& renderPass )
//-----------------------------------------------------------------------------
{
bool success = CreateFrameBuffer( renderPass, m_ColorAttachments, &m_DepthAttachment, m_ResolveAttachments, nullptr, &m_FrameBuffer );
bool success = CreateFrameBuffer( renderPass, m_ColorAttachments, m_InheritedDepthAttachment ? m_InheritedDepthAttachment : &m_DepthAttachment, m_ResolveAttachments, nullptr, &m_FrameBuffer );
return success;
}

//-----------------------------------------------------------------------------
bool RenderTarget<Vulkan>::InitializeFrameBufferDepthOnly( Vulkan* pVulkan, const RenderPass<Vulkan>& renderPassDepthOnly )
//-----------------------------------------------------------------------------
{
bool success = CreateFrameBuffer( renderPassDepthOnly, {}, &m_DepthAttachment, {}, nullptr, &m_FrameBufferDepthOnly );
bool success = CreateFrameBuffer( renderPassDepthOnly, {}, m_InheritedDepthAttachment ? m_InheritedDepthAttachment : &m_DepthAttachment, {}, nullptr, &m_FrameBufferDepthOnly );
return success;
}

Expand Down Expand Up @@ -321,6 +338,7 @@ void RenderTarget<Vulkan>::Release()
m_Msaa.clear();

m_DepthAttachment.Release(m_pVulkan);
m_InheritedDepthAttachment = nullptr;
m_DepthFormat = TextureFormat::UNDEFINED;

m_FrameBufferDepthOnly = {};
Expand Down
1 change: 1 addition & 0 deletions framework/code/vulkan/renderTarget.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ class RenderTarget<Vulkan> final : public RenderTargetBase

// The Depth Attachment
TextureVulkan m_DepthAttachment;
TextureVulkan* m_InheritedDepthAttachment = nullptr; // Note: Not owning

// The Frame Buffer
Framebuffer<Vulkan> m_FrameBuffer;
Expand Down
29 changes: 23 additions & 6 deletions framework/code/vulkan/vulkan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -787,6 +787,9 @@ bool Vulkan::RegisterKnownExtensions()
m_ExtKhrSynchronization2 = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_synchronization2>();
m_ExtKhrDrawIndirectCount = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_draw_indirect_count>();
m_ExtRenderPass2 = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_create_renderpass2>();
m_ExtBufferDeviceAddress = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_buffer_device_address>();
m_Ext8BitStorage = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_8bit_storage>();
m_ExtCooperativeMatrix = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_cooperative_matrix>();
m_ExtFragmentShadingRate = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_fragment_shading_rate>();
m_ExtMeshShader = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_mesh_shader>();
m_ExtDynamicRendering = m_DeviceExtensions.GetExtension<ExtensionLib::Ext_VK_KHR_dynamic_rendering>();
Expand Down Expand Up @@ -1234,6 +1237,7 @@ bool Vulkan::GetDataGraphProcessingEngine()
// isn't fully supported publicly by the driver
#if defined(OS_ANDROID)
{
#if 0
auto* Ext_VK_ARM_tensors = static_cast<ExtensionLib::Ext_VK_ARM_tensors*>(m_DeviceExtensions.GetExtension(VK_ARM_TENSORS_EXTENSION_NAME));
auto* Ext_VK_ARM_data_graph = static_cast<ExtensionLib::Ext_VK_ARM_data_graph*>(m_DeviceExtensions.GetExtension(VK_ARM_DATA_GRAPH_EXTENSION_NAME));
auto fpGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)vkGetInstanceProcAddr(GetVulkanInstance(), "vkGetDeviceProcAddr");
Expand All @@ -1244,14 +1248,27 @@ bool Vulkan::GetDataGraphProcessingEngine()
{
LOGI("Forcing registering and enabling Graph Pipelines extensions for Android");

Ext_VK_ARM_tensors->Status = VulkanExtensionStatus::eLoaded;
Ext_VK_ARM_tensors->LookupFunctionPointers(m_VulkanDevice, fpGetDeviceProcAddr);
Ext_VK_ARM_tensors->LookupFunctionPointers(m_VulkanInstance);
try
{
Ext_VK_ARM_tensors->Status = VulkanExtensionStatus::eLoaded;
Ext_VK_ARM_tensors->LookupFunctionPointers(m_VulkanDevice, fpGetDeviceProcAddr);
Ext_VK_ARM_tensors->LookupFunctionPointers(m_VulkanInstance);

Ext_VK_ARM_data_graph->Status = VulkanExtensionStatus::eLoaded;
Ext_VK_ARM_data_graph->LookupFunctionPointers(m_VulkanDevice, fpGetDeviceProcAddr);
Ext_VK_ARM_data_graph->LookupFunctionPointers(m_VulkanInstance);

LOGI("Forcing registering and enabling Graph Pipelines extensions for Android - Done");
}
catch (...)
{
Ext_VK_ARM_tensors->Status = VulkanExtensionStatus::eLoaded;
Ext_VK_ARM_data_graph->Status = VulkanExtensionStatus::eLoaded;

Ext_VK_ARM_data_graph->Status = VulkanExtensionStatus::eLoaded;
Ext_VK_ARM_data_graph->LookupFunctionPointers(m_VulkanDevice, fpGetDeviceProcAddr);
Ext_VK_ARM_data_graph->LookupFunctionPointers(m_VulkanInstance);
LOGI("Forcing registering and enabling Graph Pipelines extensions for Android - Failed, disabling EXT");
}
}
#endif
}
#endif

Expand Down
6 changes: 6 additions & 0 deletions framework/code/vulkan/vulkan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ namespace ExtensionLib {
struct Ext_VK_EXT_hdr_metadata;
struct Ext_VK_KHR_fragment_shading_rate;
struct Ext_VK_KHR_create_renderpass2;
struct Ext_VK_KHR_buffer_device_address;
struct Ext_VK_KHR_8bit_storage;
struct Ext_VK_KHR_cooperative_matrix;
struct Ext_VK_KHR_synchronization2;
struct Ext_VK_QCOM_tile_properties;
struct Ext_VK_QCOM_tile_shading;
Expand Down Expand Up @@ -1077,6 +1080,9 @@ class Vulkan : public ::GraphicsApiBase
const ExtensionLib::Ext_VK_EXT_hdr_metadata* m_ExtHdrMetadata = nullptr;
const ExtensionLib::Ext_VK_KHR_fragment_shading_rate* m_ExtFragmentShadingRate = nullptr;
const ExtensionLib::Ext_VK_KHR_create_renderpass2* m_ExtRenderPass2 = nullptr;
const ExtensionLib::Ext_VK_KHR_buffer_device_address* m_ExtBufferDeviceAddress = nullptr;
const ExtensionLib::Ext_VK_KHR_8bit_storage* m_Ext8BitStorage = nullptr;
const ExtensionLib::Ext_VK_KHR_cooperative_matrix* m_ExtCooperativeMatrix = nullptr;
const ExtensionLib::Ext_VK_KHR_synchronization2* m_ExtKhrSynchronization2 = nullptr;
const ExtensionLib::Ext_VK_QCOM_tile_properties* m_ExtQcomTileProperties = nullptr;
const ExtensionLib::Ext_VK_QCOM_tile_shading* m_ExtQcomTileShading = nullptr;
Expand Down
14 changes: 14 additions & 0 deletions project/android/cmake/FrameworkApplicationHelper.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,20 @@ target_link_libraries( ${TARGET_NAME} ${CMAKE_CURRENT_BINARY_DIR}/../../../../..
#endif()
target_link_libraries( ${TARGET_NAME} ${CMAKE_CURRENT_BINARY_DIR}/../../../../../android/framework/${CMAKE_BUILD_TYPE}/libframework.a )
target_link_libraries( ${TARGET_NAME} ${CMAKE_CURRENT_BINARY_DIR}/../../../../../android/framework/${CMAKE_BUILD_TYPE}/libframework_base.a )

target_link_libraries(
${TARGET_NAME}
${CMAKE_CURRENT_BINARY_DIR}/../../../../../android/framework/${CMAKE_BUILD_TYPE}/libglslang.a
)
target_link_libraries(
${TARGET_NAME}
${CMAKE_CURRENT_BINARY_DIR}/../../../../../android/framework/${CMAKE_BUILD_TYPE}/libglslang-default-resource-limits.a
)
target_link_libraries(
${TARGET_NAME}
${CMAKE_CURRENT_BINARY_DIR}/../../../../../android/framework/${CMAKE_BUILD_TYPE}/libSPIRV.a
)

target_include_directories(${TARGET_NAME} PUBLIC ../../framework/code)
target_include_directories(${TARGET_NAME} PUBLIC ../../framework/external)
target_include_directories(${TARGET_NAME} PUBLIC ../../framework/external/glm) # so code can do #include "glm/mat3x3.hpp" etc
Expand Down
Loading
Loading