wined3d: Avoid unnecessary memory allocations in nested command stream calls.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Sebastian Lackner 2017-02-17 16:54:45 +01:00 committed by Alexandre Julliard
parent 10200af741
commit 82965692a0
1 changed files with 6 additions and 7 deletions

View File

@ -1608,15 +1608,14 @@ static void wined3d_cs_st_submit(struct wined3d_cs *cs)
data = cs->data; data = cs->data;
start = cs->start; start = cs->start;
cs->start = cs->end; cs->start = cs->end;
opcode = *(const enum wined3d_cs_op *)&data[start]; opcode = *(const enum wined3d_cs_op *)&data[start];
wined3d_cs_op_handlers[opcode](cs, &data[start]); wined3d_cs_op_handlers[opcode](cs, &data[start]);
if (!start)
{ if (cs->data == data)
if (cs->data != data) cs->start = cs->end = start;
HeapFree(GetProcessHeap(), 0, data); else if (!start)
else HeapFree(GetProcessHeap(), 0, data);
cs->start = cs->end = 0;
}
} }
static void wined3d_cs_st_push_constants(struct wined3d_cs *cs, enum wined3d_push_constants p, static void wined3d_cs_st_push_constants(struct wined3d_cs *cs, enum wined3d_push_constants p,