GeometryShaderPtr CompileAndCreateGeometryShader(const std::string& code, const D3D_SHADER_MACRO* pDefines, const char* pEntry) { D3DBlob blob; if (CompileShader(DX11::D3D::ShaderType::Geometry, code, blob, pDefines, pEntry)) { return CreateGeometryShaderFromByteCode(blob); } return nullptr; }
ID3D11GeometryShader* CompileAndCreateGeometryShader(const std::string& code, const D3D_SHADER_MACRO* pDefines) { D3DBlob* blob = nullptr; if (CompileGeometryShader(code, &blob, pDefines)) { ID3D11GeometryShader* g_shader = CreateGeometryShaderFromByteCode(blob); blob->Release(); return g_shader; } return nullptr; }
ID3D11GeometryShader* CompileAndCreateGeometryShader(const char* code, unsigned int len, const D3D_SHADER_MACRO* pDefines) { D3DBlob* blob = NULL; if (CompileGeometryShader(code, len, &blob, pDefines)) { ID3D11GeometryShader* g_shader = CreateGeometryShaderFromByteCode(blob); blob->Release(); return g_shader; } return NULL; }
ID3D11GeometryShader* CompileAndCreateGeometryShader(const char* code, unsigned int len, const D3D_SHADER_MACRO* pDefines) { D3DBlob* blob = NULL; if (CompileGeometryShader(code, len, &blob, pDefines)) { ID3D11GeometryShader* g_shader = CreateGeometryShaderFromByteCode(blob); blob->Release(); return g_shader; } PanicAlert("Failed to compile and create geometry shader from %p (size %d) at %s %d\n", code, len, __FILE__, __LINE__); return NULL; }