"Fossies" - the Fresh Open Source Software Archive

Member "mesa-20.1.8/src/gallium/drivers/lima/ir/lima_ir.h" (16 Sep 2020, 2422 Bytes) of package /linux/misc/mesa-20.1.8.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "lima_ir.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 20.1.5_vs_20.2.0-rc1.

    1 /*
    2  * Copyright (c) 2017 Lima Project
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a copy
    5  * of this software and associated documentation files (the "Software"), to deal
    6  * in the Software without restriction, including without limitation the rights
    7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    8  * copies of the Software, and to permit persons to whom the Software is
    9  * furnished to do so, subject to the following conditions:
   10  *
   11  * The above copyright notice and this permission notice shall be included in
   12  * all copies or substantial portions of the Software.
   13  *
   14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   19  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
   20  * THE SOFTWARE.
   21  *
   22  */
   23 
   24 #ifndef LIMA_IR_H
   25 #define LIMA_IR_H
   26 
   27 #include <stdio.h>
   28 #include <lima_screen.h>
   29 
   30 #include "nir.h"
   31 
   32 #define gpir_debug(...)                \
   33    do {                                \
   34       if (lima_debug & LIMA_DEBUG_GP)  \
   35          printf("gpir: " __VA_ARGS__); \
   36    } while (0)
   37 
   38 #define gpir_error(...) \
   39    fprintf(stderr, "gpir: " __VA_ARGS__)
   40 
   41 #define ppir_debug(...)                \
   42    do {                                \
   43       if (lima_debug & LIMA_DEBUG_PP)  \
   44          printf("ppir: " __VA_ARGS__); \
   45    } while (0)
   46 
   47 #define ppir_error(...) \
   48    fprintf(stderr, "ppir: " __VA_ARGS__)
   49 
   50 
   51 struct ra_regs;
   52 struct lima_vs_shader_state;
   53 struct lima_fs_shader_state;
   54 
   55 /* gpir interface */
   56 bool gpir_compile_nir(struct lima_vs_shader_state *prog, struct nir_shader *nir,
   57                       struct pipe_debug_callback *debug);
   58 
   59 
   60 /* ppir interface */
   61 bool ppir_compile_nir(struct lima_fs_shader_state *prog, struct nir_shader *nir,
   62                       struct ra_regs *ra,
   63                       struct pipe_debug_callback *debug);
   64 struct ra_regs *ppir_regalloc_init(void *mem_ctx);
   65 
   66 void lima_nir_lower_uniform_to_scalar(nir_shader *shader);
   67 bool lima_nir_scale_trig(nir_shader *shader);
   68 bool lima_nir_lower_ftrunc(nir_shader *shader);
   69 bool lima_nir_split_load_input(nir_shader *shader);
   70 
   71 #endif