9#ifndef SH_ENGINE_DESCRIPTOR_H
10#define SH_ENGINE_DESCRIPTOR_H
31#include <shvulkan/shVulkan.h>
35#define SH_ENVIRONMENT_STR512_LENGTH 64
36#define SH_ENVIRONMENT_STR1024_LENGTH 128
78#define SH_ENVIRONMENT_MAX_HOST_BUFFER_COUNT 2048
99#define SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT 512
185 const char* ini_file_path,
186 SmdFileHandle* p_ini_smd,
201 const char* application_file_path,
202 SmdFileHandle* p_application_smd,
217 const char* card_inputs_file_path,
218 SmdFileHandle* p_card_inputs_smd,
233 const char* vulkan_memory_file_path,
234 SmdFileHandle* p_vulkan_memory_smd,
248 const char* serial_file_path,
249 SmdFileHandle* p_serial_smd,
263 const char* scene_file_path,
264 SmdFileHandle* p_scene_smd,
274#define shGetFileStats(path, stats)\
282#define shInitDescriptor(p_descriptor_handle)\
283 shGetFileStats((p_descriptor_handle)->path, &(p_descriptor_handle)->stats0)
292#define shEnvironmentError(condition, msg, failure_expression)\
293 if ((int)(condition)) { printf("shenvironment error: %s.\n", msg); failure_expression; }
Defines the ShCamera structure and related constants and functions.
uint8_t shGetSceneProperties(const char *scene_file_path, SmdFileHandle *p_scene_smd, ShSceneProperties *p_scene_properties)
Retrieves scene properties from a specified file.
Definition shEnvironment.c:459
uint8_t shGetIniProperties(const char *ini_file_path, SmdFileHandle *p_ini_smd, ShIniProperties *p_ini_properties)
Function to get INI properties from a file.
Definition shEnvironment.c:20
#define SH_ENVIRONMENT_MAX_HOST_BUFFER_COUNT
Definition shEnvironment.h:78
uint8_t shGetHostMemoryProperties(const char *card_inputs_file_path, SmdFileHandle *p_card_inputs_smd, ShHostMemoryProperties *p_card_inputs_properties)
Function to get host memory properties from a file.
Definition shEnvironment.c:150
uint8_t shGetVulkanMemoryProperties(const char *vulkan_memory_file_path, SmdFileHandle *p_vulkan_memory_smd, ShVulkanMemoryProperties *p_vulkan_memory_properties)
Function to get Vulkan memory properties from a file.
Definition shEnvironment.c:239
uint8_t shGetSerialProperties(const char *serial_file_path, SmdFileHandle *p_serial_smd, ShSerialProperties *p_serial_properties)
Retrieves serial properties from a specified file.
Definition shEnvironment.c:400
#define SH_ENVIRONMENT_STR512_LENGTH
Definition shEnvironment.h:35
#define SH_ENVIRONMENT_STR1024_LENGTH
Definition shEnvironment.h:36
uint8_t shGetApplicationProperties(const char *application_file_path, SmdFileHandle *p_application_smd, ShApplicationProperties *p_application_properties)
Function to get application properties from a file.
Definition shEnvironment.c:79
#define SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT
Definition shEnvironment.h:99
Defines the ShIdentity structure and related constants.
Structure representing properties related to the application.
Definition shEnvironment.h:65
char s_update[SH_ENVIRONMENT_STR512_LENGTH]
Definition shEnvironment.h:68
char s_frame_resize[SH_ENVIRONMENT_STR512_LENGTH]
Definition shEnvironment.h:71
char s_start[SH_ENVIRONMENT_STR512_LENGTH]
Definition shEnvironment.h:67
uint32_t additional_thread_count
Definition shEnvironment.h:73
char shared_name[SH_ENVIRONMENT_STR512_LENGTH]
Definition shEnvironment.h:66
char s_main_renderpass[SH_ENVIRONMENT_STR512_LENGTH]
Definition shEnvironment.h:70
char s_main_cmd_buffer[SH_ENVIRONMENT_STR512_LENGTH]
Definition shEnvironment.h:69
char s_close[SH_ENVIRONMENT_STR512_LENGTH]
Definition shEnvironment.h:72
Represents a camera component in scene.
Definition shCamera.h:23
Structure representing properties related to host memory.
Definition shEnvironment.h:89
uint32_t buffer_count
Definition shEnvironment.h:90
uint32_t buffers_stride[SH_ENVIRONMENT_MAX_HOST_BUFFER_COUNT]
Definition shEnvironment.h:92
void * p_buffers_memory[SH_ENVIRONMENT_MAX_HOST_BUFFER_COUNT]
Definition shEnvironment.h:94
uint32_t buffers_size[SH_ENVIRONMENT_MAX_HOST_BUFFER_COUNT]
Definition shEnvironment.h:91
uint32_t buffers_offset[SH_ENVIRONMENT_MAX_HOST_BUFFER_COUNT]
Definition shEnvironment.h:93
Represents an identity component in scene.
Definition shIdentity.h:28
Structure representing properties related to the initialization (INI) file.
Definition shEnvironment.h:47
char application_name[SH_ENVIRONMENT_STR1024_LENGTH]
Definition shEnvironment.h:48
char vulkan_memory_smd_path[SH_ENVIRONMENT_STR1024_LENGTH]
Definition shEnvironment.h:51
char scene_smd_path[SH_ENVIRONMENT_STR1024_LENGTH]
Definition shEnvironment.h:53
char host_memory_smd_path[SH_ENVIRONMENT_STR1024_LENGTH]
Definition shEnvironment.h:50
char application_smd_path[SH_ENVIRONMENT_STR1024_LENGTH]
Definition shEnvironment.h:49
char serial_smd_path[SH_ENVIRONMENT_STR1024_LENGTH]
Definition shEnvironment.h:52
Structure representing properties related to the scene.
Definition shEnvironment.h:164
ShTransform * p_transforms
Definition shEnvironment.h:168
ShIdentity * p_identities
Definition shEnvironment.h:166
uint32_t entity_count
Definition shEnvironment.h:165
ShCamera * p_cameras
Definition shEnvironment.h:167
Structure representing properties related to serial communication.
Definition shEnvironment.h:140
uint8_t read_bit
Definition shEnvironment.h:144
uint32_t read_timeout_ms
Definition shEnvironment.h:143
uint32_t baud_rate
Definition shEnvironment.h:142
char port[SH_ENVIRONMENT_STR1024_LENGTH]
Definition shEnvironment.h:141
uint8_t write_bit
Definition shEnvironment.h:145
Structure representing properties related to Vulkan memory.
Definition shEnvironment.h:110
uint32_t buffer_count
Definition shEnvironment.h:111
uint8_t buffers_usage_index_buffer_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:117
VkDeviceMemory buffers_memory[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:128
uint8_t buffers_memory_property_host_visible_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:124
uint8_t buffers_memory_property_host_coherent_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:125
uint8_t buffers_usage_uniform_buffer_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:115
VkBuffer buffers[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:127
uint8_t buffers_memory_sharing_mode_exclusive[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:120
uint8_t buffers_usage_transfer_dst_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:114
uint8_t buffers_usage_vertex_buffer_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:118
uint8_t buffers_memory_property_device_local_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:123
uint8_t buffers_memory_sharing_mode_concurrent[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:121
uint32_t buffers_size[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:112
uint8_t buffers_usage_transfer_src_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:113
uint8_t buffers_usage_storage_buffer_bit[SH_ENVIRONMENT_MAX_VULKAN_BUFFER_COUNT]
Definition shEnvironment.h:116