ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15.58k stars 811 forks source link

Crash on Transformice.swf | "Error in Surface::configure: validation error | Caused by: Invalid surface" #13178

Open not-holar opened 1 year ago

not-holar commented 1 year ago

Describe what you were doing

Just loaded Transformice.swf file (also applies to URL https://www.transformice.com/TransformiceChargeur.swf), it crashes immediately on startup

What does the crash message say?

panicked at 'Error in Surface::configure: Validation Error

Caused by: Invalid surface ', C:\Users\runneradmin.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.17.0\src\backend\direct.rs:771:18

Ruffle Version

0.1.0-nightly (53199a51164ce338a259f1dba5a850eb7280cf92 2023-09-11)

Affected platform

Desktop app

Operating system

Windows 10.0.22621 (Windows 11 Enterprise) [64-bit]

Additional information

Filename: Transformice.swf

Render Info

Renderer: wgpu Adapter Backend: Dx12 Adapter Name: "NVIDIA GeForce GT 440" Adapter Device Type: DiscreteGpu Adapter Driver Name: "" Adapter Driver Info: "" Enabled features: Features(TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | PUSH_CONSTANTS) Available features: Features(DEPTH_CLIP_CONTROL | TIMESTAMP_QUERY | INDIRECT_FIRST_INSTANCE | RG11B10UFLOAT_RENDERABLE | DEPTH32FLOAT_STENCIL8 | TEXTURE_COMPRESSION_BC | TEXTURE_FORMAT_16BIT_NORM | TIMESTAMP_QUERY_INSIDE_PASSES | MAPPABLE_PRIMARY_BUFFERS | TEXTURE_BINDING_ARRAY | SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING | UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING | MULTI_DRAW_INDIRECT | MULTI_DRAW_INDIRECT_COUNT | ADDRESS_MODE_CLAMP_TO_ZERO | ADDRESS_MODE_CLAMP_TO_BORDER | POLYGON_MODE_LINE | POLYGON_MODE_POINT | VERTEX_WRITABLE_STORAGE | CLEAR_TEXTURE | SHADER_PRIMITIVE_INDEX) Current limits: Limits { max_texture_dimension_1d: 16384, max_texture_dimension_2d: 16384, max_texture_dimension_3d: 2048, max_texture_array_layers: 256, max_bind_groups: 4, max_bindings_per_bind_group: 1000, max_dynamic_uniform_buffers_per_pipeline_layout: 8, max_dynamic_storage_buffers_per_pipeline_layout: 0, max_sampled_textures_per_shader_stage: 16, max_samplers_per_shader_stage: 16, max_storage_buffers_per_shader_stage: 0, max_storage_textures_per_shader_stage: 0, max_uniform_buffers_per_shader_stage: 11, max_uniform_buffer_binding_size: 16384, max_storage_buffer_binding_size: 0, max_vertex_buffers: 8, max_buffer_size: 268435456, max_vertex_attributes: 16, max_vertex_buffer_array_stride: 255, min_uniform_buffer_offset_alignment: 256, min_storage_buffer_offset_alignment: 32, max_inter_stage_shader_components: 60, max_compute_workgroup_storage_size: 0, max_compute_invocations_per_workgroup: 0, max_compute_workgroup_size_x: 0, max_compute_workgroup_size_y: 0, max_compute_workgroup_size_z: 0, max_compute_workgroups_per_dimension: 0, max_push_constant_size: 96 } Surface quality: low Surface samples: 1 Surface size: Extent3d { width: 800, height: 600, depth_or_array_layers: 1 }

Lord-McSweeney commented 1 year ago

I'm not sure but I think you might just not have the right Dx12 drivers for your GPU. You should probably try playing on a different computer, or get a newer GPU. Alternatively you can try using the -g gl option when launching Ruffle from the command line.

not-holar commented 1 year ago

I'm not sure but I think you might just not have the right Dx12 drivers for your GPU. You should probably try playing on a different computer, or get a newer GPU. Alternatively you can try using the -g gl option when launching Ruffle from the command line.

..\ruffle> .\ruffle.exe -g gl
..\ruffle> Ruffle does not support OpenGL on Windows.
Lord-McSweeney commented 1 year ago

In that case, as far as I know, there's no way to fix this except trying it on a different device. You can use the ruffle web demo, but that won't be able to connect to the sockets that Transformice uses.