vulkan creation and destruction of shader modules

This commit is contained in:
Greg Wells
2025-05-27 14:06:26 -04:00
parent df977592df
commit 4709450e94
6 changed files with 48 additions and 5 deletions

View File

@@ -53,5 +53,5 @@ typedef struct gnDeviceFunctions_t {
void (*_gnDestroyPresentationQueue)(gnPresentationQueue *presentationQueue);
gnReturnCode (*_gnCreateShaderModule)(struct gnShaderModule_t* module, struct gnOutputDevice_t* device, struct gnShaderModuleInfo_t shaderModuleInfo);
void (*_gnDestroyShaderModule)(struct gnShaderModuleInfo_t* module);
void (*_gnDestroyShaderModule)(struct gnShaderModule_t* module);
} gnDeviceFunctions;

View File

@@ -5,3 +5,7 @@ gnReturnCode gnCreateShaderModule(struct gnShaderModule_t* module, struct gnOutp
module->device = device;
return device->deviceFunctions->_gnCreateShaderModule(module, device, shaderModuleInfo);
}
void gnDestroyShaderModule(struct gnShaderModule_t* module) {
module->device->deviceFunctions->_gnDestroyShaderModule(module);
}

View File

@@ -9,7 +9,7 @@ typedef enum gnShaderModuleStage_e {
typedef struct gnShaderModuleInfo_t {
enum gnShaderModuleStage_e stage;
unsigned char* code;
uint32_t* code;
uint32_t size;
gnString entryPoint;
} gnShaderModuleInfo;
@@ -22,3 +22,4 @@ typedef struct gnShaderModule_t {
} gnShaderModule;
gnReturnCode gnCreateShaderModule(struct gnShaderModule_t* module, struct gnOutputDevice_t* device, struct gnShaderModuleInfo_t shaderModuleInfo);
void gnDestroyShaderModule(struct gnShaderModule_t* module);