On Thu, 25 Mar 2021 at 00:20, Zebediah Figura z.figura12@gmail.com wrote:
void CDECL wined3d_device_set_stream_output(struct wined3d_device *device, UINT idx, struct wined3d_buffer *buffer, UINT offset) {
struct wined3d_stream_output *stream;
struct wined3d_buffer *prev_buffer;
TRACE("device %p, idx %u, buffer %p, offset %u.\n", device, idx, buffer, offset);
if (idx >= WINED3D_MAX_STREAM_OUTPUT_BUFFERS)
{
WARN("Invalid stream output %u.\n", idx);
return;
}
stream = &device->cs->c.state->stream_output[idx];
prev_buffer = stream->buffer;
if (buffer)
wined3d_buffer_incref(buffer);
stream->buffer = buffer;
stream->offset = offset; wined3d_device_context_emit_set_stream_output(&device->cs->c, idx, buffer, offset);
if (prev_buffer)
wined3d_buffer_decref(prev_buffer);
}
We'd want this to call wined3d_device_context_set_stream_output(), I think.