wined3d: Free the shader function when freeing the shader.
This commit is contained in:
parent
bd97580683
commit
7a97d4e2ec
|
@ -1119,6 +1119,7 @@ ULONG WINAPI IWineD3DBaseShaderImpl_Release(IWineD3DBaseShader *iface) {
|
||||||
TRACE("(%p) : Releasing from %d\n", This, This->baseShader.ref);
|
TRACE("(%p) : Releasing from %d\n", This, This->baseShader.ref);
|
||||||
ref = InterlockedDecrement(&This->baseShader.ref);
|
ref = InterlockedDecrement(&This->baseShader.ref);
|
||||||
if (ref == 0) {
|
if (ref == 0) {
|
||||||
|
HeapFree(GetProcessHeap(), 0, This->baseShader.function);
|
||||||
shader_delete_constant_list(&This->baseShader.constantsF);
|
shader_delete_constant_list(&This->baseShader.constantsF);
|
||||||
shader_delete_constant_list(&This->baseShader.constantsB);
|
shader_delete_constant_list(&This->baseShader.constantsB);
|
||||||
shader_delete_constant_list(&This->baseShader.constantsI);
|
shader_delete_constant_list(&This->baseShader.constantsI);
|
||||||
|
|
|
@ -1884,7 +1884,7 @@ typedef struct IWineD3DBaseShaderClass
|
||||||
SHADER_LIMITS limits;
|
SHADER_LIMITS limits;
|
||||||
SHADER_PARSE_STATE parse_state;
|
SHADER_PARSE_STATE parse_state;
|
||||||
CONST SHADER_OPCODE *shader_ins;
|
CONST SHADER_OPCODE *shader_ins;
|
||||||
CONST DWORD *function;
|
DWORD *function;
|
||||||
UINT functionLength;
|
UINT functionLength;
|
||||||
GLuint prgId;
|
GLuint prgId;
|
||||||
BOOL is_compiled;
|
BOOL is_compiled;
|
||||||
|
|
Loading…
Reference in New Issue