From dda7db1d9299899154ffb8b8b57565fd0d16cb1a Mon Sep 17 00:00:00 2001 From: Caleb Cornett Date: Tue, 10 Oct 2023 21:32:12 -0500 Subject: [PATCH] Implement CreateShaderModule --- src/Refresh_Driver_D3D11.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Refresh_Driver_D3D11.c b/src/Refresh_Driver_D3D11.c index 8db96b9..e7afe86 100644 --- a/src/Refresh_Driver_D3D11.c +++ b/src/Refresh_Driver_D3D11.c @@ -874,8 +874,20 @@ static Refresh_ShaderModule* D3D11_CreateShaderModule( Refresh_Renderer *driverData, Refresh_ShaderModuleCreateInfo *shaderModuleCreateInfo ) { - NOT_IMPLEMENTED - return NULL; + D3D11Renderer *renderer = (D3D11Renderer*) driverData; + D3D11ShaderModule *shaderModule = (D3D11ShaderModule*) SDL_malloc(sizeof(D3D11ShaderModule)); + + /* We don't know whether this is a vertex or fragment shader, + * so wait to compile until we bind to a pipeline... + */ + shaderModule->shader = NULL; + shaderModule->blob = NULL; + + shaderModule->shaderSourceLength = shaderModuleCreateInfo->codeSize; + shaderModule->shaderSource = (char*) SDL_malloc(shaderModule->shaderSourceLength); + SDL_memcpy(shaderModule->shaderSource, shaderModuleCreateInfo->byteCode, shaderModuleCreateInfo->codeSize); + + return (Refresh_ShaderModule*) shaderModule; } static Refresh_Texture* D3D11_CreateTexture(