mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
Release 1.12.
This commit is contained in:
parent
9693271dcf
commit
36c123c005
Notes:
Alexandre Julliard
2024-05-29 22:10:39 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/894
153
ChangeLog.md
153
ChangeLog.md
@ -1,3 +1,156 @@
|
|||||||
|
# What's new in vkd3d 1.12 (28 May 2024)
|
||||||
|
|
||||||
|
### libvkd3d
|
||||||
|
|
||||||
|
- When the VK_EXT_fragment_shader_interlock extension is available, libvkd3d
|
||||||
|
supports rasteriser-ordered views.
|
||||||
|
|
||||||
|
- Compute pipeline state objects can be created from compute shaders with
|
||||||
|
embedded root signatures.
|
||||||
|
|
||||||
|
- When supported by the underlying Vulkan implementation, libvkd3d supports
|
||||||
|
the DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM, and
|
||||||
|
DXGI_FORMAT_B4G4R4A4_UNORM formats.
|
||||||
|
|
||||||
|
- The ID3D12ShaderCacheSession interface is supported.
|
||||||
|
|
||||||
|
- The ID3D12Device9 interface is supported.
|
||||||
|
|
||||||
|
- The CreateCommittedResource2(), CreatePlacedResource1(),
|
||||||
|
GetCopyableFootprints1(), and GetResourceAllocationInfo2() methods of the
|
||||||
|
ID3D12Device8 interface are implemented.
|
||||||
|
|
||||||
|
- Several new feature queries are supported:
|
||||||
|
- D3D12_FEATURE_D3D12_OPTIONS14
|
||||||
|
- D3D12_FEATURE_D3D12_OPTIONS15
|
||||||
|
- D3D12_FEATURE_D3D12_OPTIONS16
|
||||||
|
- D3D12_FEATURE_D3D12_OPTIONS17
|
||||||
|
- D3D12_FEATURE_D3D12_OPTIONS18
|
||||||
|
|
||||||
|
### libvkd3d-shader
|
||||||
|
|
||||||
|
- The experimental DXIL source type supports the majority of Direct3D shader
|
||||||
|
model 6.0 instructions and features. Note that this is currently still an
|
||||||
|
unsupported feature, enabled by building vkd3d with the
|
||||||
|
‘-DVKD3D_SHADER_UNSUPPORTED_DXIL’ preprocessor option. No API or ABI
|
||||||
|
stability guarantees are provided for experimental features.
|
||||||
|
|
||||||
|
- New features for the HLSL source type:
|
||||||
|
- Support for compiling directly to Direct3D shader assembly and SPIR-V
|
||||||
|
target types. This is primarily a convenience feature, as targeting
|
||||||
|
these could previously be achieved by going through either the ‘Legacy
|
||||||
|
Direct3D byte-code’ or ‘Tokenized Program Format’ formats as
|
||||||
|
intermediates.
|
||||||
|
- Improved support for shader model 1-3 profiles. In particular:
|
||||||
|
- The ternary, comparison, and logical operators are now supported for
|
||||||
|
these profiles.
|
||||||
|
- Support for integer and Boolean types has been improved.
|
||||||
|
- Shader constants are allocated in an order compatible with the
|
||||||
|
Microsoft implementation.
|
||||||
|
- More complex array size expressions. For example, matrix and vector
|
||||||
|
swizzles are allowed, as well as (constant) array dereferences.
|
||||||
|
- The following intrinsic functions are supported:
|
||||||
|
- cosh()
|
||||||
|
- determinant()
|
||||||
|
- refract()
|
||||||
|
- sinh()
|
||||||
|
- tanh()
|
||||||
|
- Reflection data for ‘Tokenized Program Format’ targets more accurately
|
||||||
|
reflects the source shader.
|
||||||
|
- Constant folding of expressions like ‘x + 0’ and ‘x * 1’.
|
||||||
|
- Support for the ‘single’ qualifier on constant buffer declarations.
|
||||||
|
- Parser support for annotations on constant buffer declarations.
|
||||||
|
- Parser support for effect state objects.
|
||||||
|
|
||||||
|
- When the SPV_EXT_fragment_shader_interlock extension is supported, SPIR-V
|
||||||
|
targets support rasteriser-ordered views.
|
||||||
|
|
||||||
|
- New interfaces:
|
||||||
|
- The VKD3D_SHADER_PARSE_DXBC_IGNORE_CHECKSUM flag indicates that
|
||||||
|
vkd3d_shader_parse_dxbc() should skip validating the checksum of the
|
||||||
|
DXBC blob. This allows otherwise valid blobs with a missing or invalid
|
||||||
|
checksum to be parsed.
|
||||||
|
- The VKD3D_SHADER_SPIRV_ENVIRONMENT_VULKAN_1_1 enumeration value
|
||||||
|
specifies the Vulkan 1.1 environment for SPIR-V targets. Most notably,
|
||||||
|
the Vulkan 1.1 environment implies support for SPIR-V 1.3, which is a
|
||||||
|
requirement for supporting Direct3D shader model 6 wave operations on
|
||||||
|
SPIR-V targets.
|
||||||
|
- The VKD3D_SHADER_SPIRV_EXTENSION_EXT_FRAGMENT_SHADER_INTERLOCK
|
||||||
|
enumeration value indicates support for the
|
||||||
|
SPV_EXT_fragment_shader_interlock extension in the SPIR-V target
|
||||||
|
environment.
|
||||||
|
- The VKD3D_SHADER_COMPILE_OPTION_FEATURE_WAVE_OPS flag indicates support
|
||||||
|
for Direct3D shader model 6 wave operations in the SPIR-V target
|
||||||
|
environment.
|
||||||
|
- The VKD3D_SHADER_COMPILE_OPTION_FORMATTING_IO_SIGNATURES flag indicates
|
||||||
|
that vkd3d_shader_compile() should include information about input,
|
||||||
|
output, and patch constant shader signatures when targeting Direct3D
|
||||||
|
shader assembly. Note that this is a libvkd3d-shader extension, and
|
||||||
|
potentially makes the output incompatible with other implementations.
|
||||||
|
- The VKD3D_SHADER_COMPILE_OPTION_CHILD_EFFECT compile option specifies
|
||||||
|
whether libvkd3d-shader should produce child effects for ‘fx_4_0’ and
|
||||||
|
‘fx_4_1’ HLSL target profiles.
|
||||||
|
- The VKD3D_SHADER_COMPILE_OPTION_INCLUDE_EMPTY_BUFFERS_IN_EFFECTS compile
|
||||||
|
option specifies whether empty constant buffer descriptions should be
|
||||||
|
included in the output for ‘fx_4_0’ and ‘fx_4_1’ HLSL target profiles.
|
||||||
|
- The VKD3D_SHADER_COMPILE_OPTION_WARN_IMPLICIT_TRUNCATION compile option
|
||||||
|
specifies whether the HLSL compiler should emit warnings for vector and
|
||||||
|
matrix truncation in implicit type conversions.
|
||||||
|
|
||||||
|
### libvkd3d-utils
|
||||||
|
|
||||||
|
- D3D12CreateDeviceVKD3D() and D3D12CreateDevice() no longer require the
|
||||||
|
VK_KHR_surface and VK_KHR_swapchain extensions to be available. This
|
||||||
|
allows them to be used in environments with a windowing system, for
|
||||||
|
example for off-screen rendering and compute tasks.
|
||||||
|
|
||||||
|
- The GetConstantBufferByIndex() and GetResourceBindingDesc() methods of the
|
||||||
|
ID3D12ShaderReflection interface are implemented.
|
||||||
|
|
||||||
|
- The GetVariableByIndex() method of the
|
||||||
|
ID3D12ShaderReflectionConstantBuffer interface is implemented.
|
||||||
|
|
||||||
|
- The GetMemberTypeByIndex() method of the ID3D12ShaderReflectionType
|
||||||
|
interface is implemented.
|
||||||
|
|
||||||
|
- The GetType() method of the ID3D12ShaderReflectionVariable interface is
|
||||||
|
implemented.
|
||||||
|
|
||||||
|
### vkd3d-compiler
|
||||||
|
|
||||||
|
- The ‘+signatures’ flag for the ‘--formatting’ option can be used to
|
||||||
|
specify that vkd3d-compiler should include information about input,
|
||||||
|
output, and patch constant shader signatures when outputting Direct3D
|
||||||
|
shader assembly. Note that this is a vkd3d-compiler extension, and
|
||||||
|
potentially makes the output incompatible with other implementations.
|
||||||
|
|
||||||
|
- The ‘--child-effect’ option can be used to specify that vkd3d-compiler
|
||||||
|
should produce child effects for ‘fx_4_0’ and ‘fx_4_1’ HLSL target
|
||||||
|
profiles.
|
||||||
|
|
||||||
|
- The ‘--fx-include-empty-buffers’ option can be used to specify that
|
||||||
|
vkd3d-compiler should include empty constant buffer descriptions in the
|
||||||
|
output for ‘fx_4_0’ and ‘fx_4_1’ HLSL target profiles.
|
||||||
|
|
||||||
|
### vkd3d-dxbc
|
||||||
|
|
||||||
|
- The ‘--ignore-checksum’ option can be used to specify that vkd3d-dxbc
|
||||||
|
should skip validating the checksum of the DXBC input blob. This allows
|
||||||
|
vkd3d-dxbc to operate on otherwise valid blobs with missing or invalid
|
||||||
|
checksums.
|
||||||
|
|
||||||
|
- The ‘--emit’ option can be used to indicate that vkd3d-dxbc should output
|
||||||
|
a new DXBC blob.
|
||||||
|
|
||||||
|
- The ‘--extract’ option can be used to specify a section to extract out of
|
||||||
|
the input blob. For example, ‘vkd3d-dxbc -x t:PRIV blob.dxbc > priv.bin’
|
||||||
|
would extract the private data section of ‘blob.dxbc’ to ‘priv.bin’, and
|
||||||
|
‘vkd3d-dxbc -x t:RTS0 blob.dxbc > root_signature.bin’ would extract the
|
||||||
|
root signature to ‘root_signature.bin’.
|
||||||
|
|
||||||
|
- The ‘--output’ option can be used to specify where vkd3d-dxbc should write
|
||||||
|
its output for the ‘--emit’ and ‘--extract’ options.
|
||||||
|
|
||||||
# What's new in vkd3d 1.11 (5 Mar 2024)
|
# What's new in vkd3d 1.11 (5 Mar 2024)
|
||||||
|
|
||||||
### libvkd3d
|
### libvkd3d
|
||||||
|
@ -352,7 +352,7 @@ libvkd3d_shader_la_SOURCES = \
|
|||||||
libs/vkd3d-shader/vkd3d_shader_main.c \
|
libs/vkd3d-shader/vkd3d_shader_main.c \
|
||||||
libs/vkd3d-shader/vkd3d_shader_private.h
|
libs/vkd3d-shader/vkd3d_shader_private.h
|
||||||
libvkd3d_shader_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_SHADER_SOURCE -I$(srcdir)/libs/vkd3d-shader @SPIRV_TOOLS_CFLAGS@
|
libvkd3d_shader_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_SHADER_SOURCE -I$(srcdir)/libs/vkd3d-shader @SPIRV_TOOLS_CFLAGS@
|
||||||
libvkd3d_shader_la_LDFLAGS = $(AM_LDFLAGS) -version-info 10:0:9
|
libvkd3d_shader_la_LDFLAGS = $(AM_LDFLAGS) -version-info 11:0:10
|
||||||
libvkd3d_shader_la_LIBADD = libvkd3d-common.la @SPIRV_TOOLS_LIBS@ -lm
|
libvkd3d_shader_la_LIBADD = libvkd3d-common.la @SPIRV_TOOLS_LIBS@ -lm
|
||||||
if HAVE_LD_VERSION_SCRIPT
|
if HAVE_LD_VERSION_SCRIPT
|
||||||
libvkd3d_shader_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-shader/vkd3d_shader.map
|
libvkd3d_shader_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-shader/vkd3d_shader.map
|
||||||
@ -387,7 +387,7 @@ libvkd3d_la_SOURCES = \
|
|||||||
libs/vkd3d/vkd3d_shaders.h \
|
libs/vkd3d/vkd3d_shaders.h \
|
||||||
libs/vkd3d/vulkan_procs.h
|
libs/vkd3d/vulkan_procs.h
|
||||||
libvkd3d_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_SOURCE
|
libvkd3d_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_SOURCE
|
||||||
libvkd3d_la_LDFLAGS = $(AM_LDFLAGS) -version-info 12:0:11
|
libvkd3d_la_LDFLAGS = $(AM_LDFLAGS) -version-info 13:0:12
|
||||||
libvkd3d_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la @DL_LIBS@ @PTHREAD_LIBS@
|
libvkd3d_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la @DL_LIBS@ @PTHREAD_LIBS@
|
||||||
if HAVE_LD_VERSION_SCRIPT
|
if HAVE_LD_VERSION_SCRIPT
|
||||||
libvkd3d_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d/vkd3d.map
|
libvkd3d_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d/vkd3d.map
|
||||||
@ -400,7 +400,7 @@ libvkd3d_utils_la_SOURCES = \
|
|||||||
libs/vkd3d-utils/vkd3d_utils_main.c \
|
libs/vkd3d-utils/vkd3d_utils_main.c \
|
||||||
libs/vkd3d-utils/vkd3d_utils_private.h
|
libs/vkd3d-utils/vkd3d_utils_private.h
|
||||||
libvkd3d_utils_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_UTILS_SOURCE
|
libvkd3d_utils_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_UTILS_SOURCE
|
||||||
libvkd3d_utils_la_LDFLAGS = $(AM_LDFLAGS) -version-info 6:0:5
|
libvkd3d_utils_la_LDFLAGS = $(AM_LDFLAGS) -version-info 6:1:5
|
||||||
libvkd3d_utils_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la libvkd3d.la @PTHREAD_LIBS@
|
libvkd3d_utils_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la libvkd3d.la @PTHREAD_LIBS@
|
||||||
if HAVE_LD_VERSION_SCRIPT
|
if HAVE_LD_VERSION_SCRIPT
|
||||||
libvkd3d_utils_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-utils/vkd3d_utils.map
|
libvkd3d_utils_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-utils/vkd3d_utils.map
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
AC_PREREQ([2.69])
|
AC_PREREQ([2.69])
|
||||||
AC_INIT([vkd3d],[1.11])
|
AC_INIT([vkd3d],[1.12])
|
||||||
|
|
||||||
AC_CONFIG_AUX_DIR([bin])
|
AC_CONFIG_AUX_DIR([bin])
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#define VK_NO_PROTOTYPES
|
#define VK_NO_PROTOTYPES
|
||||||
#define VK_USE_PLATFORM_XCB_KHR
|
#define VK_USE_PLATFORM_XCB_KHR
|
||||||
#define VKD3D_UTILS_API_VERSION VKD3D_API_VERSION_1_11
|
#define VKD3D_UTILS_API_VERSION VKD3D_API_VERSION_1_12
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include <vkd3d.h>
|
#include <vkd3d.h>
|
||||||
#include <vkd3d_utils.h>
|
#include <vkd3d_utils.h>
|
||||||
|
@ -96,6 +96,7 @@ enum vkd3d_api_version
|
|||||||
VKD3D_API_VERSION_1_9,
|
VKD3D_API_VERSION_1_9,
|
||||||
VKD3D_API_VERSION_1_10,
|
VKD3D_API_VERSION_1_10,
|
||||||
VKD3D_API_VERSION_1_11,
|
VKD3D_API_VERSION_1_11,
|
||||||
|
VKD3D_API_VERSION_1_12,
|
||||||
|
|
||||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_API_VERSION),
|
VKD3D_FORCE_32_BIT_ENUM(VKD3D_API_VERSION),
|
||||||
};
|
};
|
||||||
|
@ -54,6 +54,7 @@ enum vkd3d_shader_api_version
|
|||||||
VKD3D_SHADER_API_VERSION_1_9,
|
VKD3D_SHADER_API_VERSION_1_9,
|
||||||
VKD3D_SHADER_API_VERSION_1_10,
|
VKD3D_SHADER_API_VERSION_1_10,
|
||||||
VKD3D_SHADER_API_VERSION_1_11,
|
VKD3D_SHADER_API_VERSION_1_11,
|
||||||
|
VKD3D_SHADER_API_VERSION_1_12,
|
||||||
|
|
||||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_API_VERSION),
|
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_API_VERSION),
|
||||||
};
|
};
|
||||||
|
@ -228,7 +228,7 @@ enum vkd3d_shader_input_sysval_semantic vkd3d_siv_from_sysval_indexed(enum vkd3d
|
|||||||
#define VKD3D_SPIRV_VERSION_1_0 0x00010000
|
#define VKD3D_SPIRV_VERSION_1_0 0x00010000
|
||||||
#define VKD3D_SPIRV_VERSION_1_3 0x00010300
|
#define VKD3D_SPIRV_VERSION_1_3 0x00010300
|
||||||
#define VKD3D_SPIRV_GENERATOR_ID 18
|
#define VKD3D_SPIRV_GENERATOR_ID 18
|
||||||
#define VKD3D_SPIRV_GENERATOR_VERSION 11
|
#define VKD3D_SPIRV_GENERATOR_VERSION 12
|
||||||
#define VKD3D_SPIRV_GENERATOR_MAGIC vkd3d_make_u32(VKD3D_SPIRV_GENERATOR_VERSION, VKD3D_SPIRV_GENERATOR_ID)
|
#define VKD3D_SPIRV_GENERATOR_MAGIC vkd3d_make_u32(VKD3D_SPIRV_GENERATOR_VERSION, VKD3D_SPIRV_GENERATOR_ID)
|
||||||
|
|
||||||
struct vkd3d_spirv_stream
|
struct vkd3d_spirv_stream
|
||||||
|
@ -271,7 +271,7 @@ HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filen
|
|||||||
|
|
||||||
option = &options[0];
|
option = &options[0];
|
||||||
option->name = VKD3D_SHADER_COMPILE_OPTION_API_VERSION;
|
option->name = VKD3D_SHADER_COMPILE_OPTION_API_VERSION;
|
||||||
option->value = VKD3D_SHADER_API_VERSION_1_11;
|
option->value = VKD3D_SHADER_API_VERSION_1_12;
|
||||||
|
|
||||||
compile_info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO;
|
compile_info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO;
|
||||||
compile_info.next = &preprocess_info;
|
compile_info.next = &preprocess_info;
|
||||||
@ -403,7 +403,7 @@ HRESULT WINAPI D3DPreprocess(const void *data, SIZE_T size, const char *filename
|
|||||||
|
|
||||||
static const struct vkd3d_shader_compile_option options[] =
|
static const struct vkd3d_shader_compile_option options[] =
|
||||||
{
|
{
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_11},
|
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||||
};
|
};
|
||||||
|
|
||||||
TRACE("data %p, size %"PRIuPTR", filename %s, macros %p, include %p, preprocessed_blob %p, messages_blob %p.\n",
|
TRACE("data %p, size %"PRIuPTR", filename %s, macros %p, include %p, preprocessed_blob %p, messages_blob %p.\n",
|
||||||
@ -949,7 +949,7 @@ HRESULT WINAPI D3DDisassemble(const void *data, SIZE_T data_size,
|
|||||||
|
|
||||||
static const struct vkd3d_shader_compile_option options[] =
|
static const struct vkd3d_shader_compile_option options[] =
|
||||||
{
|
{
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_11},
|
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||||
};
|
};
|
||||||
|
|
||||||
TRACE("data %p, data_size %"PRIuPTR", flags %#x, comments %p, blob %p.\n",
|
TRACE("data %p, data_size %"PRIuPTR", flags %#x, comments %p, blob %p.\n",
|
||||||
|
@ -2178,7 +2178,7 @@ static HRESULT create_shader_stage(struct d3d12_device *device,
|
|||||||
|
|
||||||
const struct vkd3d_shader_compile_option options[] =
|
const struct vkd3d_shader_compile_option options[] =
|
||||||
{
|
{
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_11},
|
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, typed_uav_compile_option(device)},
|
{VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, typed_uav_compile_option(device)},
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE, 0},
|
{VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE, 0},
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_FEATURE, feature_flags_compile_option(device)},
|
{VKD3D_SHADER_COMPILE_OPTION_FEATURE, feature_flags_compile_option(device)},
|
||||||
@ -2233,7 +2233,7 @@ static int vkd3d_scan_dxbc(const struct d3d12_device *device, const D3D12_SHADER
|
|||||||
|
|
||||||
const struct vkd3d_shader_compile_option options[] =
|
const struct vkd3d_shader_compile_option options[] =
|
||||||
{
|
{
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_11},
|
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, typed_uav_compile_option(device)},
|
{VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, typed_uav_compile_option(device)},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -3911,7 +3911,7 @@ static int compile_hlsl_cs(const struct vkd3d_shader_code *hlsl, struct vkd3d_sh
|
|||||||
|
|
||||||
static const struct vkd3d_shader_compile_option options[] =
|
static const struct vkd3d_shader_compile_option options[] =
|
||||||
{
|
{
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_11},
|
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||||
};
|
};
|
||||||
|
|
||||||
info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO;
|
info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO;
|
||||||
|
@ -853,7 +853,7 @@ int main(int argc, char **argv)
|
|||||||
if (!options.explicit_colour && !getenv("NO_COLOUR") && !getenv("NO_COLOR") && has_colour(output))
|
if (!options.explicit_colour && !getenv("NO_COLOUR") && !getenv("NO_COLOR") && has_colour(output))
|
||||||
options.formatting |= VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR;
|
options.formatting |= VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR;
|
||||||
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_FORMATTING, options.formatting);
|
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_FORMATTING, options.formatting);
|
||||||
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_11);
|
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12);
|
||||||
if (options.target_type == VKD3D_SHADER_TARGET_SPIRV_BINARY
|
if (options.target_type == VKD3D_SHADER_TARGET_SPIRV_BINARY
|
||||||
|| options.target_type == VKD3D_SHADER_TARGET_SPIRV_TEXT)
|
|| options.target_type == VKD3D_SHADER_TARGET_SPIRV_TEXT)
|
||||||
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_FEATURE,
|
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_FEATURE,
|
||||||
|
@ -502,7 +502,7 @@ static bool compile_shader(struct gl_runner *runner, ID3DBlob *blob, struct vkd3
|
|||||||
|
|
||||||
const struct vkd3d_shader_compile_option options[] =
|
const struct vkd3d_shader_compile_option options[] =
|
||||||
{
|
{
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_11},
|
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN,
|
{VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN,
|
||||||
VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN_LOWER_LEFT},
|
VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN_LOWER_LEFT},
|
||||||
{VKD3D_SHADER_COMPILE_OPTION_FEATURE, shader_runner_caps_get_feature_flags(&runner->caps)},
|
{VKD3D_SHADER_COMPILE_OPTION_FEATURE, shader_runner_caps_get_feature_flags(&runner->caps)},
|
||||||
|
@ -483,7 +483,7 @@ static bool compile_shader(struct vulkan_shader_runner *runner, const char *sour
|
|||||||
|
|
||||||
option = &options[info.option_count++];
|
option = &options[info.option_count++];
|
||||||
option->name = VKD3D_SHADER_COMPILE_OPTION_API_VERSION;
|
option->name = VKD3D_SHADER_COMPILE_OPTION_API_VERSION;
|
||||||
option->value = VKD3D_SHADER_API_VERSION_1_11;
|
option->value = VKD3D_SHADER_API_VERSION_1_12;
|
||||||
|
|
||||||
compile_options = runner->r.compile_options;
|
compile_options = runner->r.compile_options;
|
||||||
if (compile_options)
|
if (compile_options)
|
||||||
|
Loading…
Reference in New Issue
Block a user