--
v4: vkd3d-shader/dxil: Implement DX intrinsic BufferLoad for typed buffers.
vkd3d-shader/dxil: Load typed UAV descriptors.
vkd3d-shader/dxil: Load typed SRV descriptors.
vkd3d-shader/spirv: Do not assert VKD3D_DATA_UINT in spirv_compiler_emit_ld_raw_structured_srv_uav().
vkd3d-shader/dxil: Pass the code block and instruction in a struct to intrinsic handlers.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/533
~~Other validation stuff I plan to send as soon as !450 and !550 are in.~~
~~I guess the CI is going to timeout because of too many commits, so I'll preemptively stop it.~~
--
v7:
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/559
At some point I would like to have an assembler for TPF, so that it's easier to write and modify tests. This is a first step in that direction, fixing some kind of format for serializing signatures in the comment at the beginning of the assembler code. I'm not decided yet on all details, so take this as an RFC for the moment.
--
v4: tests: Test emitting the signature.
vkd3d-compiler: Add an option to emit the signature when disassembling.
vkd3d-shader/d3d-asm: Support emitting the shader signature.
vkd3d-shader/d3d-asm: Refactor dumping a write mask to a dedicated function.
vkd3d-shader/d3d-asm: Describe the ASM dialect with a bunch of flags instead of a plain enum.
vkd3d-shader/d3d-asm: Do not make a copy of the buffer before returning it.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/553
Recap:
My previous proposals to extend the shader_runner to SM1 were focusing on separating compilation tests ([shader] directives) from execution tests ([test] directives), and let the generic shader_runner.c:compile_shader() in charge of the former.
However, Henri was more inclined to aim for making the parser agnostic to the language of the tests so we can potentially extend the shader_runner tests to other languages such as d3d-asm. This means, removing the burden of compilation from the parser altogether, and moving it to the runners, probably through a runner->compile function pointer (even if most of them end up doing the same thing, compiling with vkd3d-shader or the native compiler, depending on availability).
Agreeing with going in this general direction, this MR contains patches to do SM1 compilation calling run_shader_tests() for SM1 profiles from the Vulkan runner (skipping execution for now), and some improvements to the qualifiers syntax.
Despite this, there are parallel discussions on:
- Whether to name the shader models individually in the [require] directives or expressing the range of shader models where the test should pass. In the latter case, whether to run for all shader models, only the lowest one in the SM1, SM4, and SM6 groups, or to allow the runner to select a shader model within the range (I feel strongly against this now, I think the runner should just retrieve a boolean in runner->check_requirements).
- Where to do the iteration across different shader models, if in run_shader_tests() or expect each runner to call run_shader_tests() several times as we do now.
But there is no need to settle on something for these yet.
---
Now, what may be the most noisy part of this MR is that even though we are calling run_shader_tests() through the Vulkan runner, this will result in calling shader_runner.c:compile_shader() instead of shader_runner_vulkan.c:compile_shader(), but if we follow the "making the parser agnostic" plan, we eventually should get rid of shader_runner.c:compile_shader() and introduce the runner->compile pointer instead.
--
v15: tests: Use the vulkan runner to run SM1 compilation tests.
vkd3d-shader/ir: Lower texkill instructions to discard_nz.
vkd3d-shader/d3dbc: Emit fixme for HLSL_RESOURCE_SAMPLE_LOD.
tests/shader-runner: Call each runner only once.
tests/shader-runner: Support reading multiple model range args for qualifiers.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/514
Signed-off-by: David Kahurani k.kahurani(a)gmail.com
--
v3: dlls/gdiplus: Use path_list to path helper in GdipWidenPath.
dlls/gdiplus: Use path_list to path helper in GdipFlattenPath.
dlls/gdiplus: Add helper function for strictly allocating to a path
https://gitlab.winehq.org/wine/wine/-/merge_requests/4803
On Mon Jan 22 18:25:33 2024 +0000, Esme Povirk wrote:
> This doesn't look right to me. Assigning to desc overwrites the value
> passed into the function.
I will add a check if desc is already allocated or not, if yes then use realloc.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4661#note_58440
On Mon Jan 22 18:34:33 2024 +0000, Esme Povirk wrote:
> I think all the cases except RedEyeCorrectionEffect can be combined into
> one case. I don't think the `default:` case should be reachable.
They can all be combined to one, if we don't use a union and use 'void *' as member of CGpEffect to store the parameter. I am a bit confused on how to merge the cases if we use a union.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4661#note_58439