mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
Release 1.13.
This commit is contained in:
parent
eb71a1722a
commit
0e72aba0bc
Notes:
Henri Verbeet
2024-08-29 12:28:38 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1023
3
AUTHORS
3
AUTHORS
@ -3,6 +3,7 @@ Alexandre Julliard
|
||||
Alistair Leslie-Hughes
|
||||
Andrew Eikum
|
||||
Andrey Gusev
|
||||
Anna (navi) Figueiredo Gomes
|
||||
Atharva Nimbalkar
|
||||
Biswapriyo Nath
|
||||
Brendan Shanks
|
||||
@ -33,8 +34,10 @@ Petrichor Park
|
||||
Philip Rebohle
|
||||
Rémi Bernon
|
||||
Robin Kertels
|
||||
Shaun Ren
|
||||
Stefan Dösinger
|
||||
Sven Hesse
|
||||
Victor Chiletto
|
||||
Vinson Lee
|
||||
Yuxuan Shui
|
||||
Zhiyi Zhang
|
||||
|
86
ChangeLog.md
86
ChangeLog.md
@ -1,3 +1,89 @@
|
||||
# What's new in vkd3d 1.13 (29 August 2024)
|
||||
|
||||
### libvkd3d
|
||||
|
||||
- The ID3D12CommandList6 interface is supported.
|
||||
|
||||
- Block-compressed textures can be created with unaligned dimensions. This
|
||||
corresponds to
|
||||
D3D12_FEATURE_D3D12_OPTIONS8.UnalignedBlockTexturesSupported.
|
||||
|
||||
- Some minor issues pointed out by the Vulkan validation layers have been
|
||||
addressed. These are not known to affect applications in practice, but
|
||||
should make libvkd3d slightly more well-behaved.
|
||||
|
||||
### libvkd3d-shader
|
||||
|
||||
- New features for the HLSL source type:
|
||||
- Basic loop unrolling support. Some of the more complicated cases like
|
||||
loops containing conditional jumps are still unsupported.
|
||||
- Initialisation values for global variables, function parameters, and
|
||||
annotation variables are parsed and stored in output formats supporting
|
||||
them.
|
||||
- Shader model 5.1 register spaces are supported when using the
|
||||
corresponding target profiles, as well as shader model 5.1 reflection
|
||||
data.
|
||||
- Register reservations support expressions as offsets. For example:
|
||||
‘float f : register(c0[1 + 1 * 2]);’
|
||||
- The tex1D(), tex2D(), tex3D(), and texCUBE() intrinsic function variants
|
||||
with explicit derivatives are supported.
|
||||
- The following intrinsic functions are supported:
|
||||
- asint()
|
||||
- f16tof32()
|
||||
- faceforward()
|
||||
- GetRenderTargetSampleCount()
|
||||
- rcp()
|
||||
- tex2Dbias()
|
||||
- tex1Dgrad(), tex2Dgrad(), tex3Dgrad(), and texCUBEgrad()
|
||||
- The sin() and cos() intrinsic functions are supported in shader model
|
||||
1-3 profiles. These were already supported in shader model 4+ profiles.
|
||||
- The following features specific to effects target profiles:
|
||||
- Types supported in version 4.0+:
|
||||
- BlendState
|
||||
- ComputeShader, DomainShader, GeometryShader, and HullShader
|
||||
- DepthStencilState
|
||||
- RasterizerState
|
||||
- State application functions implemented for version 4.0+ effects:
|
||||
- OMSetRenderTargets()
|
||||
- SetBlendState()
|
||||
- SetComputeShader(), SetDomainShader(), SetGeometryShader(),
|
||||
SetHullShader(), SetPixelShader(), and SetVertexShader()
|
||||
- SetDepthStencilState()
|
||||
- SetRasterizerState()
|
||||
- String types. These are mainly used for annotations.
|
||||
- Annotations on global variables.
|
||||
- Support for the ‘Texture’ field of the ‘SamplerState’ type.
|
||||
- Support for NULL values.
|
||||
- Stores to swizzled matrix variables.
|
||||
- The ‘unsigned’ type modifier is supported. (For example,
|
||||
‘unsigned int’.) Note that ‘uint’ and related types were already
|
||||
supported.
|
||||
- ‘ConstantBuffer<>’ types.
|
||||
- The ‘SV_Coverage’ output semantic for fragment shaders.
|
||||
|
||||
- The experimental DXIL source type supports quad group operations.
|
||||
|
||||
- The Direct3D shader model 2-3 ‘texldb’ instruction is correctly disassembled
|
||||
when outputting Direct3D shader assembly.
|
||||
|
||||
- New interfaces:
|
||||
- The vkd3d_shader_parameter_info structure extends the
|
||||
vkd3d_shader_compile_info structure, and can be used to specify shader
|
||||
parameters. This is a more generic version of the shader parameter
|
||||
interface for SPIR-V targets in struct vkd3d_shader_spirv_target_info.
|
||||
- The VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32 enumeration value specifies
|
||||
that a shader parameter contains 32-bit floating-point data.
|
||||
- The VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC shader parameter
|
||||
specifies the alpha test function.
|
||||
- The VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF shader parameter
|
||||
specifies the alpha test reference value.
|
||||
- The VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION shader parameter
|
||||
specifies the interpolation mode for colour inputs in Direct3D shader
|
||||
model 1-3 fragment shaders.
|
||||
- The VKD3D_SHADER_PARAMETER_TYPE_BUFFER enumeration value specifies that
|
||||
the value of a shader parameter is provided at run-time through a buffer
|
||||
resource.
|
||||
|
||||
# What's new in vkd3d 1.12 (28 May 2024)
|
||||
|
||||
### libvkd3d
|
||||
|
@ -365,7 +365,7 @@ libvkd3d_shader_la_SOURCES = \
|
||||
libs/vkd3d-shader/vkd3d_shader_main.c \
|
||||
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_LDFLAGS = $(AM_LDFLAGS) -version-info 11:0:10
|
||||
libvkd3d_shader_la_LDFLAGS = $(AM_LDFLAGS) -version-info 12:0:11
|
||||
libvkd3d_shader_la_LIBADD = libvkd3d-common.la @SPIRV_TOOLS_LIBS@ -lm
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
libvkd3d_shader_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-shader/vkd3d_shader.map
|
||||
@ -400,7 +400,7 @@ libvkd3d_la_SOURCES = \
|
||||
libs/vkd3d/vkd3d_shaders.h \
|
||||
libs/vkd3d/vulkan_procs.h
|
||||
libvkd3d_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_SOURCE
|
||||
libvkd3d_la_LDFLAGS = $(AM_LDFLAGS) -version-info 13:0:12
|
||||
libvkd3d_la_LDFLAGS = $(AM_LDFLAGS) -version-info 14:0:13
|
||||
libvkd3d_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la @DL_LIBS@ @PTHREAD_LIBS@
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
libvkd3d_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d/vkd3d.map
|
||||
@ -413,7 +413,7 @@ libvkd3d_utils_la_SOURCES = \
|
||||
libs/vkd3d-utils/vkd3d_utils_main.c \
|
||||
libs/vkd3d-utils/vkd3d_utils_private.h
|
||||
libvkd3d_utils_la_CFLAGS = $(AM_CFLAGS) -DLIBVKD3D_UTILS_SOURCE
|
||||
libvkd3d_utils_la_LDFLAGS = $(AM_LDFLAGS) -version-info 6:1:5
|
||||
libvkd3d_utils_la_LDFLAGS = $(AM_LDFLAGS) -version-info 6:2:5
|
||||
libvkd3d_utils_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la libvkd3d.la @PTHREAD_LIBS@
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
libvkd3d_utils_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-utils/vkd3d_utils.map
|
||||
|
@ -1,5 +1,5 @@
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([vkd3d],[1.12])
|
||||
AC_INIT([vkd3d],[1.13])
|
||||
|
||||
AC_CONFIG_AUX_DIR([bin])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#define VK_NO_PROTOTYPES
|
||||
#define VK_USE_PLATFORM_XCB_KHR
|
||||
#define VKD3D_UTILS_API_VERSION VKD3D_API_VERSION_1_12
|
||||
#define VKD3D_UTILS_API_VERSION VKD3D_API_VERSION_1_13
|
||||
#include "config.h"
|
||||
#include <vkd3d.h>
|
||||
#include <vkd3d_utils.h>
|
||||
|
@ -97,6 +97,7 @@ enum vkd3d_api_version
|
||||
VKD3D_API_VERSION_1_10,
|
||||
VKD3D_API_VERSION_1_11,
|
||||
VKD3D_API_VERSION_1_12,
|
||||
VKD3D_API_VERSION_1_13,
|
||||
|
||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_API_VERSION),
|
||||
};
|
||||
|
@ -55,6 +55,7 @@ enum vkd3d_shader_api_version
|
||||
VKD3D_SHADER_API_VERSION_1_10,
|
||||
VKD3D_SHADER_API_VERSION_1_11,
|
||||
VKD3D_SHADER_API_VERSION_1_12,
|
||||
VKD3D_SHADER_API_VERSION_1_13,
|
||||
|
||||
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_3 0x00010300
|
||||
#define VKD3D_SPIRV_GENERATOR_ID 18
|
||||
#define VKD3D_SPIRV_GENERATOR_VERSION 12
|
||||
#define VKD3D_SPIRV_GENERATOR_VERSION 13
|
||||
#define VKD3D_SPIRV_GENERATOR_MAGIC vkd3d_make_u32(VKD3D_SPIRV_GENERATOR_VERSION, VKD3D_SPIRV_GENERATOR_ID)
|
||||
|
||||
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->name = VKD3D_SHADER_COMPILE_OPTION_API_VERSION;
|
||||
option->value = VKD3D_SHADER_API_VERSION_1_12;
|
||||
option->value = VKD3D_SHADER_API_VERSION_1_13;
|
||||
|
||||
compile_info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_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[] =
|
||||
{
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_13},
|
||||
};
|
||||
|
||||
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[] =
|
||||
{
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_13},
|
||||
};
|
||||
|
||||
TRACE("data %p, data_size %"PRIuPTR", flags %#x, comments %p, blob %p.\n",
|
||||
|
@ -2286,7 +2286,7 @@ static HRESULT create_shader_stage(struct d3d12_device *device,
|
||||
|
||||
const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_13},
|
||||
{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_FEATURE, feature_flags_compile_option(device)},
|
||||
@ -2341,7 +2341,7 @@ static int vkd3d_scan_dxbc(const struct d3d12_device *device, const D3D12_SHADER
|
||||
|
||||
const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_13},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, typed_uav_compile_option(device)},
|
||||
};
|
||||
|
||||
@ -4019,7 +4019,7 @@ static int compile_hlsl_cs(const struct vkd3d_shader_code *hlsl, struct vkd3d_sh
|
||||
|
||||
static const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_13},
|
||||
};
|
||||
|
||||
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))
|
||||
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_API_VERSION, VKD3D_SHADER_API_VERSION_1_12);
|
||||
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_13);
|
||||
if (options.target_type == VKD3D_SHADER_TARGET_SPIRV_BINARY
|
||||
|| options.target_type == VKD3D_SHADER_TARGET_SPIRV_TEXT)
|
||||
add_compile_option(&options, VKD3D_SHADER_COMPILE_OPTION_FEATURE,
|
||||
|
@ -547,7 +547,7 @@ static bool compile_shader(struct gl_runner *runner, ID3DBlob *blob, struct vkd3
|
||||
|
||||
const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_12},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_13},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN,
|
||||
VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN_LOWER_LEFT},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_FEATURE, shader_runner_caps_get_feature_flags(&runner->caps)},
|
||||
|
@ -484,7 +484,7 @@ static bool compile_shader(struct vulkan_shader_runner *runner, const char *sour
|
||||
|
||||
option = &options[info.option_count++];
|
||||
option->name = VKD3D_SHADER_COMPILE_OPTION_API_VERSION;
|
||||
option->value = VKD3D_SHADER_API_VERSION_1_12;
|
||||
option->value = VKD3D_SHADER_API_VERSION_1_13;
|
||||
|
||||
compile_options = runner->r.compile_options;
|
||||
if (compile_options)
|
||||
|
Loading…
Reference in New Issue
Block a user