On 5/20/22 19:25, Chip Davis (@cdavis5e) wrote:
On Fri May 20 17:13:12 2022 +0000, **** wrote:
Zebediah Figura replied on the mailing list:
On 5/20/22 04:06, Jan Sikorski (@jsikorski) wrote: > On Fri May 20 09:06:20 2022 +0000, Chip Davis wrote: >> @jsikorski, I have no way of verifying that I didn't break the tests on >> Vulkan again. They crash on me at this moment. > I get the same result. Do you get a crash in test_texture() and test_compressed_format_compatibility() specifically? Those are the ones that regress. > I'm getting the same errors with GL too, actually. They seem to be triggered by patch 6/10 (the one moving BLOCKS etc.)
I get the same result. Do you get a crash in test_texture() and test_compressed_format_compatibility() specifically? Those are the ones that regress.
I don't see those failures. With Vulkan, I see different crashes that have a lot to do with a) MoltenVK not implementing stuff that b) wined3d blindly assumes that a Vulkan implementation will have. I see crashes in `test_so_statistics_query()` and `test_clear_state()`. With OpenGL, it doesn't even actually run any tests.
This is supposed to be NFC. I don't see anything in the patch itself that would cause problems, yet clearly something is lurking there. Exactly what failures do you see?
I get signs of memory corruption and GL_INVALID_OPERATION errors like the following:
0104:err:d3d:wined3d_debug_callback 000000000039BC80: "GL_INVALID_VALUE in glCompressedTexSubImage2D(size=512)".
I did a bit of debugging, and the following diff fixes things for me:
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 37846d980b7..50ccde057f0 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -3835,7 +3835,7 @@ static BOOL init_typeless_formats(const struct wined3d_adapter *adapter) attrs = typeless_format->attrs; memcpy(flags, typeless_format->flags, sizeof(flags)); copy_format(adapter, typeless_format, format); - typeless_format->attrs = attrs; + typeless_format->attrs |= attrs; for (j = 0; j < ARRAY_SIZE(typeless_format->flags); ++j) typeless_format->flags[j] |= flags[j]; }