[PATCH vkd3d v5 2/6] vkd3d-shader/hlsl: Move sampler_dim_count() to hlsl.h.
Francisco Casas
fcasas at codeweavers.com
Thu Jan 27 12:31:22 CST 2022
Signed-off-by: Francisco Casas <fcasas at codeweavers.com>
---
libs/vkd3d-shader/hlsl.h | 17 +++++++++++++++++
libs/vkd3d-shader/hlsl.y | 23 +++--------------------
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl.h b/libs/vkd3d-shader/hlsl.h
index 2319895a..3dfeea1d 100644
--- a/libs/vkd3d-shader/hlsl.h
+++ b/libs/vkd3d-shader/hlsl.h
@@ -667,6 +667,23 @@ static inline struct hlsl_type *hlsl_get_numeric_type(const struct hlsl_ctx *ctx
return hlsl_get_matrix_type(ctx, base_type, dimx, dimy);
}
+static inline unsigned int hlsl_sampler_dim_count(enum hlsl_sampler_dim dim)
+{
+ switch (dim)
+ {
+ case HLSL_SAMPLER_DIM_1D:
+ return 1;
+ case HLSL_SAMPLER_DIM_2D:
+ return 2;
+ case HLSL_SAMPLER_DIM_3D:
+ case HLSL_SAMPLER_DIM_CUBE:
+ return 3;
+ default:
+ assert(0);
+ return 0;
+ }
+}
+
const char *debug_hlsl_expr_op(enum hlsl_ir_expr_op op);
const char *debug_hlsl_type(struct hlsl_ctx *ctx, const struct hlsl_type *type);
const char *debug_hlsl_writemask(unsigned int writemask);
diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y
index 9476765f..18126032 100644
--- a/libs/vkd3d-shader/hlsl.y
+++ b/libs/vkd3d-shader/hlsl.y
@@ -1513,23 +1513,6 @@ static struct list *declare_vars(struct hlsl_ctx *ctx, struct hlsl_type *basic_t
return statements_list;
}
-static unsigned int sampler_dim_count(enum hlsl_sampler_dim dim)
-{
- switch (dim)
- {
- case HLSL_SAMPLER_DIM_1D:
- return 1;
- case HLSL_SAMPLER_DIM_2D:
- return 2;
- case HLSL_SAMPLER_DIM_3D:
- case HLSL_SAMPLER_DIM_CUBE:
- return 3;
- default:
- assert(0);
- return 0;
- }
-}
-
struct find_function_call_args
{
const struct parse_initializer *params;
@@ -1856,7 +1839,7 @@ static bool add_method_call(struct hlsl_ctx *ctx, struct list *instrs, struct hl
if (!strcmp(name, "Load"))
{
- const unsigned int sampler_dim = sampler_dim_count(object_type->sampler_dim);
+ const unsigned int sampler_dim = hlsl_sampler_dim_count(object_type->sampler_dim);
struct hlsl_ir_resource_load *load;
struct hlsl_ir_node *coords;
@@ -1882,7 +1865,7 @@ static bool add_method_call(struct hlsl_ctx *ctx, struct list *instrs, struct hl
}
else if (!strcmp(name, "Sample"))
{
- const unsigned int sampler_dim = sampler_dim_count(object_type->sampler_dim);
+ const unsigned int sampler_dim = hlsl_sampler_dim_count(object_type->sampler_dim);
const struct hlsl_type *sampler_type;
struct hlsl_ir_resource_load *load;
struct hlsl_ir_node *offset = NULL;
@@ -1933,7 +1916,7 @@ static bool add_method_call(struct hlsl_ctx *ctx, struct list *instrs, struct hl
else if (!strcmp(name, "Gather") || !strcmp(name, "GatherRed") || !strcmp(name, "GatherBlue")
|| !strcmp(name, "GatherGreen") || !strcmp(name, "GatherAlpha"))
{
- const unsigned int sampler_dim = sampler_dim_count(object_type->sampler_dim);
+ const unsigned int sampler_dim = hlsl_sampler_dim_count(object_type->sampler_dim);
enum hlsl_resource_load_type load_type;
const struct hlsl_type *sampler_type;
struct hlsl_ir_resource_load *load;
--
2.25.1
More information about the wine-devel
mailing list