wined3d: Pass a wined3d_device_context to wined3d_device_get_stream_output().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-04-20 19:53:55 -05:00 committed by Alexandre Julliard
parent 4d459f4395
commit bba5923bbe
4 changed files with 12 additions and 11 deletions

View File

@ -2190,7 +2190,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMGetDepthStencilState(ID3
static void STDMETHODCALLTYPE d3d11_immediate_context_SOGetTargets(ID3D11DeviceContext1 *iface, static void STDMETHODCALLTYPE d3d11_immediate_context_SOGetTargets(ID3D11DeviceContext1 *iface,
UINT buffer_count, ID3D11Buffer **buffers) UINT buffer_count, ID3D11Buffer **buffers)
{ {
struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface); struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface);
unsigned int i; unsigned int i;
TRACE("iface %p, buffer_count %u, buffers %p.\n", iface, buffer_count, buffers); TRACE("iface %p, buffer_count %u, buffers %p.\n", iface, buffer_count, buffers);
@ -2201,7 +2201,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_SOGetTargets(ID3D11DeviceC
struct wined3d_buffer *wined3d_buffer; struct wined3d_buffer *wined3d_buffer;
struct d3d_buffer *buffer_impl; struct d3d_buffer *buffer_impl;
if (!(wined3d_buffer = wined3d_device_get_stream_output(device->wined3d_device, i, NULL))) if (!(wined3d_buffer = wined3d_device_context_get_stream_output(context->wined3d_context, i, NULL)))
{ {
buffers[i] = NULL; buffers[i] = NULL;
continue; continue;
@ -5501,7 +5501,8 @@ static void STDMETHODCALLTYPE d3d10_device_SOGetTargets(ID3D10Device1 *iface,
struct wined3d_buffer *wined3d_buffer; struct wined3d_buffer *wined3d_buffer;
struct d3d_buffer *buffer_impl; struct d3d_buffer *buffer_impl;
if (!(wined3d_buffer = wined3d_device_get_stream_output(device->wined3d_device, i, &offsets[i]))) if (!(wined3d_buffer = wined3d_device_context_get_stream_output(
device->immediate_context.wined3d_context, i, &offsets[i])))
{ {
buffers[i] = NULL; buffers[i] = NULL;
continue; continue;

View File

@ -1229,10 +1229,10 @@ void CDECL wined3d_device_set_stream_output(struct wined3d_device *device, UINT
wined3d_device_context_set_stream_output(&device->cs->c, idx, buffer, offset); wined3d_device_context_set_stream_output(&device->cs->c, idx, buffer, offset);
} }
struct wined3d_buffer * CDECL wined3d_device_get_stream_output(struct wined3d_device *device, struct wined3d_buffer * CDECL wined3d_device_context_get_stream_output(struct wined3d_device_context *context,
UINT idx, UINT *offset) unsigned int idx, unsigned int *offset)
{ {
TRACE("device %p, idx %u, offset %p.\n", device, idx, offset); TRACE("context %p, idx %u, offset %p.\n", context, idx, offset);
if (idx >= WINED3D_MAX_STREAM_OUTPUT_BUFFERS) if (idx >= WINED3D_MAX_STREAM_OUTPUT_BUFFERS)
{ {
@ -1241,8 +1241,8 @@ struct wined3d_buffer * CDECL wined3d_device_get_stream_output(struct wined3d_de
} }
if (offset) if (offset)
*offset = device->cs->c.state->stream_output[idx].offset; *offset = context->state->stream_output[idx].offset;
return device->cs->c.state->stream_output[idx].buffer; return context->state->stream_output[idx].buffer;
} }
HRESULT CDECL wined3d_device_set_stream_source(struct wined3d_device *device, UINT stream_idx, HRESULT CDECL wined3d_device_set_stream_source(struct wined3d_device *device, UINT stream_idx,

View File

@ -84,7 +84,6 @@
@ cdecl wined3d_device_get_render_state(ptr long) @ cdecl wined3d_device_get_render_state(ptr long)
@ cdecl wined3d_device_get_software_vertex_processing(ptr) @ cdecl wined3d_device_get_software_vertex_processing(ptr)
@ cdecl wined3d_device_get_state(ptr) @ cdecl wined3d_device_get_state(ptr)
@ cdecl wined3d_device_get_stream_output(ptr long ptr)
@ cdecl wined3d_device_get_swapchain(ptr long) @ cdecl wined3d_device_get_swapchain(ptr long)
@ cdecl wined3d_device_get_swapchain_count(ptr) @ cdecl wined3d_device_get_swapchain_count(ptr)
@ cdecl wined3d_device_get_unordered_access_view(ptr long) @ cdecl wined3d_device_get_unordered_access_view(ptr long)
@ -171,6 +170,7 @@
@ cdecl wined3d_device_context_get_scissor_rects(ptr ptr ptr) @ cdecl wined3d_device_context_get_scissor_rects(ptr ptr ptr)
@ cdecl wined3d_device_context_get_shader(ptr long) @ cdecl wined3d_device_context_get_shader(ptr long)
@ cdecl wined3d_device_context_get_shader_resource_view(ptr long long) @ cdecl wined3d_device_context_get_shader_resource_view(ptr long long)
@ cdecl wined3d_device_context_get_stream_output(ptr long ptr)
@ cdecl wined3d_device_context_get_stream_source(ptr long ptr ptr ptr) @ cdecl wined3d_device_context_get_stream_source(ptr long ptr ptr ptr)
@ cdecl wined3d_device_context_get_unordered_access_view(ptr long long) @ cdecl wined3d_device_context_get_unordered_access_view(ptr long long)
@ cdecl wined3d_device_context_get_vertex_declaration(ptr) @ cdecl wined3d_device_context_get_vertex_declaration(ptr)

View File

@ -2418,8 +2418,6 @@ HRESULT __cdecl wined3d_device_get_raster_status(const struct wined3d_device *de
DWORD __cdecl wined3d_device_get_render_state(const struct wined3d_device *device, enum wined3d_render_state state); DWORD __cdecl wined3d_device_get_render_state(const struct wined3d_device *device, enum wined3d_render_state state);
BOOL __cdecl wined3d_device_get_software_vertex_processing(const struct wined3d_device *device); BOOL __cdecl wined3d_device_get_software_vertex_processing(const struct wined3d_device *device);
struct wined3d_state * __cdecl wined3d_device_get_state(struct wined3d_device *device); struct wined3d_state * __cdecl wined3d_device_get_state(struct wined3d_device *device);
struct wined3d_buffer * __cdecl wined3d_device_get_stream_output(struct wined3d_device *device,
UINT idx, UINT *offset);
struct wined3d_swapchain * __cdecl wined3d_device_get_swapchain(const struct wined3d_device *device, struct wined3d_swapchain * __cdecl wined3d_device_get_swapchain(const struct wined3d_device *device,
UINT swapchain_idx); UINT swapchain_idx);
UINT __cdecl wined3d_device_get_swapchain_count(const struct wined3d_device *device); UINT __cdecl wined3d_device_get_swapchain_count(const struct wined3d_device *device);
@ -2571,6 +2569,8 @@ struct wined3d_shader * __cdecl wined3d_device_context_get_shader(const struct w
enum wined3d_shader_type type); enum wined3d_shader_type type);
struct wined3d_shader_resource_view * __cdecl wined3d_device_context_get_shader_resource_view( struct wined3d_shader_resource_view * __cdecl wined3d_device_context_get_shader_resource_view(
const struct wined3d_device_context *context, enum wined3d_shader_type shader_type, unsigned int idx); const struct wined3d_device_context *context, enum wined3d_shader_type shader_type, unsigned int idx);
struct wined3d_buffer * __cdecl wined3d_device_context_get_stream_output(struct wined3d_device_context *context,
unsigned int idx, unsigned int *offset);
HRESULT __cdecl wined3d_device_context_get_stream_source(const struct wined3d_device_context *context, HRESULT __cdecl wined3d_device_context_get_stream_source(const struct wined3d_device_context *context,
unsigned int stream_idx, struct wined3d_buffer **buffer, unsigned int *offset, unsigned int *stride); unsigned int stream_idx, struct wined3d_buffer **buffer, unsigned int *offset, unsigned int *stride);
struct wined3d_unordered_access_view * __cdecl wined3d_device_context_get_unordered_access_view( struct wined3d_unordered_access_view * __cdecl wined3d_device_context_get_unordered_access_view(