parent
b3d333d1b8
commit
662d2b3464
7 changed files with 20 additions and 29 deletions
|
|
@ -8,6 +8,17 @@
|
||||||
|
|
||||||
#include "VulkanTools.h"
|
#include "VulkanTools.h"
|
||||||
|
|
||||||
|
const std::string getAssetPath()
|
||||||
|
{
|
||||||
|
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
||||||
|
return "";
|
||||||
|
#elif defined(VK_EXAMPLE_DATA_DIR)
|
||||||
|
return VK_EXAMPLE_DATA_DIR;
|
||||||
|
#else
|
||||||
|
return "./../data/";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
namespace vks
|
namespace vks
|
||||||
{
|
{
|
||||||
namespace tools
|
namespace tools
|
||||||
|
|
|
||||||
|
|
@ -59,11 +59,7 @@
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__ANDROID__)
|
const std::string getAssetPath();
|
||||||
#define ASSET_PATH ""
|
|
||||||
#else
|
|
||||||
#define ASSET_PATH "./../data/"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace vks
|
namespace vks
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -101,20 +101,6 @@ std::string VulkanExampleBase::getWindowTitle()
|
||||||
return windowTitle;
|
return windowTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !(defined(VK_USE_PLATFORM_IOS_MVK) || defined(VK_USE_PLATFORM_MACOS_MVK))
|
|
||||||
// iOS & macOS: VulkanExampleBase::getAssetPath() implemented externally to allow access to Objective-C components
|
|
||||||
const std::string VulkanExampleBase::getAssetPath()
|
|
||||||
{
|
|
||||||
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
||||||
return "";
|
|
||||||
#elif defined(VK_EXAMPLE_DATA_DIR)
|
|
||||||
return VK_EXAMPLE_DATA_DIR;
|
|
||||||
#else
|
|
||||||
return "./../data/";
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool VulkanExampleBase::checkCommandBuffers()
|
bool VulkanExampleBase::checkCommandBuffers()
|
||||||
{
|
{
|
||||||
for (auto& cmdBuffer : drawCmdBuffers)
|
for (auto& cmdBuffer : drawCmdBuffers)
|
||||||
|
|
|
||||||
|
|
@ -135,8 +135,6 @@ public:
|
||||||
|
|
||||||
/** @brief Last frame time measured using a high performance timer (if available) */
|
/** @brief Last frame time measured using a high performance timer (if available) */
|
||||||
float frameTimer = 1.0f;
|
float frameTimer = 1.0f;
|
||||||
/** @brief Returns os specific base asset path (for shaders, models, textures) */
|
|
||||||
const std::string getAssetPath();
|
|
||||||
|
|
||||||
vks::Benchmark benchmark;
|
vks::Benchmark benchmark;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -365,9 +365,9 @@ public:
|
||||||
shaderStage.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
|
shaderStage.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
|
||||||
shaderStage.stage = VK_SHADER_STAGE_COMPUTE_BIT;
|
shaderStage.stage = VK_SHADER_STAGE_COMPUTE_BIT;
|
||||||
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
||||||
shaderStage.module = vks::tools::loadShader(androidapp->activity->assetManager, ASSET_PATH "shaders/computeheadless/headless.comp.spv", device);
|
shaderStage.module = vks::tools::loadShader(androidapp->activity->assetManager, (getAssetPath() + "shaders/computeheadless/headless.comp.spv".c_str(), device);
|
||||||
#else
|
#else
|
||||||
shaderStage.module = vks::tools::loadShader(ASSET_PATH "shaders/computeheadless/headless.comp.spv", device);
|
shaderStage.module = vks::tools::loadShader((getAssetPath() + "shaders/computeheadless/headless.comp.spv").c_str(), device);
|
||||||
#endif
|
#endif
|
||||||
shaderStage.pName = "main";
|
shaderStage.pName = "main";
|
||||||
shaderStage.pSpecializationInfo = &specializationInfo;
|
shaderStage.pSpecializationInfo = &specializationInfo;
|
||||||
|
|
|
||||||
|
|
@ -329,8 +329,8 @@ public:
|
||||||
|
|
||||||
pipelineCreateInfo.pVertexInputState = &vertexInputState;
|
pipelineCreateInfo.pVertexInputState = &vertexInputState;
|
||||||
|
|
||||||
shaderStages[0] = example->loadShader(example->getAssetPath() + "shaders/imgui/ui.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
|
shaderStages[0] = example->loadShader(getAssetPath() + "shaders/imgui/ui.vert.spv", VK_SHADER_STAGE_VERTEX_BIT);
|
||||||
shaderStages[1] = example->loadShader(example->getAssetPath() + "shaders/imgui/ui.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
|
shaderStages[1] = example->loadShader(getAssetPath() + "shaders/imgui/ui.frag.spv", VK_SHADER_STAGE_FRAGMENT_BIT);
|
||||||
|
|
||||||
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device->logicalDevice, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
|
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device->logicalDevice, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -598,11 +598,11 @@ public:
|
||||||
shaderStages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT;
|
shaderStages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT;
|
||||||
shaderStages[1].pName = "main";
|
shaderStages[1].pName = "main";
|
||||||
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
||||||
shaderStages[0].module = vks::tools::loadShader(androidapp->activity->assetManager, ASSET_PATH "shaders/renderheadless/triangle.vert.spv", device);
|
shaderStages[0].module = vks::tools::loadShader(androidapp->activity->assetManager, (getAssetPath() + "shaders/renderheadless/triangle.vert.spv".c_str(), device);
|
||||||
shaderStages[1].module = vks::tools::loadShader(androidapp->activity->assetManager, ASSET_PATH "shaders/renderheadless/triangle.frag.spv", device);
|
shaderStages[1].module = vks::tools::loadShader(androidapp->activity->assetManager, (getAssetPath() + "shaders/renderheadless/triangle.frag.spv".c_str(), device);
|
||||||
#else
|
#else
|
||||||
shaderStages[0].module = vks::tools::loadShader(ASSET_PATH "shaders/renderheadless/triangle.vert.spv", device);
|
shaderStages[0].module = vks::tools::loadShader((getAssetPath() + "shaders/renderheadless/triangle.vert.spv").c_str(), device);
|
||||||
shaderStages[1].module = vks::tools::loadShader(ASSET_PATH "shaders/renderheadless/triangle.frag.spv", device);
|
shaderStages[1].module = vks::tools::loadShader((getAssetPath() + "shaders/renderheadless/triangle.frag.spv").c_str(), device);
|
||||||
#endif
|
#endif
|
||||||
shaderModules = { shaderStages[0].module, shaderStages[1].module };
|
shaderModules = { shaderStages[0].module, shaderStages[1].module };
|
||||||
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
|
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, pipelineCache, 1, &pipelineCreateInfo, nullptr, &pipeline));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue