From: Dave Airlie Date: Fri, 2 Jul 2021 20:36:32 +0000 (+1000) Subject: crocus: inline the d/s resource handling functions X-Git-Tag: upstream/21.2.3~987 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d438c11c8a7c6d14c202eea175bdd4aa19a4a9e;p=platform%2Fupstream%2Fmesa.git crocus: inline the d/s resource handling functions These are pretty simple, so inlining is fine and helps drawoverhead Part-of: --- diff --git a/src/gallium/drivers/crocus/crocus_resource.c b/src/gallium/drivers/crocus/crocus_resource.c index d058e09..5510f4f 100644 --- a/src/gallium/drivers/crocus/crocus_resource.c +++ b/src/gallium/drivers/crocus/crocus_resource.c @@ -289,17 +289,10 @@ crocus_query_dmabuf_modifiers(struct pipe_screen *pscreen, *count = supported_mods; } -struct pipe_resource * +static struct pipe_resource * crocus_resource_get_separate_stencil(struct pipe_resource *p_res) { - /* For packed depth-stencil, we treat depth as the primary resource - * and store S8 as the "second plane" resource. - */ - if (p_res->next && p_res->next->format == PIPE_FORMAT_S8_UINT) - return p_res->next; - - return NULL; - + return _crocus_resource_get_separate_stencil(p_res); } static void @@ -311,34 +304,6 @@ crocus_resource_set_separate_stencil(struct pipe_resource *p_res, } void -crocus_get_depth_stencil_resources(const struct intel_device_info *devinfo, - struct pipe_resource *res, - struct crocus_resource **out_z, - struct crocus_resource **out_s) -{ - if (!res) { - *out_z = NULL; - *out_s = NULL; - return; - } - - /* gen4/5 only supports packed ds */ - if (devinfo->ver < 6) { - *out_z = (void *)res; - *out_s = (void *)res; - return; - } - - if (res->format != PIPE_FORMAT_S8_UINT) { - *out_z = (void *) res; - *out_s = (void *) crocus_resource_get_separate_stencil(res); - } else { - *out_z = NULL; - *out_s = (void *) res; - } -} - -void crocus_resource_disable_aux(struct crocus_resource *res) { crocus_bo_unreference(res->aux.bo); diff --git a/src/gallium/drivers/crocus/crocus_resource.h b/src/gallium/drivers/crocus/crocus_resource.h index d5df228..b16a718 100644 --- a/src/gallium/drivers/crocus/crocus_resource.h +++ b/src/gallium/drivers/crocus/crocus_resource.h @@ -27,7 +27,7 @@ #include "util/u_inlines.h" #include "util/u_range.h" #include "intel/isl/isl.h" - +#include "intel/dev/intel_device_info.h" #include "crocus_bufmgr.h" struct crocus_batch; @@ -306,12 +306,41 @@ struct crocus_format_info crocus_format_for_usage(const struct intel_device_info enum pipe_format pf, isl_surf_usage_flags_t usage); -struct pipe_resource *crocus_resource_get_separate_stencil(struct pipe_resource *); +static inline struct pipe_resource * +_crocus_resource_get_separate_stencil(struct pipe_resource *p_res) +{ + /* For packed depth-stencil, we treat depth as the primary resource + * and store S8 as the "second plane" resource. + */ + if (p_res->next && p_res->next->format == PIPE_FORMAT_S8_UINT) + return p_res->next; + + return NULL; + +} +static inline void +crocus_get_depth_stencil_resources(const struct intel_device_info *devinfo, + struct pipe_resource *res, + struct crocus_resource **out_z, + struct crocus_resource **out_s) +{ + /* gen4/5 only supports packed ds */ + if (devinfo->ver < 6) { + *out_z = (void *)res; + *out_s = (void *)res; + return; + } + + if (res && res->format != PIPE_FORMAT_S8_UINT) { + *out_z = (void *) res; + *out_s = (void *) _crocus_resource_get_separate_stencil(res); + } else { + *out_z = NULL; + *out_s = (void *) res; + } +} + -void crocus_get_depth_stencil_resources(const struct intel_device_info *devinfo, - struct pipe_resource *res, - struct crocus_resource **out_z, - struct crocus_resource **out_s); bool crocus_resource_set_clear_color(struct crocus_context *ice, struct crocus_resource *res, union isl_color_value color);