19f464c52Smaya/*
29f464c52Smaya * Copyright (c) 2017-2019 Lima Project
39f464c52Smaya *
49f464c52Smaya * Permission is hereby granted, free of charge, to any person obtaining a
59f464c52Smaya * copy of this software and associated documentation files (the "Software"),
69f464c52Smaya * to deal in the Software without restriction, including without limitation
79f464c52Smaya * the rights to use, copy, modify, merge, publish, distribute, sub license,
89f464c52Smaya * and/or sell copies of the Software, and to permit persons to whom the
99f464c52Smaya * Software is furnished to do so, subject to the following conditions:
109f464c52Smaya *
119f464c52Smaya * The above copyright notice and this permission notice (including the
129f464c52Smaya * next paragraph) shall be included in all copies or substantial portions
139f464c52Smaya * of the Software.
149f464c52Smaya *
159f464c52Smaya * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
169f464c52Smaya * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
179f464c52Smaya * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
189f464c52Smaya * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
199f464c52Smaya * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
209f464c52Smaya * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
219f464c52Smaya * DEALINGS IN THE SOFTWARE.
229f464c52Smaya *
239f464c52Smaya */
249f464c52Smaya
259f464c52Smaya#ifndef H_LIMA_PROGRAM
269f464c52Smaya#define H_LIMA_PROGRAM
279f464c52Smaya
289f464c52Smaya#include "pipe/p_defines.h"
299f464c52Smaya
309f464c52Smayaconst void *lima_program_get_compiler_options(enum pipe_shader_type shader);
319f464c52Smaya
329f464c52Smayabool lima_update_vs_state(struct lima_context *ctx);
339f464c52Smayabool lima_update_fs_state(struct lima_context *ctx);
347ec681f3Smrgstruct nir_shader;
357ec681f3Smrg
367ec681f3Smrgvoid lima_program_optimize_vs_nir(struct nir_shader *s);
377ec681f3Smrg
387ec681f3Smrgstruct nir_lower_tex_options;
397ec681f3Smrgvoid lima_program_optimize_fs_nir(struct nir_shader *s,
407ec681f3Smrg                             struct nir_lower_tex_options *tex_options);
419f464c52Smaya
429f464c52Smaya#endif
43