video_core: Take factors into account with min/max blending functions (#6925)

* sw_framebuffer: Take factors into account for min/max blending

* renderer_gl: Take factors into account for min/max blending

* Address review comments

* gl_shader_gen: Fix frambuffer fetch on qcom and mali

* renderer_opengl: Add fallback path for mesa

* gl_shader_gen: Avoid emitting blend emulation if minmax_factor is present
This commit is contained in:
GPUCode 2023-08-30 21:26:28 +03:00 committed by GitHub
parent 93c7c6a995
commit 1159e4d928
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 306 additions and 63 deletions

View file

@ -69,6 +69,7 @@ layout ({}std140) uniform shader_data {{
vec3 tex_lod_bias;
vec4 tex_border_color[3];
vec4 clip_coef;
vec4 blend_color;
}};
)";

View file

@ -66,9 +66,10 @@ struct UniformData {
alignas(16) Common::Vec3f tex_lod_bias;
alignas(16) Common::Vec4f tex_border_color[3];
alignas(16) Common::Vec4f clip_coef;
alignas(16) Common::Vec4f blend_color;
};
static_assert(sizeof(UniformData) == 0x530,
static_assert(sizeof(UniformData) == 0x540,
"The size of the UniformData does not match the structure in the shader");
static_assert(sizeof(UniformData) < 16384,
"UniformData structure must be less than 16kb as per the OpenGL spec");