mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/ir: Allow controlling fog through parameters.
Fog requires several parameters to even implement the most basic of functionality correctly, so this commit is relatively large.
This commit is contained in:
committed by
Henri Verbeet
parent
a1de406de4
commit
f86d1e72a4
Notes:
Henri Verbeet
2024-12-02 17:19:05 +01:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1265
@@ -141,6 +141,7 @@ enum shader_cap
|
||||
SHADER_CAP_CLIP_PLANES,
|
||||
SHADER_CAP_DEPTH_BOUNDS,
|
||||
SHADER_CAP_FLOAT64,
|
||||
SHADER_CAP_FOG,
|
||||
SHADER_CAP_GEOMETRY_SHADER,
|
||||
SHADER_CAP_INT64,
|
||||
SHADER_CAP_POINT_SIZE,
|
||||
@@ -173,6 +174,15 @@ static inline unsigned int shader_runner_caps_get_feature_flags(const struct sha
|
||||
return flags;
|
||||
}
|
||||
|
||||
enum fog_mode
|
||||
{
|
||||
FOG_MODE_NONE = 0,
|
||||
FOG_MODE_EXP = 1,
|
||||
FOG_MODE_EXP2 = 2,
|
||||
FOG_MODE_LINEAR = 3,
|
||||
FOG_MODE_DISABLE,
|
||||
};
|
||||
|
||||
struct shader_runner
|
||||
{
|
||||
const struct shader_runner_ops *ops;
|
||||
@@ -222,6 +232,8 @@ struct shader_runner
|
||||
struct vec4 clip_planes[8];
|
||||
float point_size, point_size_min, point_size_max;
|
||||
bool point_sprite;
|
||||
struct vec4 fog_colour;
|
||||
enum fog_mode fog_mode;
|
||||
};
|
||||
|
||||
struct shader_runner_ops
|
||||
|
Reference in New Issue
Block a user