Paul Gofman
df509be8c6
wined3d: Allow loading buffers mapped through system memory.
...
Fixes rendering dirt on the wind shield and GL_INVALID_OPERATION
errors in "Need For Speed Shift 2".
The test succeeds on Windows with retail Direct3D 9, but fails
with debug Direct3D 9 if selected in DirectX SDK control panel:
error code is returned from _DrawIndexedPrimitive() and the
triangle is not rendered.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-25 21:11:32 +02:00
Henri Verbeet
422fa49668
wined3d: Make the adapter responsible for copying between buffer objects.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:11 +02:00
Henri Verbeet
c01433690d
wined3d: Merge wined3d_buffer_gl_unmap() and buffer_resource_sub_resource_unmap().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:05 +02:00
Henri Verbeet
e0dcdaedb2
wined3d: Merge wined3d_buffer_gl_map() and buffer_resource_sub_resource_map().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:02 +02:00
Henri Verbeet
47701b7231
wined3d: Use wined3d_context_map_bo_address() in wined3d_buffer_gl_map().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet
179c8cc86f
wined3d: Move the "buffer_object" field from struct wined3d_buffer_gl to struct wined3d_buffer.
...
We'll want to use this for Vulkan buffers as well.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet
2bc6941ab0
wined3d: Derive the GL bind point for buffer object maps from the bind flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet
8b780d2d8c
wined3d: Use wined3d_resource_gl_legacy_map_flags() in wined3d_buffer_gl_map().
...
For consistency with the ARB_map_buffer_range path.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet
6462ba5269
wined3d: Introduce wined3d_buffer_ops.buffer_prepare_location().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:00 +02:00
Henri Verbeet
3179a6af29
wined3d: Introduce wined3d_resource_prepare_sysmem().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:08:52 +02:00
Henri Verbeet
5b3f89ae8d
wined3d: Make the adapter responsible for buffer creation and destruction.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:25 +02:00
Henri Verbeet
e1448751ea
wined3d: Download buffer ranges through buffer ops.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 09:02:10 +02:00
Henri Verbeet
ac7ca87a68
wined3d: Upload buffer ranges through buffer ops.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 09:02:07 +02:00
Henri Verbeet
74b9ef2c1d
wined3d: Move the "gl_info" field from struct wined3d_context to struct wined3d_context_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 19:56:16 +02:00
Henri Verbeet
25bc1a334c
wined3d: Use d3d_info to determine BGRA vertex support in wined3d_buffer_load().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 08:58:58 +02:00
Henri Verbeet
633cd82a3d
wined3d: Pass a wined3d_context_gl structure to wined3d_buffer_gl_destroy_buffer_object().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 08:27:08 +02:00
Henri Verbeet
5239000a9e
wined3d: Pass a wined3d_context_gl structure to wined3d_buffer_gl_create_buffer_object().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 10:08:24 +02:00
Henri Verbeet
1381d179f9
wined3d: Pass a wined3d_context_gl structure to wined3d_buffer_gl_bind().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 10:08:22 +02:00
Henri Verbeet
6ffc6cd5d2
wined3d: Pass a wined3d_context_gl structure to context_end_transform_feedback().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 09:46:13 +02:00
Henri Verbeet
7bdbf00b0f
wined3d: Pass a wined3d_context_gl structure to context_copy_bo_address().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:16:54 +02:00
Henri Verbeet
3faa9e92a5
wined3d: Pass a wined3d_context_gl structure to context_bind_bo().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:16:48 +02:00
Paul Gofman
a5ffdff2ed
wined3d: Invalidate _SYSMEM location when mapping opengl buffer.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Henri Verbeet
7d83ebeed2
wined3d: Pass bind flags to wined3d_get_format().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet
45bf95278d
wined3d: Store resource bind flags in the wined3d_resource structure.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:54:06 +01:00
Henri Verbeet
22b3a4f044
wined3d: Get rid of the "desc" field in struct wined3d_buffer.
...
Most of the information in "desc" is already stored in the wined3d_resource
structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:54:04 +01:00
Henri Verbeet
b579afd30a
wined3d: Move the "buffer_object" field from struct wined3d_buffer to struct wined3d_buffer_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-29 10:11:37 +01:00
Henri Verbeet
fc9c8e4758
wined3d: Move the "buffer_object_usage" field from struct wined3d_buffer to struct wined3d_buffer_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 21:18:27 +02:00
Henri Verbeet
12b5c91485
wined3d: Move the "buffer_type_hint" field from struct wined3d_buffer to struct wined3d_buffer_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 21:18:27 +02:00
Henri Verbeet
15962381e2
wined3d: Introduce a separate structure for OpenGL buffer information.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 21:18:27 +02:00
Henri Verbeet
944e92ba06
wined3d: Pass the wined3d_buffer_desc structure directly to buffer_init().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 13:55:37 +02:00
Henri Verbeet
1ae45f47cd
wined3d: Get rid of the "format_id" parameter to buffer_init().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 13:55:35 +02:00
Matteo Bruni
097c4b135b
wined3d: Dump buffer descriptor in wined3d_buffer_create().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-13 00:30:51 +02:00
Henri Verbeet
ccbee769a4
wined3d: Get rid of the "attribute_size" field in struct wined3d_format.
...
Note that "byte_count" is 4 for R10G10B10X2_UINT/R10G10B10X2_SNORM, while
"attribute_size" is 6. I think 4 is correct.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:31:38 +02:00
Józef Kucia
eec2f1db5d
wined3d: Try to avoid allocating sysmem for GPU buffers with initial data.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 18:18:55 +02:00
Józef Kucia
3cd28caf17
wined3d: Fix initial data for non-GPU buffers.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44655
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 18:18:51 +02:00
Józef Kucia
9320424105
wined3d: Pass wined3d_adapter to wined3d_get_format().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 20:12:29 +02:00
Henri Verbeet
8a321bba69
wined3d: Clarify a TRACE in buffer_init().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:00 +02:00
Józef Kucia
bb535b1a2d
wined3d: Call wined3d_cs_emit_update_sub_resource() directly in buffer_init().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-20 16:02:42 +02:00
Józef Kucia
537007525a
wined3d: Use WINED3D_LOCATION_DISCARDED before initializing buffers with data.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-20 16:02:40 +02:00
Pablo Martin
b7d21a669d
wined3d: Add unimplemented flags parameter to wined3d_device_update_sub_resource.
...
Signed-off-by: Pablo Martin <pmart-wine@riseup.net>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-23 17:33:01 +02:00
Józef Kucia
409f32ffa3
wined3d: Do not allocate system memory for resources by default.
...
Avoids allocating system memory for depth/stencil and 3D textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-10 18:10:49 +02:00
Henri Verbeet
70f017ac4d
wined3d: Get rid of the "StrictDrawOrdering" setting.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 11:41:50 +01:00
Henri Verbeet
acc0f49aae
wined3d: Introduce separate read and write resource map flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 13:43:52 +01:00
Henri Verbeet
f08342f573
wined3d: Use the global memory allocation helpers.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 09:06:58 +01:00
Henri Verbeet
96432c4cc2
d3d9: Use wined3d_buffer_create() in d3d9_device_prepare_vertex_buffer().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 09:19:12 +01:00
Henri Verbeet
f181da61a0
d3d9: Use wined3d_buffer_create() in d3d9_device_prepare_index_buffer().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-07 10:05:42 +01:00
Henri Verbeet
c0f92bd318
wined3d: Implement wined3d_buffer_create_ib() on top of wined3d_buffer_create().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 10:00:07 +01:00
Henri Verbeet
1377e7a608
wined3d: Implement wined3d_buffer_create_vb() on top of wined3d_buffer_create().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 10:00:07 +01:00
Henri Verbeet
8623bd3b6b
wined3d: Replace the CPU access flags in struct wined3d_buffer_desc with resource access flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 10:00:07 +01:00
Henri Verbeet
9275b06cc0
wined3d: Replace the pool in struct wined3d_resource_desc with resource access flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:45 +01:00