Philip Rebohle
bde8ba9400
[dxbc] Simplified f16tof32 implementation
2018-01-10 09:16:42 +01:00
Philip Rebohle
da867d4bca
[dxvk] Replaced DxvkResourceType by VkImageViewType
2018-01-09 20:35:29 +01:00
Philip Rebohle
c7d0729e06
[dxbc] Fixed bit field instructions
2018-01-09 15:39:41 +01:00
Philip Rebohle
180cc35c84
[d3d11] Use VK_IMAGE_VIEW_TYPE_CUBE_ARRAY for non-array cube maps
...
Games may bind simple cube map views to a resource slot that requires
a cube map array view. Fixes GPU lockups in Nier: Automata.
2018-01-09 00:51:10 +01:00
Philip Rebohle
7fd1f57902
[dxbc] Fixed invalid types and IDs in generated SPIR-V
2018-01-08 22:26:45 +01:00
Philip Rebohle
7912f6c604
[dxbc] Track dimension of resource slots
...
This shall help binding dummy resources in case an application
binds none or an incompatible resource to a slot.
2018-01-08 13:39:37 +01:00
Philip Rebohle
7cc65be16b
[dxbc] Fixed redundant bitcasts
2018-01-07 21:04:23 +01:00
Philip Rebohle
f4cd90d6fa
[dxbc] Implemented vendor-specific workarounds in an attemt to fix Nvidia
2018-01-07 20:05:27 +01:00
Philip Rebohle
f7e1efbaaf
[dxbc] Fixed AtomicUmax emitting the wrong instruction
2018-01-05 19:48:45 +01:00
Philip Rebohle
1dfd62a118
[dxbc] Added debug name to x# registers
2018-01-05 16:46:17 +01:00
Philip Rebohle
c816078f13
[dxbc] Disabled clip and cull planes for now
...
We would have to write these values, but the feature
is currently not supported in the D3D11 implementation.
2018-01-03 12:46:04 +01:00
Philip Rebohle
6dfe09da7b
[dxbc,d3d11] Minor fixes
2018-01-03 12:26:27 +01:00
Philip Rebohle
da751a46f7
[dxbc] Removed in-shader bounds checking
...
It looks like this is not needed at the moment, and it needs more work.
2018-01-03 02:37:44 +01:00
Philip Rebohle
98bcfec0f3
[dxbc] More debug info for constant buffers
2018-01-02 20:20:52 +01:00
Philip Rebohle
bfac9eb737
[dxbc] Added bound checking for some texel fetch operations
2018-01-02 16:57:37 +01:00
Philip Rebohle
043330132f
[dxbc] Added experimental support for atomic operations
2018-01-02 12:07:49 +01:00
Philip Rebohle
8c0e797f37
[dxbc] Vertex inputs now respect attribute type
...
Fixes issues with integer attributes which were encountered in Nier: Automata.
2018-01-01 23:31:01 +01:00
Philip Rebohle
4fc2ea25b8
[dxbc] Implemented typed UAV load/store
2018-01-01 17:14:06 +01:00
Philip Rebohle
5332891748
[dxbc] Implemented switch-case instructions
2017-12-30 17:22:36 +01:00
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
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
5df89fb657
[dxbc] Fixed OpImageRead and OpImageWrite operand types
2017-12-29 12:11:19 +01:00
Philip Rebohle
a51439fb29
[dxbc] Implemented thread group shared memory and barriers
2017-12-29 00:51:31 +01:00
Philip Rebohle
847bfdd8ae
[dxbc] Implemented raw and structured UAV stores
2017-12-28 18:37:02 +01:00
Philip Rebohle
a72727a173
[dxbc] Added support for structured and raw buffers
2017-12-28 16:03:17 +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
3762df6cb6
[d3d11] Added proper support for 1D and 3D shader resources
2017-12-24 13:33:22 +01:00
Philip Rebohle
89290e9eab
[dxbc] Minor fixes
2017-12-22 20:15:44 +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
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
41d660f220
[spirv] Added image operand structure for more flexible sample ops
2017-12-20 20:21:44 +01:00
Philip Rebohle
659ec7b59d
[d3d11] Added DXGI format properties
2017-12-20 14:54:24 +01:00
Philip Rebohle
b4e10b7f06
[dxbc] Fixed sampler types for depth-compare operations
2017-12-20 13:41:04 +01:00
Philip Rebohle
2ed2d892d6
[dxvk] Optimized resource binding
...
Fixes a few bottlenecks that were encountered in the Cascading Shadow
Maps demo from the Microsoft SDK. Performance is now slightly better
than wined3d with CSMT, MESA_NO_ERROR and mesa_glthread enabled.
2017-12-20 12:13:08 +01:00
Philip Rebohle
9865474bb4
[dxbc] Initial shadow sampler support
2017-12-20 00:16:49 +01:00
Philip Rebohle
d1720c0c52
[dxbc] Implemented derivatives
2017-12-19 20:26:05 +01:00
Philip Rebohle
5415b685de
[dxbc] Implemented type conversion instructions
2017-12-19 18:12:18 +01:00
Philip Rebohle
95bc4b5826
[dxbc] Added immediate constant buffer support
2017-12-19 17:41:23 +01:00
Philip Rebohle
64a74735f8
[dxbc] oDepth no longer treated as standard output register
...
Fixes a crash in the shader compiler when starting up Tomb Raider.
2017-12-19 12:58:40 +01:00