Józef Kucia
2249527922
wined3d: Use more suitable bind target for SRV/UAV buffers.
...
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>
2017-02-08 17:00:09 +01:00
Henri Verbeet
6fd212818d
wined3d: Do not preload the buffer in wined3d_buffer_unmap().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 19:48:44 +01:00
Henri Verbeet
413ccc82db
wined3d: Load WINED3D_LOCATION_BUFFER if needed in wined3d_buffer_map().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 19:48:44 +01:00
Henri Verbeet
e2dbbec1af
wined3d: Implement wined3d_buffer_upload_data() on top of wined3d_buffer_upload_ranges().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 19:48:44 +01:00
Henri Verbeet
160ad4570e
wined3d: Support WINED3D_LOCATION_BUFFER in wined3d_buffer_load_location().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 19:48:44 +01:00
Henri Verbeet
15d53761a5
wined3d: Do not pin system memory in wined3d_buffer_load_location().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 19:48:44 +01:00
Henri Verbeet
ca6014b19a
wined3d: Return success in wined3d_buffer_load_location() when the location is already current.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:52 +01:00
Henri Verbeet
afb2aa2512
wined3d: Try to avoid stalling on dynamic buffer maps.
...
Particularly for applications that use dynamic buffers without
WINED3D_MAP_DISCARD/WINED3D_MAP_NOOVERWRITE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:52 +01:00
Henri Verbeet
efdb898bef
wined3d: Evict system memory for dynamic buffers on the first WINED3D_MAP_DISCARD map.
...
Mostly to avoid making things worse for applications that map dynamic buffers
without WINED3D_MAP_DISCARD/WINED3D_MAP_NOOVERWRITE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:52 +01:00
Henri Verbeet
a5f7aff3bb
wined3d: Do not upload data in buffer_create_buffer_object().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:52 +01:00
Henri Verbeet
451e137c1b
wined3d: Do not evict the system memory copy in buffer_create_buffer_object().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:52 +01:00
Henri Verbeet
b924ccb699
wined3d: Check buffer->map_ptr to determine if the buffer object is mapped.
...
Instead of trying to replicate the wined3d_buffer_map() logic in
wined3d_buffer_unmap().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:45 +01:00
Henri Verbeet
7a18b2473f
wined3d: Introduce wined3d_buffer_evict_sysmem().
...
For consistency with the texture code.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:45 +01:00
Henri Verbeet
6a70c55615
wined3d: Rename WINED3D_BUFFER_DOUBLEBUFFER to WINED3D_BUFFER_PIN_SYSMEM.
...
For consistency with the texture code.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:45 +01:00
Henri Verbeet
a11e301566
wined3d: Introduce wined3d_buffer_upload_ranges().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:45 +01:00
Henri Verbeet
602a23a60a
wined3d: Just use glBufferSubData() in buffer_direct_upload().
...
It might seem like a good idea to try to use glMapBufferRange() in
buffer_direct_upload(), but it really isn't. The interesting cases for
glMapBufferRange() are GL_MAP_INVALIDATE_BUFFER_BIT or
GL_MAP_UNSYNCHRONIZED_BIT, but the only way for those to be set here
would be for the buffer to be mapped with WINED3D_MAP_DISCARD or
WINED3D_MAP_NOOVERWRITE before the buffer object was created. In that
case the GPU is obviously not using the buffer object, so
glMapBufferRange() doesn't help. On the other hand, if the buffer is
currently in use by the application and neither WINED3D_MAP_DISCARD nor
WINED3D_MAP_NOOVERWRITE is set, glMapBufferRange() would need to wait
for the GPU to finish using the buffer object, while glBufferSubData()
may decide not to.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:44 +01:00
Józef Kucia
8187817830
wined3d: Add initial support for shader buffer views.
...
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>
2017-01-26 16:57:48 +01:00
Francois Gouget
551705d65f
wined3d: Make some functions static.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-09 20:49:10 +01:00
Józef Kucia
a02fd72965
wined3d: Use depth/stencil formats for typeless resources only when WINED3DUSAGE_DEPTHSTENCIL is set.
...
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>
2016-12-12 19:40:33 +01:00
Józef Kucia
e2733ed7fb
wined3d: Return location from wined3d_buffer_get_memory().
...
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>
2016-11-07 16:59:46 +01:00
Józef Kucia
085ae6ed08
wined3d: Use unsynchronized buffer updates only if there has been at least one buffer map.
...
Fixes bc019fcbbd
. We cannot use
unsynchronized updates when the application haven't called map at all.
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>
2016-11-07 16:59:46 +01:00
Józef Kucia
c259854a0a
wined3d: Avoid unsynchronized buffer update when reloading whole buffer.
...
Fixes bc019fcbbd
. Previously, we had the
NOSYNC flag instead of the SYNC flag. When the NOSYNC flag was set the
buffer was mapped with GL_MAP_UNSYNCHRONIZED_BIT. Now, when the SYNC
flag is not set the buffer is mapped with GL_MAP_UNSYNCHRONIZED_BIT.
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>
2016-11-07 16:59:46 +01:00
Józef Kucia
20b989ef86
wined3d: Mark buffers as used in wined3d_buffer_copy().
...
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>
2016-11-03 17:14:05 +01:00
Józef Kucia
aa11efc4af
wined3d: Get rid of WINED3DFMT_VERTEXDATA.
...
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>
2016-11-03 17:14:01 +01:00
Józef Kucia
07cfeac3dd
wined3d: Use wined3d_vec4 in fixup_transformed_pos().
...
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>
2016-11-02 15:23:05 +01:00
Józef Kucia
de19ba7c23
wined3d: Invalidate STATE_CONSTANT_BUFFER(*) device state in buffer_destroy_buffer_object() when needed.
...
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>
2016-11-02 15:23:03 +01:00
Józef Kucia
01b8bea329
wined3d: Fix style issues in delete_gl_buffer().
...
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>
2016-11-02 15:23:01 +01:00
Józef Kucia
20eb55fdef
wined3d: Pass context to delete_gl_buffer().
...
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>
2016-11-02 15:22:59 +01:00
Józef Kucia
cc35b6c8b3
wined3d: Invalidate device state based on buffer bind flags when buffer is deleted.
...
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>
2016-11-02 15:22:57 +01:00
Józef Kucia
e3c692151f
wined3d: Compute "buffer_type_hint" from buffer bind flags.
...
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>
2016-11-02 15:22:55 +01:00
Józef Kucia
9fef0c4910
wined3d: Invalidate INDEXBUFFER device state when bound index buffer is unloaded.
...
Fixes a regression introduced by commit
e3a8cd20ce
.
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>
2016-10-31 15:40:54 +01:00
Józef Kucia
61fef3bd1e
wined3d: Use buffer_bind() in buffer_conversion_upload().
...
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>
2016-10-24 14:02:15 +02:00
Józef Kucia
6454242009
wined3d: Introduce buffer_conversion_upload() helper function.
...
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>
2016-10-24 14:02:07 +02:00
Józef Kucia
4a23e91462
wined3d: Replace wined3d_buffer_load_sysmem() calls with wined3d_buffer_load_location().
...
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>
2016-10-24 14:02:05 +02:00
Józef Kucia
6ced2a8293
wined3d: Prefer current locations to WINED3D_LOCATION_SYSMEM in wined3d_buffer_copy().
...
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>
2016-10-21 13:37:59 +02:00
Józef Kucia
2e15ae85a1
wined3d: Introduce wined3d_buffer_get_memory().
...
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>
2016-10-21 13:37:58 +02:00
Józef Kucia
4e7ef680e3
wined3d: Implement wined3d_buffer_prepare_location() for WINED3D_LOCATION_BUFFER.
...
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>
2016-10-21 13:37:58 +02:00
Józef Kucia
8db3b5512e
wined3d: Move buffer_get_memory() under wined3d_buffer_load_sysmem().
...
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>
2016-10-21 13:37:58 +02:00
Józef Kucia
3c847a20c1
wined3d: Do not assume that WINED3D_LOCATION_SYSMEM is always valid for double buffered buffers.
...
We now have API that allows invalidating locations for buffers.
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>
2016-10-21 13:37:58 +02:00
Józef Kucia
645d3cac14
wined3d: Introduce wined3d_buffer_load_location().
...
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>
2016-10-21 13:37:58 +02:00
Józef Kucia
171e272f85
wined3d: Introduce wined3d_buffer_prepapre_location().
...
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>
2016-10-21 13:37:55 +02:00
Józef Kucia
2a385e420a
wined3d: Explicitly track locations for buffers.
...
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>
2016-10-19 08:09:50 -07:00
Józef Kucia
fc866d88f3
wined3d: Rename buffer_get_sysmem() to wined3d_buffer_load_sysmem().
...
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>
2016-10-19 08:09:48 -07:00
Józef Kucia
5f86ef7b1e
wined3d: Rename buffer_internal_preload() to wined3d_buffer_load().
...
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>
2016-10-19 08:09:46 -07:00
Józef Kucia
e3a8cd20ce
wined3d: Clean up buffer_internal_preload().
...
The conversion should never be performed for buffers with
buffer_type_hint other than GL_ARRAY_BUFFER.
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>
2016-10-19 08:09:43 -07:00
Józef Kucia
b1cc82a29f
wined3d: Let buffer_direct_upload() invalidate STATE_INDEXBUFFER if needed.
...
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>
2016-10-19 08:09:38 -07:00
Matteo Bruni
b877d4177f
wined3d: Fix doublebuffer mode trace.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:23 +09:00
Henri Verbeet
84db05620f
wined3d: Implement the initial buffer data upload on top of wined3d_device_update_sub_resource().
...
Mostly for consistency with the initial texture data upload.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 22:53:40 +09:00
Henri Verbeet
8232f371d8
wined3d: Sanitise resource map flags in wined3d_resource_map().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 11:27:28 +09:00
Henri Verbeet
4987ef49bd
d3d9: Use resource mapping functions in d3d9_device_DrawIndexedPrimitiveUP().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 11:27:22 +09:00
Henri Verbeet
53165034ba
wined3d: Unify resource preloads.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:08:58 +09:00
Henri Verbeet
0072830804
wined3d: Invalidate STATE_STREAMSRC in buffer_unload() if needed.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:08:50 -05:00
Matteo Bruni
b62f4139ed
wined3d: Swizzle D3DCOLOR attributes in the GLSL FFP replacement when necessary.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 09:57:38 -05:00
Matteo Bruni
dcaf944e35
wined3d: Check BLENDWEIGHT and BLENDINDICES FFP attributes for fixups.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 22:49:57 +09:00
Józef Kucia
8c0ddf9827
wined3d: Store vertex attribute size instead of component size in wined3d_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>
2016-07-19 19:59:31 +09:00
Henri Verbeet
cc9c18a46d
wined3d: Synchronise resource destruction with the command stream.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 22:35:02 +09:00
Henri Verbeet
b21f3c930e
wined3d: Send buffer destruction through the command stream.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 22:35:02 +09:00
Józef Kucia
0572f8ad9e
wined3d: Introduce wined3d_buffer_drop_bo() helper function.
...
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>
2016-06-23 22:04:18 +09:00
Józef Kucia
aa0cdc5146
wined3d: Replace WINED3D_BUFFER_CREATEBO with WINED3D_BUFFER_USE_BO.
...
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>
2016-05-27 20:10:05 +09:00
Józef Kucia
0dcf255b51
wined3d: Do not call wined3d_buffer_map() before "buffer->maps" is initialized.
...
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>
2016-05-27 20:10:01 +09:00
Józef Kucia
d39560f33f
wined3d: Simplify buffer_is_fully_dirty().
...
The buffer_invalidate_bo_range() ensures that if the whole buffer was
invalidated the dirty areas array contains exactly one element.
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>
2016-05-27 20:09:58 +09:00
Henri Verbeet
8ae3a9b624
wined3d: Introduce a helper function to allocate arrays.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:01 +09:00
Stefan Dösinger
d3f8efe546
wined3d: Get rid of WINED3D_BUFFER_FLUSH.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:07:27 +09:00
Henri Verbeet
d85706381c
wined3d: Merge drawStridedFast() and drawStridedInstanced().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:57:36 +09:00
Henri Verbeet
f3c155cc56
wined3d: Merge drawStridedSlow() and drawStridedSlowVs().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:57:34 +09:00
Józef Kucia
4affb95ebb
wined3d: Introduce helper function for binding buffers.
...
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>
2016-03-22 23:51:32 +09:00
Józef Kucia
446ee50b90
wined3d: Prevent possible integer overflow in buffer_invalidate_bo_range().
...
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>
2016-03-22 00:36:29 +09:00
Józef Kucia
94039385f9
wined3d: Implement copying of buffer resources.
...
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>
2016-03-22 00:36:28 +09:00
Henri Verbeet
e6e0c22783
wined3d: Set WINED3D_BUFFER_DOUBLEBUFFER for managed buffers as well.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-05 15:45:22 +01:00
Józef Kucia
62658ec5b8
wined3d: Add support for buffers in wined3d_device_update_sub_resource().
...
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>
2016-01-05 11:51:01 +01:00
Alex Henrie
32d73eab5c
wined3d: Avoid double initialization.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-03 20:03:41 +01:00
Józef Kucia
7b9d06b494
wined3d: Introduce wined3d_resource_unmap().
...
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>
2015-11-04 14:41:37 +09:00
Józef Kucia
535b3fe029
wined3d: Introduce wined3d_resource_map().
...
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>
2015-11-04 14:41:37 +09:00
Andrey Gusev
3c8635c8d7
wined3d: TRACE fixes.
2015-10-01 00:00:46 +09:00
Henri Verbeet
2773b27bb1
wined3d: Use unsigned mask constants in shifts.
2015-08-26 23:53:22 +09:00
Henri Verbeet
7f416ff339
wined3d: Validate "data" in buffer_init().
2015-07-31 12:08:53 +02:00
Stefan Dösinger
c8d1a70804
wined3d: Set the gl resource type in resource_init.
2015-06-08 18:51:24 +09:00
Stefan Dösinger
3c0ed9ce0a
wined3d: Introduce resource-type specific format flags.
2015-04-24 19:08:35 +09:00
Stefan Dösinger
da5041eb4b
wined3d: Check the d3d buffer to find converted attributes.
...
This fixes some tests with ARB shaders that were broken since
1360af6adc
. When buffer_internal_preload
is called by context_update_stream_info, si->elements[i].data is not yet
set.
2015-02-06 22:20:26 +09:00
Matteo Bruni
79a0dece8b
wined3d: Use the core version of the gl*Buffer* functions.
2015-01-15 11:44:20 +01:00
Henri Verbeet
eb24c9578c
wined3d: Keep a reference to the resource in rendertarget views.
2014-08-21 12:24:21 +02:00
Henri Verbeet
9020ef9675
wined3d: Make the "desc" parameter to wined3d_buffer_create() const.
2014-08-04 14:23:40 +02:00
Henri Verbeet
bc019fcbbd
wined3d: Track synchronized buffer maps.
...
Instead of trying to infer unsynchronized ones.
2014-07-18 19:13:37 +02:00
Henri Verbeet
01251f3d3c
wined3d: Use the previous "dirty" status to set WINED3D_BUFFER_NOSYNC in wined3d_buffer_map().
...
This (presumably) fixes a regression introduced by commit
c1032e977b
.
2014-07-18 19:13:36 +02:00
Stefan Dösinger
cf11933701
wined3d: Remove wined3d_buffer_set/get_priority.
2014-07-16 16:10:01 +02:00
Henri Verbeet
68339456a8
wined3d: Always mark vertex buffers as used in context_apply_draw_state().
...
The issue this solves is that buffer_internal_preload() is only called when
STATE_VDECL or STATE_STREAMSRC is invalidated, but that doesn't happen for
regular buffer maps. We'd like to be able to just call
buffer_internal_preload() here, but buffer_internal_preload() has dependencies
on context_stream_info_from_declaration() and vice versa.
2014-07-14 19:26:17 +02:00
Henri Verbeet
c1032e977b
wined3d: Filter redundant WINED3D_MAP_DISCARD buffer maps.
2014-03-04 11:50:54 +01:00
Stefan Dösinger
9f72f78431
wined3d: Set buffer->map_ptr to NULL on unmap.
2014-01-27 17:39:47 +01:00
Stefan Dösinger
10a8b2cd7f
wined3d: Remove resource->allocatedMemory.
2014-01-16 21:04:19 +01:00
Henri Verbeet
da3549315f
wined3d: Get rid of the buffer_object_size field from struct wined3d_buffer.
2013-12-06 13:14:52 +01:00
Henri Verbeet
d1e44ff775
wined3d: Pass a resource to wined3d_resource_free_sysmem().
2013-09-16 12:51:13 +02:00
Henri Verbeet
261246ef21
wined3d: Pass a resource to wined3d_resource_allocate_sysmem().
2013-09-16 12:51:13 +02:00
Stefan Dösinger
b8eb171b6b
wined3d: Explicitly pass the state information to buffer_internal_preload.
2013-09-12 17:48:20 +02:00
Stefan Dösinger
d8c43aabf7
wined3d: Move the decoded stream info into the context.
2013-09-12 17:48:14 +02:00
Stefan Dösinger
a0b56d9c59
wined3d: Pass stream info and needed fixups to buffer_find_decl.
2013-09-12 17:48:11 +02:00
Stefan Dösinger
cd203b38a6
wined3d: Pass the context to the main buffer preload function.
2013-09-09 22:10:01 +02:00
Stefan Dösinger
87f931dc64
wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_get_sysmem().
2013-09-09 22:10:00 +02:00
Stefan Dösinger
1cf192172e
wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_create_buffer_object().
2013-09-09 22:10:00 +02:00
Henri Verbeet
b5e0c5d052
wined3d: Get rid of some leftover comments referring to the GL lock.
2013-09-02 18:02:26 +02:00
Henri Verbeet
35a8bf0e1e
wined3d: Move the buffer flags to buffer.c.
2013-08-30 11:18:43 +02:00