diff options
Diffstat (limited to 'src/osd/modules/render/bgfx/shaders/chains/hqx')
6 files changed, 24 insertions, 12 deletions
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 38f81111567..3f6c2645ba4 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 @@ -57,11 +57,11 @@ void main() 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)); - + vec2 index; index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) + - dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + - dot(pattern[2], vec3(32.0, 64.0, 128.0)); + dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + + dot(pattern[2], vec3(32.0, 64.0, 128.0)); index.y = dot(cross, vec4(1.0, 2.0, 4.0, 8.0)) * SCALE * SCALE + dot(floor(fp * vec2(SCALE, SCALE)), vec2(1.0, SCALE)); vec2 step = vec2(1.0, 1.0) / vec2(256.0, 16.0 * (SCALE * SCALE)); 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 a29c2c00da8..1cb08a52da4 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 @@ -57,11 +57,11 @@ void main() 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)); - + vec2 index; index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) + - dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + - dot(pattern[2], vec3(32.0, 64.0, 128.0)); + dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + + dot(pattern[2], vec3(32.0, 64.0, 128.0)); index.y = dot(cross, vec4(1.0, 2.0, 4.0, 8.0)) * SCALE * SCALE + dot(floor(fp * vec2(SCALE, SCALE)), vec2(1.0, SCALE)); vec2 step = vec2(1.0, 1.0) / vec2(256.0, 16.0 * (SCALE * SCALE)); 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 e6c0e1c2aaa..6e87d47dc0c 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 @@ -57,11 +57,11 @@ void main() 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)); - + vec2 index; index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) + - dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + - dot(pattern[2], vec3(32.0, 64.0, 128.0)); + dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + + dot(pattern[2], vec3(32.0, 64.0, 128.0)); index.y = dot(cross, vec4(1.0, 2.0, 4.0, 8.0)) * SCALE * SCALE + dot(floor(fp * vec2(SCALE, SCALE)), vec2(1.0, SCALE)); vec2 step = vec2(1.0, 1.0) / vec2(256.0, 16.0 * (SCALE * SCALE)); diff --git a/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq2x.sc b/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq2x.sc index a77ac7006f7..727f5763857 100644 --- a/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq2x.sc +++ b/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq2x.sc @@ -8,12 +8,16 @@ $output v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_color0 // Autos uniform vec4 u_tex_size0; +uniform vec4 u_inv_view_dims; void main() { gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); +#if BGFX_SHADER_LANGUAGE_HLSL && BGFX_SHADER_LANGUAGE_HLSL <= 300 + gl_Position.xy += u_inv_view_dims.xy * gl_Position.w; +#endif v_color0 = a_color0; - + vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy; float dx = ps.x; float dy = ps.y; diff --git a/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq3x.sc b/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq3x.sc index a77ac7006f7..727f5763857 100644 --- a/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq3x.sc +++ b/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq3x.sc @@ -8,12 +8,16 @@ $output v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_color0 // Autos uniform vec4 u_tex_size0; +uniform vec4 u_inv_view_dims; void main() { gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); +#if BGFX_SHADER_LANGUAGE_HLSL && BGFX_SHADER_LANGUAGE_HLSL <= 300 + gl_Position.xy += u_inv_view_dims.xy * gl_Position.w; +#endif v_color0 = a_color0; - + vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy; float dx = ps.x; float dy = ps.y; diff --git a/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq4x.sc b/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq4x.sc index a77ac7006f7..727f5763857 100644 --- a/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq4x.sc +++ b/src/osd/modules/render/bgfx/shaders/chains/hqx/vs_hq4x.sc @@ -8,12 +8,16 @@ $output v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_color0 // Autos uniform vec4 u_tex_size0; +uniform vec4 u_inv_view_dims; void main() { gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); +#if BGFX_SHADER_LANGUAGE_HLSL && BGFX_SHADER_LANGUAGE_HLSL <= 300 + gl_Position.xy += u_inv_view_dims.xy * gl_Position.w; +#endif v_color0 = a_color0; - + vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy; float dx = ps.x; float dy = ps.y; |