diff --git a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl index d8a127ad1e..3cf30f86aa 100644 --- a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl +++ b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureOps.glsl @@ -84,7 +84,7 @@ float _texcoord_xform(const in float coord, const in sampler_info params) #ifdef _ENABLE_TEX2D vec2 _texcoord_xform(const in vec2 coord, const in sampler_info params) { - float result = fma( + vec2 result = fma( coord, vec2(params.scale_x, params.scale_y), vec2(params.bias_x, params.bias_y) @@ -106,7 +106,7 @@ vec2 _texcoord_xform(const in vec2 coord, const in sampler_info params) #ifdef _ENABLE_TEX3D vec3 _texcoord_xform(const in vec3 coord, const in sampler_info params) { - float result = fma( + vec3 result = fma( coord, vec3(params.scale_x, params.scale_y, params.scale_z), vec3(params.bias_x, params.bias_y, params.bias_z) diff --git a/rpcs3/Emu/RSX/Program/GLSLTypes.h b/rpcs3/Emu/RSX/Program/GLSLTypes.h index 0de51066fc..41b192fa68 100644 --- a/rpcs3/Emu/RSX/Program/GLSLTypes.h +++ b/rpcs3/Emu/RSX/Program/GLSLTypes.h @@ -18,20 +18,21 @@ namespace glsl struct shader_properties { glsl::program_domain domain : 3; + // Applicable in vertex stage bool require_lit_emulation : 1; + bool require_explicit_invariance : 1; + bool emulate_zclip_transform : 1; + bool emulate_depth_clip_only : 1; // Only relevant for fragment programs bool fp32_outputs : 1; bool require_wpos : 1; bool require_srgb_to_linear : 1; bool require_linear_to_srgb : 1; - bool require_explicit_invariance: 1; bool require_fog_read : 1; bool emulate_coverage_tests : 1; bool emulate_shadow_compare : 1; - bool emulate_zclip_transform : 1; - bool emulate_depth_clip_only : 1; bool low_precision_tests : 1; bool disable_early_discard : 1; bool supports_native_fp16 : 1;