Józef Kucia
593a13402d
libs/vkd3d: Add support for static samplers.
...
We still do not implement any reasonable mapping between D3D registers
and Vulkan bindings.
2017-07-17 16:25:29 +02:00
Józef Kucia
02506b24c4
libs/vkd3d: Partially implement d3d12_command_list_SetGraphicsRootDescriptorTable().
...
A very naive implementation. Mainly to unblock some shader translation
work.
2017-07-17 16:25:29 +02:00
Józef Kucia
733775fbad
libs/vkd3d: Implement d3d12_descriptor_heap_GetGPUDescriptorHandleForHeapStart().
2017-07-17 16:25:29 +02:00
Józef Kucia
091ac41f79
libs/vkd3d: Partially handle descriptor table root parameters.
2017-07-17 16:25:29 +02:00
Józef Kucia
4854b74151
libs/vkd3d-shader: Introduce vkd3d_dxbc_compiler_emit_swizzle() helper function.
2017-07-14 17:21:23 +02:00
Józef Kucia
96f5bb3936
libs/vkd3d-shader: Use vkd3d_dxbc_compiler_emit_load_src() for dot product instructions.
...
Fixes source modifiers for dot product instructions.
2017-07-14 17:21:23 +02:00
Józef Kucia
2dfbc88a89
libs/vkd3d: Implement copying from buffers to images.
2017-07-14 13:44:35 +02:00
Józef Kucia
7c606089f1
libs/vkd3d-shader: Add FIXME comment for local function variables.
2017-07-14 13:44:35 +02:00
Józef Kucia
a47724ce3a
libs/vkd3d-shader: Translate dcl_sampler instructions.
2017-07-14 13:44:35 +02:00
Józef Kucia
1c79831873
libs/vkd3d: Implement d3d12_device_CreateShaderResourceView().
2017-07-14 13:44:35 +02:00
Józef Kucia
8bb54c17f3
libs/vkd3d: Simplify d3d12_resource_destroy().
2017-07-14 13:44:35 +02:00
Józef Kucia
f4f803c7bb
libs/vkd3d: Add initial implementation for d3d12_device_GetCopyableFootprints().
2017-07-13 11:56:30 +02:00
Józef Kucia
f3d297574a
libs/vkd3d: Implement d3d12_device_CreateSampler().
2017-07-12 13:10:44 +02:00
Józef Kucia
cd07a50b21
libs/vkd3d-shader: Implement relative addressing for immediate constant buffers.
2017-07-11 17:23:02 +02:00
Józef Kucia
1a8b74549a
libs/vkd3d-shader: Use vkd3d_dxbc_compiler_emit_variable() in vkd3d_dxbc_compiler_emit_dcl_temps().
2017-07-11 17:23:02 +02:00
Józef Kucia
c8d713dc83
libs/vkd3d-shader: Implement immediate constant buffers.
2017-07-11 17:23:02 +02:00
Józef Kucia
d8d5701409
libs/vkd3d-shader: Use appropriate message severity for invalid SPIR-V shaders.
2017-07-11 17:23:02 +02:00
Henri Verbeet
d61b6a3545
include: Add the missing "values" parameter to ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat().
2017-07-11 12:21:15 +02:00
Henri Verbeet
99d2ba411e
include: Add the missing ClearUnorderedAccessViewUint() method to the ID3D12GraphicsCommandList interface.
2017-07-11 12:21:11 +02:00
Henri Verbeet
0b656c8354
build: Add a pkg-config file for libvkd3d-utils.
2017-07-10 16:32:01 +02:00
Józef Kucia
682e725d6e
libs/vkd3d-shader: Add support for multiple shader outputs packed into single register.
2017-07-10 15:33:34 +02:00
Józef Kucia
7f1242888e
libs/vkd3d-shader: Recognize vThreadIDInGroup register.
2017-07-10 15:33:34 +02:00
Józef Kucia
2e6f80e24c
libs/vkd3d-shader: Pass buffer size to vkd3d_dxbc_compiler_get_register_name().
2017-07-10 15:33:34 +02:00
Józef Kucia
649a814b23
libs/vkd3d-shader: Use ERR() instead of FIXME() in vkd3d_dxbc_compiler_emit_ext_glsl_instruction().
...
vkd3d_dxbc_compiler_emit_ext_glsl_instruction() is called only for
implemented instructions.
2017-07-10 15:33:34 +02:00
Józef Kucia
4c448f0a35
libs/vkd3d-shader: Recognize vThreadID register.
2017-07-10 15:33:34 +02:00
Józef Kucia
bf3896adc4
libs/vkd3d-shader: Decorate shader inputs with Component decoration.
...
Needed when multiple inputs are stored in a single register.
2017-07-10 15:33:34 +02:00
Józef Kucia
c6b6a9d542
libs/vkd3d-shader: Add support for multiple shader inputs packed into single register.
2017-07-10 15:33:34 +02:00
Józef Kucia
3f546c8782
libs/vkd3d: Add DXGI_FORMAT_R32_UINT.
2017-07-10 15:33:34 +02:00
Józef Kucia
f5319efa4b
libs/vkd3d-shader: Translate f32tof16 instruction.
2017-07-06 18:11:57 +02:00
Józef Kucia
83392c92a3
libs/vkd3d-shader: Translate f16tof32 instruction.
2017-07-06 18:11:57 +02:00
Józef Kucia
03ab3d25bc
libs/vkd3d-shader: Upgrade FIXME() to ERR() in vkd3d_dxbc_compiler_emit_alu_instruction().
...
vkd3d_dxbc_compiler_emit_alu_instruction() is called only for
implemented instructions.
2017-07-06 18:11:57 +02:00
Józef Kucia
24134b20fd
libs/vkd3d-shader: Translate xor, or and not instructions.
2017-07-06 18:11:57 +02:00
Józef Kucia
cb125d0020
libs/vkd3d-shader: Fix swizzling for non floating-point result values.
...
Avoids incorrect bitcasts.
2017-07-06 18:11:57 +02:00
Józef Kucia
fe522495aa
libs/vkd3d-shader: Get rid of needless temporary variables.
2017-07-06 10:12:22 +02:00
Józef Kucia
f906df13b3
libs/vkd3d-shader: Implement parsing of root signature static samplers.
2017-07-06 10:12:22 +02:00
Józef Kucia
0633cfc55d
libs/vkd3d-shader: Implement "absneg" source modifiers.
2017-06-29 13:40:27 +02:00
Józef Kucia
70f5b24f92
libs/vkd3d-shader: Avoid using GLSL.std450 NMin, NMax and NClamp opcodes.
...
These opcodes were implemented by Mesa just few days ago. In addition
using these opcodes in a shader leads to a crash on Nvidia.
In practice this change doesn't seem to make a difference. We still want
to use NMin, NMax and NClamp for correctness. This commit is meant to be
reverted when problems with these opcodes are resolved.
2017-06-29 13:40:27 +02:00
Józef Kucia
c9b271f3c7
libs/vkd3d-shader: Implement _sat destination modifier.
2017-06-29 13:40:27 +02:00
Józef Kucia
cd1f9118ee
libs/vkd3d-shader: Translate floating-point min/max instructions to NMin/NMax.
...
The semantics of NMin and NMax match special handling required for NaN.
2017-06-29 13:40:27 +02:00
Józef Kucia
f8b25dcea4
libs/vkd3d-shader: Implement "neg" modifier for integers.
2017-06-29 09:02:50 +02:00
Józef Kucia
169b1e7885
libs/vkd3d-shader: Translate movc instruction.
2017-06-29 09:02:50 +02:00
Józef Kucia
0ef0b54eed
libs/vkd3d-shader: Translate SM5 bit instructions.
2017-06-29 09:02:50 +02:00
Józef Kucia
b2f8454a0f
libs/vkd3d-shader: Translate ishl instruction.
2017-06-29 09:02:50 +02:00
Józef Kucia
1e7fc384fc
libs/vkd3d-shader: Translate ishr instruction.
2017-06-29 09:02:50 +02:00
Józef Kucia
4de9405a7b
libs/vkd3d-shader: Allow input declarations with no write mask.
2017-06-29 09:02:50 +02:00
Józef Kucia
c708c56d7b
libs/vkd3d-shader: Translate ushr instruction.
2017-06-28 12:28:09 +02:00
Józef Kucia
32cc44150d
libs/vkd3d-shader: Translate bitfield instructions.
2017-06-28 12:28:09 +02:00
Józef Kucia
dffa2ad80f
libs/vkd3d-shader: Use signed integer format when masking bitfield instruction operands.
...
This shouldn't be strictly needed, but it fixes bfi on Nvidia.
2017-06-28 12:28:09 +02:00
Józef Kucia
2c139bdf81
libs/vkd3d-shader: Mask immediate constant operands for bitfield instructions.
2017-06-28 12:28:09 +02:00
Józef Kucia
e623583048
libs/vkd3d-shader: Translate value preserving conversion instructions.
2017-06-28 12:28:09 +02:00