From 158a1896ec91c46a43fa3172fa472e6fc7c9eb05 Mon Sep 17 00:00:00 2001 From: Billy Laws Date: Sat, 18 Feb 2023 18:23:36 +0000 Subject: Implement scaled vertex buffer format emulation These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead. --- src/shader_recompiler/profile.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/shader_recompiler/profile.h') diff --git a/src/shader_recompiler/profile.h b/src/shader_recompiler/profile.h index 9f88fb440..3bb4a7e6f 100644 --- a/src/shader_recompiler/profile.h +++ b/src/shader_recompiler/profile.h @@ -43,6 +43,7 @@ struct Profile { bool support_gl_variable_aoffi{}; bool support_gl_sparse_textures{}; bool support_gl_derivative_control{}; + bool support_scaled_attributes{}; bool warp_size_potentially_larger_than_guest{}; -- cgit v1.2.3 From b4a12b889ee0182bbe05423933b122fd9e78b132 Mon Sep 17 00:00:00 2001 From: Billy Laws Date: Sat, 18 Feb 2023 18:26:47 +0000 Subject: Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs This crashes their shader compiler for some reason. --- src/shader_recompiler/profile.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/shader_recompiler/profile.h') diff --git a/src/shader_recompiler/profile.h b/src/shader_recompiler/profile.h index 3bb4a7e6f..9ca97f6a4 100644 --- a/src/shader_recompiler/profile.h +++ b/src/shader_recompiler/profile.h @@ -78,6 +78,8 @@ struct Profile { bool has_gl_bool_ref_bug{}; /// Ignores SPIR-V ordered vs unordered using GLSL semantics bool ignore_nan_fp_comparisons{}; + /// Some drivers have broken support for OpVectorExtractDynamic on subgroup mask inputs + bool has_broken_spirv_subgroup_mask_vector_extract_dynamic{}; u32 gl_max_compute_smem_size{}; }; -- cgit v1.2.3