From e966289ddb267aac71352dd7fca65c40db055384 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Fri, 7 Jun 2024 02:54:24 +0300 Subject: [PATCH] rsx: Drop hard requirement for GL_EXT_shader_integer_mix --- rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp | 2 -- .../Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp b/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp index 74d37e4013..7980670ca4 100644 --- a/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp +++ b/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp @@ -31,8 +31,6 @@ void GLFragmentDecompilerThread::insertHeader(std::stringstream & OS) int gl_version = 430; std::vector required_extensions; - required_extensions.push_back("GL_EXT_shader_integer_mix"); - if (device_props.has_native_half_support) { const auto driver_caps = gl::get_driver_caps(); diff --git a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl index 384df3bcd7..14e43ec69e 100644 --- a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl +++ b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl @@ -172,9 +172,9 @@ vec4 _texcoord_xform_shadow(const in vec4 coord4, const in sampler_info params) vec4 _sext_unorm8x4(const in vec4 x) { // TODO: Handle clamped sign-extension - const ivec4 bits = ivec4(floor(fma(x, vec4(255.), vec4(0.5f)))); - const bvec4 sign_check = lessThan(bits, ivec4(0x80)); - const ivec4 ret = _select(bits - 256, bits, sign_check); + const vec4 bits = floor(fma(x, vec4(255.), vec4(0.5f))); + const bvec4 sign_check = lessThan(bits, vec4(128.f)); + const vec4 ret = _select(bits - 256.f, bits, sign_check); return ret / 127.f; }