From: Brian Paul Date: Wed, 17 Jan 2018 04:53:29 +0000 (-0700) Subject: mesa: move gl_external_samplers() to program.[ch] X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7421e34dd69dfb8911e99b6004f8806707c323d1;p=mesa.git mesa: move gl_external_samplers() to program.[ch] The function is only called from a couple places. It doesn't make sense to have it in mtypes.h Reviewed-by: Nicolai Hähnle --- diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 226eb94da91..1f1792e4263 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -46,7 +46,6 @@ #include "compiler/shader_info.h" #include "main/formats.h" /* MESA_FORMAT_COUNT */ #include "compiler/glsl/list.h" -#include "util/bitscan.h" #include "util/simple_mtx.h" #include "util/u_dynarray.h" @@ -2548,22 +2547,6 @@ struct gl_linked_shader }; -static inline GLbitfield -gl_external_samplers(const struct gl_program *prog) -{ - GLbitfield external_samplers = 0; - GLbitfield mask = prog->SamplersUsed; - - while (mask) { - int idx = u_bit_scan(&mask); - if (prog->sh.SamplerTargets[idx] == TEXTURE_EXTERNAL_INDEX) - external_samplers |= (1 << idx); - } - - return external_samplers; -} - - /** * Compile status enum. compile_skipped is used to indicate the compile * was skipped due to the shader matching one that's been seen before by diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c index faf5b7fa28a..220efc35394 100644 --- a/src/mesa/program/program.c +++ b/src/mesa/program/program.c @@ -39,6 +39,7 @@ #include "prog_cache.h" #include "prog_parameter.h" #include "prog_instruction.h" +#include "util/bitscan.h" #include "util/ralloc.h" #include "util/u_atomic.h" @@ -547,3 +548,19 @@ _mesa_get_min_invocations_per_fragment(struct gl_context *ctx, } return 1; } + + +GLbitfield +gl_external_samplers(const struct gl_program *prog) +{ + GLbitfield external_samplers = 0; + GLbitfield mask = prog->SamplersUsed; + + while (mask) { + int idx = u_bit_scan(&mask); + if (prog->sh.SamplerTargets[idx] == TEXTURE_EXTERNAL_INDEX) + external_samplers |= (1 << idx); + } + + return external_samplers; +} diff --git a/src/mesa/program/program.h b/src/mesa/program/program.h index 0e105c35fc2..376da7b2d41 100644 --- a/src/mesa/program/program.h +++ b/src/mesa/program/program.h @@ -158,6 +158,11 @@ _mesa_shader_stage_to_program(unsigned stage) return GL_VERTEX_PROGRAM_ARB; } + +GLbitfield +gl_external_samplers(const struct gl_program *prog); + + #ifdef __cplusplus } /* extern "C" */ #endif