Added Android function pointers for indirect draws, lowered object count on Android
This commit is contained in:
parent
444c4b9c24
commit
9c1e254b6a
3 changed files with 12 additions and 0 deletions
|
|
@ -91,6 +91,8 @@ PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
|
||||||
PFN_vkCmdPushConstants vkCmdPushConstants;
|
PFN_vkCmdPushConstants vkCmdPushConstants;
|
||||||
PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
|
PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
|
||||||
PFN_vkCmdDraw vkCmdDraw;
|
PFN_vkCmdDraw vkCmdDraw;
|
||||||
|
PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
|
||||||
|
PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
|
||||||
PFN_vkCmdDispatch vkCmdDispatch;
|
PFN_vkCmdDispatch vkCmdDispatch;
|
||||||
PFN_vkDestroyPipeline vkDestroyPipeline;
|
PFN_vkDestroyPipeline vkDestroyPipeline;
|
||||||
PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
|
PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
|
||||||
|
|
@ -238,6 +240,8 @@ void loadVulkanFunctions(VkInstance instance)
|
||||||
|
|
||||||
vkCmdDrawIndexed = reinterpret_cast<PFN_vkCmdDrawIndexed>(vkGetInstanceProcAddr(instance, "vkCmdDrawIndexed"));
|
vkCmdDrawIndexed = reinterpret_cast<PFN_vkCmdDrawIndexed>(vkGetInstanceProcAddr(instance, "vkCmdDrawIndexed"));
|
||||||
vkCmdDraw = reinterpret_cast<PFN_vkCmdDraw>(vkGetInstanceProcAddr(instance, "vkCmdDraw"));
|
vkCmdDraw = reinterpret_cast<PFN_vkCmdDraw>(vkGetInstanceProcAddr(instance, "vkCmdDraw"));
|
||||||
|
vkCmdDrawIndexedIndirect = reinterpret_cast<PFN_vkCmdDrawIndexedIndirect>(vkGetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect"));
|
||||||
|
vkCmdDrawIndirect = reinterpret_cast<PFN_vkCmdDrawIndirect>(vkGetInstanceProcAddr(instance, "vkCmdDrawIndirect"));
|
||||||
vkCmdDispatch = reinterpret_cast<PFN_vkCmdDispatch>(vkGetInstanceProcAddr(instance, "vkCmdDispatch"));
|
vkCmdDispatch = reinterpret_cast<PFN_vkCmdDispatch>(vkGetInstanceProcAddr(instance, "vkCmdDispatch"));
|
||||||
|
|
||||||
vkDestroyPipeline = reinterpret_cast<PFN_vkDestroyPipeline>(vkGetInstanceProcAddr(instance, "vkDestroyPipeline"));
|
vkDestroyPipeline = reinterpret_cast<PFN_vkDestroyPipeline>(vkGetInstanceProcAddr(instance, "vkDestroyPipeline"));
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,8 @@ extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
|
||||||
extern PFN_vkCmdPushConstants vkCmdPushConstants;
|
extern PFN_vkCmdPushConstants vkCmdPushConstants;
|
||||||
extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
|
extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
|
||||||
extern PFN_vkCmdDraw vkCmdDraw;
|
extern PFN_vkCmdDraw vkCmdDraw;
|
||||||
|
extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
|
||||||
|
extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
|
||||||
extern PFN_vkCmdDispatch vkCmdDispatch;
|
extern PFN_vkCmdDispatch vkCmdDispatch;
|
||||||
extern PFN_vkDestroyPipeline vkDestroyPipeline;
|
extern PFN_vkDestroyPipeline vkDestroyPipeline;
|
||||||
extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
|
extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
|
||||||
|
|
|
||||||
|
|
@ -41,9 +41,15 @@
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
// Number of instances per object
|
// Number of instances per object
|
||||||
|
#if defined(__ANDROID__)
|
||||||
|
#define OBJECT_INSTANCE_COUNT 1024
|
||||||
|
// Circular range of plant distribution
|
||||||
|
#define PLANT_RADIUS 20.0f
|
||||||
|
#else
|
||||||
#define OBJECT_INSTANCE_COUNT 2048
|
#define OBJECT_INSTANCE_COUNT 2048
|
||||||
// Circular range of plant distribution
|
// Circular range of plant distribution
|
||||||
#define PLANT_RADIUS 25.0f
|
#define PLANT_RADIUS 25.0f
|
||||||
|
#endif
|
||||||
|
|
||||||
// Vertex layout for this example
|
// Vertex layout for this example
|
||||||
std::vector<vkMeshLoader::VertexLayout> vertexLayout =
|
std::vector<vkMeshLoader::VertexLayout> vertexLayout =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue