Philip Rebohle
5415b685de
[dxbc] Implemented type conversion instructions
2017-12-19 18:12:18 +01:00
Philip Rebohle
da2cc5a6a0
[dxvk] Fixed resource binding with invalidated buffers
...
When invalidating a constant buffer, the descriptor was not
updated, which usually led to the wrong resource being used
and could also cause crashes.
This fix also includes resource tracking for shader resources
on the graphics pipeline. The code needs to be made compatible
with the compute pipeline as well.
2017-12-19 01:08:48 +01:00
Philip Rebohle
c44b50ae4d
[dxvk] Fixed bug where resource bindings would not be updated after rebinding the pipeline
2017-12-18 16:16:21 +01:00
Philip Rebohle
4d01517dd8
[d3d11] Geometry shader prep work
2017-12-18 12:53:53 +01:00
Philip Rebohle
38b989ec91
[dxvk] vkCmdUpdateBuffer can only be used if both offset and size are aligned to four bytes
2017-12-18 12:44:18 +01:00
Philip Rebohle
ebabc0e578
[dxvk] Implemented proper swap chain synchronization
2017-12-16 21:30:48 +01:00
Philip Rebohle
1fe5b74762
Optimized command submission
...
Command submission now does not synchronize with the device every single
time. Instead, the command list and the fence that was created for it are
added to a queue. A separate thread will then wait for the execution to
complete and return the command list to the device.
2017-12-16 18:10:55 +01:00
Philip Rebohle
d5a49698b4
[dxvk] Implemented new memory allocator with sub-allocation
2017-12-16 16:48:42 +01:00
Philip Rebohle
d3b2174180
[dxvk] Implemented buffer renaming
2017-12-16 13:21:11 +01:00
Philip Rebohle
d9f38a7f42
[d3d11] Minor restructuring
2017-12-15 19:11:10 +01:00
Philip Rebohle
c0a963ae5b
[dxvk] Renamed DxvkBufferSlice methods for convenience
2017-12-14 19:11:13 +01:00
Philip Rebohle
4502816bb6
[dxvk] Renamed DxvkBufferSlice methods for convenience
2017-12-14 19:09:53 +01:00
Philip Rebohle
9827ace3b0
[d3d11] Fixed buffer bindings with non-zero offsets
2017-12-14 19:07:08 +01:00
Philip Rebohle
40241e0b22
[dxvk] DxvkBufferBinding -> DxvkBufferSlice
2017-12-14 15:24:43 +01:00
Philip Rebohle
3d4304096b
[dxvk] Data buffer can now be created uninitialized
2017-12-12 15:39:20 +01:00
Philip Rebohle
2a266eaad4
[general] Added 32-bit support
2017-12-12 12:50:52 +01:00
Philip Rebohle
23abc82aa0
[dxvk] Added performance counter class
2017-12-12 10:29:17 +01:00
Philip Rebohle
3de427439b
[dxvk] Added proper documentation for staging buffers
2017-12-12 00:41:56 +01:00
Philip Rebohle
5f0e94138e
[dxvk] Implemented support for multisampled images and render targets
2017-12-12 00:27:49 +01:00
Philip Rebohle
de47fa29e1
[dxvk] Refactored Vulkan device and instance destruction, now more RAII friendly
2017-12-11 19:48:00 +01:00
Philip Rebohle
68ca71d8a4
[dxvk] Implemented recycling of command buffers and staging buffers
2017-12-11 19:17:08 +01:00
Philip Rebohle
50b7293b8f
[d3d11] Implemented blend state and depth-stencil state binding
2017-12-11 14:11:18 +01:00
Philip Rebohle
4144e3229a
[d3d11] Implemented blend state creation
2017-12-11 13:03:07 +01:00
Philip Rebohle
5739e2f60f
[dxvk] Added component mapping to image view info
2017-12-10 20:06:07 +01:00
Philip Rebohle
b4f85a2c2f
[d3d11] Fixed mip-mapped texture creation
2017-12-10 19:10:17 +01:00
Philip Rebohle
c0f5b46f81
[dxvk] Added proper support for block-compressed image formats
2017-12-10 18:14:28 +01:00
Philip Rebohle
52f1c4fa00
[dxvk] Implemented staging buffers for large data transfers
2017-12-10 15:57:51 +01:00
Philip Rebohle
89ec199c34
[d3d11] Re-implemented shader read
2017-12-10 12:21:33 +01:00
Philip Rebohle
4a0ff5343a
[dxgi] Added more format mappings
2017-12-09 14:41:37 +01:00
Philip Rebohle
b3c391d071
[d3d11] Implemented depth-stencil binding and clear methods
2017-12-09 03:53:42 +01:00
Philip Rebohle
a43bb134e0
[dxvk] Initial support for format info
2017-12-09 02:44:59 +01:00
Philip Rebohle
a35b128860
[dxvk] Attachment clears do not need barriers
2017-12-09 01:25:52 +01:00
Philip Rebohle
c90bc3e946
[dxbc] Implemented proper resource slot mapping
2017-12-08 22:30:41 +01:00
Philip Rebohle
0610296248
[d3d11] Implemented constant buffer binding
2017-12-08 19:39:33 +01:00
Philip Rebohle
e872448ca3
[dxbc] Refactored shader compiler to return a DxvkShader
2017-12-08 18:14:05 +01:00
Philip Rebohle
9e1cf8396b
[dxvk] Added environment variable to toggle debug layers
2017-12-08 01:32:02 +01:00
Philip Rebohle
b7723ad6f6
[dxvk] Wrong framebuffer was used in renderPassEnd()
2017-12-08 01:18:37 +01:00
Philip Rebohle
b49815657e
[dxvk] Refactored blend state
2017-12-08 01:06:48 +01:00
Philip Rebohle
6a9743ead7
[dxvk] Refactored blend state
2017-12-08 00:51:20 +01:00
Philip Rebohle
84605a1310
[dxvk] Refactored input layout state
2017-12-08 00:44:58 +01:00
Philip Rebohle
385c92db5a
[dxvk] Refactoring of most constant state objects
2017-12-08 00:02:43 +01:00
Philip Rebohle
796c200e32
[dxvk] Major refactoring of graphics pipeline state lookup in order to support more dynamic state
2017-12-07 21:47:38 +01:00
Philip Rebohle
ade00add8d
[dxvk] Removed buffer stride stuff for now, we need a better solution
2017-12-07 19:28:54 +01:00
Philip Rebohle
27e63cbdc6
[d3d11] Implemented small buffer uploads
2017-12-07 18:51:41 +01:00
Philip Rebohle
a901a85401
[dxvk] Added support for vertex index types
2017-12-07 14:01:17 +01:00
Philip Rebohle
f33acf7334
[dxvk] Modified interface to accept dynamic vertex buffer strides
2017-12-07 11:39:59 +01:00
Philip Rebohle
93c719cadf
[dxvk] Reintroduced dirty pipeline state flag
2017-12-07 09:44:45 +01:00
Philip Rebohle
19851c8432
[dxvk] Re-implemented pipeline creation within the backend
2017-12-07 09:38:31 +01:00
Philip Rebohle
69b938118d
[general] Fixed write conflicts in logger
2017-12-06 23:36:11 +01:00
Philip Rebohle
34ed79dacc
[dxvk] Added explicit image flags
2017-12-05 14:41:58 +01:00