Commit f69d4a86 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

wined3d: Trace CS packet pointers.

This makes it easier to "unwind" through the CS thread when debugging. Signed-off-by: 's avatarZebediah Figura <zfigura@codeweavers.com> Signed-off-by: 's avatarHenri Verbeet <hverbeet@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 87b5d914
...@@ -3217,6 +3217,7 @@ static void wined3d_cs_queue_submit(struct wined3d_cs_queue *queue, struct wined ...@@ -3217,6 +3217,7 @@ static void wined3d_cs_queue_submit(struct wined3d_cs_queue *queue, struct wined
size_t packet_size; size_t packet_size;
packet = (struct wined3d_cs_packet *)&queue->data[queue->head]; packet = (struct wined3d_cs_packet *)&queue->data[queue->head];
TRACE("Queuing op %s at %p.\n", debug_cs_op(*(const enum wined3d_cs_op *)packet->data), packet);
packet_size = FIELD_OFFSET(struct wined3d_cs_packet, data[packet->size]); packet_size = FIELD_OFFSET(struct wined3d_cs_packet, data[packet->size]);
InterlockedExchange(&queue->head, (queue->head + packet_size) & (WINED3D_CS_QUEUE_SIZE - 1)); InterlockedExchange(&queue->head, (queue->head + packet_size) & (WINED3D_CS_QUEUE_SIZE - 1));
...@@ -3429,7 +3430,7 @@ static DWORD WINAPI wined3d_cs_run(void *ctx) ...@@ -3429,7 +3430,7 @@ static DWORD WINAPI wined3d_cs_run(void *ctx)
{ {
opcode = *(const enum wined3d_cs_op *)packet->data; opcode = *(const enum wined3d_cs_op *)packet->data;
TRACE("Executing %s.\n", debug_cs_op(opcode)); TRACE("Executing %s at %p.\n", debug_cs_op(opcode), packet);
if (opcode >= WINED3D_CS_OP_STOP) if (opcode >= WINED3D_CS_OP_STOP)
{ {
if (opcode > WINED3D_CS_OP_STOP) if (opcode > WINED3D_CS_OP_STOP)
...@@ -3440,7 +3441,7 @@ static DWORD WINAPI wined3d_cs_run(void *ctx) ...@@ -3440,7 +3441,7 @@ static DWORD WINAPI wined3d_cs_run(void *ctx)
wined3d_cs_command_lock(cs); wined3d_cs_command_lock(cs);
wined3d_cs_op_handlers[opcode](cs, packet->data); wined3d_cs_op_handlers[opcode](cs, packet->data);
wined3d_cs_command_unlock(cs); wined3d_cs_command_unlock(cs);
TRACE("%s executed.\n", debug_cs_op(opcode)); TRACE("%s at %p executed.\n", debug_cs_op(opcode), packet);
} }
tail &= (WINED3D_CS_QUEUE_SIZE - 1); tail &= (WINED3D_CS_QUEUE_SIZE - 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment