--
v5: vkd3d: Append CopyTileMappings() commands to the command queue op array.
vkd3d: Append UpdateTileMappings() commands to the command queue op array.
vkd3d: Add missing const attributes to ID3D12CommandQueue::UpdateTileMappings() parameters.
vkd3d: Validate plane count for tiled textures.
vkd3d: Validate tiled resources tier for 3D textures.
vkd3d: Validate tiled resources support during reserved resource creation.
vkd3d: Always pass null heap properties to vkd3d_create_image() for sparse images.
vkd3d: Check sparse image format is supported.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/216
--
v9: vkd3d-shader/hlsl: Handle 'texkill' discard type for sm4+.
vkd3d-shader/hlsl: Parse clip() function.
tests: Add some tests for clip().
vkd3d-shader/hlsl: Add a parameter for jump nodes and use it for 'discard'.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/211
There are two parts to this:
- First, a way to retrieve any signature from a DXBC shader. This is, I gather,
generally useful for reflection, and it can be used as one source with which
to implement d3d10 and d3d11 shader reflection APIs.
The rest of those APIs will need much more data to be exposed from d3d
shaders, and while I was originally planning to expose that all in a single
"vkd3d_shader_d3d_shader_info" structure, I think that signatures at least are
a reasonable enough subset to have a dedicated structure. Moreover, I did not
want to block sm1 support on too much API design.
- Second, signatures synthesized from sm1 byte code. This is conceptually a bit
weird, because sm1 does not have signatures, but in terms of how these APIs
are used by Wine (or other translation layers, as evidenced not least by the
Vulkan test shader runner, which I have locally adapted for sm1 but not
submitted yet) it fits rather nicely.
Because this is new API, it of course deserves plenty of discussion, especially
the sm1 part. Several open questions which occurred to me while writing are:
1. Should we fix the mask (and used mask) for sm1 signatures as 0xf rather than
0? SPIR-V cares about this in order to declare I/O variables, which makes
some amount of sense. In fact I have a patch in my local tree to change this,
specifically for that purpose. However, we could also normalize it later.
2. If we do fix the mask as nonzero, should single-component semantics (fog,
depth, etc...) be declared as 0x1 instead of 0xf?
3. Should BLENDINDICES get a UINT type? It's float in shader instructions (well,
kind of, although in practice it's used as an array index of course), but
the vertex attribute type is in practice "supposed" to be integer.
Part 1 of a series to implement sm1 -> spirv translation in vkd3d-shader,
brought to you by late nights spent coding and rereading The Waste Land.
Ganga was sunken, and the limp leaves
Waited for rain, while the black clouds
Gathered far distant, over Himavant.
--
v5: vkd3d-shader: Synthesize signatures for d3dbc shaders.
vkd3d-shader: Introduce an API to retrieve all signatures from DXBC shaders.
vkd3d-shader: Introduce documented semantics for the target type and other data passed to vkd3d_shader_scan().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/200
MSVC is too stupid to see that line 3058 will not run unless n_variants
has been set together with variants in the switch statement below.
--
v4: vkd3d-shader/hlsl: Make sure variants is initialized in declare_predefined_types().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/171
Block records are not processed; only the bitcode is validated.
--
v15: vkd3d-shader/dxil: Read and validate global abbreviated operands.
vkd3d-shader/dxil: Read and validate local abbreviated operands.
vkd3d-compiler: Introduce a dxbc-dxil source type.
include: Introduce a function to detect the DXBC source type.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/44
This change only implements case-sensitivity of technique keywords and related checks when corresponding profile is used. My immediate plan is to add some synthetic type for technique variables, for example as {object, void}, then add named techniques as variables. This is useful because these names are participating in global scope, and should not collide with normal variables. After that "pass_list" will be split, at least in two variants because of how much d3d9 syntax differs. Some trivial changes will be need later to have some top level fx compilation helper that considers only fx objects and calls ps/vs/gs compiler to create inner shader blobs on same original source.
--
v2: vkd3d-shader/hlsl: Improve handling of "technique" tokens.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/111
StringFormat argument to get_font_hfont is unused and looks largely irrelevant to the font.
Signed-off-by: David Kahurani <k.kahurani(a)gmail.com>
--
v2: gdiplus: Remove unused argument in get_font_hfont
https://gitlab.winehq.org/wine/wine/-/merge_requests/3163