Commit Graph

523 Commits

Author SHA1 Message Date
Philip Rebohle 006e1b25e6 [d3d11] Fixed shader semantic name comparison 2017-12-30 15:30:31 +01:00
Philip Rebohle e740adfcb7 [dxbc] Implemented f16 pack/unpack instructions 2017-12-30 13:18:31 +01:00
Philip Rebohle f93745adcf [dxbc] Implemented bfi and bfe instructions 2017-12-30 03:44:19 +01:00
Philip Rebohle 1373fe5fcc [dxbc] Implemented bufinfo instruction 2017-12-30 01:26:37 +01:00
Philip Rebohle b968aa0472 [dxbc] Implemented continue instructions 2017-12-29 22:54:25 +01:00
Philip Rebohle 660ac25b18 [dxgi] ... 2017-12-29 22:54:10 +01:00
Philip Rebohle c38f3c69ad [d3d11] Query prep work 2017-12-29 22:20:31 +01:00
Philip Rebohle 298eeedcc4 [dxbc] Implemented round instructions
Also fixed potential numerical stability issues in with min/max
instructions and saturation when an operand is NaN.
2017-12-29 19:26:59 +01:00
Philip Rebohle 2e215e24e5 [d3d11] Hiding message that initial UAV counts are not supported
They are not supported, but some applications pass invalid pointers
to the fuction even if the feature itself is not used.
2017-12-29 19:26:18 +01:00
Philip Rebohle 793ea6d914 [dxvk] Descriptor set updates now use descriptor type info
This fixes an issue where the wrong resource would be used for a
descriptor set update if multiple resources have been bound to a
single resource slot.
2017-12-29 15:06:33 +01:00
Philip Rebohle 78cb021f77 [d3d11] Added support for D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS 2017-12-29 12:51:54 +01:00
Philip Rebohle 6283497bfa [d3d11] Fixed shader resource view creation for structured buffers 2017-12-29 12:11:45 +01:00
Philip Rebohle 5df89fb657 [dxbc] Fixed OpImageRead and OpImageWrite operand types 2017-12-29 12:11:19 +01:00
Philip Rebohle 7aed861862 [tests] Fixed memory leak in compute demo 2017-12-29 01:12:50 +01:00
Philip Rebohle 8691d29185 [dxvk] Initial support for post-compute barriers 2017-12-29 01:09:54 +01:00
Philip Rebohle a51439fb29 [dxbc] Implemented thread group shared memory and barriers 2017-12-29 00:51:31 +01:00
Philip Rebohle 9848f9bdaa [tests] Updated compute sample 2017-12-28 19:07:52 +01:00
Philip Rebohle a3fe40051f [d3d11] Initial support for unordered access views
Currently restricted to buffers on the API side. Typed UAVs
are not yet supported by the shader compiler. This is enough
to run very simple compute shaders.
2017-12-28 19:05:53 +01:00
Philip Rebohle 847bfdd8ae [dxbc] Implemented raw and structured UAV stores 2017-12-28 18:37:02 +01:00
Philip Rebohle 8592bb4b47 [d3d11] Fixed buffer usage flags
Shader resources and UAVs are always created as texel buffer
views rather than storage buffers or uniform buffers.
2017-12-28 16:35:07 +01:00
Philip Rebohle 410d3a86d9 [d3d11] Added support for raw and structured shader resource views 2017-12-28 16:33:42 +01:00
Philip Rebohle a72727a173 [dxbc] Added support for structured and raw buffers 2017-12-28 16:03:17 +01:00
Philip Rebohle c3ccc1a5c7 [dxgi] Fixed resource lifetime issue in presenter 2017-12-27 15:55:46 +01:00
Philip Rebohle 533ce13956 [d3d11] Triangle test now tests shader resource buffers 2017-12-27 15:45:35 +01:00
Philip Rebohle e668c65017 [d3d11] Experimental support for typed shader buffer views 2017-12-27 14:32:07 +01:00
Philip Rebohle 7f5fa18d0b [dxbc] Enabled SPV_KHR_shader_draw_parameters for vertex shaders 2017-12-27 14:31:38 +01:00
Philip Rebohle 5ce975eed9 [dxbc] Fixed SV_VERTEXID and SV_INSTANCEID
Apparently, these two system values ignore the base vertex
and base instance from the draw call. This is not documented,
but in line with what the AMD driver does on Windows.
2017-12-27 12:49:25 +01:00
Philip Rebohle 24b9d9d99a [dxbc] Experimental support for ld,resinfo 2017-12-27 01:37:15 +01:00
Philip Rebohle 788f275315 [d3d11] UAV prep work + cleanups 2017-12-27 01:36:45 +01:00
Philip Rebohle 8d5a2b92f9 [d3d11] Cleaned up primitive topology code 2017-12-26 16:25:51 +01:00
Philip Rebohle d66593fab5 [tests] Added simple app that compiles HLSL shaders 2017-12-26 01:04:03 +01:00
Philip Rebohle 0d3a1b25a1 [d3d11] Initial support for image updates + mapping 2017-12-25 20:40:48 +01:00
Philip Rebohle a368d04fa0 [dxvk] Removed leftover line of code 2017-12-25 16:09:00 +01:00
Philip Rebohle 89138e5b40 [dxvk] Fixed lockup issue in thread destructors 2017-12-25 16:05:11 +01:00
Philip Rebohle 24bceb86c2 [dxvk] Fixed 3D image upload 2017-12-24 15:29:10 +01:00
Philip Rebohle 3762df6cb6 [d3d11] Added proper support for 1D and 3D shader resources 2017-12-24 13:33:22 +01:00
Philip Rebohle a3f9fa7547 [d3d11] Implemented 1D and 3D texture creation 2017-12-23 17:05:07 +01:00
Philip Rebohle 82b2c40405 [dxvk] Simplified resource binding
The backend no longer differentiates between compute pipeline
resources and graphics pipeline resources.
2017-12-23 15:11:23 +01:00
Philip Rebohle 7a7a1faa63 [general] Updated Vulkan libraries 2017-12-23 11:38:43 +01:00
Philip Rebohle 89290e9eab [dxbc] Minor fixes 2017-12-22 20:15:44 +01:00
Philip Rebohle cd238df2ca [general] Minor compatibility fixes 2017-12-22 10:37:02 +01:00
Philip Rebohle f301633516 [dxbc] Compute shader prep work 2017-12-21 17:27:40 +01:00
Philip Rebohle 46717529fa [dxbc] Implemented unsigned comparators and sample_l 2017-12-21 17:14:11 +01:00
Philip Rebohle 289da8065d [d3d11] Implemented border color support 2017-12-21 16:54:20 +01:00
Philip Rebohle 3e4e5191a8 [dxbc] Increased number of clip/cull distances
Clip and cull distances can be defined as multi-component
vectors in D3D11. We still need to figure out how to map
them to the actuall cull distance array.
2017-12-21 16:28:42 +01:00
Philip Rebohle f947fb5d44 [dxbc] Refactored system value mapping
Restores geometry shader support.
2017-12-21 16:00:36 +01:00
Philip Rebohle 2e4275649e [dxbc] Implemented input mapping + sample controls
Input variables are now copied into a temporary array, which allows
dynamic indexing and which also allows us to use system values that
are mapped to input registers in DXBC. This breaks geometry shaders
for now, however.
2017-12-21 12:37:20 +01:00
Philip Rebohle 109ce0a695 [dxbc] Implemented sample_d and vector shift instructions 2017-12-20 23:50:39 +01:00
Philip Rebohle 6ff709513c [dxbc] Added indexable temps 2017-12-20 22:50:05 +01:00
Philip Rebohle 518b469742 [dxvk] Added command stream classes
While these are not being used as of yet, these classes can be
used to implement command stream multithreading in the future.
They are also useful to implement command lists for deferred
contexts, which are a core feature of D3D11.
2017-12-20 22:17:14 +01:00