Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
- index 3f4552f2bb..c985f63ef8 100644
- --- a/dlls/wined3d/buffer.c
- +++ b/dlls/wined3d/buffer.c
- @@ -1417,16 +1417,31 @@ HRESULT CDECL wined3d_buffer_create(struct wined3d_device *device, const struct
- struct wined3d_buffer **buffer)
- {
- struct wined3d_buffer *object;
- + unsigned int access;
- + char *small_buffers_hack_env;
- + BOOL small_buffers_hack_enabled = FALSE;
- HRESULT hr;
- + if ((small_buffers_hack_env = getenv("SMALL_BUFFERS_HACK")) && *small_buffers_hack_env == '1')
- + {
- + small_buffers_hack_enabled = TRUE;
- + }
- +
- TRACE("device %p, desc %p, data %p, parent %p, parent_ops %p, buffer %p.\n",
- device, desc, data, parent, parent_ops, buffer);
- if (!(object = heap_alloc_zero(sizeof(*object))))
- return E_OUTOFMEMORY;
- + if (!small_buffers_hack_enabled || !(desc->bind_flags & WINED3D_BIND_CONSTANT_BUFFER))
- + access = desc->access;
- + else {
- + FIXME("Overriding buffer access flags. byte_width: %d flags: %#x buffer: %p.\n", desc->byte_width, desc->access, object);
- + access = WINED3D_RESOURCE_ACCESS_GPU | WINED3D_RESOURCE_ACCESS_CPU | WINED3D_RESOURCE_ACCESS_MAP_R | WINED3D_RESOURCE_ACCESS_MAP_W;
- + }
- +
- if (FAILED(hr = buffer_init(object, device, desc->byte_width, desc->usage, WINED3DFMT_UNKNOWN,
- - desc->access, desc->bind_flags, data, parent, parent_ops)))
- + access, desc->bind_flags, data, parent, parent_ops)))
- {
- WARN("Failed to initialize buffer, hr %#x.\n", hr);
- heap_free(object);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement