Alexandre Julliard pushed to branch master at wine / wine
Commits:
93a6d341 by Elizabeth Figura at 2024-12-17T14:54:34+01:00
Revert "wined3d: Use bindless textures for GLSL shaders if possible.".
This reverts commit f6a1844dbed91b441ad69e7b15b5be242d063e87.
The use of bindless textures results in several bugs. Some appear to be our
bugs; at least some of these would require us to attempt to keep textures
nonresident when not used, and others have not yet been debugged. Some appear to
be driver bugs or at least exacerbations of existing bugs that are not really
fixable.
At the same time, separate samplers are a d3d10-level feature, and any
d3d10-level GPU should be capable of supporting Vulkan, which does not use
combined samplers. The Vulkan renderer does not suffer from the problem that the
GL renderer does in this case.
Put another way, any application that is helped by the original commit should
also be helped by the Vulkan renderer, and if the application in question is
capable of running on a given GPU in the first place then the GPU should in
practice support Vulkan.
The original commit fixed a clear and definite bug, and thus this revert
reintroduces regressions in some applications, while fixing regressions in
others. The long-term fix for these regressions is to finish the Vulkan renderer
and default to it where possible.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56474
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56523
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56605
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56627
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57409
- - - - -
8 changed files:
- dlls/d3d11/tests/d3d11.c
- dlls/wined3d/adapter_gl.c
- dlls/wined3d/context_gl.c
- dlls/wined3d/device.c
- dlls/wined3d/glsl_shader.c
- dlls/wined3d/texture.c
- dlls/wined3d/view.c
- dlls/wined3d/wined3d_gl.h
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/93a6d341d4cc00c46d576333fa0a80…
--
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/93a6d341d4cc00c46d576333fa0a80…
You're receiving this email because of your account on gitlab.winehq.org.
Alexandre Julliard pushed to branch master at wine / wine
Commits:
d231cb28 by Elizabeth Figura at 2024-12-17T14:53:54+01:00
wined3d: Add nop state entries for states now invalidated on the client side.
9313c14c63a9b941b66ea367b72f0f928e39c68b and following commits moved invalidation to the client side of the CS, and removed the state table entries since nothing needed to be done.
However, in order to avoid errors, the state table still validates that all states have a representative, and thus complains at the missing representatives for all of these states.
Avoid this by adding state_nop entries, as is done in some other places.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57207
- - - - -
2 changed files:
- dlls/wined3d/ffp_gl.c
- dlls/wined3d/glsl_shader.c
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/d231cb2832afed97179f502eb32fe8…
--
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/d231cb2832afed97179f502eb32fe8…
You're receiving this email because of your account on gitlab.winehq.org.
Alexandre Julliard pushed to branch master at wine / wine
Commits:
f807d420 by Nikolay Sivov at 2024-12-17T14:53:25+01:00
windowscodecs/tests: Added some tests for Exif and Gps IFDs embedded in App1 blob.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
- - - - -
4b02f4b1 by Nikolay Sivov at 2024-12-17T14:53:27+01:00
windowscodecs/tests: Add some tests for CreateMetadataWriterFromReader().
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
- - - - -
909f1c83 by Nikolay Sivov at 2024-12-17T14:53:27+01:00
windowscodecs/tests: Add some tests for CreateMetadataWriter().
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
- - - - -
a98665db by Nikolay Sivov at 2024-12-17T14:53:27+01:00
windowscodecs/tests: Add some tests for metadata stream objects handling.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
- - - - -
7d3f70d5 by Nikolay Sivov at 2024-12-17T14:53:27+01:00
windowscodecs/tests: Add loading tests for the writers.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
- - - - -
5abd38e4 by Nikolay Sivov at 2024-12-17T14:53:27+01:00
windowscodecs/tests: Check persist options after Load().
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
- - - - -
1 changed file:
- dlls/windowscodecs/tests/metadata.c
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/538cae099cde66706428ead4ae895…
--
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/538cae099cde66706428ead4ae895…
You're receiving this email because of your account on gitlab.winehq.org.
Henri Verbeet pushed to branch master at wine / vkd3d
Commits:
3db45869 by Giovanni Mascellani at 2024-12-17T16:44:00+01:00
vkd3d-shader/ir: Remove a redundant assignment.
The hull shader control point normalisation pass already ensures
that output registers in the control point phase have two
indices (the control point index and the register index).
- - - - -
a68fd1b0 by Giovanni Mascellani at 2024-12-17T16:44:00+01:00
vkd3d-shader/ir: Simplify shader_register_normalise_arrayed_addressing().
The two branches do essentially the same thing, but in different
ways and each one omitting different details. In particular there
is no need to discriminate on whether the register is a relative
address, we can just copy the NULL pointer.
- - - - -
1 changed file:
- libs/vkd3d-shader/ir.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/e8cc288426955036a26ca4cac64f…
--
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/e8cc288426955036a26ca4cac64f…
You're receiving this email because of your account on gitlab.winehq.org.
Henri Verbeet pushed to branch master at wine / vkd3d
Commits:
c6816739 by Henri Verbeet at 2024-12-17T16:42:53+01:00
vkd3d-shader/d3dbc: Separate writing the comment bytecode from write_sm1_uniforms().
Consistent with how D3DXFindShaderComment() allows looking up comments
by tag. This also makes it a little easier to move CTAB generation out
of d3dbc.c.
- - - - -
e8cc2884 by Henri Verbeet at 2024-12-17T16:42:53+01:00
vkd3d-shader/hlsl: Move CTAB generation to hlsl_codegen.c.
- - - - -
3 changed files:
- libs/vkd3d-shader/d3dbc.c
- libs/vkd3d-shader/hlsl.h
- libs/vkd3d-shader/hlsl_codegen.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/00538c377e58317a2a5f625a9b0c…
--
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/00538c377e58317a2a5f625a9b0c…
You're receiving this email because of your account on gitlab.winehq.org.
Henri Verbeet pushed to branch master at wine / vkd3d
Commits:
8d4b790e by Giovanni Mascellani at 2024-12-17T16:39:32+01:00
vkd3d-shader/ir: Represent information about I/O registers with a table.
It makes the code quite longer, but also easier to read and extend
with further properties.
A (desirable) side effect of this commit is that it is checked
whether I/O register types are legal depending on the shader type
and phase, while before that was assumed.
This commit introduces enum vsir_io_reg_type and enum vsir_phase
which shadow enum vkd3d_shader_register_type and enum
vkd3d_shader_opcode, with the goal of making the data tables
smaller.
- - - - -
38a5c905 by Giovanni Mascellani at 2024-12-17T16:39:32+01:00
vkd3d-shader/ir: Validate INPUT destination parameters using a uniform helper.
- - - - -
b194e5dc by Giovanni Mascellani at 2024-12-17T16:39:32+01:00
vkd3d-shader/ir: Validate PATCHCONST destination parameters using a uniform helper.
- - - - -
7d87b4e8 by Giovanni Mascellani at 2024-12-17T16:39:32+01:00
vkd3d-shader/ir: Validate OUTPUT destination parameters.
- - - - -
3dc7f322 by Giovanni Mascellani at 2024-12-17T16:39:32+01:00
vkd3d-shader/ir: Validate INCONTROLPOINT destination parameters.
- - - - -
00538c37 by Giovanni Mascellani at 2024-12-17T16:39:32+01:00
vkd3d-shader/ir: Validate OUTCONTROLPOINT destination parameters.
- - - - -
1 changed file:
- libs/vkd3d-shader/ir.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/27c77769478cd68e5ffcd143fbc5…
--
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/27c77769478cd68e5ffcd143fbc5…
You're receiving this email because of your account on gitlab.winehq.org.
Henri Verbeet pushed to branch master at wine / vkd3d
Commits:
e91c07e1 by Elizabeth Figura at 2024-12-17T16:18:21+01:00
tests/shader_runner: Record HLSL todo/fail state for each shader model.
When a shader fails to compile for a range of versions, we want to validate that
we are correctly implementing that behaviour. E.g. if a feature requires shader
model 5.0, we should validate that it compiles correctly with 5.0 (which we do),
but also that it *fails* to compile with 4.1 (which we do not).
The obvious and simple solution is to simply run compile tests for each version.
There are, however, at least 12 versions of HLSL up to and including 6.0, at
least 10 of which are known to introduce new features. Shader compilation takes
about 10-15% of the time that draw and dispatch does, both for native and
(currently) vkd3d. Testing every version for every shader would add a
noticeable amount of time to the tests.
In practice, the interesting versions to test for most shaders are:
* At least one from each range 1-3, 4-5, and 6. It's common enough for the
semantics of the HLSL to differ between bytecode formats, or for features to
be added or removed across those boundaries.
* If the shader requires a given feature, we want to test both sides of the cusp
to ensure we're requiring the same version for the feature.
In practice this is 3 or 4 versions, which is measurably less than the 12 we'd
otherwise be running.
In order to achieve this goal of testing only the 3 or 4 interesting versions
for a shader, we need to know what version is actually required for a feature.
This is encoded in the shader itself using e.g. [pixel shader fail(sm<5)].
This patch therefore implements the first step towards this goal, namely,
determining which versions succeed and fail, so we can figure out which ones are
interesting.
We could require the test writer to specify which versions are interesting ahead
of time (e.g. "for version in 2.0 4.1 5.0 6.0") but this is both redundant (and
there are a *lot* of tests that need some feature gate) and easy for a test
writer to get wrong by missing interesting versions.
- - - - -
067e6dee by Elizabeth Figura at 2024-12-17T16:24:00+01:00
tests/shader_runner: Test HLSL compilation in a separate pass.
Mainly in order to not waste time compile-testing the same version
more than once [as we do with e.g. the d3d11 and d3d12 runners, or
d3d12, GL, and Vulkan].
- - - - -
8fcbbfb8 by Elizabeth Figura at 2024-12-17T16:35:09+01:00
tests/shader_runner: Test versions where the compilation result changes.
Adjust the algorithm for deciding for which profiles to test compilation.
We first ensure that if the compilation result changes (most often as the result
of a feature introduced in a specific version), we test the versions immediately
on either side of the change, to validate that vkd3d-shader is emulating the
same version behaviour.
We then ensure that we are testing at least one version from each set of sm1,
sm4, and sm6.
- - - - -
27c77769 by Elizabeth Figura at 2024-12-17T16:37:41+01:00
tests: Use fail(sm<5) instead of [require] for uav-atomics.
- - - - -
14 changed files:
- tests/hlsl/cbuffer.shader_test
- tests/hlsl/object-parameters.shader_test
- tests/hlsl/object-references.shader_test
- tests/hlsl/register-reservations-profile.shader_test
- tests/hlsl/register-reservations-resources.shader_test
- tests/hlsl/sample-bias.shader_test
- tests/hlsl/sample-grad.shader_test
- tests/hlsl/sample-level.shader_test
- tests/hlsl/sampler-state.shader_test
- tests/hlsl/sampler.shader_test
- tests/hlsl/state-block-syntax.shader_test
- tests/hlsl/uav-atomics.shader_test
- tests/shader_runner.c
- tests/shader_runner.h
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/de615609dc30cb8571e796bcd2a9…
--
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/de615609dc30cb8571e796bcd2a9…
You're receiving this email because of your account on gitlab.winehq.org.