From 90d6fe79ce008f1be7e7cf99ade4b3c54ad8cf88 Mon Sep 17 00:00:00 2001 From: MooglyGuy Date: Thu, 18 May 2017 00:59:30 +0200 Subject: Fixed HQx shaders with BGFX OpenGL backend. Fixes for more shaders seem to be a bit more involved. Will have proper commit message later. (nw) --- bgfx/shaders/essl/chains/hqx/fs_hq2x.bin | Bin 15856 -> 15910 bytes bgfx/shaders/essl/chains/hqx/fs_hq3x.bin | Bin 15861 -> 15915 bytes bgfx/shaders/essl/chains/hqx/fs_hq4x.bin | Bin 15861 -> 15915 bytes bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin | Bin 15054 -> 15054 bytes bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin | Bin 15059 -> 15059 bytes bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin | Bin 15059 -> 15059 bytes bgfx/shaders/metal/chains/hqx/fs_hq2x.bin | Bin 16687 -> 16687 bytes bgfx/shaders/metal/chains/hqx/fs_hq3x.bin | Bin 16692 -> 16692 bytes bgfx/shaders/metal/chains/hqx/fs_hq4x.bin | Bin 16692 -> 16692 bytes .../render/bgfx/shaders/chains/hqx/fs_hq2x.sc | 20 ++++++++++---------- .../render/bgfx/shaders/chains/hqx/fs_hq3x.sc | 20 ++++++++++---------- .../render/bgfx/shaders/chains/hqx/fs_hq4x.sc | 20 ++++++++++---------- 12 files changed, 30 insertions(+), 30 deletions(-) diff --git a/bgfx/shaders/essl/chains/hqx/fs_hq2x.bin b/bgfx/shaders/essl/chains/hqx/fs_hq2x.bin index 2b008d10a52..e25a32baaa6 100644 Binary files a/bgfx/shaders/essl/chains/hqx/fs_hq2x.bin and b/bgfx/shaders/essl/chains/hqx/fs_hq2x.bin differ diff --git a/bgfx/shaders/essl/chains/hqx/fs_hq3x.bin b/bgfx/shaders/essl/chains/hqx/fs_hq3x.bin index 7494371f7eb..9f27dce7e58 100644 Binary files a/bgfx/shaders/essl/chains/hqx/fs_hq3x.bin and b/bgfx/shaders/essl/chains/hqx/fs_hq3x.bin differ diff --git a/bgfx/shaders/essl/chains/hqx/fs_hq4x.bin b/bgfx/shaders/essl/chains/hqx/fs_hq4x.bin index c215c28b740..d01b94d365e 100644 Binary files a/bgfx/shaders/essl/chains/hqx/fs_hq4x.bin and b/bgfx/shaders/essl/chains/hqx/fs_hq4x.bin differ diff --git a/bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin b/bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin index 7f3b9f36263..1a6b1919a59 100644 Binary files a/bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin and b/bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin differ diff --git a/bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin b/bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin index b74aea5e0af..53ec718d105 100644 Binary files a/bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin and b/bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin differ diff --git a/bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin b/bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin index 86a90e7fa48..e907f94150d 100644 Binary files a/bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin and b/bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin differ diff --git a/bgfx/shaders/metal/chains/hqx/fs_hq2x.bin b/bgfx/shaders/metal/chains/hqx/fs_hq2x.bin index 36bca542314..83bcd7d5bed 100644 Binary files a/bgfx/shaders/metal/chains/hqx/fs_hq2x.bin and b/bgfx/shaders/metal/chains/hqx/fs_hq2x.bin differ diff --git a/bgfx/shaders/metal/chains/hqx/fs_hq3x.bin b/bgfx/shaders/metal/chains/hqx/fs_hq3x.bin index 3f93232d968..1a1cb1bd3c6 100644 Binary files a/bgfx/shaders/metal/chains/hqx/fs_hq3x.bin and b/bgfx/shaders/metal/chains/hqx/fs_hq3x.bin differ diff --git a/bgfx/shaders/metal/chains/hqx/fs_hq4x.bin b/bgfx/shaders/metal/chains/hqx/fs_hq4x.bin index 4d3ea83de62..9d224716146 100644 Binary files a/bgfx/shaders/metal/chains/hqx/fs_hq4x.bin and b/bgfx/shaders/metal/chains/hqx/fs_hq4x.bin differ diff --git a/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq2x.sc b/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq2x.sc index 66bd69f253e..38f81111567 100644 --- a/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq2x.sc +++ b/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq2x.sc @@ -43,17 +43,17 @@ void main() vec4 p3 = texture2D(decal, v_texcoord0 + vec2(dx, 0) * quad); vec4 p4 = texture2D(decal, v_texcoord0 + vec2(0, dy) * quad); - vec3 w1 = mul(yuv, texture2D(decal, v_texcoord1.xw).rgb); - vec3 w2 = mul(yuv, texture2D(decal, v_texcoord1.yw).rgb); - vec3 w3 = mul(yuv, texture2D(decal, v_texcoord1.zw).rgb); + vec3 w1 = instMul(texture2D(decal, v_texcoord1.xw).rgb, yuv); + vec3 w2 = instMul(texture2D(decal, v_texcoord1.yw).rgb, yuv); + vec3 w3 = instMul(texture2D(decal, v_texcoord1.zw).rgb, yuv); - vec3 w4 = mul(yuv, texture2D(decal, v_texcoord2.xw).rgb); - vec3 w5 = mul(yuv, p1.rgb); - vec3 w6 = mul(yuv, texture2D(decal, v_texcoord2.zw).rgb); + vec3 w4 = instMul(texture2D(decal, v_texcoord2.xw).rgb, yuv); + vec3 w5 = instMul(p1.rgb, yuv); + vec3 w6 = instMul(texture2D(decal, v_texcoord2.zw).rgb, yuv); - vec3 w7 = mul(yuv, texture2D(decal, v_texcoord3.xw).rgb); - vec3 w8 = mul(yuv, texture2D(decal, v_texcoord3.yw).rgb); - vec3 w9 = mul(yuv, texture2D(decal, v_texcoord3.zw).rgb); + vec3 w7 = instMul(texture2D(decal, v_texcoord3.xw).rgb, yuv); + vec3 w8 = instMul(texture2D(decal, v_texcoord3.yw).rgb, yuv); + vec3 w9 = instMul(texture2D(decal, v_texcoord3.zw).rgb, yuv); mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9)); vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8)); @@ -69,7 +69,7 @@ void main() vec4 weights = texture2D(LUT, index * step + offset); float sum = dot(weights, vec4(1.0, 1.0, 1.0, 1.0)); mat4 transposed = mat4(vec4(p1.x, p2.x, p3.x, p4.x), vec4(p1.y, p2.y, p3.y, p4.y), vec4(p1.z, p2.z, p3.z, p4.z), vec4(p1.w, p2.w, p3.w, p4.w)); - vec4 res = mul(transposed, weights / vec4(sum, sum, sum, sum)); + vec4 res = instMul(weights / vec4(sum, sum, sum, sum), transposed); gl_FragColor = vec4(res.rgb, 1.0); } diff --git a/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq3x.sc b/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq3x.sc index 8e0f46a80f1..a29c2c00da8 100644 --- a/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq3x.sc +++ b/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq3x.sc @@ -43,17 +43,17 @@ void main() vec4 p3 = texture2D(decal, v_texcoord0 + vec2(dx, 0) * quad); vec4 p4 = texture2D(decal, v_texcoord0 + vec2(0, dy) * quad); - vec3 w1 = mul(yuv, texture2D(decal, v_texcoord1.xw).rgb); - vec3 w2 = mul(yuv, texture2D(decal, v_texcoord1.yw).rgb); - vec3 w3 = mul(yuv, texture2D(decal, v_texcoord1.zw).rgb); + vec3 w1 = instMul(texture2D(decal, v_texcoord1.xw).rgb, yuv); + vec3 w2 = instMul(texture2D(decal, v_texcoord1.yw).rgb, yuv); + vec3 w3 = instMul(texture2D(decal, v_texcoord1.zw).rgb, yuv); - vec3 w4 = mul(yuv, texture2D(decal, v_texcoord2.xw).rgb); - vec3 w5 = mul(yuv, p1.rgb); - vec3 w6 = mul(yuv, texture2D(decal, v_texcoord2.zw).rgb); + vec3 w4 = instMul(texture2D(decal, v_texcoord2.xw).rgb, yuv); + vec3 w5 = instMul(p1.rgb, yuv); + vec3 w6 = instMul(texture2D(decal, v_texcoord2.zw).rgb, yuv); - vec3 w7 = mul(yuv, texture2D(decal, v_texcoord3.xw).rgb); - vec3 w8 = mul(yuv, texture2D(decal, v_texcoord3.yw).rgb); - vec3 w9 = mul(yuv, texture2D(decal, v_texcoord3.zw).rgb); + vec3 w7 = instMul(texture2D(decal, v_texcoord3.xw).rgb, yuv); + vec3 w8 = instMul(texture2D(decal, v_texcoord3.yw).rgb, yuv); + vec3 w9 = instMul(texture2D(decal, v_texcoord3.zw).rgb, yuv); mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9)); vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8)); @@ -69,7 +69,7 @@ void main() vec4 weights = texture2D(LUT, index * step + offset); float sum = dot(weights, vec4(1.0, 1.0, 1.0, 1.0)); mat4 transposed = mat4(vec4(p1.x, p2.x, p3.x, p4.x), vec4(p1.y, p2.y, p3.y, p4.y), vec4(p1.z, p2.z, p3.z, p4.z), vec4(p1.w, p2.w, p3.w, p4.w)); - vec4 res = mul(transposed, weights / vec4(sum, sum, sum, sum)); + vec4 res = instMul(weights / vec4(sum, sum, sum, sum), transposed); gl_FragColor = vec4(res.rgb, 1.0); } diff --git a/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq4x.sc b/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq4x.sc index 8e769bee46c..e6c0e1c2aaa 100644 --- a/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq4x.sc +++ b/src/osd/modules/render/bgfx/shaders/chains/hqx/fs_hq4x.sc @@ -43,17 +43,17 @@ void main() vec4 p3 = texture2D(decal, v_texcoord0 + vec2(dx, 0) * quad); vec4 p4 = texture2D(decal, v_texcoord0 + vec2(0, dy) * quad); - vec3 w1 = mul(yuv, texture2D(decal, v_texcoord1.xw).rgb); - vec3 w2 = mul(yuv, texture2D(decal, v_texcoord1.yw).rgb); - vec3 w3 = mul(yuv, texture2D(decal, v_texcoord1.zw).rgb); + vec3 w1 = instMul(texture2D(decal, v_texcoord1.xw).rgb, yuv); + vec3 w2 = instMul(texture2D(decal, v_texcoord1.yw).rgb, yuv); + vec3 w3 = instMul(texture2D(decal, v_texcoord1.zw).rgb, yuv); - vec3 w4 = mul(yuv, texture2D(decal, v_texcoord2.xw).rgb); - vec3 w5 = mul(yuv, p1.rgb); - vec3 w6 = mul(yuv, texture2D(decal, v_texcoord2.zw).rgb); + vec3 w4 = instMul(texture2D(decal, v_texcoord2.xw).rgb, yuv); + vec3 w5 = instMul(p1.rgb, yuv); + vec3 w6 = instMul(texture2D(decal, v_texcoord2.zw).rgb, yuv); - vec3 w7 = mul(yuv, texture2D(decal, v_texcoord3.xw).rgb); - vec3 w8 = mul(yuv, texture2D(decal, v_texcoord3.yw).rgb); - vec3 w9 = mul(yuv, texture2D(decal, v_texcoord3.zw).rgb); + vec3 w7 = instMul(texture2D(decal, v_texcoord3.xw).rgb, yuv); + vec3 w8 = instMul(texture2D(decal, v_texcoord3.yw).rgb, yuv); + vec3 w9 = instMul(texture2D(decal, v_texcoord3.zw).rgb, yuv); mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9)); vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8)); @@ -69,7 +69,7 @@ void main() vec4 weights = texture2D(LUT, index * step + offset); float sum = dot(weights, vec4(1.0, 1.0, 1.0, 1.0)); mat4 transposed = mat4(vec4(p1.x, p2.x, p3.x, p4.x), vec4(p1.y, p2.y, p3.y, p4.y), vec4(p1.z, p2.z, p3.z, p4.z), vec4(p1.w, p2.w, p3.w, p4.w)); - vec4 res = mul(transposed, weights / vec4(sum, sum, sum, sum)); + vec4 res = instMul(weights / vec4(sum, sum, sum, sum), transposed); gl_FragColor = vec4(res.rgb, 1.0); } -- cgit v1.2.3-70-g09d2